diff --git a/ofdm/ofdm_rx.m b/ofdm/ofdm_rx.m index e93d745..9fea542 100644 --- a/ofdm/ofdm_rx.m +++ b/ofdm/ofdm_rx.m @@ -1,4 +1,4 @@ -function [sym_out, H, W] = ofdm_rx(filename, foff, flip_spec, SNR, with_cir, show_H) +function ofdm_rx(filename, foff, flip_spec, SNR, with_cir, show_H) % % [sym_out, H, W] = ofdm_rx(filename, foff, flip_spec, SNR, with_cir, show_H) % Example: ofdm_rx('drm-15435-if.wav', -174.65, 0, 400, 0, 1) @@ -204,17 +204,6 @@ for n=0:15-1 end frame_start = n_max -figure; -start = skip_syms+frame_start; -Z_timing = Z_(bins, start:15:length(Z_))'; -plot(real(Z_timing), imag(Z_timing), '+'); grid; title('SymPilot_{Time}'); -maxZ = max(max(abs(Z_timing))); -if (maxZ < 1) - axis([-1 1 -1 1]); -else - axis([-maxZ maxZ -maxZ maxZ]); -end - fprintf('Channel estimation and symbol reception\n'); [W_syms, W_pilots] = calcWiener(drm_mode, drm_bw); @@ -251,11 +240,11 @@ m = 0; H_syms = []; H_pilots = []; -sym_out = []; kk = 1; H_ = []; df_track_ = []; MIN_ABS_H = 1e-10; +start = skip_syms+frame_start; for k=start:length(Z_) @@ -264,7 +253,7 @@ for k=start:length(Z_) [carrier_gain, phi_gain, mag_gain] = getRefGain(ofdm_drm_params, ofdm_spec_occ, s); carrier_gain_bins = c2i(N, carrier_gain); - H_ = transpose(Z_(carrier_gain_bins, k))./(mag_gain.*exp(j*2*pi*phi_gain/1024)); + H_ = transpose(Z_(carrier_gain_bins, k))./(mag_gain.*exp(j*2*pi*phi_gain/1024)); H_raw(carrier_gain_bins) = (H_); H_gain_cell{m+1} = (H_); @@ -296,7 +285,6 @@ for k=start:length(Z_) % equalize symbol sym_eq = sym ./ H_syms; - sym_out(:, kk) = sym_eq; if 0 subplot(2, 1, 1) plot(1:length(Hr), abs(Hr), 'b-', 1:length(H_pilots), abs(H_pilots), 'r-'); grid;