lyn 发表于 2010-3-31 09:30

用music算法做信号的时间延迟估计的程序

请大家帮帮忙:用music算法做信号的时间延迟估计或者联合DOA和时间延迟估计的算法的程序,非常感谢!急求!

[ 本帖最后由 ChaChing 于 2010-4-7 21:05 编辑 ]

ChaChing 发表于 2010-4-7 21:09

本版规则
6) 求助完整格式:出错代码和出错提示

何况LZ问的是专业问题, 待高人路过吧!:loveliness:

lyn 发表于 2010-4-9 14:48

请大家帮忙看看程序哪里错了!

请大家帮忙看看程序哪里错了
以下是我写的用music算法求时间延迟的程序,出来的结果不对,而且每次运行的结果都不一样,请大家给看看哪里错了!急!


%交代已知条件
clear
close all
f=1*10^8;%载波频率
c=3*10^8;
lamda=c/f;%载波波长
d=lamda/2;%阵元间距
n=10;s=3;%天线个数是10,入射信号个数为3
f1=2*10^8;    %入射信号的频率为10,入射角度为40度
thita1=40;
thita2=90;
thita3=135;

%snapshot=1:100;
L=100;dt=0.01;
LL=0:L-1;t=LL*dt;
S1=exp(j*2*pi*f1*(t-0.10));   
S2=exp(j*2*pi*f1*(t-0.20));
S3=exp(j*2*pi*f1*(t-0.50));
S=;
A1=10*exp(-j*2*pi*d**cos(thita1*pi/180)/lamda).';
A2=10*exp(-j*2*pi*d**cos(thita2*pi/180)/lamda).';%方向向量的表达式
A3=10*exp(-j*2*pi*d**cos(thita3*pi/180)/lamda).';
A=;
SNR=10;
y=A*S;
X = awgn(y,SNR);
%for k=1:n
   % x(:,k)=X(k,:)';
%end
x=X';
xx=x*x'/n;%求协方差矩阵
%XX=sum(xx)/n;
%R=cov(X'); %求协方差矩阵
=eig(xx);%求特征值d和特征向量v
%diag(D) 把对角线上的元素取出来排成一列
=sort(diag(D));%排序对D进行排序放在Y中,I中放指针数值,升序排列
Un=V(:,I(1:n-s));
delay=0:0.1:1;
for i=1:length(delay)
    SS=exp(j*2*pi*f1*(t-delay(i))).';
   Pmusic(i)=(SS'*SS)/(SS'*Un*Un'*SS);
end
figure(1);
plot(delay,10*log10(abs(Pmusic)/max(abs(Pmusic))),'r--');%横坐标是入射角度 纵坐标是归一化的功率/db
grid on;
hold on;
xlabel('时间延迟(s)');
ylabel('输出功率(dB)');
title('普通music算法');
legend('普通MUSIC');
页: [1]
查看完整版本: 用music算法做信号的时间延迟估计的程序