最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

自适应波束形成Matlab仿真

来源:动视网 责编:小OO 时间:2025-09-25 13:06:33
文档

自适应波束形成Matlab仿真

信息与通信工程学院阵列信号处理实验报告(自适应波束形成Matlab仿真)学号:XXXXXX专业:XXXXXX学生姓名:XXX任课教师:XXX2015年X月题目:自适应波束形成Matlab仿真1.算法简述:自适应波束形成,源于自适应天线的一个概念。接收端的信号处理,可以通过将各阵元输出进行加权求和,将天线阵列波束“导向”到一个方向上,对期望信号得到最大输出功率的导向位置即给出波达方向估计。波束形成算法是在一定准则下综合个输入信息来计算最优权值的数学方法,线性约束最小方差准则(LCMV)是最重要、
推荐度:
导读信息与通信工程学院阵列信号处理实验报告(自适应波束形成Matlab仿真)学号:XXXXXX专业:XXXXXX学生姓名:XXX任课教师:XXX2015年X月题目:自适应波束形成Matlab仿真1.算法简述:自适应波束形成,源于自适应天线的一个概念。接收端的信号处理,可以通过将各阵元输出进行加权求和,将天线阵列波束“导向”到一个方向上,对期望信号得到最大输出功率的导向位置即给出波达方向估计。波束形成算法是在一定准则下综合个输入信息来计算最优权值的数学方法,线性约束最小方差准则(LCMV)是最重要、
信息与通信工程学院

 阵列信号处理实验报告

 (自适应波束形成Matlab仿真)

学    号:XXXXXX

专    业:XXXXXX

学生姓名:XXX

任课教师:XXX

2015年X月

题目:自适应波束形成Matlab仿真

1.算法简述:

自适应波束形成,源于自适应天线的一个概念。接收端的信号处理,可以通过将各阵元输出进行加权求和,将天线阵列波束“导向”到一个方向上,对期望信号得到最大输出功率的导向位置即给出波达方向估计。

波束形成算法是在一定准则下综合个输入信息来计算最优权值的数学方法,线性约束最小方差准则(LCMV)是最重要、最常用的方法之一。LCMV是对有用信号形式和来向完全已知,在某种约束条件下使阵列输出的方差最小。该准则属于广义约束,缺点是需要知道期望分量的波达方向。准则的代价函数为,约束条件为;最佳解为。

2.波束形成原理

以一维M元等距离线阵为例,如图1所示,设空间信号为窄带信号,每个通道用一个附加权值系数来调整该通道的幅度和相位。

图1 波束形成算法结构图

这时阵列的输出可以表示为:

如果采用矢量来表示各阵元输出及加权系数,即

那么,阵列的输出也可以用矢量表示为

为了在某一方向上补偿各阵元之间的时延以形成一个主瓣,常规波束形成器在期望方向上的加权矢量可以构成为

    观察此加权矢量,发现若空间只有一个来自方向的信号,其方向矢量的表示形式与此权值矢量相同。则有

    这时常规波束形成器的输出功率可以表示为

式中矩阵为阵列输出的协方差矩阵。

3.实验内容与结果:

实验使用均匀线阵,阵元间距为信号波长的一半,输入信号为1个BPSK信号,2个非相干的单频干扰,设置载波频率10MHz、采样频率50MHz、快拍数300、信噪比-25dB、信干比-90dB、信号方位角、干扰方位角和,分析阵元数分别在3、6、9和12时波束图的变化。实验结果见图1。

图1 不同阵元数情况下的波束图

4.仿真分析

由上图可知,在已知实验条件下,均匀线阵阵元数不小于信号干扰总数时,应用LCMV方法得到的波束图在信噪比很低的情况下可以有效抑制非相干干扰;对于信号方向虽然波束主瓣可以较准确地指向信号来向,但阵元数为4时,主瓣波束宽度较大,旁瓣增益较大;当阵元数增加,主瓣波束逐渐变窄并且能精准地指向信号来向,同时旁瓣数目增加、增益逐渐变小。因此,增加阵元的数目可以有效地提高波束形成精度,同时主瓣变窄,旁瓣变小,使得输出信噪比有效提高。

5.程序

clear all;

close all;

clc; 

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

%信号参数设置

Signal_No = 1;

Interference_No = 2;%小于五

S_No = Signal_No + Interference_No;         %信号总数

sensor_No = 12;                           %阵元数

azimuth = [0*pi/180 -40*pi/180 50*pi/180 30*pi/180 20*pi/180]; %方位角

Fs = 50e6;

Fc = 10e6;

F1 = [8e6 9e6 10e6 11e6];                   %干扰功率

RB = 1e6;

M = 2;                                   %二进制

wavelength = 3e8/Fc;

d = wavelength/2;

K = 300;                                  %快拍数

Ps = 0;                                    %dB

SNR = -15;

SIR = -90;

M_No = 40;                               %码速率等于信息速率

Data_No = M_No*Fs/RB;

t = 1/Fs:1/Fs:Data_No/Fs;

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

%功率转换

Ps_l = 10^(Ps/10);

Pi_l = 10^((Ps-SIR)/10);

Pn_l = 10^((Ps-SNR)/10);

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

%信号生成

bit = randint(1,M_No);                      %产生信息序列

bitstream = [];

for i = 1:M_No

    if bit(i) == 1

        bitstream = [bitstream, ones(1, Fs/RB)];

    else 

        bitstream = [bitstream, -ones(1, Fs/RB)];

    end

end

Carrier_R = cos(2*pi*Fc*t);

S_R = Carrier_R .* bitstream;

Carrier_I = sin(2*pi*Fc*t);

S_I = Carrier_I .* bitstream;

Signal_R = sqrt(Ps_l)*S_R/sqrt((S_R*S_R'/length(S_R)));

Signal_I = sqrt(Ps_l)*S_I/sqrt((S_I*S_I'/length(S_I)));%生成BPSK复信号

Signal(1,:) = complex(Signal_R, Signal_I);

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

% %产生干扰

for i = 2:Interference_No +1

   Signal(i,:)=sqrt(2*Pi_l)*complex(sin(2*pi*F1(i-1)*t+pi/10*i),                     sin(2*pi*F1(i-1)*t+pi/10*i));

end

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

% 模拟天线接收

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

%四次循环

name = [' 3',' 6',' 9','12'];

for mmm =1:4

sensor_No = mmm*3;

As = zeros(sensor_No,S_No);

for i = 1:sensor_No

    for ii = 1:S_No

        As(i,ii) = exp(-1i*2*pi*sin(azimuth(ii))*d/wavelength*(i-1));

    end

end

 x = As * Signal;

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

% %加噪声

noise_R = randn(sensor_No,Data_No)*sqrt(Pn_l);

noise_I = randn(sensor_No,Data_No)*sqrt(Pn_l);

noise = complex(noise_R, noise_I);

s = x + noise;

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

%lcmv算法

%  Ad = [1 0 0 0 0 0 0 0 0 0 0 0 ]';

 Ad = (As(:,1));

 x1 = s(:,(1:K));

 Rx=x1*x1'/K;

 alfa=inv(Ad'*inv(Rx)*Ad);

 Wopt=alfa*inv(Rx)*Ad;

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

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

%mvdr

% Ad = (As(:,1));

% x1 = s(:,(1:K));

% Rx=x1*x1'/K;

% QR_Wopt1 = inv(Rx)*Ad;

% Wopt=QR_Wopt1./QR_Wopt1(1);

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

%波束图

figure(1)

whitebg('k');

all_azimuth = -pi/2:pi/180:pi/2;

LMS_R = zeros(1,181);

for i = 1:181

    for m = 1:sensor_No

        LMS_R(i) = LMS_R(i) + conj(Wopt(m)) * exp(-1i*2*pi*sin(all_azimuth(i))*d/wavelength*(m-1));

    end

    LMS_P(i) = (abs(LMS_R(i)))^2;

end

LMS_PdB = 10*log10(LMS_P/max(LMS_P));

switch mmm

    case 1 

        plot(all_azimuth*180/pi,LMS_PdB,'--g','LineWidth',2);hold on;

    case 2 

        plot(all_azimuth*180/pi,LMS_PdB,'.b','LineWidth',2);

    case 3 

        plot(all_azimuth*180/pi,LMS_PdB,'-.w','LineWidth',2);

    case 4 

        plot(all_azimuth*180/pi,LMS_PdB,':r','LineWidth',2);

end

grid on;

axis([-90 90 -70 10]);

xlabel('方位角(度)')

ylabel('阵列增益(dB)')

%title(strcat('阵元数',name([2*mmm-1:2*mmm]),'个   '));

% figure(2);

% polar ((-pi/2:pi/180:pi/2),LMS_PdB+109); figure(gcf);

end

hl=legend('阵元数3个','阵元数6个','阵元数9个','阵元数12个',1);

set(hl,'edgecolor','w','color',[1 1 1]);

title('自适应波束形成');

drawnow;

文档

自适应波束形成Matlab仿真

信息与通信工程学院阵列信号处理实验报告(自适应波束形成Matlab仿真)学号:XXXXXX专业:XXXXXX学生姓名:XXX任课教师:XXX2015年X月题目:自适应波束形成Matlab仿真1.算法简述:自适应波束形成,源于自适应天线的一个概念。接收端的信号处理,可以通过将各阵元输出进行加权求和,将天线阵列波束“导向”到一个方向上,对期望信号得到最大输出功率的导向位置即给出波达方向估计。波束形成算法是在一定准则下综合个输入信息来计算最优权值的数学方法,线性约束最小方差准则(LCMV)是最重要、
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top