fig4_38.m
来自「《最优阵列处理》一书第四章的MATLAB例程」· M 代码 · 共 63 行
M
63 行
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Figure 4.38% Beampatterns for a uniform circular array of 20 elements with uniform weighting:% phi=0 deg and phi=90 deg% Lillian Xiaolan Xu 9/20/99% Updated by K. Bell 9/30/00% Updated by Lillian 12/06/2000, K. Bell 7/23/01% Function called: polardb
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear allclose allN=20; lim=-40;uy_set=-1:0.005:1;ny = size(uy_set,2);ux_set=0;nx = size(ux_set,2);b = zeros(nx,ny);for y=1:ny uy=uy_set(y); for x=1:nx ux=ux_set(x); p=sqrt(ux*ux+uy*uy); e=acos(ux/p); b(x,y)=0; for m=-N:N if m<0 b(x,y)=b(x,y)+j^(m*N)*exp(-i*m*N*e)*(-1)^(m*N)*besselj(abs(m*N),10*p); else b(x,y)=b(x,y)+j^(m*N)*exp(-i*m*N*e)*besselj(m*N,10*p); end end endendb=b/max(max(b));bdb=20*log10(abs(b));for x=1:nx for y=1:ny if bdb(x,y)<lim bdb(x,y)=lim; end if sqrt(ux_set(x)^2+uy_set(y)^2)>1 bdb(x,y)=lim; end; endendbdb1=bdb;figurepolardb(asin(uy_set),bdb1,lim)hold onpolardb(asin(uy_set)+pi,bdb1,lim)hold off
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?