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

📄 capon.m

📁 在雷达信号处理中
💻 M
字号:
%Capon spectrum.
clear all;
%参数赋值
c=3e+8;                                               %光速
lmda=0.24;                                         %L波段
fc=c/lmda;                                          %载频
N=16;                                                 %阵元数
DOA_sigA=10;                                 %信号源1来波方向与阵法线方向夹角 
DOA_sigB=30;                                 %信号源2来波方向与阵法线方向夹角 
d=0.12;                                               %阵元间距
fs=1e+7;                                     %采样率
chirp_rate=2e+11;                                  %调频率
%计算s(t)*exp(j*2*pi*fc*t)
t=[0:1/fs:0.0001]';                                     %采样时间
s1=exp(j*pi*chirp_rate*t.^2);                               %信源1复包络  
s2=exp(j*pi*chirp_rate*t.^2);                               %信源2复包络  
% carw=(j*2*pi*fc*t);                                 %载波
% sc1=diag(s)*carw;  
% sc2=diag(s)*carw;  
%产生方向矢量1(steering vector)
sv_sigA=[];
for i=1:N
    sv_sigA=[sv_sigA;exp(j*2*pi*d*(i-1)*sin(DOA_sigA*pi/180)/lmda)];
end
%产生方向矢量2(steering vector)
sv_sigB=[];
for i=1:N
    sv_sigB=[sv_sigB;exp(j*2*pi*d*(i-1)*sin(DOA_sigB*pi/180)/lmda)];
end
%N元等距线阵接收信号矢量
x=sv_sigA*transpose(s1)+sv_sigB*transpose(s2)+randn(N,length(t));
%阵列输出协方差矩阵
Rx=zeros(N,N);
for i=1:length(t)
    Rx=Rx+x(:,i)*x(:,i)';
end
Rx=Rx/length(t);
%产生capon谱图
CaponSpec=[];
for sita=-pi/2:1/100:pi/2; 
    sv_sita=[];
    for i=1:N
        sv_sita=[sv_sita;exp(j*2*pi*d*(i-1)*sin(sita)/lmda)];
    end
    CaponSpec=[CaponSpec;1/(sv_sita'*inv(Rx)*sv_sita)];
end  
%绘图
sita=-pi/2:1/100:pi/2;
sita_deg=sita*180/pi;
CaponSpec_log=10*log10(abs(CaponSpec/max(CaponSpec)));
plot(sita_deg,CaponSpec_log)
grid
axis([-90,90,-10,0])
title('波束形成测向 角谱图')
xlabel('方位角(度)')
ylabel('输出功率(dB)')
hold on
stem(DOA_sigA,-10,'*')
stem(DOA_sigB,-10,':')

⌨️ 快捷键说明

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