Generates a preamble. function [ d_preamble ] = GeneratePreamble(d_TR, Para, preamble_type) The function works for SISO and some MIMO systems. Input arguments: d_TR: vector [2*Para.M, 1] of pilot symbols. Para: structure containing the modulation parameters. preamble_type: optional, type of preamble, 'synchro' (only for Para.N_T == 1) or 'channel_estimation' (by default). Outputs arguments: d_preamble: preamble symbols. Size: matrix [2*Para.M, ~] if Para.N_T == 1 and multidimensional array [Para.N_T, 2*Para.M, ~] otherwise See also OFDM_GeneratePreamble, FBMC_OQAM_GeneratePreamble.
0001 function [ d_preamble ] = GeneratePreamble(d_TR, Para, preamble_type) 0002 % Generates a preamble. 0003 % 0004 % function [ d_preamble ] = GeneratePreamble(d_TR, Para, preamble_type) 0005 % 0006 % The function works for SISO and some MIMO systems. 0007 % 0008 % Input arguments: 0009 % 0010 % d_TR: vector [2*Para.M, 1] of pilot symbols. 0011 % 0012 % Para: structure containing the modulation parameters. 0013 % 0014 % preamble_type: optional, type of preamble, 'synchro' (only for Para.N_T 0015 % == 1) or 'channel_estimation' (by default). 0016 % 0017 % Outputs arguments: 0018 % 0019 % d_preamble: preamble symbols. Size: matrix [2*Para.M, ~] if Para.N_T == 0020 % 1 and multidimensional array [Para.N_T, 2*Para.M, ~] otherwise 0021 % 0022 % See also OFDM_GeneratePreamble, FBMC_OQAM_GeneratePreamble. 0023 0024 0025 % This file is part of WaveComBox: www.wavecombox.com and is distributed under 0026 % the terms of the MIT license. See accompanying LICENSE file. 0027 % Original author: François Rottenberg, May 3, 2018. 0028 % Contributors: 0029 % Change log: 0030 0031 0032 0033 switch Para.Modulation 0034 case 'CP-OFDM' 0035 if exist('preamble_type','var')==0 0036 [ d_preamble ] = OFDM_GeneratePreamble(d_TR, Para); 0037 else 0038 [ d_preamble ] = OFDM_GeneratePreamble(d_TR, Para, preamble_type); 0039 end 0040 case 'FBMC-OQAM' 0041 if exist('preamble_type','var')==0 0042 [ d_preamble ] = FBMC_OQAM_GeneratePreamble(d_TR, Para); 0043 else 0044 [ d_preamble ] = FBMC_OQAM_GeneratePreamble(d_TR, Para, preamble_type); 0045 end 0046 otherwise 0047 error('Modulation not implemented') 0048 end 0049 0050 0051 end