Home > voicebox > lpcra2pp.m

lpcra2pp

PURPOSE ^

LPCAR2PP LPC: Convert ar filter autocorrelation to power spectrum polynomial in cos(w) PP=(RA)

SYNOPSIS ^

function pp=lpcra2pp(ra)

DESCRIPTION ^

LPCAR2PP LPC: Convert ar filter autocorrelation to power spectrum polynomial in cos(w) PP=(RA)
 pp is a polynomial such that |polyval(ra,e^jw)| = polyval(pp,cos(w))

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function pp=lpcra2pp(ra)
0002 %LPCAR2PP LPC: Convert ar filter autocorrelation to power spectrum polynomial in cos(w) PP=(RA)
0003 % pp is a polynomial such that |polyval(ra,e^jw)| = polyval(pp,cos(w))
0004 
0005 %      Copyright (C) Mike Brookes 1998
0006 %      Version: $Id: lpcra2pp.m 713 2011-10-16 14:45:43Z dmb $
0007 %
0008 %   VOICEBOX is a MATLAB toolbox for speech processing.
0009 %   Home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html
0010 %
0011 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0012 %   This program is free software; you can redistribute it and/or modify
0013 %   it under the terms of the GNU General Public License as published by
0014 %   the Free Software Foundation; either version 2 of the License, or
0015 %   (at your option) any later version.
0016 %
0017 %   This program is distributed in the hope that it will be useful,
0018 %   but WITHOUT ANY WARRANTY; without even the implied warranty of
0019 %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0020 %   GNU General Public License for more details.
0021 %
0022 %   You can obtain a copy of the GNU General Public License from
0023 %   http://www.gnu.org/copyleft/gpl.html or by writing to
0024 %   Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA.
0025 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0026 
0027 persistent tp;
0028 [nf,p1]=size(ra);
0029 % we check here if p is the same as before and reuse the tp matrix
0030 if size(tp,1)~=p1
0031    p=p1-1;
0032    % chebyshev polynomials up to order p
0033    tp=zeros(p1,p1);
0034    tp(1,p1)=2;
0035    tp(2,p)=2;
0036    for i=3:p1
0037       tp(i,p+2-i:p)=2*tp(i-1,p+3-i:p1)-tp(i-2,p+2-i:p);
0038       tp(i,p1)=-tp(i-2,p1);
0039    end
0040    tp(1,p1)=1;
0041 end
0042 pp=ra*tp;

Generated on Tue 10-Oct-2017 08:30:10 by m2html © 2003