📄 tf_multiwindowing.m
字号:
function S= tf_multiwindowing(x, Win, Eig)% function S= tf_multiwindowing(x, Win, Eig)% This file is part of the TFPM toolbox v0.5 (c)% michael.jachan@tuwien.ac.at and underlies the GPL.% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(0)% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear;tfpm;MAR = 0;LAR = 0;MMA = 3;LMA = 2;N = 128;re_im= 'r';mo_no= 'm';tfpm_file_gen;%-------------alpha= 1/2;beta = 1/2;MAX_M= MMA;MAX_L= 2*LMA;MAX_K= 6;rolloff= 3;proto= 1;x= tfarma_gen(randn(N, 1), Aml, Bml, beta);%x= (cos(2*pi/N*(1:N)))';%x= ones(N, 1);[Psi, Mask, Win, Eig]= tf_multiwin(N, MAX_M, MAX_L, MAX_K, rolloff, proto);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end;% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N= length(x);MAX_K= size(Win, 2);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(0)% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%figure(97);clf;cesh(Psi)figure(98);clf;cesh(Mask)figure(99);clf;clot(Win)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end;% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%figure(95);clf;hold onS= zeros(N);for k= 1:MAX_K M= stft(x, Win(:, k)); S= S + Eig(k)*abs(M(:, N/2:3*N/2-1))^2;% tf_show(S);drawnowend;S= rot90(S, -1)/N;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(0)% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%qxx= corr_est(x, x, 0, alpha);A= nm_to_ml(qxx).*tf_multiwin(N, MAX_M, MAX_L, MAX_K, rolloff, proto);P= nm_to_nk(ml_to_nm(A));figure(98);clf;mesh(S)figure(99);clf;mesh(real(P))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end;% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(0)% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear;tfpm;MAR = 0;LAR = 0;MMA = 3;LMA = 2;N = 64;re_im= 'r';mo_no= 'm';tfpm_file_gen;%-------------alpha= 1/2;beta = 1/2;MAX_M= MMA;MAX_L= 2*LMA;MAX_K= 6;rolloff= 3;proto= 1;x= tfarma_gen(randn(N, 1), Aml, Bml, beta);%x= (cos(2*pi/N*(1:N)))';%x= ones(N, 1);MM= 100;[Psi, Mask, Win, Eig]= tf_multiwin(N, MAX_M, MAX_L, MAX_K, rolloff, proto);%[Psi, Mask, Win, Eig]= tf_multiwin(N, 5, 5, MAX_K, rolloff, proto);clf;tf_show(Psi)S= zeros(N);for mm= 1:MM mm x= tfarma_gen(randn(N, 1), Aml, Bml, beta);% x= [zeros(N/4, 1); randn(N/2, 1); zeros(N/4, 1)]; S1= tf_multiwindowing(x, Win, Eig); tf_show(S1);drawnow S= S+S1;end;S= S/MM;P= tfarma_wvsp(Bml, Aml, N, alpha);figure(98);mesh(S)figure(99);mesh(P)[mean(mean(S)) mean(mean(P))]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end;% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -