二维面阵FFT波束形成matlab
2015-10-09 12:31
393 查看
clear all;
close all;
clc;
f=60*10^3;
fs=5*f;
w=2*pi*f;
c=1500;
lmd=c/f;
d=lmd/2;
%d=0.015;
theti=20*pi/180;%入射信号的方位角0~180,与平面阵的夹角
faii=20*pi/180;%入射信号的俯仰角0~90,与水平夹角
%%
for ii=1:10
for kk=1:10
gx1=exp(j*(ii-1)*2*pi*d/lmd*sin(theti)*cos(faii));
gz1=exp(j*(kk-1)*2*pi*d/lmd*(sin(faii)));
W(ii,kk)=gx1*gz1;
end
end
pfft=fftshift(fft2(W,128,128));
xx=linspace(-180,180,128)*pi/180;
yy=linspace(-180,180,128)*pi/180;
ux=sin(xx).*cos(yy);
uy=sin(xx).*sin(yy);
ux1=asin(xx*lmd/(2*pi*d));
uy1=asin(yy*lmd/(2*pi*d));
pfft=20*log((abs(pfft)/max(max(abs(pfft)))));
ind=find(pfft<=-40);
pfft(ind)=-40;
mesh(ux1*180/pi,uy1*180/pi,(pfft));grid on;
close all;
clc;
f=60*10^3;
fs=5*f;
w=2*pi*f;
c=1500;
lmd=c/f;
d=lmd/2;
%d=0.015;
theti=20*pi/180;%入射信号的方位角0~180,与平面阵的夹角
faii=20*pi/180;%入射信号的俯仰角0~90,与水平夹角
%%
for ii=1:10
for kk=1:10
gx1=exp(j*(ii-1)*2*pi*d/lmd*sin(theti)*cos(faii));
gz1=exp(j*(kk-1)*2*pi*d/lmd*(sin(faii)));
W(ii,kk)=gx1*gz1;
end
end
pfft=fftshift(fft2(W,128,128));
xx=linspace(-180,180,128)*pi/180;
yy=linspace(-180,180,128)*pi/180;
ux=sin(xx).*cos(yy);
uy=sin(xx).*sin(yy);
ux1=asin(xx*lmd/(2*pi*d));
uy1=asin(yy*lmd/(2*pi*d));
pfft=20*log((abs(pfft)/max(max(abs(pfft)))));
ind=find(pfft<=-40);
pfft(ind)=-40;
mesh(ux1*180/pi,uy1*180/pi,(pfft));grid on;
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- 网络资料备忘录
- 谱相关的资料备忘
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- MATLAB for Mac使编辑器支持中文
- [转]matlab中plot用法
- 初学数模-MATLAB Quick Start! Part I
- 初学数模-MATLAB Quick Start! Part II
- matlab程序优化以及eclipse与github的结合