MVDR波束形成MATLAB实现
生活随笔
收集整理的這篇文章主要介紹了
MVDR波束形成MATLAB实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
clc
clear
%%設置初始參數
v=3e8;
f=2.4e9;
lamda=v/f;
d=0.5*lamda;
w=2*pi*f;
m=10;%陣元數
n=1000;%快拍數
snr=0;%0dB
inr=20;%20dB
thetas=90/180*pi;
thetai=40/180*pi;
%%生成導向向量a(theta)
theta=0:180;
theta=theta/180*pi;
tao=d*cos(theta)/v;
atheta = zeros(181,10);%陣列流形向量
for ii=1:181for jj=1:10atheta(ii,jj)=exp(1i*w*tao(ii)*(jj-1));end
end
atheta=atheta.';
%期望和入射信號導向向量產生
a_theta_s=zeros(1,10);
a_theta_i=zeros(1,10);
for ii=1:10a_theta_s(ii)=exp(1j*w*tao(91)*(ii-1));a_theta_i(ii)=exp(1j*w*tao(41)*(ii-1));
end
a_theta_i=a_theta_i.';
a_theta_s=a_theta_s.';%%入射信號及干擾信號的產生、
S=zeros(2,1000);
T=randi([0,1],[1,2*n]);%2000的行向量
T_IQ=reshape(T,2,n).';%reshape成兩個1000的行向量的轉置
symbol=bi2de(T_IQ,'left-msb'); %把10變成2
Table=(1/sqrt(2))*[-1-j -1+j 1-j 1+j];
S(1,:)=Table(symbol+1);%取矩陣中的第k行元素 期望信號
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
T=randi([0,1],[1,2*n]);%2000的行向量
T_IQ=reshape(T,2,n).';%reshape成兩個1000的行向量的轉置
symbol=bi2de(T_IQ,'left-msb'); %把10變成2
Table=(1/sqrt(2))*[-1-j -1+j 1-j 1+j];
S(2,:)=Table(symbol+1);%取矩陣中的第k行元素 期望信號
Noise=sqrt(1/2)*(randn(m,n)+j*randn(m,n));
X=a_theta_s*10^(snr/10)*S(1,:)+a_theta_i*10^(inr/10)*S(2,:)+Noise;
R0=X*X'/n;
R1=a_theta_s*a_theta_s'+a_theta_i*a_theta_i'*100+eye(m);w0=inv(R0)*a_theta_s/(a_theta_s'*inv(R0)*a_theta_s);
w1=inv(R1)*a_theta_s/(a_theta_s'*inv(R1)*a_theta_s);H0=w0'*atheta;
H1=w1'*atheta;H0=10*log(abs(H0));
H1=10*log(abs(H1));angles=0:1:180;
subplot(2,1,1)
plot(angles,H0);
set(gca,'YLim',[-100,0])
title('H0')
subplot(2,1,2)
plot(angles,H1);
set(gca,'YLim',[-100,0])
title('H1')
H0為快拍1000次后的估計出的增益方向圖
H1為已知信噪比情況下的理想增益方向圖
從生成圖的過程來看,只已知信號的期望方向,但是信噪比,干噪比均未知,干擾信號的方向也未知,卻能通過快拍采樣產生的估計協方差矩陣將干擾信號方向增益進行陷波。這也是該方法與最小二乘法的本質區別,是否已知波達方向和幅度。
總結
以上是生活随笔為你收集整理的MVDR波束形成MATLAB实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据风控案例(总结他人)
- 下一篇: 汇编语言实现计算器---可加减乘除括号负