diff --git a/ofdm/fdet_wav.m b/ofdm/fdet_wav.m index eb40e09..75b96f1 100644 --- a/ofdm/fdet_wav.m +++ b/ofdm/fdet_wav.m @@ -1,7 +1,13 @@ function fdet_wav(filename, p) +% +% Example: fdet_wav('drm-15435-if.wav', [900 1000 10]) +% Example: ofdm_tx(40, 1) +% fdet_wav('xv.wav', [700 800 1]) +% or fdet_wav('yv.wav', [700 800 1]) close all; fs = 48000; +fc = fs/4; N = 1024; Ng = 256; @@ -12,7 +18,15 @@ omega_step = p(3)/fs; % Generate signal [xwav fs nbits] = wavread(filename); -x = xwav(:, 1) + j*xwav(:, 2); +[len ndim] = size(xwav); + +if (ndim > 1) + fprintf('Mode: Baseband\n'); + x = xwav(:, 1) + j*xwav(:, 2); +else + fprintf('Mode: Passband\n'); + x = xwav.*exp(-j*(2*pi*fc/fs*(0:len-1)')); +end [omega, err, dmod, omega_coarse, omega_est] = fdet(x, N, Ng, omega_min, omega_step, omega_max); diff --git a/ofdm/ofdm_tx.m b/ofdm/ofdm_tx.m index 1634cee..3653ab3 100644 --- a/ofdm/ofdm_tx.m +++ b/ofdm/ofdm_tx.m @@ -164,7 +164,7 @@ for k=1:N_frames end; % Modulate on carrier -yc = 0.5*exp(i*2*pi.*(0:length(xv)-1)*fc/fa) .* xv; +yc = 0.5*exp(j*2*pi.*(0:length(xv)-1)*fc/fa) .* xv; yv = real(yc) + imag(yc); xv = conj(xv');