From: drowe67 Date: Wed, 20 May 2015 22:50:58 +0000 (+0000) Subject: good results: BER < 0.02 for ESNo=12 fading and EsNo=8 AWGN 100 frames, PAPR 5.17dB X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=4011268216c997ff223a1790f341be8e51bacbb2;p=freetel-svn-tracking.git good results: BER < 0.02 for ESNo=12 fading and EsNo=8 AWGN 100 frames, PAPR 5.17dB git-svn-id: https://svn.code.sf.net/p/freetel/code@2142 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/codec2-dev/octave/cohpsk.m b/codec2-dev/octave/cohpsk.m index ab3373a7..b6a83148 100644 --- a/codec2-dev/octave/cohpsk.m +++ b/codec2-dev/octave/cohpsk.m @@ -755,7 +755,7 @@ function [sync cohpsk] = sync_state_machine(cohpsk, sync, next_sync) % check that sync is still good, fall out of sync on consecutive bad frames */ - if cohpsk.ratio < 0.5 + if cohpsk.ratio < 0.8 cohpsk.sync_timer++; else cohpsk.sync_timer = 0; diff --git a/codec2-dev/octave/tcohpsk.m b/codec2-dev/octave/tcohpsk.m index 3739fd0b..4e38d9bc 100644 --- a/codec2-dev/octave/tcohpsk.m +++ b/codec2-dev/octave/tcohpsk.m @@ -21,13 +21,17 @@ % [X] tune perf/impl loss to get closer to ideal % [X] linear interp of phase for better fading perf % [X] freq offset/drift feedback loop -% [ ] PAPR measurement and reduction -% [ ] false sync -% [ ] noise -% [ ] similar but invalid signal like huge f off -% [ ] check "unsync" +% [X] PAPR measurement and reduction +% [X] false sync +% [X] doesn't sync up on noise (used EsNo = -12) +% [X] similar but invalid signal like huge f off +% [X] ability to "unsync" when signal dissapears % [ ] some calibrated tests against FreeDV 1600 % + compare sound quality at various Es/Nos +% [ ] way to handle eom w/o nasties +% + like mute ouput when signal has gone or v low snr +% + instantaneous snr +% [ ] nasty rig filter passband graphics_toolkit ("gnuplot"); more off; @@ -479,9 +483,10 @@ else clf subplot(211) plot(real(tx_fdm_frame_log)) + title('tx fdm real'); subplot(212) plot(imag(tx_fdm_frame_log)) - title('tx fdm'); + title('tx fdm imag'); figure(2) clf; @@ -518,7 +523,13 @@ else figure(7) clf - plot(tx_fdm_frame_log) + spec = 20*log10(abs(fft(tx_fdm_frame_log))); + l = length(spec); + plot((Fs/l)*(1:l), spec) + axis([1 Fs/2 0 max(spec)]); + title('tx spectrum'); + ylabel('Amplitude (dB)') + xlabel('Frequency (Hz)') end diff --git a/codec2-dev/octave/test_foff.m b/codec2-dev/octave/test_foff.m index 25dacb9f..4ead6d9d 100644 --- a/codec2-dev/octave/test_foff.m +++ b/codec2-dev/octave/test_foff.m @@ -394,8 +394,8 @@ function [freq_off_log EsNodBSet] = freq_off_est_test_curves endfunction -freq_off_est_test_single; -%freq_off_est_test_curves; +%freq_off_est_test_single; +freq_off_est_test_curves; % 1. start with +/- 20Hz offset % 2. Measure frames to sync. How to define sync? Foff to withn 1 Hz. Sync state