You are not logged in.
Pages: 1
I try to learn wl_example_mimo_ofdm_txrx.m.
I do not understand some piece of codes in wl_example_mimo_ofdm_txrx.m.
hope someone to explain it.
%% Define a half-band 2x interpolation filter response
120 interp_filt2 = zeros(1,43);
121 interp_filt2([1 3 5 7 9 11 13 15 17 19 21]) = [12 -32 72 -140 252 -422 682 -1086 1778 -3284 10364];
122 interp_filt2([23 25 27 29 31 33 35 37 39 41 43]) = interp_filt2(fliplr([1 3 5 7 9 11 13 15 17 19 21]));
123 interp_filt2(22) = 16384;
124 interp_filt2 = interp_filt2./max(abs(interp_filt2));
125
1. why do we need this interpolation part? why do we design FIR filter like this?
130 sts_f = zeros(1,64);
131 sts_f(1:27) = [0 0 0 0 -1-1i 0 0 0 -1-1i 0 0 0 1+1i 0 0 0 1+1i 0 0 0 1+1i 0 0 0 1+1i 0 0];
132 sts_f(39:64) = [0 0 1+1i 0 0 0 -1-1i 0 0 0 1+1i 0 0 0 -1-1i 0 0 0 -1-1i 0 0 0 1+1i 0 0 0];
133 sts_t = ifft(sqrt(13/6).*sts_f, 64);
134 sts_t = sts_t(1:16);
2. why do we design the STS like this?
sts_t_rep = repmat(sts_t, 1, 30);
154
155 preamble_legacy_A = [sts_t_rep, lts_t(33:64), lts_t, lts_t];
156 preamble_legacy_B = [circshift(sts_t_rep, [0, TX_SPATIAL_STREAM_SHIFT]), zeros(1, 160)];
157
163
164 preamble_mimo_A = [lts_t(33:64), lts_t, zeros(1,96)];
165 preamble_mimo_B = [zeros(1,96), lts_t(33:64), lts_t];
3. why do we design preamble legacy and preamble mimo like this? is this the standard design in ofdm mimo transmission?
Offline
another question:
mimo_training_ind = lts_peaks(max(lts_last_peak_index)) + 32;
why do we plus 32? the explanation on code's comment is % The "+32" here corresponds to the 32-sample cyclic prefix on the preamble LTS
I am confused about that the cp length is 16, so we need plus 16 rather than 32?
Offline
1. why do we need this interpolation part? why do we design FIR filter like this?
By default the WARPLab Reference Design operates Tx/Rx at 40MSps. The OFDM examples use 20MHz bandwidth, so 2x interpolation (Tx) and 1/2x decimation (Rx) is required.
2. why do we design the STS like this?
This is the 802.11 STS definition. Its periodicity aids in CFO estimation, its low PAPR aids AGC settling.
3. why do we design preamble legacy and preamble mimo like this? is this the standard design in ofdm mimo transmission?
This is a custom preamble for our MIMO example. The legacy portion transmits the STF from both antennas with a circular shift between antennas (similar to 802.11 MIMO), then transmits the LTF from just one antenna. The MIMO portion transmits the LTF from both antennas, one at a time. This orthogonal-in-time scheme makes it easy to estimate the MIMO channels at the Rx.
why do we plus 32? the explanation on code's comment is % The "+32" here corresponds to the 32-sample cyclic prefix on the preamble LTS. I am confused about that the cp length is 16, so we need plus 16 rather than 32?
The LTF in the preamble uses a 32-sample cyclic prefix. The data symbols use a 16-sample cyclic prefix.
Offline
Pages: 1