source: ResearchApps/PHY/WARPLAB/ResearchExamples/Cooperative_Setup/Coop_MATLAB_Reference_Files/warplab_generatelongtrainsyms.m

Last change on this file was 1589, checked in by mduarte, 14 years ago
File size: 1.5 KB
Line 
1function [LongTrainingSyms_up2,LongSymbol_time_up2,LongSymbol_time,LongSymbol_freq,scale_LongTrainingSyms] = warplab_generateLongTrainingSyms
2
3% Generate one long training symbol
4LongSymbol_freq_bot = [0 0 0 0 0 0 1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 1 -1 -1 1 1 -1 1 -1 1 1 1 1]';
5LongSymbol_freq_top = [1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 1 1 1 0 0 0 0 0]';
6LongSymbol_freq = [LongSymbol_freq_bot ; 0 ; LongSymbol_freq_top];
7LongSymbol_time = ifft(fftshift(LongSymbol_freq)).';
8LongSymbol_time_up2 = interp(LongSymbol_time,2); % Upsample by 2. This is
9% the reference sequence that will be used for timing synchronization. It
10% is upsampled by 2 so that the signal has the desired bandwidth (~20MHz)
11scale = 1/max([ max(abs(real(LongSymbol_time_up2))), max(abs(imag(LongSymbol_time_up2))) ]);
12LongSymbol_time_up2 = scale * LongSymbol_time_up2;
13scale_LongTrainingSyms = scale;
14
15% Concatenate two long training symbols and add cyclic prefix
16%longsyms_2_cp = [longSymbol_time(33:64) repmat(longSymbol_time,1,2)];
17%longsyms_2_cp_up2 = interp(longsyms_2_cp,2); % Upsample by 2
18LongTrainingSyms_up2 = [LongSymbol_time_up2(65:128) repmat(LongSymbol_time_up2,1,2)];
19
20% Concatenate long training symbols with payload
21%DataVecOUT = [longsyms_2_cp_up2 DataVecIN];
22%
23% figure
24% subplot(2,2,1)
25% plot(real(LongSymbol_time_up2))
26% subplot(2,2,2)
27% plot(imag(LongSymbol_time_up2))
28% subplot(2,2,3)
29% plot(abs(LongSymbol_time_up2))
30% subplot(2,2,4)
31% plot(angle(LongSymbol_time_up2))
Note: See TracBrowser for help on using the repository browser.