?? lpcrf2rr.m
字號:
function [rr,ar]=lpcrf2rr(rf,p);
%LPCRR2AR convert reflection coefs to autocorrelation coefs [RR,AR]=(RF,P)
%
% Inputs: rf(:,n+1) reflection coefficients: one row per frame
% p specifies number of rr coefficients to calculate (default=n)
% Outputs: rr(:,p+1) autocorrelation coefficients
% ar(:,n+1) AR filter coefficients
% Copyright (C) Mike Brookes 1997
%
% Last modified Fri May 22 07:57:50 1998
%
% VOICEBOX home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You can obtain a copy of the GNU General Public License from
% ftp://prep.ai.mit.edu/pub/gnu/COPYING-2.0 or by writing to
% Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[nf,p1]=size(rf);
p0=p1-1;
a = rf(:,2);
rr=[ones(nf,1) -a zeros(nf,p0-1)];
e = (a.^2-1);
for n = 2:p0
k=rf(:,n+1);
rr(:,n+1) =k.*e - sum(rr(:,n:-1:2).*a,2);
a = [a+k(:,ones(1,n-1)).*a(:,n-1:-1:1) k];
e = e.*(1-k.^2);
end
ar = [ones(nf,1) a];
r0=sum(rr.*ar,2).^(-1);
rr=rr.*r0(:,ones(1,p1));
if nargin>1
if p<p0
rr(:,p+2:p1)=[];
else
rr=[rr zeros(nf,p-p0)];
af=-ar(:,p1:-1:2);
for i=p0+1:p
rr(:,i+1)=sum(af.*rr(:,i-p0+1:i),2);
end
end
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -