From 5b55fda090808b41a6a7df5d3cb8a944e2065cdc Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Sun, 3 May 2015 18:11:40 +0000 Subject: [PATCH] [RX] - fixed frequency correction git-svn-id: http://moon:8086/svn/matlab/trunk@78 801c6759-fa7c-4059-a304-17956f83a07c --- ofdm/ofdm_rx.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ofdm/ofdm_rx.m b/ofdm/ofdm_rx.m index 78a14a7..c004fc7 100644 --- a/ofdm/ofdm_rx.m +++ b/ofdm/ofdm_rx.m @@ -125,14 +125,14 @@ while(fileRemain > fileChunkSize) % ToDo: don't leave loop, if file has been con if (~isModePassband) wav_x = wav_x(:, 1) + j*wav_x(:, 2); x = wav_x; % ToDo: Remove DC - x = x.*exp(j*(2*pi*(foff/fs)*(0:length(x)-1)' + phi_foff)); - phi_foff = mod(phi_foff + 2*pi*(foff/fs)*length(x), 2*pi); + x = x.*exp(-j*(2*pi*(-foff/fs)*(0:length(x)-1)' + phi_foff)); + phi_foff = mod(phi_foff + 2*pi*(-foff/fs)*length(x), 2*pi); end if (isModePassband) - x = wav_x; % ToDo: Remove DC + x = wav_x - mean(wav_x); % ToDo: Remove DC x = x .*exp(-j*(2*pi*(0.25-foff/wav_fs)*(0:length(x)-1)' + phi_mix)); - phi_mix = mod(phi_mix + 2*pi*0.25*length(x), 2*pi); + phi_mix = mod(phi_mix + 2*pi*(0.25-foff/wav_fs)*length(x), 2*pi); [x, filter_z] = filter(filter_h, 1, x, filter_z); x = x(1:4:length(x)); end