Home > WaveComBox > Toolbox > UFMC > Modulation > protofilter_design.m

protofilter_design

PURPOSE ^

modulate_proto_filt modulates the UFMC protoype filter on the desired frequency bins [1, 2].

SYNOPSIS ^

function [ proto_filt ] = protofilter_design( Para )

DESCRIPTION ^

 modulate_proto_filt modulates the UFMC protoype filter on the desired frequency bins  [1, 2].

 function [ d_eq ] = proto_f_eq( d, Para )

 Input arguments:

   Para: structure containing the modulation parameters.

 Outputs arguments:

   proto_filt: UFMC prototype filter. Size: vector [Para.filt_L, 1]

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [ proto_filt ] = protofilter_design( Para )
0002 % modulate_proto_filt modulates the UFMC protoype filter on the desired frequency bins  [1, 2].
0003 %
0004 % function [ d_eq ] = proto_f_eq( d, Para )
0005 %
0006 % Input arguments:
0007 %
0008 %   Para: structure containing the modulation parameters.
0009 %
0010 % Outputs arguments:
0011 %
0012 %   proto_filt: UFMC prototype filter. Size: vector [Para.filt_L, 1]
0013 
0014 % References:
0015 % [1] 5GNow Deliverable 3.2 pp 29-35
0016 % [2] F. Schaich, T. Wild and Y. Chen, "Waveform Contenders for 5G - Suitability for Short Packet and Low Latency Transmissions,"
0017 %     2014 IEEE 79th Vehicular Technology Conference (VTC Spring), Seoul, 2014, pp. 1-5
0018 
0019 % This file is part of WaveComBox: www.wavecombox.com and is distributed under the terms of the MIT license. See accompanying LICENSE file.
0020 % Original author: Mathieu Van Eeckhaute, May 25, 2018.
0021 % Contributors: François Rottenberg
0022 % Change log:
0023 
0024 switch Para.filterType
0025 
0026     case 0%cheb window
0027         proto_filt = chebwin(Para.filt_L,Para.filt_alpha); %Dolph-Chebyshev
0028     
0029     case 1%equiripple filter
0030         Fs              = 2*Para.M;
0031         filt_slope      = 20; %stopband attenuation slope (dB/Hz), normalized frequency
0032         Fp              = (Para.SubBandWidth)/(Fs); %passband width (normalized freq)
0033         Ap              = 10^(-50/20);       %passband ripple
0034         Ast             = 10^(-Para.filt_alpha/20); %stopband attenuation
0035         proto_filt      = firceqrip(Para.filt_L-1,Fp,[Ap Ast],'slope',filt_slope,'passedge').';
0036         
0037     otherwise
0038         error('UFMC filter type should be 0 or 1')
0039 end
0040 
0041 end
0042

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