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]
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