tfar_fit.m

来自「用于模拟时变非平稳的ARMA过程」· M 代码 · 共 104 行

M
104
字号
function [TFFPE, TFAIC]= tfar_fit(x, Mmax, Lmax, Psi, lambda)% function [TFFPE, TFAIC]= tfar_fit(x, Mmax, Lmax, Psi, lambda))%   This file is part of the TFPM toolbox v1.0 (c)%   michael.jachan@tuwien.ac.at and underlies the GPL.% % Searches M= 1:Mmax, L= 0:Lmax. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(0)% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear;tfpm;N    = 256;MAR  =   4;LAR  =   0;MMA  =   0;LMA  = LAR;re_im= 'r';mo_no= 'n';tfpm_file_gen;%-------------alpha= 1/2;beta = 1/2;lambda= .9800;Mmax= 2*MAR;Lmax= 2*LAR;Psi= tf_multiwin(N, 3*Mmax, 4*Lmax, 0, 2, 1);x= tfarma_gen(randn(N, 1), Aml, Bml, beta);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end;% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%alpha= 1/2;beta = 1/2;N= length(x);Qalpha= corr_est(x, x, -1, alpha);Aalpha= fft(Qalpha);Aalpha= [ Aalpha(N/2+1:N, :); Aalpha(1:N/2, :)].*conj(Psi);E= zeros(Mmax, Lmax+1);NA= (1:Mmax)'*(2*(0:Lmax)+1) + ones(Mmax, 1)*2*(0:Lmax);for L= 0:Lmax   [AA, BB]= tfar_est_tfywu(Aalpha(N/2-3*L+1:N/2+3*L+1, N/2-Mmax+1:N/2+Mmax+1), N);% Inverse Filtering   for M= 1:Mmax      [Aml, lambdamax, mm]= param_stabilize(AA(:, 1:M+1, M), N, lambda);%      [M L mm]      eM= tfarma_inv(x, Aml, BB(:, :, M));%      figure(99);plot(real(eM));drawnow      rM= sum(eM'*eM)/N;      E(M, L+1)= rM;   end;end;e= log(E);TFFPE= e+log((N+NA+1)./(N-NA-1));TFAIC= e+2*NA/N;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(0)% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear;tfpm;N    = 256;MAR  =   4;LAR  =   3;MMA  =   0;LMA  = LAR;re_im= 'i';mo_no= 'n';tfpm_file_gen;%-------------alpha= 1/2;beta = 1/2;MM= 100;mm= 1Mmax= 2*MAR+2;Lmax= 2*LAR+2;[Psi, Mask, v2]= tf_multiwin(N, 2*Mmax, 2*Lmax, 5, 0, 0);v2tf_show(Psi)AIChist= zeros(Mmax, Lmax+1);FPEhist= zeros(Mmax, Lmax+1);for mm= 1:MM   x= tfarma_gen(randn(N, 1), Aml, Bml, 1/2);   [TFFPE, TFAIC]= tfar_fit(x, Mmax, Lmax, Psi, .98);   [MFPE, LFPE] = find(TFFPE==min(min(TFFPE)));   [MAIC, LAIC] = find(TFAIC==min(min(TFAIC)));   [MFPE, LFPE, MAIC, LAIC]   AIChist(MAIC, LAIC)= AIChist(MAIC, LAIC) + 1;   FPEhist(MFPE, LFPE)= FPEhist(MFPE, LFPE) + 1;   figure(1);imagesc(AIChist)   set(gca, 'XTick', 1:Lmax+1)   set(gca, 'XTickLabel', 0:Lmax)   figure(2);imagesc(FPEhist)   set(gca, 'XTick', 1:Lmax+1)   set(gca, 'XTickLabel', 0:Lmax)   drawnowend;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end;% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

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