⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arfilter.m

📁 一个生成指定波形的宽带噪声的程序代码
💻 M
字号:
% Title: AR filter in accordance of a power spectrum
% Author: Lilei
% Data: 2008.6.2
% Description: Input: the power spectrum (Spectrum),
%                     the variance of the white noise( Var )
%                     the order of the AR filter(Order)
%              Output: the AR filter coefficients(a)  
% Change: 
% Addition: 

function [ aa ] = ARFilter( Spectrum , Var , Order )
R = real( ifft( Spectrum ) );

figure;
plot(R);
xlim([1 200]);

%%%%%% compute the AR model coefficient %%%%%%%%%%
a_former = zeros( 1 , Order );
a_latter = zeros( 1 , Order );
var_former = 0.0;
var_latter = 0.0;

a_latter( 1 , 1 ) = - R( 1 , 2 ) / R( 1 , 1 );
var_latter = ( 1 - ( abs( a_latter( 1 , 1 ) ))^2) * R( 1 , 1 );

for( m = 2 : Order )
    var_former = var_latter;        
    a_former = a_latter;
    k = 1 : m - 1;
    a_latter( 1 , m ) = - ( sum ( a_former( 1 , k ) .* R( m - k + 1 ) ) + R( m + 1 ) ) / var_former;
    a_latter( 1 , k ) = a_former( 1 , k ) + a_latter( 1 , m ) .* a_former( 1 , m - k );
    var_latter = var_former * ( 1 - (abs(a_latter( 1 , m )))^2);
    plot( m , var_latter , 'r*' );
    hold on;
end
aa = a_latter;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -