资源简介
功率倒置算法的LMS实现,因为自己遇到了点问题,本人一直在找这个程序,没找到,故自己重新检查把问题发现了,相信如果你要实现的话可能会遇到这个问题祝你好运!
代码片段和文件信息
clear;
clc;
close all;
%-------------<<<<参数设置>>>>-------------%
M=10; %%阵元数目
L=1024*2*2*2;
N=3; %%信源数目
ima=sqrt(-1);
thetaa=[-30 -10 -40 ];
snr=10;
C=3e8;
fs=4e8; %%采样率
Ts=1/fs;
%--------------<<<<信号构造>>>--------------%
t=(0:L-1)*Ts;
f=[1e6;1.5e6;2e6;]; %%五个信号频点2.5e6;3e6
%S=randn(3L); %%五个信号
S=exp(j*2*pi*f*t);
% S=ones(3L);
f0=100e6; %%中心频率
lamda=C/f0;
d=0.5*lamda;
%%%导向矢量
a=[0:M-1]‘;
A=exp(j*2*pi*a*d*sin((thetaa)/180*pi)/lamda);
%%%信号产生
X0=A*S;
X=awgn(real(X0)snr)+j*awgn(imag(X0)snr); %%加噪声
Rx=X*X‘;
S0=[1zeros(19)]‘;
wopt=inv(Rx)*S0*inv(S0‘*inv(Rx)*S0);
X_out=wopt‘*X;
figure(1)
plot(((0:L-1)-L/2)*fs/L20*log10(fftshift(abs(fft(X_out)))));
hold on;
plot(((0:L-1)-L/2)*fs/L20*log10(fftshift(abs(fft(X(1:)))))‘r‘);
[VD]=eig(Rx); %求矩阵的特征值
E=diag(D);
u=0.0002;
w=zeros(91);
w_1=[];
for i=1:L
d0=X(1i);
xn=X(2:10i);
e=d0-w‘*xn;
w=w+u*xn*e‘;
% w=w-2*u*(eye(10)-S0*S0‘/(S0‘*S0))*X*X‘*w;
w_1=[w_1w];
end
w_opt=[1;-w];
%w_opt=w;
X_out2=w_opt‘*X;
plot(((0:L-1)-L/2)*fs/L20*log10(fftshift(abs(fft(X_out2))))‘g‘);
figure(2)
subplot(411)
plot(real(w_1(1:)))
subplot(412)
plot(imag(w_1(1:)))
subplot(413)
plot(real(w_1(2:)))
subplot(414)
plot(imag(w_1(2:)))
F_mvdr=zeros(1181);
theta=-90:90;
for i=1:length(theta)
a_theta=exp(1i*2*pi*d/lamda*a*sin((theta(i))/180*pi)); %%
F_mvdr(i)=wopt‘*a_theta;
F_mvdr1(i)=w_opt‘*a_theta;
end
F_mvdr=20*log10(abs(F_mvdr)/max(F_mvdr));
F_mvdr1=20*log10(abs(F_mvdr1)/max(F_mvdr1));
figure(6)
subplot(211)
plot(thetaF_mvdr);
subplot(212)
plot(thetaF_mvdr1);
% [V1D1]=eig(Rx1); %求矩阵的特征值
% %提取D矩阵的对角线构成一个一列矩阵
% E1=diag(D1);
% Un=V(:1:M-N); %噪声子空间
% Un1=V1(:1:M-N);
% %--------------<<<<谱峰搜索>>>-------------%
% theta=-90:0.2:90;
% for ff=1:length(theta)
% a_theta=exp(1i*2*pi*d/lamda*a*sin((theta(ff)-20)/180*pi)); %%
% Pmusic(ff)=10*log10(1/abs((a_theta‘*Un*Un‘*a_theta))); %%Music搜索
% Pmusic1(ff)=10*log10(1/abs((a_theta‘*Un1*Un1‘*a_theta)));
% Capon(ff)=10*log10(1/abs(a_theta‘*inv(Rx)*a_theta)); %%Capon算法搜索
% end
%
% figure(1);
% plot(thetaPmusic);
% xlabel(‘DOA(°)‘)ylabel(‘Pmmusic(db)‘);title(‘经典MUSIC算法‘);
% grid on
% hold on;
% plot(thetaPmusic1‘r‘);
% xlabel(‘DOA(°)‘)ylabel(‘Pmmusic1(db)‘);title(‘经典MUSIC算法‘);
%
% figure(2);
% plot(thetaCapon);
% xlabel(‘DOA(°)‘)ylabel(‘谱峰(db)‘);title(‘Capon算法‘)
% grid on
%
% thetab=[60 55 80 82 110 76];
%
% A1=exp(j*2*pi*a*d*sin((90-thetab)/180*pi)/lamda);
% S1=randn(2*NL);
% %%%信号产生
% X00=A1*S1;
% X11=awgn(real(X00)snr)+j*awgn(imag(X00)snr); %%加噪声
%
%
%
% r=X11*X11‘/L;
% R=pinv(r);
%
%
% c=A1;
% f=[1 0 0 0 0 0]‘;
% % c=[a1theta a4theta a5theta a6theta];
% % f=[1 0 0 0]‘;
% Wopt=R*c*inv(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5167 2013-06-20 10:29 LMS_PI.m
----------- --------- ---------- ----- ----
5167 1
- 上一篇:4阶龙格库塔解二阶微分方程
- 下一篇:final-report-n-ppt
相关资源
- Eriksson method
- 仿射投影APA与NLMS算法比较
- GPS抗干扰天线仿真
- 最小二乘算法(LMS)处理滤波并预测
- LMS RLS CMA 自适应均衡算法matlab仿真
- 基于LMS算法的自适应均衡器的MATLAB实
- 自适应滤波器的理论研究及Matlab仿真
- matlab频域自适应滤波器(FDAF)演示
- vsslms与传统算法比较
- anc 基于FXLMS算法的有源噪声控制源码
- aec回声对消算法rlsfrlsnlmsapa的matlab仿真
- SVSLMS 本程序提出了变步长自适应滤波
- TheuseandyanjiuofAdaptivefilter 该文档是自适
- LMS-of-image 最小二乘影像匹配
- LMS
-
blood-pressure-algorithm-ba
sed-PPG 基于PP - gps-weiner 维纳滤波与功率倒置阵比较
- 最小平方误差设计分类器
- lms-nlms-rls-matlab
-
用matlab编写的LMS算法-unti
tled3.fig - 神经网络导论课程实验1代码
- 语音去噪LMS自适应滤波算法
- LMS算法的MATLAB实现
- 最小均方滤波算法LMS算法
- 最小均方差LMS算法matlab实现.docx
- LMS性能指标 权值幅度、跟踪曲线、收
- 16QAM DDLMS 均衡算法仿真
- LMS均衡算法的matlab仿真
- LMS自适应噪声对消matlab
- dspII课程作业1-LMS最陡下降法matlab算法
评论
共有 条评论