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

📄 demor.m

📁 盲信号处理牛人cardoso
💻 M
字号:
disp('This code is just a front-end to check that the real implementation');disp('of JADE does run as seen on TV.');disp(' ');disp('This is indeed just a toy problem... Please run JADE on your real data.');disp(' ');disp(' ');disp('The demo will display a figure with 3 rows: ');disp('o First row: three `source signals'': a sine wave, a square wave, a');disp('  whiste Gaussian process.');disp('o Second row: the result of mixing by a 4x3 matrix and adding a');disp('  small Gaussian noise.');disp('o Thrid row: the result of Jade processing');disp(' ');disp(' ');disp('The program repeatedly tries random mixing matrices.');disp(' ');disp(' ');disp(' ');disp('Hit <Return> key when ready.'); pause;%%%%Comments, bug reports, info requests are appreciated%and should be directed to cardoso@sig.enst.fr (Jean-Francois Cardoso)%Author : Jean-Francois Cardoso CNRS URA 820 / GdR TdSI / Telecom Paris%=======================================================================n	= 3 	;  % M = number of sourcesm	= 4	;  % m = number of sensors (add the relevant lines in S= ...)T	= 200	;  % sample sizeNdB	= -30 	;  % kind of noise level in dB%----------------------------------------------------------------------------f1 = 0.013 ;f2 = 0.02 ;s1	=      cos(2*pi*f1*(1:T)) ;s2	= sign(cos(2*pi*f2*(1:T))) ;s3	=      randn(1,T) ;s4	= sign(randn(1,T)) ;S	= [ s1 ; s2 ; s3  ] ;figure; clf disp('____________________________________________________________');while 1%%%%%%%%%%%  Source signals  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for is=1:n, 	subplot(3,m,is);	plot(S(is,:));	axis([ 1 T -2 2 ]);	set(gca,'Xtick',[1 T ]);	set(gca,'Ytick',[]);end;drawnow; fprintf('First row in figure: the source signals\n');%%%%%%%%%%%  Mixing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mixing and noising% random mixing matrixA	= randn(m,n) ;disp('Mixing matrix');disp(A);noiseamp 	= 10^(NdB/20) ;X		= A*S + noiseamp*randn(m,T) ;for ic=1:m 	subplot(3,m,ic+m);	plot(X(ic,:));%	title('Hist. of observations');	set(gca,'Xtick',[1 T ]);	set(gca,'Ytick',[]);end;drawnow; fprintf('Second row in figure: the observed mixtures\n');%%%%%%%%% Separation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Separationfprintf('\nStrike any key to unmix\n');pause;fprintf('\nIdentification running ......\n');B 	= jadeR(X,n);fprintf('\nIdentification completed ......\n');Se	= B * X ;for is=1:n, 	subplot(3,m,is+m+m); 	plot(Se(is,:));%	title('Sep. histogram');	axis([ 1 T -2 2 ]);	set(gca,'Xtick',[1 T ]);	set(gca,'Ytick',[]);end;drawnow; fprintf('Third row in figure: the estimated source signals\n');% Performancedisp(' ');disp(' ');disp('Global system:');disp('If this matrix is close to a product Permutation*Diagonal,')disp('then separation was successful.');% The so called `rejection rates'disp((B*A).^2);disp('____________________________________________________________');fprintf('\nHit <Return> for another experiment with a different mixture\n');pause;clf ;end; %endless loop

⌨️ 快捷键说明

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