资源简介
MVDR 算法及相关文献 非常详细算法的matlab程序
代码片段和文件信息
function [MSC]=coherence_MVDR(x1x2LK);
%% This program computes the coherence function between 2 signals
%% x1 and x2 with the MVDR method.
%% This algorithm is based on the paper by the same authors:
%% J. Benesty J. Chen and Y. Huang “A generalized MVDR spectrum“
%% IEEE Signal Processing letters vol. 12 pp. 827-830 Dec. 2005.
%% x1 first signal vector of length n
%% x2 second signal vector of length n
%% L is the length of MVDR filter or window length
%% K is the resolution (the higher K the better the resolution)
%initialization
xx1 = zeros(L1);
xx2 = zeros(L1);
r11 = zeros(L1);
r22 = zeros(L1);
r12 = zeros(L1);
r21 = zeros(L1);
%construction of the Fourier Matrix
F = zeros(LK);
l = [0:L-1]‘;
f = exp(2*pi*l*j/K);
for k = 0:K-1
F(:k+1) = f.^k;
end
F = F/sqrt(L);
%number of samples equal to the lenght of x1 and x2
n = length(x1);
for i = 1:n
xx1 = [x1(i);xx1(1:L-1)];
xx2 = [x2(i);xx2(1:L-1)];
r11 = r11 + xx1*conj(xx1(1));
r22 = r22 + xx2*conj(xx2(1));
r12 = r12 + xx1*conj(xx2(1));
r21 = r21 + xx2*conj(xx1(1));
end
r11 = r11/n;
r22 = r22/n;
r12 = r12/n;
r21 = r21/n;
%
R11 = toeplitz(r11);
R22 = toeplitz(r22);
R12 = toeplitz(r12conj(r21));
%
%for regularization
Dt1 = 0.01*r11(1)*diag(diag(ones(L)));
Dt2 = 0.01*r22(1)*diag(diag(ones(L)));
%
Ri11 = inv(R11 + Dt1);
Ri22 = inv(R22 + Dt2);
Rn12 = Ri11*R12*Ri22;
%
Si11 = real(diag(F‘*Ri11*F));
Si22 = real(diag(F‘*Ri22*F));
S12 = diag(F‘*Rn12*F);
%
%Magnitude squared coherence function
MSC = real(S12.*conj(S12))./(Si11.*Si22);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1701 2006-01-27 11:13 MVDR程序计算频谱\coherence_MVDR.m
文件 72048 2005-09-14 08:30 MVDR程序计算频谱\icassp2006_jb.pdf
文件 1187 2006-01-27 11:12 MVDR程序计算频谱\Illustrate.m
文件 143512 2005-11-21 09:42 MVDR程序计算频谱\spl_dec2005.pdf
目录 0 2014-12-23 10:50 MVDR程序计算频谱
----------- --------- ---------- ----- ----
218448 5
相关资源
- 基于matlab的线性锐化滤波图像增强并
- 数字滤波器的Matlab仿真设计
- 使用matlab画ORBSLAM2运行保存的轨迹文件
- RRT路径规划
- 循环码性能的MATLAB
- GS算法的MATLAB代码
- SINS捷联惯导解算程序
- MATLAB观测器
- 直线阵和圆阵数字波束形成MatlAB程序
- 模拟电压波动与闪变的Matlab文件
- 粒子滤波算法 matlab
- OFDM调制程序 MATLAB
- 简单的声音滤波 matlab
- 基于栅格地图的Dijkstra算法路径规划
- Matlab一维FDTD卷积边界条件CPML
- SMOTE结合SVM算法matlab实现
- MATLAB文字识别程序解析
- 基于MATLAB的血管三维重建
- Allan方差计算程序Matlab版
- Goldstein_Filter
- matlab 图像加噪去噪
- 随机相位正弦波仿真实验MATLAB程序
- MATLAB图像识别80192
- 模糊神经网络matlab源程序
- 三维B样条函数的matlab实现
- 基于matlab的工件缺陷检测
- matlab生成可见性图程序
- matlab 图像校正
- matlab编写的流体计算和传热程序
- 基于粒子群优化算法的模糊c聚类源码
评论
共有 条评论