?? doa估計的rbf是實現(xiàn).txt
字號:
% ==== ==== 取協(xié)方差矩陣的上三角的數(shù)據(jù)進行學習
% ==== ==== 同時輸出結(jié)果直接為角度值
% ==== ==== 不帶多徑的條件下,測角性能隨著信噪比的變化
clc
close all
clear all
% ==== 陣列參數(shù)
M=12; % 陣元數(shù)目
theta=[0:.2:5];
c=3.0e+8; % 光速
f0=500e6;
lamda=c/f0; % 波長
d=lamda/2; % 陣元間距
snap=1; % 快拍數(shù)目
% ====== 以下是產(chǎn)生線性調(diào)頻信號 ====== %
fs=1.0e+6; % 采樣率
a=[0:1:M-1]'; % 陣列向量
t=[0:snap-1]/fs; % 采樣時間
% ==== ==== ==== 訓練過程
% ====== 產(chǎn)生線性調(diào)頻信號的包絡(luò)
s=exp(j*2*pi*f0*t);
% ====== 陣列流型矢量
a_theta=exp(j*pi*2*d/lamda*a*sin(theta*pi/180));
X=a_theta*s;
x=[];
for ii=1:length(theta)
Rx=X(:,ii)*X(:,ii)';
for i1=1:M
for i2=i1:M
if i2==i1 x=[x Rx(i1,i2)];else x=[x real(Rx(i1,i2)) imag(Rx(i1,i2))];end
end
end
xi(ii,=x/norm(x);x=[];
end
%初始化數(shù)據(jù)
tt=theta;
err_goal=1.0e-6;sc=5;
net=newrb(xi.',tt,err_goal,sc,200,1);
%測試
ty=sim(net,xi.');tE=tt-ty;
tSSE=sse(tE);tMSE=mse(tE);
%預測(測試)曲線
figure(1);plot(theta,'-+');hold on;plot(ty,'r:*');legend('實際值','預測值');title('RBF網(wǎng)絡(luò)模型輸出預測曲線');
xlabel('輸入樣本點');ylabel('角度 (\circ)');
figure(2);plot(ty-theta,'mo-');title('RBF網(wǎng)絡(luò)模型預測誤差曲線');
xlabel('輸入樣本點');ylabel('預測誤差 (\circ)');
% ==== ==== ==== ==== 估計
snap0=10;t0=[0:snap0-1]/fs;
s0=exp(j*2*pi*f0*t0);
theta0=2.5;a_theta0=exp(j*pi*2*d/lamda*a*sin(theta0*pi/180));
SNR=[0:2:30];snr=10.^(-SNR./20);
for kl=1:100
kl
noise0=(randn(M,snap0)+j*randn(M,snap0))/sqrt(2);
for ks=1:length(SNR)
noise=snr(ks)*noise0;
X0=a_theta0*s0+noise; % 加噪聲
x0=zeros(1,M^2);
Rx0=X0*X0'/snap0;
x0=[];
for i1=1:M
for i2=i1:M
if i2==i1 x0=[x0 Rx0(i1,i2)];else x0=[x0 real(Rx0(i1,i2)) imag(Rx0(i1,i2))];end
end
end
x0=x0./norm(x0);
cita(ks,kl)=sim(net,x0.');
end
end
for ks=1:length(SNR)
std_cita(ks)=sqrt(mean((cita(ks,-theta0).^2));
end
figure(3);plot(SNR,std_cita,'m+-');xlabel('信噪比 (dB)');ylabel('測角誤差 (\circ)');
title('測角誤差隨信噪比的變化');axis tight;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -