主动声呐波束形成均匀线阵Matlab仿真

1.主动声呐基本原理

 

发射机发射信号,信号被目标反射后,反射的信号被水听器阵列接收,经过一系列处理后,将处理后的信号显示出来,由计算机识别并计算出目标的方位、速度等相关参数。

2.波束形成的原理

波束形成是声呐信号处理的重要部分。它是将接收基阵的各阵元接收到的信号进行延时、加权、求和。

假设有一个N个基元的基阵,入射信号是平面波,以平面上某一点为参考点,到达第i个阵元的信号为s(t+τi) ,其相位与信号的入射角有关,将这路信号再延时τi ,由此推知这N路信号都会变成s(t) ,将这N路信号求和,再平方、积分之后输出。若角度改变θ ,那么该输出也会改变,由此可以得到一个关于θ 的函数,将它进行归一化处理就可以得到指向性函数。

3.均匀线阵波束形成

clc;
clear;
clear all;
c=1500;%声速
f0=1000;%信号频率 
t=-10:0.001:10;%时间
N=10;%阵元个数
r=0.4;%阵元间隔,等间距线阵
target=30;%目标信号入射角度
k0=-(1/tand(90-target));
x1=[0 0.4 0.8 1.2 1.6 2.0 2.4 2.8 3.2 3.6 ];
y1=[0 0 0 0 0 0 0 0 0 0];
x2=sort(x1);%将阵元按横坐标排序
for m=1:N
for n=1:N
    if x2(m)==x1(n)
        y2(m)=y1(n);%将最左的阵元排为第一个阵元
    end
end
end
b0=y2(1)-k0*x2(1);
theta=-90:90;
a=1;
for count=1:length(theta)
    if (theta(count)==0)
        a=0;%标志位,表示这时候信号垂直入射
        b=0;
    else
        a=1;
         k=-(1/tand(90-theta(count)));
             b=y2(1)-k*x2(1);
    end
    for n=1:N
        if(a==0)
        d(n)=0;
        else
            d(n)=(k*x2(n)-y2(n)+b)/sqrt(k^2+1);
        end      
        d0(n)=(k0*x2(n)-y2(n)+b0)/sqrt(k0^2+1);
        tao(n)=-d(n)/c;%当信号入射方向改变为theta产生的延时
        tao0(n)=(n-1)*r*sind(target)/c;%第n路信号添加的延时
        s(n,:)=cos(2*pi*f0*(t+tao(n)-tao0(n)));%第n路形成的信号
    end
    St=sum(s);%对所有阵元的信号进行空间求和
    E(count)=sum(St.^2);%系统的输出
end

E=E/max(E);%能量归一化
figure(1)
plot(theta,E);xlabel('角度');title('指向性图');
xlabel('角度/度');
% ylabel('指向性归一化值');
axis([-90,90,0,1]);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从前有个魔仙堡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值