diff --git a/ofdm/ofdm_rx.m b/ofdm/ofdm_rx.m index dc08088..22ff919 100644 --- a/ofdm/ofdm_rx.m +++ b/ofdm/ofdm_rx.m @@ -32,6 +32,7 @@ if (ndim == 2) x = x.*exp(-j*(2*pi*(foff/fs_)*(0:len-1)')); elseif (ndim == 1) fprintf('Mode: Passband\n'); + x = xwav - mean(xwav); x = xwav.*exp(-j*(2*pi*(0.25-foff/fs_)*(0:len-1)')); hlp = FIRCalcLowpass(12000/fs_, 15); x = filter(hlp, 1, x); @@ -54,6 +55,15 @@ x = x./max(abs(x)); xout = [real(x) imag(x)]; wavwrite(xout,fs,nbits,'ofdm_rx.wav'); +% Modulate on carrier +xup = upsample(x, 4); +hlp = FIRCalcLowpass(0.25, 129); +xup = filter(hlp, 1, xup); + +y = exp(j*2*pi.*(0:length(xup)-1)'*0.25) .* xup; + +wavwrite(y,4*fs,nbits,'ofdm_rx_passband.wav'); + x = awgn(x, SNR, 'measured'); K = fix((length(x))/(N+Ng))-1;