CAPON波束形成器原理及其仿真
- 格式:doc
- 大小:62.50 KB
- 文档页数:4
波束形成算法代码一、简介波束形成是一种用于阵列信号处理的算法,通过将阵列中的各个传感器信号相加,形成具有特定方向性的波束,从而达到增强特定方向上信号强度、抑制其他方向上信号强度的目的。
在雷达、声呐、无线通信等领域中,波束形成算法得到了广泛的应用。
本文档旨在介绍一种简单的波束形成算法的代码实现,包括算法原理、代码实现过程和示例数据。
二、算法原理波束形成算法的基本原理是通过对阵列传感器接收到的信号进行加权求和,并调整加权系数以控制波束的方向性。
通常,加权系数的选择取决于期望增强的信号方向和需要抑制的干扰方向。
在二维空间中,阵列可以表示为一个M×N的阵列矩阵A,其中M为阵元数量,N为空间维度(如x和y方向)。
每个阵元接收到的信号可以表示为向量x[n],其中n为信号序号。
对于M个阵元,可以构成一个大小为M×N的矩阵X,其中X[i][n]表示第i个阵元接收到的第n个信号的样本值。
根据波束形成算法,可以定义一个大小为M×1的向量w,表示加权系数。
通过对X进行加权求和,得到输出向量y,即y = w * X。
通过调整加权系数w,可以控制输出向量y的方向性,从而实现波束形成的目的。
三、代码实现以下是一个简单的Python代码实现,用于演示波束形成算法的基本原理:```pythonimport numpy as np# 阵列矩阵大小M = 8 # 阵元数量N = 2 # 空间维度(x和y)# 生成随机信号样本数据x = np.random.randn(N) # 假设所有信号都是随机噪声数据# 生成阵列矩阵数据A = np.random.randn(M, N) # 生成随机阵列矩阵数据A = A / np.sqrt(np.sum(A ** 2, axis=0)) # 对阵列矩阵进行归一化处理# 定义加权系数向量ww = np.ones((M, 1)) / M # 均匀分布的加权系数,用于演示算法原理# 对信号进行加权求和,得到输出向量yy = w * A.dot(x) # 使用numpy库中的dot函数进行矩阵乘法运算print("原始信号数据:")print(x)print("经过波束形成后的输出数据:")print(y)```上述代码中,首先生成了随机信号样本数据x和阵列矩阵数据A。
LMS 算法应用于波束形成的仿真分析1 实验原理LMS 最小均方误差的方法是由最速下降法推导而出。
最速下降法需要求出其梯度的精确值,要求输入信号和期望信号平稳,且 22j xx dx R W R ∇=- (R ak =抽头输入向量u(n)与期望响应d(n)的互相关向量;R xx =抽头输入向量u(n)的相关矩阵;W=抽头权向量)要首先估计xx R 和dx R ,这给具体实现带来很大困难,因此该算法还不是真正意义的自适应滤波算法,但讨论最陡下降法是有意义,由最陡下降法可以很直观地导出一类自适应滤波算法 --- LMS 算法。
LMS 算法的基本思想:调整滤波器自身参数,使滤波器能够自适应地跟踪这种输入信号的变化,实现最优滤波。
当横向滤波器运行在实数据的情况下,该算法大体上可描述为:抽头权向量更新值=老的抽头权向量值+学习速率参数*抽头输入向量*误差信号其中误差信号定义为期望向量与抽头输入向量所产生的横向滤波器的实际向量之差设输入信号为u (n ),LMS 算法理论推导过程如下:滤波器输出y(n)为:10()()N k k y n w u n k -==-∑ 0,1,2...n = (1)由误差定义得:()()-()e n d n y n = (2) 使用最小均方误差法,得代价函数为均方误差为:2[()]J E e n =(3)式(3)中J 是滤波器的系数k w (k = 0,1,2,…)的函数。
通过选择最优的系数,使J 达到最小值。
定义梯度向量为∇J ,∇2[()]()2[()]2[()()]k k k J E e n e n J E e n E u n k e n w w w ∂∂∂====--∂∂∂ 0,1,2...k = (4) 另外,最陡下降迭代方程为:()()()1w n w n J n μ+=-∇ (5) LMS 是直接利用单次采样数据获得的e 2(n )来代替均方误差J (n ),从而进行梯度估计,每次迭代时计梯度估计为:22()()[()()()()()2()()()]()()T T T e n J n d n w n u n u n w n d n u n w n w n w n ∂∂==+-∂∂ 2()()()2()()T u n u n w n d n u n =-2[()()()]()2()()T d n u n w n u n e n u n μ=--=-(6)式(6)代入式(5),得到系数向量自适应迭代法:()()()()()1()2w n w n J n w n e n u n μμ+=-∇=+ (7) 式(7)称最小均方自适应算法LMS 。
自适应波束形成器自适应波束形成器是一种用于无线通信和雷达信号处理的电子设备。
该设备通过利用天线信号相互间的干扰以及接收到的周围环境情况,可以调整天线辐射和接收方向,从而提高信号的质量和准确性。
自适应波束形成器包括多个天线单元和数字信号处理器,通过计算和处理来形成综合的波束方向和形状。
本篇文章将介绍自适应波束形成器的原理、应用以及前景。
一、原理自适应波束形成器的原理是通过控制天线阵列的功率幅度和相位,使得天线辐射方向和接收方向向目标方向移动,从而实现信号的聚焦。
首先,该设备需要根据天线阵列接收到的信号进行监测和分析,找出信号之间存在的相位和振幅的差异,之后通过反馈控制迭代过程,调整天线的权值和相位差,让天线辐射和接收方向向目标移动。
例如,当一个波束射向目标时,如果目标和其他多径的反射信号的相位相差非常大,那么这些信号的相位将彼此抵消,从而减弱波束的能量。
自适应波束形成器可以采用最优的器件与算法,利用多个天线单元收集到的信号来计算、分析他们的时域和频域特征,使得它能够适应信道中的变化,并自动校正波束的指向,以克服传播过程中的干扰和衰落。
二、应用自适应波束形成器广泛应用于各种无线通信和雷达信号处理领域,如卫星通信、移动通信、无线电视、雷达目标跟踪等。
该设备可以提高通信系统和雷达系统的效率和性能,包括提高接收和发射的信号质量和准确性,提高信号的覆盖率和距离,增加信噪比,降低系统能耗等,使得以往不可能实现的任务成为可能。
三、前景随着科技的不断发展,自适应波束形成技术被越来越多的应用到各个领域,并取得了显著的进展。
该技术可以替代传统的天线单元,提升信号处理的整体效率和准确性,同时可以有效的抑制固有的噪声,进一步扩大了该技术的应用范围和前景。
测绘技术中的波束形成原理解析波束形成(Beamforming)是一种广泛应用于测绘技术中的关键原理,它具有重要的地理信息获取功能。
本文将分析波束形成的原理及其在测绘技术中的应用,并讨论其相关技术的发展和潜在的应用前景。
一、波束形成原理简介波束形成是一种通过改变天线阵列中天线的相位和振幅来控制信号主瓣(main lobe)方向的技术。
简单来说,波束形成可以使天线的感知范围聚焦在一个特定的区域,从而提高信号的准确性和分辨率。
波束形成技术的基础是多个天线的组合,这些天线通过相位控制和加权信号进行波束的形成。
相位控制决定了天线阵列中每个天线的发射和接收间的时间差,而加权信号则决定了每个天线对信号的贡献程度。
通过合理的相位控制和加权信号的配比,波束形成可以实现从多个方向接收和发射信号。
二、波束形成在测绘技术中的应用1. 雷达测绘波束形成在雷达测绘中具有广泛应用,特别是合成孔径雷达(SAR)技术。
通过合理的波束形成,SAR可以实现很高的分辨率,从而提供精确的地理信息。
此外,波束形成还可以抑制杂波和干扰信号,提高雷达信号的质量。
2. 海底测绘在海底测绘中,波束形成被用于侧扫声呐和多波束测深仪等设备。
这些设备通过控制声波的发射和接收角度,实现对海底地形的高精度测绘。
波束形成可以减少多次测量和数据处理的复杂性,提高测绘的效率和准确性。
3. 卫星遥感卫星遥感技术在大规模地理信息获取中具有重要作用。
通过波束形成技术,遥感卫星可以将接收到的微弱信号进行聚焦,从而提高信号的强度和分辨率。
波束形成还可以根据需要对特定区域进行高精度的遥感测量,为地理信息的提取和分析提供支持。
三、波束形成技术的发展及应用前景随着科学技术的进步和测绘需求的不断增长,波束形成技术得到了不断改进和拓展。
在传统的波束形成技术基础上,出现了多个改进和扩展版本,如自适应波束形成、非线性波束形成等。
这些新技术不仅进一步提高了测绘的精度和效率,还扩大了波束形成的应用领域。
波束形成算法原理波束形成(Beamforming)是一种通过合理设计信号传输过程中的波束来达到增强接收信号或抑制干扰的技术。
在无线通信系统中,波束形成可以提高系统的容量、覆盖面积和抗干扰能力。
本文将介绍波束形成算法的原理和相关参考内容。
波束形成算法的原理如下:1. 传输信号:首先,发送端根据波束形成算法生成一组复振幅和相位的权值。
这些权值可以根据不同的算法计算,如最大比合并(Maximum Ratio Combining,MRC)、分集最小均方差(Minimum Mean Square Error,MMSE)和零交叉零自相关函数(Zero-Crossing Zero-Autocorrelation,ZZC)。
然后,通过适当的信号加工方法,将这些权值应用到各个天线上的信号上,形成波束。
2. 传输过程:在传输过程中,波束会呈现出不同的形状,如定向波束、扇形波束和全向波束。
这些形状的选择取决于特定的场景和需求。
波束的形成可以通过调整天线的振子阵列或调整天线的振子单元来实现。
3. 接收信号:接收端的天线会检测到波束形成后的信号,并利用相应的算法对这些信号进行处理。
常见的算法包括最大比合并(Maximum Ratio Combining,MRC)、分集最小均方误差(Minimum Mean Square Error,MMSE)和零交叉零自相关函数(Zero-Crossing Zero-Autocorrelation,ZZC)。
这些算法主要用于合并波束形成的信号,并提高接收端的信号质量和抗干扰能力。
波束形成算法的设计和实现涉及到多个方面的知识,包括信号处理、天线设计、无线通信系统的基本原理等。
以下是一些相关参考内容:1. 《无线通信中的波束形成技术》(作者:李维佳,出版时间:2019年):这本书详细介绍了波束形成技术在无线通信系统中的应用。
书中提供了波束形成算法的设计方法和实现技巧,并以实际案例展示了波束形成技术的实际效果。
LMS算法波束形成的基础仿真分析LMS (Least Mean Squares) 算法是一种自适应滤波算法,广泛应用于波束形成(Beamforming)技术中。
波束形成是一种利用多个阵元接收或发送信号,通过调整各个阵元的权重来优化信号传输的技术。
在波束形成中,LMS 算法扮演着非常重要的角色,其基础仿真分析对深入理解LMS算法的性能和优缺点具有重要意义。
本文将对LMS算法波束形成进行基础的仿真分析。
首先,我们需要了解LMS算法的基本原理。
LMS算法的目的是通过调整各个阵元的权重,使得接收到的信号在期望方向上增强,而在其他方向上抑制。
LMS算法采用梯度下降法来调整权重,使得输出信号的均方误差最小化。
其迭代更新的公式为:W(n+1)=W(n)+α*e(n)*X(n)其中,W(n)是当前时刻的权重向量,e(n)是期望输出与实际输出之间的误差,X(n)是输入信号的向量。
α是学习率,用于控制权重调整的步幅。
在进行基础仿真分析前,我们需要确定仿真参数。
首先是阵元的数量和间距。
阵元的数量决定了波束的方向性,间距决定了波束的宽度。
接下来是仿真信号的特性,包括入射角度、信号强度等。
此外,还需要确定LMS算法的参数,如学习率等。
这些参数的选择将直接影响到算法的性能。
为了进行仿真分析,我们可以使用MATLAB等工具进行实现。
首先,我们需要生成输入信号。
可以选择不同的波形(如正弦波、方波等)以及不同的入射角度和信号强度。
接下来,我们需要实现LMS算法的迭代更新公式,并利用生成的输入信号进行仿真计算。
在仿真过程中,我们可以观察到LMS算法的收敛速度以及波束形成的性能。
收敛速度是指算法达到最优解所需的迭代次数或时间。
波束形成的性能可以使用波束指向性和波束宽度来衡量。
波束指向性表示波束的主瓣在期望方向上的增益,波束宽度表示波束的主瓣在其他方向上的抑制程度。
通过调整LMS算法的参数,我们可以观察到不同参数对波束形成性能的影响。
全空域相控阵波束形成仿真是一种重要的研究方向,它在军事、航空航天、通信等领域具有重要的应用价值。
本文将从全空域相控阵波束形成仿真的定义、发展现状、关键技术、应用前景等方面进行介绍。
一、全空域相控阵波束形成仿真的定义全空域相控阵波束形成仿真是指利用计算机仿真技术,对全空域相控阵系统进行模拟,包括雷达、通信、导航等系统,从而实现对波束形成性能、天线阵列结构、信号处理算法等方面的分析和评估。
该仿真技术能够为全空域相控阵系统的设计、优化和性能验证提供重要依据。
二、全空域相控阵波束形成仿真的发展现状当前,全空域相控阵波束形成仿真技术已经取得了一系列研究进展,主要包括以下几个方面:1. 理论研究:国内外学者对全空域相控阵波束形成算法进行了深入研究,包括波束形成理论、自适应波束形成算法、多波束形成技术等方面,形成了一系列理论成果。
2. 系统建模:针对不同类型的全空域相控阵系统,研究人员建立了相应的仿真模型,包括天线阵列、前端硬件、信号处理算法等方面,为仿真研究提供了基础。
3. 算法仿真:通过软件仿真评台,研究人员对全空域相控阵系统的波束形成算法进行了大量仿真验证,验证了算法的性能和稳定性。
4. 实验验证:一些研究团队结合实际系统,进行了全空域相控阵波束形成仿真实验验证,取得了一定的成果。
三、全空域相控阵波束形成仿真的关键技术在全空域相控阵波束形成仿真研究中,存在一些关键技术需要解决,包括:1. 天线阵列建模:针对不同类型的天线阵列,如均匀线阵、均匀面阵、非均匀阵列等,需要建立相应的仿真模型,包括天线元件特性、空间布局、阵列结构等。
2. 信号处理算法仿真:自适应波束形成、多波束形成、抗干扰技术等算法的仿真验证是全空域相控阵波束形成仿真的重要内容,需要考虑到信号处理的复杂性和实时性。
3. 环境仿真:全空域相控阵系统在不同环境条件下性能会有所变化,因此环境仿真也是关键技术之一,包括大气、地形、电磁干扰等影响因素的仿真。
波束形成算法. 干扰抑制
波束形成算法是一种通过改变天线阵列的发射方向和信号相位来实现信号聚焦和干扰抑制的技术。
通常在多用户通信或干扰环境中使用,通过将发射信号聚焦向目标用户或方向,以降低传输信号的功率和减少干扰。
同时,该算法可以在接收端抑制非期望信号,提高信噪比。
波束形成算法通常有线性递归方差最小(LMS)和最小二乘(LMS)两种算法。
LMS算法通常用于实时应用,而LMS 算法则用于离线数据处理,它们都可以在数字信号处理器或FPGA芯片上实现。
在干扰抑制方面,一些更高级的算法,如自适应干扰抑制(AIC)、自适应噪声取消(ANC)和自适应滤波(AF)也可以用于波束形成中。
这些技术可以自动调整接收端的滤波器和通道估计来抑制干扰和噪声,以提高信噪比和通信质量。
波束形成
波束形成的⽬的:区分来⾃不同⽅向的信号,提取(或增强)某些⽅向的有⽤信号,消除(或抑制)其他⽅向的⼲扰和噪声。
波束形成实质是⼀种空(间)域上的滤波,其功能类似于FIR滤波器,因此波束形成器也叫空域滤波器。
导向向量:描述空间相位差。
⼀、阵列信号模型与假设
阵列主要处理窄带信号(带宽远⼩于中⼼频率的信号)。
阵元间距⼀般不超过⼊射信号的半波长。
延迟相加(Delay-sum):对各通道的信号进⾏适当延迟后相加,使⽬标⽅向的信号同相叠加得到增强,等效于阵列波束图的主瓣对准⽬标⽅向,其他⽅向相⽐于主瓣⽅向均有不同程度的削弱。
特点:需要对延迟进⾏精确控制。
数字信号的延迟精度受采样频率的制约。
⼆、程序分析。
基于稳健Capon波束形成技术的矢量相关测向方法作者:任晓松杨嘉伟崔嵬吴嗣亮欧春湘朱振虹陈岩来源:《现代电子技术》2014年第18期摘要:为了弥补阵列天线导向矢量失配对测向性能的影响,提出基于稳健Capon波束形成技术的矢量相关测向方法。
与直接使用相位差的常规相关干涉测向技术不同,该方法首先利用稳健Capon波束形成技术估计目标信号的真实导向矢量;然后通过导向矢量的相关拟合确定目标信号方向。
通过仿真分析,得出了以测向为衡量标准时不确定集约束参数的选择原则。
仿真结果表明该方法能够弥补阵列流型失配的影响、准确测量目标信号方向。
关键词:阵列信号处理;稳健波束形成;矢量相关测向;导向矢量相关拟合;交汇对接中图分类号: TN911⁃34 文献标识码: A 文章编号: 1004⁃373X(2014)18⁃0026⁃04 Vector correlation direction⁃finding method based on robust Capon beamforming technologyREN Xiao⁃song1, YANG Jia⁃wei1, CUI Wei2, WU Si⁃liang2, OU Chun⁃xiang1,ZHU Zhen⁃hong1, CHEN Yan1(1. China Aerospace Science & Industry Academy of Information Technology, Beijing 100070, China; 2. Beijing Institute of Technology, Beijing 100081, China)Abstract: In order to compensate the influence of the array antenna steering vector mismatch,the vector correlation direction finding method based on the robust Capon beamforming technology is proposed. Different from the conventionnal correlation interference direction finding technology using the phase difference, the new method uses robust Capon beamforming technology to estimate the true steering vector of the target signal, and then determe the direction of the target signal by the steering vector correlation fitting. The selection principle of uncertain constraint parameter was obtained through simulation analysis. The simulation results shows that the method can compensate the impact of the steering vector mismatch, and measure the target signal direction accurately.Keywords: array signal processing; robust beamforming; vector correlation direction finding; steering vector correlation fitting; intersection docking0 引言采用微波雷达进行空间交会对接测角具体技术实现方式主要包括:多基线干涉仪测角与和差波束比幅单脉冲测角[1]。
MIMO系统的波束形成技术研究及其仿真杨尚贤;王明皓【摘要】The overview of beamforming technology in the smart antenna and space-time block code principle in the multiple- input multiple-output (MIMO) system , studied and analyzed the feasibility of combination based on the traditional least mean square (LMS) algorithm and the multiple-input multiple-output (MIMO) system space-time block codes.%概述了智能天线中的波束形成技术和MIMO系统中空时分组码原理,基于传统的最小均方(LMS)算法和MI-MO系统中空时分组码。
研究分析了两者相结合的可行性。
【期刊名称】《电子设计工程》【年(卷),期】2012(020)024【总页数】3页(P93-95)【关键词】智能天线;LMS算法;MIMO;空时分组码;误码率【作者】杨尚贤;王明皓【作者单位】沈阳航空航天大学,辽宁沈阳110136;沈阳飞机设计研究所,辽宁沈阳110035【正文语种】中文【中图分类】TN821.91随着移动通信技术的快速发展,移动通信用户的数目迅速增加,有限的频谱资源难以满足日益增长的全球市场对于移动通信的巨大需求。
采用多输入多输出(MIMO)技术充分利用频域资源实现移动通信系统性能的有效提高,已经成为近些年来的研究热点[1-4]。
在无线通信系统中,多径衰落和各种干扰是普遍存在的。
智能天线技术能够有效地抑制多径干扰、同信道干扰、多址干扰等各类型的干扰。
而空时编码技术可以在不损失带宽的情况下获得很高的编码增益和分集增益,从而实现抗多径衰落的目的。
波束赋形仿真代码1. 概述波束赋形(Beamforming)是一种通过控制阵列天线的相位和幅度来形成特定方向上的波束的技术。
它在无线通信、雷达、声纳等领域有着广泛的应用。
本文将介绍波束赋形的基本原理,并给出一个用于波束赋形仿真的代码实现。
2. 波束赋形原理波束赋形的目标是通过合理调整天线阵列上各个天线的相位和幅度,使得在特定方向上的信号增益最大化,从而提高信号的接收质量或者发射功率。
下面是波束赋形的基本原理:•阵列天线阵列天线由多个天线组成,通常呈线性或者二维的排列方式。
每个天线都可以独立调整相位和幅度。
•波束形成通过合理调整天线阵列上各个天线的相位和幅度,可以形成一个特定方向上的波束。
波束的形成依赖于天线之间的相位差和幅度差。
•波束方向波束的方向取决于各个天线之间的相位差。
如果相位差相同,波束的方向垂直于天线阵列的方向。
如果相位差不同,则波束的方向会偏离垂直方向。
•波束宽度波束宽度是指波束的主瓣宽度,即波束的有效覆盖范围。
波束宽度与阵列天线的间距和工作频率有关,通常情况下,波束宽度越窄,波束增益越高。
3. 波束赋形仿真代码实现import numpy as npdef beamforming_simulation(array, steering_angle):"""波束赋形仿真函数:param array: 天线阵列:param steering_angle: 波束赋形的目标方向:return: 波束赋形后的信号增益"""n = len(array) # 天线数量theta = np.deg2rad(steering_angle) # 目标方向的角度# 计算相位差phase_difference = np.exp(1j * 2 * np.pi * np.sin(theta) * np.arange(n))# 计算波束赋形后的信号beamformed_signal = array * phase_difference# 计算信号增益gain = np.abs(np.sum(beamformed_signal)) / nreturn gain# 测试代码array = np.array([1, 1, 1, 1, 1]) # 五个天线的阵列steering_angle = 30 # 目标方向为30度gain = beamforming_simulation(array, steering_angle)print("波束赋形后的信号增益为:", gain)以上代码实现了一个简单的波束赋形仿真函数beamforming_simulation。
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 1
1H θθμ-=时,最佳权向量就转变成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; %快拍数
angle1=45;angle2=5;angle3=-20;%the signal angle
th=[angle1;angle2;angle3]';
SN1=10;SN2=10;SN3=10;%信噪比
sn=[SN1;SN2;SN3];
degrad=pi/180;
tt=0:.001:(1-.001);
x0=exp(-j*2*pi*f0*tt); %3个信号x0、x1、x2
x1=exp(-j*2*pi*f1*tt); %
x2=exp(-j*2*pi*f2*tt); %
t=1:nn;
S=[x0(t);x1(t);x2(t)];
nr=randn(M,nn);
ni=randn(M,nn);
u=nr+j*ni; %复高斯白噪声
Ps=S*S'./nn; %信号能量
ps=diag(Ps);
refp=2*10.^(sn/10);
tmp=sqrt(refp./ps);
S2=diag(tmp)*S; %加入噪声
tmp=-j*pi*sin(th*degrad);
tmp2=[0:M-1]';
a2=tmp2*tmp;
A=exp(a2);
X=A*S2+.1*u; %接收到的信号
Rxx=X*X'./nn; %相关矩阵
invRxx=inv(Rxx);
%搜寻信号
th2=[-90:90]';
tmp=-j*pi*sin(th2'*degrad);
tmp2=[0:M-1]';
a2=tmp2*tmp;
A2=exp(a2);
den=A2'*invRxx*A2; doa=1./den; semilogy(th2,doa,'r'); title('spectrum'); xlabel('angle');
ylabel('spectrum'); axis([-90 90 1e1 1e5]); grid;。