📄 dft_beamforming.m
字号:
%--------------DFT波束形成----------------------`
close all;
clear all;
%--------------基阵参数-----------------------
Rate=30
M=32; %基元数
I=f_df(Rate,M)
d=0.0635; %阵元间隔
xi=[-M/2+1:1:M/2]*d ;
D=d*(M-1); %基阵尺寸
f=20000; %信号频率
fs=10*f; %采样频率
c=1477; %声速
lmda=c/f; %波长
w=2*pi*f;
r0=5; %焦距
T=0.0005;
t=[0:1/fs:T];
%-------------目标参数---------------------
%目标一
r1=5.1; %距离
a1=15; %方向(角度)
phai1=a1*pi/180; %方向(弧度)
%目标二
r2=5 ;
a2=0; %方向(角度)
phai2=a2*pi/180; %方向(弧度)
% sv=zeros(1,512);
% signal5_15=zeros(1,128);
signal1=I.*exp(j*w*xi*sin(phai1)/c).*exp(-j*w*xi.^2/(2*r1*c));%
%signal2=exp(j*w*xi(k1)*sin(phai2)/c)*exp(-j*w*xi(k1)^2/(2*r2*c));%
signal=signal1%+signal2;
% signal5_15(1:2:63)=real(signal);
% signal5_15(2:2:64)=imag(signal);
N=128;
comp=exp(j*w*xi.^2/(2*r0*c));
% comp5(1:2:63)=real(comp);
% comp5(2:2:64)=imag(comp);
sv=signal.*comp;
y=fft(sv,N);
% y1=abs(y);
% y2=abs(y1).^2;
% plot(10*log10(y2));
z=zeros(1,N);
z(1:N/2)=y(N/2+1:N);
z(N/2+1:N)=y(1:N/2);
y1=z/max(z);
for i=-N/2+1:N/2
angle(i+N/2)=(asin(lmda*(i-1)/(N*d)))*180/pi;
end
% % svr=real(sv);
% % svi=imag(sv);
% % svc(1:2:63)=svr;
% % svc(2:2:64)=svi;
% % for k1=1:2:M-1
% % svc(k1)=svr(k1);
% % svc(k1+1)=svi(k1);
% % end
% fid = fopen('d:\comp15.dat','w');
% fprintf(fid,'%d\n',comp5);
% fclose(fid);
% fid = fopen('d:\signal5_15.dat','w');
% fprintf(fid,'%d\n',signal5_15);
% % % fprintf(fid,'%6.2g %12.8g\n',y);
% fclose(fid);
figure;
plot(angle,20*log10(y1));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -