Home > WaveComBox > Toolbox > UFMC > ChannelEqualization > proto_f_eq.m

proto_f_eq

PURPOSE ^

proto_f_eq equalizes the UFMC filter on symbol sequence [1, 2].

SYNOPSIS ^

function [ d_eq ] = proto_f_eq( d, Para )

DESCRIPTION ^

 proto_f_eq equalizes the UFMC filter on symbol sequence  [1, 2].

 function [ d_eq ] = proto_f_eq( d, Para )

 Input arguments:

   d: filtered received symbols . Size: matrix [Para.nSubcarriers, Para.Ns+Para.PreambleLength]

   Para: structure containing the modulation parameters.

 Outputs arguments:

   d_eq: equalized symbols affected by UFMC prototype filter. Size: matrix [length(Para.ActiveSubcarriers), Para.Ns]

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [ d_eq ] = proto_f_eq( d, Para )
0002 % proto_f_eq equalizes the UFMC filter on symbol sequence  [1, 2].
0003 %
0004 % function [ d_eq ] = proto_f_eq( d, Para )
0005 %
0006 % Input arguments:
0007 %
0008 %   d: filtered received symbols . Size: matrix [Para.nSubcarriers, Para.Ns+Para.PreambleLength]
0009 %
0010 %   Para: structure containing the modulation parameters.
0011 %
0012 % Outputs arguments:
0013 %
0014 %   d_eq: equalized symbols affected by UFMC prototype filter. Size: matrix [length(Para.ActiveSubcarriers), Para.Ns]
0015 
0016 % References:
0017 % [1] 5GNow Deliverable 3.2 pp 29-35
0018 % [2] F. Schaich, T. Wild and Y. Chen, "Waveform Contenders for 5G - Suitability for Short Packet and Low Latency Transmissions,"
0019 %     2014 IEEE 79th Vehicular Technology Conference (VTC Spring), Seoul, 2014, pp. 1-5
0020 
0021 % This file is part of WaveComBox: www.wavecombox.com and is distributed under the terms of the MIT license. See accompanying LICENSE file.
0022 % Original author: Mathieu Van Eeckhaute, May 25, 2018.
0023 % Contributors: François Rottenberg
0024 % Change log:
0025 
0026 % power normalization
0027 norm_fact=ComputeNormFact(Para);
0028 d = d./norm_fact;
0029 
0030 proto_filt = protofilter_design(Para);%generate prototype filter
0031 pf = fft((proto_filt),2*Para.nSubcarriers);%2N fft to be able to equalize the filter when NsubCar is even
0032 modN  = @(x) mod(x-1,Para.nSubcarriers)+0.5;    % modulo N  , domain and image from 1 to N
0033 sc_select = 2*(modN(1-(Para.SubBandWidth-1)/2 : 1+(Para.SubBandWidth-1)/2)); %Selection of frequencies to be compensated
0034 pf_eq = repmat(1./(pf(sc_select)),Para.NbSubBands,1);
0035 d_eq=zeros(Para.nSubcarriers,Para.Ns);
0036 d_eq(Para.ActiveSubcarriers,:) = d(Para.ActiveSubcarriers,:).*repmat(pf_eq,1,Para.Ns);
0037 end
0038

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