阵列信号处理 | 您所在的位置:网站首页 › python求根号2 › 阵列信号处理 |
求根MUSIC算法,即root-MUSIC算法是MUSIC方法的一种多项式求根形式,它是由Barabell提出的,其基本思想是Pisarenko分解。相比于MUSIC算法,root-MUSIC算法无须谱峰搜索,降低了复杂度。 基本MUSIC空间谱的谱峰等价为 若令 向量内积 式中, 上式有可综合为 换言之,只要对多项式 然而,上式并不是z的多项式,因为它还包含了z*的幂次项。由于我们只对单位圆上的z值感兴趣,所以可以用 仿真参数设置: 参数名称 参数值 阵列数 8 阵元间距 0.5 信源数 3 波达方向 10, 20, 30 信噪比 10 采样数(快拍) 200程序如下: clear all close all derad=pi/180; % 角度->弧度 radeg=180/pi; % 弧度->角度 twpi=2*pi; kelm=8; % 阵元数 dd=0.5; % 阵元间距 d=0:dd:(kelm-1)*dd; iwave=3; % 信源数 theta=[10 20 30]; % 波达方向 snr=10; % 信噪比 n=200; % 采样数 A=exp(-1i*twpi*d.'*sin(theta*derad)); % 方向向量 S=randn(iwave,n); % 信源信号 X0=A*S; % 接收信号 X=awgn(X0,snr,'measured'); % 添加噪声 Rxx=X*X'; % 计算协方差矩阵 InvS=inv(Rxx); [EVx,Dx]=eig(Rxx); % 特征值分解 EVAx=diag(Dx)'; [EVAx,Ix]=sort(EVAx); % 特征值从小到大排序 EVAx=fliplr(EVAx); % 左右翻转,从大到小排序 EVx=fliplr(EVx(:,Ix)); % root-MUSIC Unx=EVx(:,iwave+1:kelm); % 噪声子空间 syms z; pz=z.^([0:kelm-1]'); pz1=(z^(-1)).^([0:kelm-1]); fz=z.^(kelm-1)*pz1*Unx*Unx'*pz; % 构造多项式 a=sym2poly(fz); % 符号多项式->数值多项式 zx=roots(a); % 求根 rx=zx'; [as,ad]=(sort(abs((abs(rx)-1)))); DOAest=asin(sort(angle(rx(ad([1,3,5])))/pi))*180/pi; disp(DOAest);运行结果如下: 对求根MUSIC算法,我们再作如下说明。 (1)求根MUSIC算法与谱搜索方式的MUSIC算法原理是一样的,只不过是用一个关于z的矢量来代替导向矢量,从而用求根过程代替搜索过程; (2)由于噪声的存在,求出的根不可能在单位圆上,可选择接近单位圆上的根为真实信号的根,这就存在一定的误差; (3)求根MUSIC算法与谱搜索的MUSIC算法相似,同样存在两种表达方式,一个是利用噪声子空间,另一个是利用信号子空间。 参考文献: 阵列信号处理及MATLAB实现;张小飞,陈华伟,仇小锋(编著) 现代信号处理(第三版);张贤达(编著) 您可能感兴趣的内容: Pytorch优化器全总结(二)Adadelta、RMSprop、Adam、Adamax、AdamW、NAdam、SparseAdam(重置版) MATLAB中polarscatter函数使用 深度强化学习-TD3算法原理与代码 CVPR 2022 论文列表 【雷达测角算法(二)】——单脉冲和差波束测角 |
CopyRight 2018-2019 实验室设备网 版权所有 |