基于经典MUSICDOA估计Matlab仿真.doc
信息与通信工程学院
阵列信号处理实验报告
(基于经典MUSIC的DOA估计atlab仿真)
专 业:XXXXXX
学生姓名:XXX
任课教师:XXX
2015年X月
题目:基于经典MUSIC的DOA估计atlab仿真
。因导向矩阵的各矢量与噪声子空间正交,可得到阵列
空间谱函数使变化,按照来搜索峰值来达到波达方向的估计值。
实验内容与结果:
实验使用8阵元均匀线阵,阵元间距为信号波长的一半,输入信号为1个BPSK信号,1个非相干的单频干扰,设置载波频率10MHz、采样频率30MHz、快拍数30、信干比0dB、信号方位角、干扰方位角,分析信噪比从1到20dB估计均方误差。实验结果见下图。
图1信噪比 15dB情况下的波束图
图2不同信噪比测得的均方误差
仿真分析
由仿真结果可知,在实验前提条件下,经典music算法的DOA估计可有效估计出信号的来向。当信噪比较小时,估计得均方误差较大;随着信噪比的提高,估计均方误差逐渐减小;当信噪比大于10dB以后,角度估计成功率100%。MUSIC算法在DOA估计中属于高精度算法,而算法的估计精度仍受阵元数量、信号角度、信号数量、信号间距、信噪比等影响,本实验仿真分析了一定情况下估计精度与信噪比的关系,得到了预期的实验结果。
程序
clear all;
close all;
clc;
%---------------------------------
%线阵 music DOA
%---------------------------------
%参数设置
Signal_No = 1;
Interference_No = 1;
S_No = Signal_No + Interference_No;
sensor_No = 8;
azimuth = [0*pi/180 5*pi/180];
Fs = 30e6;
Fc = 10e6;
F1 = [8e6]; %干扰功率
theta = [10 45 52 93 43]*pi/180;
RB = 2e6;
M = 2;%二进制
wavelength = 3e8/Fc;
d = wavelength/2;
K = 300; %快拍数
%---------------
%dB
Ps = -30;
SNR = 10;
SIR = 00;
M_No = 40; %码速率等于信息速率
Data_No = M_No*Fs/RB;
t = 1/Fs:1/Fs:Data_No/Fs;
%---------------------------------
% for xunhuan=1:1
% mean1 = 0;
% mean2 = 0;
% for SNR =1:20
%---------------------------------
%功率转换
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);
%---------------------------------
%产生干扰
%I_R = sqrt(2*Pi_l)*cos(2*pi*F1*t); %I_I = sqrt(2*Pi_l)*sin(2*pi