arspe.m
来自「数字信号处理Matlab演示文件,其中各个文件加放置了不同的matlab子文件」· M 代码 · 共 28 行
M
28 行
function [a, mmse, psd] = arspe ( data, P, M )
% Autoregressive PSD estimate covariance form
% data : data vector
% P : no of prediction coefficients
% M : fft size
% a : prediction coefficients
% mmse : mmse of prediction errors
% psd : PSD estimate
% Nov 1997 B. Mulgrew
% no. of data points
N = max(size(data));
% time reverse to "new data first"
dat2 = fliplr(data);
Rxx = zeros(P+1);
for ii = 1:N-P
xv = dat2(ii:ii+P);
Rxx = Rxx + xv'*xv;
end
a = inv( Rxx(2:P+1,2:P+1) ) * Rxx( 2:P+1,1 );
mmse = Rxx(1,1) - a'*Rxx( 2:P+1,1 );
mmse = mmse/(N-P);
psd = fft([ 1 -a' ], M );
psd = real(psd .* conj( psd ));
psd = 10*log10( mmse ) - 10*log10( psd );
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?