已知各个通道的信号的协方差矩阵(covariance matrix), 模拟各个通道的噪声信号

声明:以下的程序函数都是来自matlab

 

1. 首先各个通道的协方差矩阵(covmat)已知,肯定也是根据之前的数据求得,利用cov函数;

2. 根据协方差矩阵求得相关滤波器(correlating filter),两种方法:

       i). Eigenvector decomposition: [V,D] = eig(covmat);  W = V*sqrt(D);  

       ii). Cholesky Decomposition:W = chol(covmat)‘;

3. 生成各个通道的白噪声:n = randn(size(covmat,1), N);  通道总数为:size(covmat,1),每个通道的噪声个数为N个;

4. 求得所有通道的模拟噪声:result = W * n;  可以用cov函数验证一下模拟的噪声的协方差矩阵跟给定的是否接近,当然N越大,越接近;

5. 可以比较一下两个相关滤波器的结果,都是比较靠谱的。

 

 

 

 

参考链接:

1. http://www.mathworks.com/matlabcentral/fileexchange/21156-correlated-gaussian-noise

2. http://www.sitmo.com/article/generating-correlated-random-numbers/

 

你可能感兴趣的:(matlab,学习资料备份)