⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmusic.m

📁 几种music算法
💻 M
字号:
%-----------------------
%MUSIC ALGORITHM
%DOA Estimation by ULA
clear all; 
close all;
clc
N_x=1024; 
n=20; 
l=1.8;
d=0.5*l;
M=3; 
w=[pi/6 pi/6 pi/6]';
xx=pi/6;yy=pi/6;zz=pi/6; %信号的入射角
B=[1 exp(-j*2*pi*d*sin(xx)/l) exp(-j*2*2*pi*d*sin(xx)/l) exp(-j*2*3*pi*d*sin(xx)/l) exp(-j*2*4*pi*d*sin(xx)/l) exp(-j*2*5*pi*d*sin(xx)/l) exp(-j*2*6*pi*d*sin(xx)/l) exp(-j*2*7*pi*d*sin(xx)/l);
   1 exp(-j*2*pi*d*sin(yy)/l) exp(-j*2*2*pi*d*sin(yy)/l) exp(-j*2*3*pi*d*sin(yy)/l) exp(-j*2*4*pi*d*sin(yy)/l) exp(-j*2*5*pi*d*sin(yy)/l) exp(-j*2*6*pi*d*sin(yy)/l) exp(-j*2*7*pi*d*sin(yy)/l);
   1 exp(-j*2*pi*d*sin(zz)/l) exp(-j*2*2*pi*d*sin(zz)/l) exp(-j*2*3*pi*d*sin(zz)/l) exp(-j*2*4*pi*d*sin(zz)/l) exp(-j*2*5*pi*d*sin(zz)/l) exp(-j*2*6*pi*d*sin(zz)/l) exp(-j*2*7*pi*d*sin(zz)/l)]'; 
xxx=2*exp(j*w*[0:N_x-1]);
x=B*xxx+randn(8,N_x)+j*randn(8,N_x);

R=x*x'/N_x;
[V D]=eig(R);
[lambda,index] = sort((diag(D)));
UU=V(:,index(1:5));
theta=-90:0.1:90;
for i = 1:length(theta)
    AA=[1 exp(-j*2*pi*d*sin(theta(i)/180*pi)/l) exp(-j*2*2*pi*d*sin(theta(i)/180*pi)/l) exp(-j*2*3*pi*d*sin(theta(i)/180*pi)/l) exp(-j*2*4*pi*d*sin(theta(i)/180*pi)/l) exp(-j*2*5*pi*d*sin(theta(i)/180*pi)/l) exp(-j*2*6*pi*d*sin(theta(i)/180*pi)/l) exp(-j*2*7*pi*d*sin(theta(i)/180*pi)/l)];%方向矢量
    WW=AA*UU*UU'*AA';
    Pmusic(i)=abs(1/WW);
end
Pmusic = 20*log10(Pmusic);
fai=-90:0.1:90;
plot(fai,Pmusic);
grid
xlabel('rad')
%---------------
%部分参数设定
h=60;
w=150;
f=1000;
c=1500;
tao=0.005;
fai0=pi/6;
fai=fai*pi/180;
%传播的单向距离
r=h:1:200*h;
r=(h./(sin(fai)));
%声源级SL(轴向)
SL=170.8+10*log10(n)+10*log10(w);
%散射系数Sb
Sb=-5+10*log10(sin(fai).^2);
%等效束宽tai
y=(asin(0.55*c/(f*n*d)+sin(fai0))-asin(-0.55*c/(f*n*d)+sin(fai0)))*180/(2*pi);
tai=10*log10(y)-12.8;
%---------------
%混响级RL
RL=SL-40*log10(r)+Sb+10*log10(r*c*tao/2)+tai+10*log10((Pmusic.^2)./cos(fai));
%---------------
%画混响级随时间变化曲线RL(t)
figure(2);
plot(2*r/c,RL,'b');
title('波束反向散射信号EL'); 
grid on;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -