clear,clc
m=8; % sensors
n=2; % sources
theta=[-20 0]; % in angle
d=1/2; % 1/2 lambada
N=100; % samples
L=100; % resolution in [-90' 90']
meann=0; % mean of noise
varn=1; % variance of noise
SNR=10;
INR=20;
rvar1=sqrt(varn) * 10^(SNR/20); % variance of signal
rvar2=sqrt(varn) * 10^(INR/20); % variance of interference
% generate the source signals
s=[rvar1*exp(j*2*pi*(50*0.001*[0:N-1]+rand))
rvar2*exp(j*2*pi*(100*0.001*[0:N-1]+rand))];
% generate the A matrix
A=exp(-j*2*pi*d*[0:m-1].'*sin(theta*pi/180));
% generate the noise component
e=sqrt(varn/2)*(randn(m,N)+j*randn(m,N));
% generate the ULA data
Y=A*s+e;
% compute R
R=Y*Y'/N;
% inverse of R
IR=inv(R);
% beamform using the MVDR method
a1=A(:,1);
w=IR*a1/real(a1'*IR*a1);
beam=zeros(1,L);
for i = 1 : L
a=exp(-j*2*pi*d*[0:m-1].'*sin(-pi/2 + pi*(i-1)/L));
beam(i)=20*log10(abs(w'*a));
end
angle=-90:180/L:(90-180/L);
plot(angle,beam,'b');
hold on;
%*****************************************************************
m=8;
n=2;
theta=[-20 0];
d=1/2;
N=100;
L=100;
meann=0;
varn=1;
SNR=10;
INR=30;
rvar1=sqrt(varn) * 10^(SNR/20);
rvar2=sqrt(varn) * 10^(INR/20);
s=[rvar1*exp(j*2*pi*(50*0.001*[0:N-1]+rand))
rvar2*exp(j*2*pi*(100*0.001*[0:N-1]+rand))];
A=exp(-j*2*pi*d*[0:m-1].'*sin(theta*pi/180));
e=sqrt(varn/2)*(randn(m,N)+j*randn(m,N));
Y=A*s+e;
R=Y*Y'/N;
IR=inv(R);
% beamform using the MVDR method
a1=A(:,1);
w=IR*a1/real(a1'*IR*a1);
beam=zeros(1,L);
for i = 1 : L
a=exp(-j*2*pi*d*[0:m-1].'*sin(-pi/2 + pi*(i-1)/L));
beam(i)=20*log10(abs(w'*a));
end
angle=-90:180/L:(90-180/L);
plot(angle,beam,'r');
%
% %****************************************************************
m=8;
n=2;
theta=[-20 0];
d=1/2;
N=100;
L=100;
meann=0;
varn=1;
SNR=10;
INR=40;
rvar1=sqrt(varn) * 10^(SNR/20);
rvar2=sqrt(varn) * 10^(INR/20);
s=[rvar1*exp(j*2*pi*(50*0.001*[0:N-1]+rand))
rvar2*exp(j*2*pi*(100*0.001*[0:N-1]+rand))];
A=exp(-j*2*pi*d*[0:m-1].'*sin(theta*pi/180));
e=sqrt(varn/2)*(randn(m,N)+j*randn(m,N));
Y=A*s+e;
R=Y*Y'/N;
IR=inv(R);
% beamform using the MVDR method
a1=A(:,1);
w=IR*a1/real(a1'*IR*a1);
beam=zeros(1,L);
for i = 1 : L
a=exp(-j*2*pi*d*[0:m-1].'*sin(-pi/2 + pi*(i-1)/L));
beam(i)=20*log10(abs(w'*a));
end
angle=-90:180/L:(90-180/L);
plot(angle,beam,'g');
xlabel('angle');
ylabel('幅度响应/dB');
gtext({'\bf\leftarrowINR=20';'\bf\leftarrowINR=30';'\bf\leftarrowINR=40'})
阿里matlab建模师
- 粉丝: 4356
- 资源: 2850
最新资源
- 一个简单的新年活动页面的HTML模板示例
- 工程翻斗车sw16全套技术资料100%好用.zip
- 锂电池极片贴正反面绝缘胶纸机sw17全套技术资料100%好用.zip
- 环链垂直连续升降提升机全套技术资料100%好用.zip
- 三级轴齿XYZ轴供料机械手sw17可编辑全套技术资料100%好用.zip
- 专业综合课程设计报告封面.docx
- OpenAI-Swarm
- C# 进度条源码,拷贝文件实例
- 基于SpringBoot的“在线BLOG网”的设计与实现(源码+数据库+文档+PPT).zip
- 用QT写的一个UDP数据发送测试小程序
- 最新知宇企业级发卡源码/新增几套模板/多商户入驻/API代销/自动发卡网站运营源码
- C# TCP客户端程序源码
- 互站价值800元的CSM会议室预约系统源码+企业免授权版+详细搭建教程
- 基于交变电流场测量技术的水下结构缺陷可视化与智能识别方法
- C# 生成excel图表I源码
- 光敏传感器实验熟练掌握光敏传感器的使用方法
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
前往页