nomax.m
来自「这是盲信号的代码 都已经通过编译了 做这方面的同仁可以参考一下 我觉得蛮惯用的」· M 代码 · 共 44 行
M
44 行
function [ys,W] = NoMax(x)
%最大信噪比盲源分离算法
%输入:混合信号x
%输出:分离信号ys,分离矩阵W
%计算运行时间tic t=toc
%tic;
%预处理,去均值和白化
x=baihua(x);
%%%%%%%滑动平均处理%%%%%%%%%%%%
p=80;
a=ones(1,p)/p;
x=x';
S=filter(a,1,x);
%计算协方差
U=cov(S-x,1);
V=cov(x,1);
%计算特征值
[W d]=eig(V,U);
%源信号估计
ys = (x*W)';
%t=toc;
%预处理子程序
function y=baihua(x)
%观测信号的白化处理函数
%包括均值为零处理
%去均值时,
[n,T] = size(x);
% 去均值
x = x - mean(x')'*ones(1,T);
%%***************白化*********************
[F,D]=eig((x*x')/T);
v=F*(D^(-0.5))*F';
y=v*x;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?