Home > WaveComBox > Toolbox > W_OFDM > Modulation > W_OFDM_Modulator.m

W_OFDM_Modulator

PURPOSE ^

W-OFDM modulates data symbols using the WOLA-OFDM modulation [1,2].

SYNOPSIS ^

function [ s ] = W_OFDM_Modulator( d, Para )

DESCRIPTION ^

 W-OFDM modulates data symbols using the WOLA-OFDM modulation [1,2].

 function [ s ] = W_OFDM_Modulator( d, Para )

 The function works for SISO systems only.

 Input arguments:

   d: data symbols (possibly pre-equalized). Size: matrix [Para.nSubcarriers, Ns] if Para.N_T == 1,
   multidimensional array [para.N_T, Para.nSubcarriers, Ns] if Para.N_T > 1.

   Para: structure containing the modulation parameters.

 Outputs arguments:

   s: transmitted signal. Size: matrix [Para.N_T,
   (Para.nSubcarriers+CP_L+Para.win_L)*(Para.Ns)+Para.win_L]

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [ s ] = W_OFDM_Modulator( d, Para )
0002 % W-OFDM modulates data symbols using the WOLA-OFDM modulation [1,2].
0003 %
0004 % function [ s ] = W_OFDM_Modulator( d, Para )
0005 %
0006 % The function works for SISO systems only.
0007 %
0008 % Input arguments:
0009 %
0010 %   d: data symbols (possibly pre-equalized). Size: matrix [Para.nSubcarriers, Ns] if Para.N_T == 1,
0011 %   multidimensional array [para.N_T, Para.nSubcarriers, Ns] if Para.N_T > 1.
0012 %
0013 %   Para: structure containing the modulation parameters.
0014 %
0015 % Outputs arguments:
0016 %
0017 %   s: transmitted signal. Size: matrix [Para.N_T,
0018 %   (Para.nSubcarriers+CP_L+Para.win_L)*(Para.Ns)+Para.win_L]
0019 
0020 
0021 % This file is part of Wavecom: www.wavecom.org and is distributed under the terms of the MIT license. See accompanying LICENSE file.
0022 % Original author: Mathieu Van Eeckhaute, September 26, 2018.
0023 % Contributors:
0024 % Change log:
0025 
0026 %References :
0027 %    [1] R. Zayani, Y. Medjahdi, H. Shaiek and D. Roviras, "WOLA-OFDM: A Potential Candidate for Asynchronous 5G," 2016 IEEE Globecom Workshops (GC Wkshps), Washington, DC, 2016, pp. 1-5.
0028 %    [2] 3GPP R1-166999, 'Detailed configuration of f-OFDM and W-OFDM for LLS evaluation'
0029 
0030 %generate prototype filter
0031 Fw = W_OFDM_TX_window_design(Para);
0032 
0033 CP_L = Para.CP*Para.nSubcarriers;
0034 if Para.N_T==1
0035     s = 0;%initialise Tx signal
0036     IFT = sqrt(Para.nSubcarriers)*ifft(d, Para.nSubcarriers, 1);%
0037     IFT = [IFT(end-(Para.win_L+CP_L)+1:end, :); IFT; IFT(1:Para.win_L, :)];%Cyclic prefix and postfix before windowing
0038     IFT_win = IFT.*Fw;
0039     %overlap and add
0040     for kBlock = 1:Para.Ns
0041         pad_in = zeros((Para.nSubcarriers+CP_L+Para.win_L)*(kBlock-1), 1);
0042         pad_out = zeros((Para.nSubcarriers+CP_L+Para.win_L)*(Para.Ns-1) - length(pad_in), 1);
0043         s = s + [pad_in; IFT_win(:, kBlock); pad_out].';
0044     end
0045     
0046 else
0047     error('MIMO not implemented')
0048 end
0049 
0050 end
0051

Generated on Mon 14-Oct-2019 13:48:34 by m2html © 2005