波束形成matlab程序,mVDR波束形成matlab程序

mVDR波束形成matlab程序,用于有效地噪声源分辨

clear all

clc

c=1500;

fs=10e3;

T = 1;

t = 0:1/fs:T;

L=length(t);

f=2000;

w=2*pi*f;

k=w/c;

M=11; %阵元个数

Nmid=1; %参考点

d=3;%阵元间距

m=[0:1:M-1];

yi=zeros(M,1);% 返回一个M*1维的零矩阵

zi=zeros(M,1);

xi=m*d;

xi=xi.';

%各阵元坐标

y1=12;

x1=10;z1=10;% 声源位置, y轴指向声源平面

Ric1=sqrt((x1-xi).^2+(y1-yi).^2+(z1-zi).^2);%声源至各阵元的距离 M*1维

Rn1=Ric1-Ric1(Nmid);%声源至各阵元与参考阵元的声程差矢量 M*1维

s1=cos(w*t);%参考阵元接收到的信号 1*L维

snr =20;

Am= 10^(-snr/20);

n1=Am*(randn(M,L)+j*randn(M,L));%各阵元噪声矢量

p1=zeros(M,L);%M*L维

for k1=1:M

p1(k1,:)=Ric1(Nmid)/Ric1(k1)*s1.*exp(-j*w*Rn1(k1)/c); %各阵元经过幅度衰减和相位延迟后接收到的信号,M*L维

end

p=p1+n1;%各阵元接收的声压信号矩阵 M*L

R=p*p'/L;%接收数据的自协方差矩阵 M*M

RP=inv(R);%求R的逆矩阵

% ----------------------------------------------------------

% 扫描范围

step_x=0.1;

step_z=0.1;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值