文档库 最新最全的文档下载
当前位置:文档库 › 常规波束形成matlab程序阵元16

常规波束形成matlab程序阵元16

常规波束形成matlab程序阵元16
常规波束形成matlab程序阵元16

close all

clear all

clc

c=1500;

fs=10000;

T = 0.1;

t = 0:1/fs:T;

L=length(t);

f=500;

w=2*pi*f;

k=w/c;

M=16; %阵元个数

Nmid=1; %参考点

d=3;%阵元间距

m=[0:1:M-1];

yi=zeros(M,1);% 返回一个M*1维的零矩阵

zi=zeros(M,1);

xi=m*d;

xi=xi.';

%各阵元坐标

y1=20;

x1=10;z1=10;% 声源位置,y轴指向声源平面

Ric1=sqrt((x1-xi).^2+(y1-yi).^2+(z1-zi).^2);%声源至各阵元的距离M*1维

Rn1=Ric1-Ric1(Nmid);%声源至各阵元与参考阵元的声程差矢量M*1维

s1=cos(w*t);%参考阵元接收到的信号1*L维

snr =20;

Am= 10^(-snr/20);

n1=Am*(randn(M,L)+j*randn(M,L));%各阵元噪声矢量

p1=zeros(M,L);%M*L维

for k1=1:M

p1(k1,:)=Ric1(Nmid)/Ric1(k1)*s1.*exp(-j*w*Rn1(k1)/c); %各阵元经过幅度衰减和相位延迟后接收到的信号,M*L维

end

p=p1+n1;%各阵元接收的声压信号矩阵M*L

R=p*p'/L;%接收数据的自协方差矩阵M*M

% ----------------------------------------------------------

% 扫描范围

step_x=0.1;

step_z=0.1;

y=y1;

x=[0:step_x:20];

z=[0:step_z:20];

for k1=1:length(z) % 纵坐标

for k2=1:length(x)

Ri=sqrt((x(k2)-xi).^2+(y-yi).^2+(z(k1)-zi).^2); %该扫描点至各阵元的聚焦距离矢量

Rn=Ri-Ri(Nmid);%扫描点到各阵元与参考阵元的程差矢量M*1

b=exp(-j*w*Rn/c);%声压聚焦方向矢量M*1

Pcbf(k1,k2)=abs(b'*R*b);

end

end

% 归一化

for k1=1:length(z)

pp(k1)=max(Pcbf(k1,:));% Pcbf的第k1行的最大元素的值

end

Pcbf=Pcbf/max(pp);% Pcbf所有元素除以其最大值,归一化幅度

figure;

mesh(x,z,Pcbf);

xlabel('x(m)'),ylabel('z(m)')

title('常规聚焦波束形成单亮点声图')

figure;

pcolor(x,z,Pcbf);shading interp;

xlabel('x(m)'),ylabel('z(m)')

title('常规聚焦波束形成单亮点声图')

colorbar

[a,b] = find(Pcbf==max(max(Pcbf)));

xm1=b/length(x)*20, zm1=a/length(z)*20,

[a b]=find(Pcbf > 0.5*max(max(Pcbf)));

deta_x=(max(b)-min(b))/length(x)*20

deta_z=(max(a)-min(a))/length(z)*20

自适应波束形成与Matlab程序代码注解

1.均匀线阵方向图 (1)matlab 程序 clc; clear all; close all; imag=sqrt(-1); element_num=32;%阵元数为8 d_lamda=1/2;%阵元间距d与波长lamda的关系 theta=linspace(-pi/2,pi/2,200); theta0=0;%来波方向 w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]'); for j=1:length(theta) a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]'); p(j)=w'*a; end patternmag=abs(p); patternmagnorm=patternmag/max(max(patternmag)); patterndB=20*log10(patternmag); patterndBnorm=20*log10(patternmagnorm); figure(1) plot(theta*180/pi,patternmag); grid on; xlabel('theta/radian') ylabel('amplitude/dB') title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']); hold on; figure(2) plot(theta,patterndBnorm,'r'); grid on; xlabel('theta/radian') ylabel('amplitude/dB') title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']); axis([-1.5 1.5 -50 0]);

matlab有限元分析实例

MATLAB: MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。 MATLAB有限元分析与应用:

《MATLAB有限元分析与应用》是2004年4月清华大学出版社出版的图书,作者是卡坦,译者是韩来彬。 内容简介: 《MATLAB有限元分析与应用》特别强调对MATLAB的交互应用,书中的每个示例都以交互的方式求解,使读者很容易就能把MATLAB用于有限分析和应用。另外,《MATLAB有限元分析与应用》还提供了大量免费资源。 《MATLAB有限元分析与应用》采用当今在工程和工程教育方面非常流行的数学软件MATLAB来进行有限元的分析和应用。《MATLAB有限元分析与应用》由简单到复杂,循序渐进地介绍了各种有限元及其分析与应用方法。书中提供了大量取自机械工程、土木工程、航空航天工程和材料科学的示例和习题,具有很高的工程应用价值。

常规波束形成matlab程序

close all clear all clc c=1500; fs=10000; T=0.1; t=0:1/fs:T; L=length(t); f=500; w=2*pi*f; k=w/c; M=11;%阵元个数 Nmid=1;%参考点 d=3;%阵元间距 m=[0:1:M-1]; yi=zeros(M,1);%返回一个M*1维的零矩阵 zi=zeros(M,1); xi=m*d; xi=xi.'; %各阵元坐标 y1=20; x1=10;z1=10;%声源位置,y轴指向声源平面 Ric1=sqrt((x1-xi).^2+(y1-yi).^2+(z1-zi).^2);%声源至各阵元的距离M*1维 Rn1=Ric1-Ric1(Nmid);%声源至各阵元与参考阵元的声程差矢量M*1维 s1=cos(w*t);%参考阵元接收到的信号1*L维 snr=20; Am=10^(-snr/20); n1=Am*(randn(M,L)+j*randn(M,L));%各阵元噪声矢量 p1=zeros(M,L);%M*L维 for k1=1:M p1(k1,:)=Ric1(Nmid)/Ric1(k1)*s1.*exp(-j*w*Rn1(k1)/c);%各阵元经过幅度衰减和相位延迟后接收到的信号,M*L维 end p=p1+n1;%各阵元接收的声压信号矩阵M*L R=p*p'/L;%接收数据的自协方差矩阵M*M %---------------------------------------------------------- %扫描范围 step_x=0.1; step_z=0.1; y=y1;

波束形成Matlab程序

1?均匀线阵方向图%8阵元均匀线阵方向图,来波方向为clc; clear all; close all; 0度 imag=sqrt(_1); element_num=8;% 阵元数为8 d_lamda=1/2;%阵元间距d与波长lamda的关系theta=li nspace(-pi/2,pi/2,200); theta0=0;% 来波方向w=exp(imag*2*pi*dl_lamda*si n(theta0)*[0:eleme nt_nu m-1]'); for j=1:le ngth(theta) a=exp(imag*2*pi*dd_l amda*si n(theta(j))*[0:eleme nt_nu m-1]'); p(j)=w'*a; end figure; plot(theta,abs(p)),grid on xlabel('theta/radia n') ylabel('amplitude') title('8 阵元均匀线阵方向图')

°2 8阵元均匀线阵方向图 7 6 5 4 3 2 1 -15 -1 -0 5 0 06 thetaradian 1 15

8 当来波方向为45度时,仿真图如下 8阵元均匀线阵方向图如下,来波方向为0 度,20log (dB) 8阵元均苛銭阵方向图来波方向为0度

随着阵元数的增加,波束宽度变窄,分辨力提高:仿真图如下 Q d p E = ro 二

2. 波束宽度与波达方向及阵元数的关系 clc clear all close all ima=sqrt(-1); element_num1=16; %阵元数 element_num2=128; element_num3=1024; lamda=0.03; %波长为0.03 米 d=1/2*lamda; % 阵元间距与波长的关系theta=0:0.5:90; for j=1:length(theta); fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_n um1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_n um2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_ num3*d)); end

Capon 波束形成matlab仿真(附源代码)

Capon波束形成 阵列N=16,信号 0-30 θ? =,干扰为 160 θ?=, 219 θ? =, 345 θ? =,干扰功率分别为:40dB,35dB,50dB。Capon波束形成后的方向图和功率谱如下:

为了比较接收数据直接估计噪声协方差矩阵和利用干扰+噪声估计协方差矩阵的Capon 波束形成的差异,进行如下仿真: 可以看出利用干扰+噪声估计协方差矩阵的方向图性能较优于接收数据直接估计噪声协方差矩阵的方向图。 代码: clc; clear all ; close all; ima=sqrt(-1); element_num=8; %阵元数 d_lamda=1/2; %阵元间距与波长的关系 theta=-90:0.5:90; %范围 theta0=-30; %来波方向 theta1=60; %干扰方向1 theta2=19; %干扰方向2 theta3=45; %干扰方向3

L=1000; %采样单元数 for i=1:L; amp0=10*randn(1);%信号的幅度随机产生,保证信号之间是不相关的amp1=100*randn(1);%输入阵列的噪声 amp2=sqrt(10^3.5)*randn(1);%输入阵列的噪声 amp3=sqrt(10^5)*randn(1);%输入阵列的噪声 ampn=3;%噪声 x(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')+... amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')+... amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')+... amp3*exp(ima*2*pi*1/2*sin(theta3*pi/180)*[0:element_num-1]')+... ampn*(randn(element_num,1)+ima*randn(element_num,1)); end Rx=1/L*x* x'; R=inv(Rx); steer=exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]'); w=R*steer/(steer'*R*steer);%Capon最优权矢量 for j=1:length(theta); a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:element_num-1]'); f(j)=w'*a; p(j)=1/(a'*R*a); end F=20*log10(abs(f)/(max(abs(f)))); P=20*log10(abs(p)/(max(abs(p))));%此处是功率的对数形式 figure; % subplot(121) plot(theta,F),grid on,hold on plot(theta0,-80:0,'.') plot(theta1,-80:0,'.') plot(theta2,-80:0,'.')

有限元的MATLAB解法

有限元的MATLAB解法 1.打开MATLAB。 2.输入“pdetool”再回车,会跳出PDE Toolbox的窗口(PDE意为偏微分方程,是partial differential equations的缩写),需要的话可点击Options菜单下Grid命令,打开栅格。 3.完成平面几何模型:在PDE Toolbox的窗口中,点击工具栏下的矩形几何模型进行制作模型,可画矩形R,椭圆E,圆C,然后在Set formula栏进行编辑并(如双脊波导R1+R2+R3改为RI-R2-R3,设定a、b、s/a、d/b的值从而方便下步设定坐标) 用算术运算符将图形对象名称连接起来,若还需要,可进行储存,形成M文件。 4.用左键双击矩形进行坐标设置:将大的矩形left和bottom都设为0,width是矩形波导的X轴的长度,height是矩形波导的y轴的长度,以大的矩形左下角点为原点坐标为参考设置其他矩形坐标。 5.进行边界设置:点击“Boundary”中的“Boundary Mode”,再点击

“Boundary”中的“Specify Boundary Conditions”,选择符合的边界条件,Neumann为诺曼条件,Dirichlet为狄利克雷条件,边界颜色显示为红色。 6.进入PDE模式:点击"PDE"菜单下“PDE Mode”命令,进入PDE 模式,单击“PDE Specification”,设置方程类型,“Elliptic”为椭圆型,“Parabolic”为抛物型,“Hyperbolic”为双曲型,“Eigenmodes”为特征值问题。 7.对模型进行剖分:点击“Mesh”中“Initialize Mesh”进行初次剖分,若要剖的更细,再点击“Refine Mesh”进行网格加密。 8.进行计算:点击“Solve”中“Solve PDE”,解偏微分方程并显示图形解,u值即为Hz或者Ez。 9.单击“Plot”菜单下“Parameters”选项,打开“Plot Selection”对话框。选中Color,Height(3-D plot)和Show mesh三项,然后单击“Plot”按钮,显示三维图形解。 10.如果要画等值线图和矢量场图,单击“Plot”菜单下“Parameters”选项,打开“Plot Selection”对话框。选中Contour和Arrows两项,然后单击Plot按钮,可显示解的等值线图和矢量场图。 11.将计算结果条件和边界导入MATLAB中:点击“Export Solution”,再点击“Mesh”中“Export Mesh”。

波束形成_Matlab程序

1.均匀线阵方向图 %8阵元均匀线阵方向图,来波方向为0度 clc; clear all; close all; imag=sqrt(-1); element_num=8;%阵元数为8 d_lamda=1/2;%阵元间距d与波长lamda的关系 theta=linspace(-pi/2,pi/2,200); theta0=45/180*pi;%来波方向 (我觉得应该是天线阵的指向) %theta0=0;%来波方向 w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]'); for j=1:length(theta) %(我认为是入射角度,即来波方向,计算阵列流形矩阵A) a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]'); p(j)=w'*a; %(matlab中的'默认为共轭转置,如果要计算转置为w.'*a) end figure; plot(theta,abs(p)),grid on xlabel('theta/radian') ylabel('amplitude') title('8阵元均匀线阵方向图') 见张小飞的书《阵列信号处理的理论和应用2.3.4节阵列的方向图》

当来波方向为45度时,仿真图如下: 8阵元均匀线阵方向图如下,来波方向为0度,20log(dB)

随着阵元数的增加,波束宽度变窄,分辨力提高:仿真图如下:

2.波束宽度与波达方向及阵元数的关系 clc clear all close all ima=sqrt(-1); element_num1=16; %阵元数 element_num2=128; element_num3=1024; lamda=0.03; %波长为0.03米 d=1/2*lamda; %阵元间距与波长的关系 theta=0:0.5:90; for j=1:length(theta); fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num3*d)); end figure; plot(theta,fai,'r',theta,psi,'b',theta,beta,'g'),grid on xlabel('theta'); ylabel('Width in radians') title('波束宽度与波达方向及阵元数的关系') 仿真图如下:

CAPON波束形成_Matlab程序

CAPON 波束形成器仿真 1.实验原理 波束形成就是从传感器阵列重构源信号。(1)、通过增加期望信源的贡献来实现;(2)、通过抑制掉干扰源来实现。经典的波束形成需要观测方向(期望信源的方向)的知识。盲波束形成试图在没有期望信源方向信息的情况下进行信源的恢复。 波束形成技术的基本思想是:通过将各阵元输出进行加权求和,在一时间内将天线阵列波束“导向”到一个方向上,对期望信号得到最大输出功率的导向位置即给出DOA 估计。 虽然阵列天线的方向图是全方向的,但阵列的输出经过加权求和后,却可以被调整到阵列接收的方向增益聚集在一个方向上,相当于形成了一个”波束”。这就是波束形成的物理意义所在。 在智能天线中,波束形成是关键技术之一,是提高信噪比、增加用户容量的保证,能够成倍地提高通信系统的容量,有效地抑制各种干扰,并改善通信质量。 波束形成器的最佳权向量w 取决于阵列方向向量)(a k θ ,而在移动通信里用户的方向向量一般未知,需要估计(称之为DOA 估计)。因此,在计算波束形成的最佳权向量之前,必须在已知阵列几何结构的前提下先估计期望信号的波达方向。 Capon 波束形成器求解的优化问题可表述为 w arg min P(w)θ= 其约束条件为 1)(a w H =θ Capon 波束形成器在使噪声和干扰所贡献的功率为最小的同时,保持了期 望信号的功率不变。因此,它可以看作是一个尖锐的空间带通滤波器。最优加 权向量w 可以利用Lagrange 乘子法求解,其结果为 )(a R ?)(a )(a R ?w 1H 1CAP θθθ--=

当μ不取常数,而取作 )(a R ?)(a 11H θθμ-=时,最佳权向量就转变成Capon 波束形成器的权向量。空间谱为 )(a R ?)(a 1)(P 1-H CAP θθθ= 2.变量定义 M :均匀线阵列数目 P :信号源个数 nn :快拍数 angle1、angle2、angle3:信号来波角度 u :复高斯噪声 Ps :信号能量 refp :信噪比(实值) X :接收信号 Rxx :接收信号的相关矩阵 doa :波达方向估计 3.仿真结果 采用上述算法进行仿真,结果如图所示。 在本仿真程序中,我们采用16个均匀线阵列,3个信号源,来波角度分别为5?、45?、20-?,信噪比均为10dB ,噪声为复高斯白噪声,快拍数1000。 由仿真结果看出,capon 波束形成器较好的给出了信号的doa 估计,但是在仿真的过程中,我们发现,capon 算法具有很大的局限性,其对扰和噪声是比较敏感的。 4.程序 clear all i=sqrt(-1); j=i; M=16; %均匀线阵列数目 P=3; %信号源数目 f0=10;f1=50;f2=100;%信号频率 nn=1000; %快拍数

基于Matlab语言的按平面三角形单元划分的结构有限元程序设计模板

基于Matlab语言的按平面三角形单元划分的结构有限元程序设计 专业:建筑与土木工程 班级:建工研12-2 姓名:韩志强 学号: 471220580

基于Matlab语言的按平面三角形单元划分 结构有限元程序设计 一、有限单元发及Matlab语言概述 1. 有限单元法 随着现代工业、生产技术的发展,不断要求设计高质量、高水平的大型、复杂和精密的机械及工程结构。为此目的,人们必须预先通过有效的计算手段,确切的预测即将诞生的机械和工程结构,在未来工作时所发生的应力、应变和位移因此,需要寻求一种简单而又精确的数值分析方法。有限单元法正是适应这种要求而产生和发展起来的一种十分有效的数值计算方法。 有限元法把一个复杂的结构分解成相对简单的“单元”,各单元之间通过结点相互连接。单元内的物理量由单元结点上的物理量按一定的假设内插得到,这样就把一个复杂结构从无限多个自由度简化为有限个单元组成的结构。我们只要分析每个单元的力学特性,然后按照有限元法的规则把这些单元“拼装”成整体,就能够得到整体结构的力学特性。 有限单元法基本步骤如下: (1)结构离散:结构离散就是建立结构的有限元模型,又称为网格划分或单元划分,即将结构离散为由有限个单元组成的有限元模型。在该步骤中,需要根据结构的几何特性、载荷情况等确定单元体内任意一点的位移插值函数。 (2)单元分析:根据弹性力学的几何方程以及物理方程确定单元的刚度矩阵。 (3)整体分析:把各个单元按原来的结构重新连接起来,并在单元刚度矩阵的基础上确定结构的总刚度矩阵,形成如下式所示的整体有限元线性方程: {}[]{}δ F=① K 式中,{}F是载荷矩阵,[]K是整体结构的刚度矩阵,{}δ是节点位移矩阵。 (4)载荷移置:根据静力等效原理,将载荷移置到相应的节点上,形成节点载荷矩阵。 (5)边界条件处理:对式①所示的有限元线性方程进行边界条件处理。 (6)求解线性方程:求解式①所示的有限元线性方程,得到节点的位移。在该步骤中,若有限元模型的节点越多,则线性方程的数量就越多,随之有限元分析的计算量也将越大。 (7)求解单元应力及应变根据求出的节点位移求解单元的应力和应变。

Capon-波束形成matlab仿真(附源代码)教学内容

C a p o n-波束形成m a t l a b仿真(附源代 码)

Capon波束形成 阵列N=16,信号 0-30 θ? =,干扰为 160 θ?=, 219 θ? =, 345 θ? =,干扰功率分别为:40dB,35dB,50dB。Capon波束形成后的方向图和功率谱如下:

为了比较接收数据直接估计噪声协方差矩阵和利用干扰+噪声估计协方差矩阵的Capon波束形成的差异,进行如下仿真: 可以看出利用干扰+噪声估计协方差矩阵的方向图性能较优于接收数据直接估计噪声协方差矩阵的方向图。 代码: clc; clear all ; close all; ima=sqrt(-1); element_num=8; %阵元数 d_lamda=1/2; %阵元间距与波长的关系 theta=-90:0.5:90; %范围 theta0=-30; %来波方向 theta1=60; %干扰方向1 theta2=19; %干扰方向2 theta3=45; %干扰方向3

L=1000; %采样单元数 for i=1:L; amp0=10*randn(1);%信号的幅度随机产生,保证信号之间是不相关的 amp1=100*randn(1);%输入阵列的噪声 amp2=sqrt(10^3.5)*randn(1);%输入阵列的噪声 amp3=sqrt(10^5)*randn(1);%输入阵列的噪声 ampn=3;%噪声 x(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')+... amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')+... amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')+... amp3*exp(ima*2*pi*1/2*sin(theta3*pi/180)*[0:element_num-1]')+... ampn*(randn(element_num,1)+ima*randn(element_num,1)); end Rx=1/L*x* x'; R=inv(Rx); steer=exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]'); w=R*steer/(steer'*R*steer);%Capon最优权矢量 for j=1:length(theta); a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:element_num-1]'); f(j)=w'*a; p(j)=1/(a'*R*a); end F=20*log10(abs(f)/(max(abs(f)))); P=20*log10(abs(p)/(max(abs(p))));%此处是功率的对数形式 figure; % subplot(121) plot(theta,F),grid on,hold on plot(theta0,-80:0,'.') plot(theta1,-80:0,'.') plot(theta2,-80:0,'.')

Matlab波束形成程序

波束形成与智能天线 1.均匀线阵方向图 %8阵元均匀线阵方向图,来波方向为0度 clc; clear all; close all; imag=sqrt(-1); element_num=8;%阵元数为8 d_lamda=1/2;%阵元间距d与波长lamda的关系 theta=linspace(-pi/2,pi/2,200); theta0=0;%来波方向 w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]'); for j=1:length(theta) a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]'); p(j)=w'*a; end 页脚内容1

figure; plot(theta,abs(p)),grid on xlabel('theta/radian') ylabel('amplitude') title('8阵元均匀线阵 方向图') 当来波方向为45度 时,仿真图如下: 8阵元均匀线阵方向图如下,来波 方向为0度,20log(dB) 页脚内容2

随着阵元数的增加,波束宽度变窄,分辨力提高:仿真图如下: 页脚内容3

页脚内容4

2. 波束宽度与波达方向及阵元数的关系 clc clear all close all 页脚内容5

ima=sqrt(-1); element_num1=16; %阵元数 element_num2=128; element_num3=1024; lamda=0.03; %波长为0.03米 d=1/2*lamda; %阵元间距与波长的关系 theta=0:0.5:90; for j=1:length(theta); fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num3*d)); end figure; plot(theta,fai,'r',theta,psi,'b',theta,beta,'g'),grid on xlabel('theta'); ylabel('Width in radians') title('波束宽度与波达方向及阵元数的关系') 页脚内容6

自适应波束形成Matlab仿真

信息与通信工程学院 阵列信号处理实验报告(自适应波束形成Matlab仿真) 学号:XXXXXX 专业:XXXXXX 学生姓名:XXX 任课教师:XXX 2015年X月

题目:自适应波束形成Matlab 仿真 1. 算法简述: 自适应波束形成,源于自适应天线的一个概念。接收端的信号处理,可以通过将各阵元输出进行加权求和,将天线阵列波束“导向”到一个方向上,对期望信号得到最大输出功率的导向位置即给出波达方向估计。 波束形成算法是在一定准则下综合个输入信息来计算最优权值的数学方法,线性约束最小方差准则(LCMV )是最重要、最常用的方法之一。LCMV 是对有用信号形式和来向完全已知,在某种约束条件下使阵列输出的方差最小。该准则属于广义约束,缺点是需要知道期望分量的波达方向。准则的代价函数为 Rw w w J H )(=,约束条件为H ()θ=w a f ;最佳解为f c R c c R w 11H 1H ][---。 2. 波束形成原理 以一维M 元等距离线阵为例,如图1所示,设空间信号为窄带信号,每个通道用一个附加权值系数来调整该通道的幅度和相位。 图1 波束形成算法结构图 这时阵列的输出可以表示为: *1 ()()()M i i i y t w x t θ== ∑ 如果采用矢量来表示各阵元输出及加权系数,即 T 12()[()()()]M x t x t x t x t = T 12()[()()()]M w w w w θθθθ= 1()w θ 1()x n 1()w θ 1()x n 1()w θ 1()x n …….. ()y n

那么,阵列的输出也可以用矢量表示为 H ()()()y t t θ=w x 为了在某一方向θ上补偿各阵元之间的时延以形成一个主瓣,常规波束形成器在期望方向上的加权矢量可以构成为 (1)T ()[1e e ]j j M w ωτ ωτθ---= 观察此加权矢量,发现若空间只有一个来自方向θ的信号,其方向矢量()αθ的表示形式与此权值矢量相同。则有 H H ()()()()()y t t t θαθ==w x x 这时常规波束形成器的输出功率可以表示为 2H H ()[()]()()()()CBF P E y t θθθαθαθ===w Rw R 式中矩阵R 为阵列输出()t x 的协方差矩阵。 3. 实验内容与结果: 实验使用均匀线阵,阵元间距为信号波长的一半,输入信号为1个BPSK 信号,2个非相干的单频干扰,设置载波频率10MHz 、采样频率50MHz 、快拍数300、信噪比-25dB 、信干比-90dB 、信号方位角0、干扰方位角40-和50,分析阵元数分别在3、6、9和12时波束图的变化。实验结果见图1。 图1 不同阵元数情况下的波束图

Matlab-PDE工具箱有限元法求解偏微分方程

在科学技术各领域中,有很多问题都可以归结为偏微分方程问题。在物理专业的力学、热学、电学、光学、近代物理课程中都可遇见偏微分方程。 偏微分方程,再加上边界条件、初始条件构成的数学模型,只有在很特殊情况下才可求得解析解。随着计算机技术的发展,采用数值计算方法,可以得到其数值解。 偏微分方程基本形式 而以上的偏微分方程都能利用PDE工具箱求解。 PDE工具箱 PDE工具箱的使用步骤体现了有限元法求解问题的基本思路,包括如下基本步骤: 1) 建立几何模型 2) 定义边界条件 3) 定义PDE类型和PDE系数 4) 三角形网格划分

5) 有限元求解 6) 解的图形表达 以上步骤充分体现在PDE工具箱的菜单栏和工具栏顺序上,如下 具体实现如下。 打开工具箱 输入pdetool可以打开偏微分方程求解工具箱,如下 首先需要选择应用模式,工具箱根据实际问题的不同提供了很多应用模式,用户可以基于适

当的模式进行建模和分析。 在Options菜单的Application菜单项下可以做选择,如下 或者直接在工具栏上选择,如下 列表框中各应用模式的意义为: ① Generic Scalar:一般标量模式(为默认选项)。 ② Generic System:一般系统模式。 ③ Structural Mech.,Plane Stress:结构力学平面应力。 ④ Structural Mech.,Plane Strain:结构力学平面应变。

⑤ Electrostatics:静电学。 ⑥ Magnetostatics:电磁学。 ⑦ Ac Power Electromagnetics:交流电电磁学。 ⑧ Conductive Media DC:直流导电介质。 ⑨ Heat Tranfer:热传导。 ⑩ Diffusion:扩散。 可以根据自己的具体问题做相应的选择,这里要求解偏微分方程,故使用默认值。此外,对于其他具体的工程应用模式,此工具箱已经发展到了Comsol Multiphysics软件,它提供了更强大的建模、求解功能。 另外,可以在菜单Options下做一些全局的设置,如下 l Grid:显示网格 l Grid Spacing…:控制网格的显示位置 l Snap:建模时捕捉网格节点,建模时可以打开 l Axes Limits…:设置坐标系围 l Axes Equal:同Matlab的命令axes equal命令 建立几何模型 使用菜单Draw的命令或使用工具箱命令可以实现简单几何模型的建立,如下 各项代表的意义分别为

LMS波束形成代码

LMS波束形成代码(matlab) LMS算法的仿真程序: %lms 算法 clear all close all hold off%系统信道权数 sysorder = 5 ;%抽头数 N=1000;%总采样次数 inp = randn(N,1);%产生高斯随机系列 n = randn(N,1); [b,a] = butter(2,0.25); Gz = tf(b,a,-1);%逆变换函数 h= [0.0976;0.2873;0.3360;0.2210;0.0964;];%信道特性向量y = lsim(Gz,inp);%加入噪声 n = n * std(y)/(10*std(n));%噪声信号 d = y + n;%期望输出信号 totallength=size(d,1);%步长 N=60 ; %60节点作为训练序列 %算法的开始 w = zeros ( sysorder , 1 ) ;%初始化 for n = sysorder : N u = inp(n:-1:n-sysorder+1) ;% u的矩阵

y(n)= w' * u;%系统输出 e(n) = d(n) - y(n) ;%误差 if n < 20 mu=0.32; else mu=0.15; end w = w + mu * u * e(n) ;%迭代方程end %检验结果 for n = N+1 : totallength u = inp(n:-1:n-sysorder+1) ; y(n) = w' * u ; e(n) = d(n) - y(n) ;%误差 end hold on plot(d) plot(y,'r'); title('系统输出') ; xlabel('样本') ylabel('实际输出') figure

LMS波束形成代码

LMS波束形成代码(matlab)LMS算法的仿真程序: %lms 算法 clear all close all hold off%系统信道权数 sysorder = 5 ;%抽头数 N=1000;%总采样次数 inp = randn(N,1);%产生高斯随机系列 n = randn(N,1); 【 [b,a] = butter(2,; Gz = tf(b,a,-1);%逆变换函数 h= [;;;;;];%信道特性向量 y = lsim(Gz,inp);%加入噪声 n = n * std(y)/(10*std(n));%噪声信号 ^ d = y + n;%期望输出信号 totallength=size(d,1);%步长 N=60 ; %60节点作为训练序列 %算法的开始 w = zeros ( sysorder , 1 ) ;%初始化 )

for n = sysorder : N u = inp(n:-1:n-sysorder+1) ;% u的矩阵y(n)= w' * u;%系统输出 e(n) = d(n) - y(n) ;%误差 if n < 20 " mu=; else mu=; end w = w + mu * u * e(n) ;%迭代方程 - end %检验结果 for n = N+1 : totallength u = inp(n:-1:n-sysorder+1) ; y(n) = w' * u ; · e(n) = d(n) - y(n) ;%误差 end hold on plot(d) plot(y,'r'); .

title('系统输出') ; xlabel('样本') ylabel('实际输出') figure semilogy((abs(e))) ;% e的绝对值坐标$ title('误差曲线') ; xlabel('样本') ylabel('误差矢量') figure%作图 plot(h, 'k+') { hold on plot(w, 'r*') legend('实际权矢量','估计权矢量') title('比较实际和估计权矢量') ; axis([0 6 ]) " 算法的仿真程序: %lms 算法 clear all close all hold off%系统信道权数 |

有限元钢架结构分析手算matlabansys模拟

有限元大作业——钢架结构分析 选题人: 日期:2016年6月2日

目录: 第一章:问题重述 (2) 一、题目内容: (3) 二、题目要求: (3) 第二章:有限元法手工求解 (3) 一、平面两单元离散化 (4) 二、单元分析 (4) 三、单元组装 (6) 四、边界条件引入及组装总体方程 (7) 五、求解整体刚度方程,计算节点2的位移和转角 (7) 六、求节点1、3支撑反力 (8) 七、设定数据,求解结果 (8) 八、绘制轴力图、弯矩图、剪力图 (9) 第三章、matlab编程求解: (11) 一、总体流程图绘制: (11) 二、输入数据: (12) 三、计算单元刚度矩阵: (12) 四、建立总体刚度矩阵: (13) 五、计算未约束点位移: (13) 六、计算支反力: (13) 七、输出数据: (13) 八、编程: (13) 第四章有限元求解 (13) 一、预处理 (13) 二、模型建立: (15) 二、分析计算 (17) 三、求解结果 (18) 四、绘制图像 (19) 第五章结果比较 (22) 第六章心得体会 (22) 第七章附录 (23) 一、matlab程序 (24) 第一章:问题重述

一、题目内容: 图示平面钢架结构 图题目内容 二、题目要求: (1)采用平面梁单元进行有限元法手工求解,要求写出完整的求解步骤,包括: a)离散化:单元编号、节点编号; b)单元分析:单元刚度矩阵,单元节点等效载荷向量; c)单元组长:总体刚度矩阵,总体位移向量,总体节点等效载荷; d)边界条件的引入及总体刚度方程的求解; e)B点的位移,A、C处支撑反力,并绘制该结构的弯矩图、剪力图和轴力图。 (2)编制通用平面钢架分析有限元Matlab程序,并计算盖提,与手工结果进行比较; (3)利用Ansys求解,表格列出B点的位移,A、C处支反力,绘制弯矩图、剪力图和轴力图,并与手算和Matlab程序计算结果比较。 (4)攥写报告,利用A4纸打印; (5)心得体会,并简要说明各成员主要负责完成的工作。 第二章:有限元法手工求解

波束形成-Matlab程序

} 1.均匀线阵方向图 %8阵元均匀线阵方向图,来波方向为0度 clc; clear all; close all; imag=sqrt(-1); element_num=8;%阵元数为8 d_lamda=1/2;%阵元间距d与波长lamda的关系 < theta=linspace(-pi/2,pi/2,200); theta0=45/180*pi;%来波方向 (我觉得应该是天线阵的指向) %theta0=0;%来波方向 w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]'); for j=1:length(theta) %(我认为是入射角度,即来波方向,计算阵列流形矩阵A) a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]'); p(j)=w'*a; %(matlab中的'默认为共轭转置,如果要计算转置为w.'*a) end : figure; plot(theta,abs(p)),grid on xlabel('theta/radian') ylabel('amplitude') title('8阵元均匀线阵方向图') 见张小飞的书《阵列信号处理的理论和应用2.3.4节阵列的方向图》

, 当来波方向为45度时,仿真图如下: 8阵元均匀线阵方向图如下,来波方向为0度,20log(dB)

~ , 随着阵元数的增加,波束宽度变窄,分辨力提高:仿真图如下:

- [ )

/ * 2.波束宽度与波达方向及阵元数的关系clc clear all close all ima=sqrt(-1); 。 element_num1=16; %阵元数 element_num2=128;

波束形成 Matlab程序教学文稿

波束形成M a t l a b程 序

1.均匀线阵方向图 %8阵元均匀线阵方向图,来波方向为0度 clc; clear all; close all; imag=sqrt(-1); element_num=8;%阵元数为8 d_lamda=1/2;%阵元间距d与波长lamda的关系 theta=linspace(-pi/2,pi/2,200); theta0=0;%来波方向 w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]'); for j=1:length(theta) a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]'); p(j)=w'*a; end figure; plot(theta,abs(p)),grid on xlabel('theta/radian') ylabel('amplitude')

title('8阵元均匀线阵方向图') 当来波方向为45度时,仿真图如下:

8阵元均匀线阵方向图如下,来波方向为0度,20log(dB)

随着阵元数的增加,波束宽度变窄,分辨力提高:仿真图如下:

2.波束宽度与波达方向及阵元数的关系 clc clear all close all ima=sqrt(-1); element_num1=16; %阵元数 element_num2=128; element_num3=1024; lamda=0.03; %波长为0.03米 d=1/2*lamda; %阵元间距与波长的关系 theta=0:0.5:90; for j=1:length(theta); fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num3*d)); end figure; plot(theta,fai,'r',theta,psi,'b',theta,beta,'g'),grid on xlabel('theta'); ylabel('Width in radians') title('波束宽度与波达方向及阵元数的关系') 仿真图如下:

相关文档