⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time_delay_beamforming.m

📁 时延波束形成
💻 M
字号:
%------延时求和波束形成-------
close all;
clear all;

%%%%%%基阵的有关参数
c=1500;                 %m/s
L=1.3;                    %基阵长
N=32      %基元个数
d=L/(N-1);       %阵元间距
a=9;  %参考基元的在基阵中的位置
xi=[1:1:N]*d;

f=40000;                  %信号频率
bl=c/f;                 %波长
r0=60;%参考基元到声源距离
ang0=0;      %改变ang0值可改变束控方向
angle0=ang0*pi/180;                 %角度
fs=f*10;              %采样频率
T=0.0005;             %脉冲宽度
w=2*pi*f;
b=30                 %扇面开角范围-30度至+30度
Ts=1/fs;             %采样时间间隔
t=[0:Ts:T];          %采样样点个数
angle=[-b:0.05:b]*pi/180; %波束个数
R=30;

tao=zeros(N,1); %每个基元的时延
signl=zeros(N,length(t));%每个基元输出的时间序列
signal=zeros(N,length(t));
for k1=1:N
    tao(k1,1)=(-xi(k1)*sin(angle0))./c;%*cos(angle0)^2
    signl(k1,:)=exp(j*w*t).*exp(j*w*tao(k1,1));%自然指向入射角
    signal(k1,:)=signl(k1,:);
end;

s=zeros(1,length(angle));
y=zeros(length(angle),length(t));
    
for k2=1:length(angle)%转过波束角
    for k3=1:N
        tao=(-xi(k3)*sin(angle(k2)))./c;
        dfy_signl=signal(k3,:)*exp(-j*w*tao);%用转过波束做相位修正;*exp(-j*fy(ii))
        y(k2,:)=dfy_signl+y(k2,:);  % 18 路相加在该波束方向的时域输出
    end
    s(1,k2)=sum(abs(y(k2,:)).^2)/length(t);%在各个波束方向的总输出
end
figure(1)
plot(angle*180/pi,10*log10(s/max(s)));
axis([-b+ang0 b+ang0 -70 10])
figure(2)
%10*log10(abs(y(:,:))/max(abs(y(:,:))))
plot(abs(y(:,:)))
figure(3)
for i=1:100:length(angle)
    plot(real(y(i,:)));
    hold on;
end

si=exp(j*w*t);
figure(4)
plot(real(si))

figure(5)
mesh(t,angle,real(y))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -