Home > WaveComBox > Toolbox > FBMC_OQAM > Modulation > GeneratePrototypePhydyas.m

GeneratePrototypePhydyas

PURPOSE ^

Compute Phydyas prototype filter [1] and the sampled version of its

SYNOPSIS ^

function [pulse,pulseder,pulseder2,pulseder3,pulseder4] = GeneratePrototypePhydyas(M, kappa)

DESCRIPTION ^

 Compute Phydyas prototype filter [1] and the sampled version of its
 derivatives in time [2].

 References:
 [1] M. G. Bellanger, “Specification and design of a prototype filter
 for filter bank based multicarrier transmission," in IEEE International
 Conference on Acoustics, Speech, and Signal Processing, vol. 4,
 pp. 2417–2420, IEEE, 2001. 
 [2] F. Rottenberg, X. Mestre, F. Horlin and J. Louveaux, "Single-Tap
 Precoders and Decoders for Multi-User MIMO FBMC-OQAM under Strong Channel
 Frequency Selectivity," IEEE Transactions on Signal Processing, 2017,
 vol. 65, no. 3, pp. 587-600.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [pulse,pulseder,pulseder2,pulseder3,pulseder4] = GeneratePrototypePhydyas(M, kappa)
0002 % Compute Phydyas prototype filter [1] and the sampled version of its
0003 % derivatives in time [2].
0004 %
0005 % References:
0006 % [1] M. G. Bellanger, “Specification and design of a prototype filter
0007 % for filter bank based multicarrier transmission," in IEEE International
0008 % Conference on Acoustics, Speech, and Signal Processing, vol. 4,
0009 % pp. 2417–2420, IEEE, 2001.
0010 % [2] F. Rottenberg, X. Mestre, F. Horlin and J. Louveaux, "Single-Tap
0011 % Precoders and Decoders for Multi-User MIMO FBMC-OQAM under Strong Channel
0012 % Frequency Selectivity," IEEE Transactions on Signal Processing, 2017,
0013 % vol. 65, no. 3, pp. 587-600.
0014 
0015 
0016 % This file is part of WaveComBox: www.wavecombox.com and is distributed under the terms of the MIT license. See accompanying LICENSE file.
0017 % Original author: François Rottenberg, May 4, 2018.
0018 % Contributors:
0019 % Change log:
0020 
0021 switch kappa
0022         
0023     case 2
0024         H1 = sqrt(2)/2;
0025         
0026         N = 2*kappa*M;
0027         n = 1:N;
0028         t = (n - (2*M*kappa+1)/2)/2/M;
0029         pulse = 1/sqrt(2)/kappa*(1+2*H1*cos(2*pi*t/kappa));
0030         pulseder = -4*pi/sqrt(2)/(kappa^2)*(H1*sin(2*pi*t/kappa));
0031         pulseder2 = -8*(pi^2)/sqrt(2)/(kappa^3)*(H1*cos(2*pi*t/kappa));
0032         pulseder3 = 16*(pi^3)/sqrt(2)/(kappa^4)*(H1*sin(2*pi*t/kappa));
0033         pulseder4 = 32*(pi^4)/sqrt(2)/(kappa^5)*(H1*cos(2*pi*t/kappa));
0034         
0035     case 3
0036         H1 = 0.91143783;
0037         H2 = 0.41143783;
0038         
0039         N = 2*kappa*M;
0040         n = 1:N;
0041         t = (n - (2*M*kappa+1)/2)/2/M;
0042         pulse = 1/sqrt(2)/kappa*(1+2*H1*cos(2*pi*t/kappa)+2*H2*cos(4*pi*t/kappa));
0043         pulseder = -4*pi/sqrt(2)/(kappa^2)*(H1*sin(2*pi*t/kappa)+2*H2*sin(4*pi*t/kappa));
0044         pulseder2 = -8*(pi^2)/sqrt(2)/(kappa^3)*(H1*cos(2*pi*t/kappa)+4*H2*cos(4*pi*t/kappa));
0045         pulseder3 = 16*(pi^3)/sqrt(2)/(kappa^4)*(H1*sin(2*pi*t/kappa)+8*H2*sin(4*pi*t/kappa));
0046         pulseder4 = 32*(pi^4)/sqrt(2)/(kappa^5)*(H1*cos(2*pi*t/kappa)+16*H2*cos(4*pi*t/kappa));
0047         
0048     case 4
0049         H1 = 0.97195983;
0050         H2 = sqrt(2)/2;
0051         H3 = 0.23514695;
0052         
0053         N = 2*kappa*M;
0054         n = 1:N;
0055         t = (n - (2*M*kappa+1)/2)/2/M;
0056         
0057         pulse = 1/sqrt(2)/kappa*(1+2*H1*cos(2*pi*t/kappa)+2*H2*cos(4*pi*t/kappa)+2*H3*cos(6*pi*t/kappa));
0058         pulseder = -4*pi/sqrt(2)/(kappa^2)*(H1*sin(2*pi*t/kappa)+2*H2*sin(4*pi*t/kappa)+3*H3*sin(6*pi*t/kappa));
0059         pulseder2 = -8*(pi^2)/sqrt(2)/(kappa^3)*(H1*cos(2*pi*t/kappa)+4*H2*cos(4*pi*t/kappa)+9*H3*cos(6*pi*t/kappa));
0060         pulseder3 = 16*(pi^3)/sqrt(2)/(kappa^4)*(H1*sin(2*pi*t/kappa)+8*H2*sin(4*pi*t/kappa)+27*H3*sin(6*pi*t/kappa));
0061         pulseder4 = 32*(pi^4)/sqrt(2)/(kappa^5)*(H1*cos(2*pi*t/kappa)+16*H2*cos(4*pi*t/kappa)+81*H3*cos(6*pi*t/kappa));
0062 end
0063 
0064 end
0065

Generated on Mon 24-Jun-2019 13:51:48 by m2html © 2005