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

📄 ica_f.m

📁 用于盲信号分离的独立分量分析ICA算法
💻 M
字号:
function [Y1,Y2] = ica_f(X,NFFT,FS,OVERLAP,N)%%	function [Y1,Y2] = ica_f(X,NFFT,FS,OVERLAP,N)%	split X based on the freequency domain Blind Separation%	X must has 2 column,%	%	Shiro Ikeda 15,July,1998 MT    =   40; % time for taking the Moving Average [msec][LENGTH,dim] = size(X);if dim==2,  fprintf(1,'Blind Separation in Time-Frequency domain.\n');  win = hamming(NFFT);  fprintf(1,'\nCorrelation Matrices.\n');  M=correlation(X,NFFT,FS,win,OVERLAP,N);  fprintf(1,'Done.\n');    fprintf(1,'\nCalculating Decorrelation Matrices.\n');  V=decorrelation(M,NFFT,N);  fprintf(1,'Done.\n');    fprintf(1,'\nSolving Permutation.\n');  [P,S] =  permutation(V,X(1:min(2*FS,LENGTH),:),NFFT,FS,win,OVERLAP,MT,0.95);  fprintf(1,'Done.\n');    fprintf(1,'\nBuilding Filters.\n');  [BT1,BT2]=sepfilter(S,P,V,NFFT);  fprintf(1,'Done.\n');    fprintf(1,'\nMaking Output Signals.\n');  Y1(:,1)=conv(BT1(1,:),X(:,1))+conv(BT1(2,:),X(:,2));  Y1(:,2)=conv(BT1(3,:),X(:,1))+conv(BT1(4,:),X(:,2));  Y2(:,1)=conv(BT2(1,:),X(:,1))+conv(BT2(2,:),X(:,2));  Y2(:,2)=conv(BT2(3,:),X(:,1))+conv(BT2(4,:),X(:,2));  fprintf(1,'Done.\n');else   fprintf(1,'This program cannot handle this data.\n');end

⌨️ 快捷键说明

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