📄 rls_rf3.m
字号:
clc;clear all;close all;
% 纯净信号为数字调幅信号8ASK,载频100KHz,波特率1KHz,采样率600K
x = dmod([0,3,1,3,2,0],100e3,1e3,600e3,'ask',8)';
N = length(x);
%-------------------不随机产生的相关噪声-----------------------------------
s=awgn(x,3,'measured');
n1=wgn(1,N,1)';
kkk=0.8;
n2(1:(kkk*N))=n1(1:(kkk*N));
n3=wgn(1,N,1)';
n2((kkk*N+1):N)=n3((kkk*N+1):N);
n2=n2';
s=x+n1;
%-------------------随机产生的相关噪声-------------------------------------
% n1=wgn(1,N,1)';
% kk=300;
% loca=randint(kk,1,[1,N]);
% pp=sort(loca);
% n2=n1;
% n3=wgn(1,N,1)';
% n2(pp)=n3(pp);
% corr2(n1,n2)
% s=x+n1;
%-----用于测试n1与n2有几个元素不同---------------------
% aaa=0;
% for iii=1:N
% if (n1(iii)-n2(iii))
% aaa=aaa+1;
% end
% end
%---------------------原始信号信噪比及均方差分析---------------------
snrin=20*log10(norm(x)/norm(s-x));
msein=mmse(s-x);
%--------------------数据初始化---------------------------------------
itr=length(x);
m = 4; % 滤波器阶数
lmda = 0.99; % 遗忘因子
cm=35*eye(m);
ww(m)=0;
w=ww';
for i=1:N
xxm(m)=0;
for j=1:1:m
if i+1-j<=0 % 见自适应信号处理,何振亚,P71
xxm(j)=0;
else
xxm(j)=n2(i+1-j);
end
end
xm=xxm';
%---------------------LMS算法----------------------------
d=s(i);
u=xm'*cm*xm;
gm=cm*xm./(lmda+u);
w=w+gm*(d-xm'*w);
e(i)=d-xm'*w;
cm=(cm-gm*xm'*cm)./lmda;
y(i)=xm'*w;
end
snrout=20*log10(norm(x)/norm(y-x));
mseout=mmse(y-x);
snradd=snrout-snrin
mseadd=msein/mseout
figure,
subplot(3,1,1) ; plot(x) ; title('原始信号');
subplot(3,1,2) ; plot(s) ; title('含噪信号');axis([0,4000,-2,2]);
subplot(3,1,3) ; plot(e) ; title('去噪后信号');axis([0,4000,-1.5,1.5]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -