📄 mma.m
字号:
% 盲信道均衡MMA算法
clear all;
clc
N=12000;%数据点总数
SNRdB=25;%信噪比
Lf=11;%滤波器阶数=Lf + 1
% Lh=5;% 信道阶数
Dy=round((Lf+1)/2) ;
h=[1 0 0.5];% 信道冲激响应
M=16; % 产生8PSK信号
x=randint(N,1,M);
s=pskmod(x,M)';
% sx=awgn(s,SNRdB,'measured');
sx=s;
x=sx;
% x=filter(h,1,sx) ; % 信号通过信道
x=x/std(x) ; % 信号功率归一化
Lp=7000;%迭代次数
X=zeros(Lf+1,1);
e=zeros(1,Lp);
w=zeros(Lf+1,1);
w(Dy)=1; % 初始化
s=s/std(s);
% R2=mean(real(s).^4)/mean(real(s).^2);
R2=1;
mu=0.002; % 步长
for i=1:Lp
X=x(i+Lf:-1:i)';
yk=w'*X;% 滤波器输出
e(i)=real(yk).^3+j*(imag(yk).^3)-R2*yk;; %产生误差信号
w =w-mu*e(i)'*X; %更新
end
for i=1:Lp
sb(i)=w'*x(i+Lf:-1:i)'; % 均衡接收信号
end ;
%c=subclust([real(sb)' imag(sb)'],0.10)
subplot(1,2,1)
plot (sx/std(sx),'.') ;
grid ,title ('存在相位偏转信号星座图,SNR=25dB') ; xlabel ('Real') ,ylabel ('Image')
subplot(1,2,2)
plot (x ,'.') ;
grid , title ('接收信号星座图') ; xlabel ('Real') , ylabel ('Image')
figure(2),
% plot (real(sb),imag(sb) ,'.',c(:,1),c(:,2),'rs') ;
plot (real(sb),imag(sb) ,'.') ;
grid , title ( '均衡后的信号星座图') , xlabel ( 'Re2al') , ylabel ('Image')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -