clear all
close all
L=16000;
M=16;
m=10;
mu=0.004;
a=qam(M,L);
a=a/mean(abs(a).^2);
a_r=real(a);
a_i=imag(a);
R_r=mean(a_r.^4)/mean(a_r.^2);
R_i=mean(a_i.^4)/mean(a_i.^2);
Nf=17;
Num=100;
f=zeros(Nf,L-Nf+1);
% Center spike init
f(ceil(Nf/2),1)=1;
% Define noise & SNR simulation length
snrdb=20;
snr=10^(snrdb/10);
n=sqrt(1/(2*snr))*(randn(L,1)+i*randn(L,1));
h=[-0.005-0.004j 0.009-0.3j -0.0024-0.104j 0.854+0.52j -0.218+0.273j 0.049-0.074j ...
-0.16+0.2j];
% Transmit
r=filter(h,1,a)+n;
% Define error and equalizer output
e=zeros(1,L-Nf+1);
e_r=zeros(1,L-Nf+1);
e_i=zeros(1,L-Nf+1);
y=zeros(1,L-Nf+1);
y_r=zeros(1,L-Nf+1);
y_i=zeros(1,L-Nf+1);
isi_ave=zeros(1,L-Num-Num+1);
for t=1:m,
for k=Nf:L,
R=r(k:-1:k-Nf+1);
y(k-Nf+1)=R.'*f(:,k-Nf+1);
y_r(k-Nf+1)=real(y(k-Nf+1));
y_i(k-Nf+1)=imag(y(k-Nf+1));
e_r(k-Nf+1)=y_r(k-Nf+1)*(y_r(k-Nf+1)^2-R_r);
e_i(k-Nf+1)=y_i(k-Nf+1)*(y_i(k-Nf+1)^2-R_i);
e(k-Nf+1)=e_r(k-Nf+1)+i*e_i(k-Nf+1);
f(:,k-Nf+2)=f(:,k-Nf+1)-mu*e(k-Nf+1)*conj(R);
end;
for jj=Num:L-Num,
cr=conv(h,f(:,jj));
isi(jj-Num+1)=(sum(abs(cr).^2)-max(abs(cr).^2))/max(abs(cr).^2);
end;
isi_ave=isi_ave+isi;
end;
isi_ave=isi_ave/m;
isi_ave=10*log10(isi_ave);
% Run new data to get eye diagram
% make sure to get odd samples
ynew=filter(f(:,L-Nf+1),1,r);
ynew=ynew(Num:length(ynew)-Num);
figure(1);
plot(real(r),imag(r),'*');
grid, title('输入信号的星座图'); xlabel('Real'), ylabel('Image')
figure(2);
subplot(2,2,1),
plot(real(a),imag(a),'*');
grid,title('原始星座图'); xlabel('Real'),ylabel('Image')
% subplot(3,2,2),
% plot(real(x),imag(x),'o');
% grid, title('均衡器输入信号的星座图'); xlabel('Real'), ylabel('Image')
subplot(2,2,2),
plot(real(ynew),imag(ynew),'*'); % show the pattern of the equalized symbols
grid, title('均衡后星座图'), xlabel('Real'), ylabel('Image')
subplot(2,2,3),
plot(isi_ave); % show the convergence
grid, title('ISI'), xlabel('迭代次数'), ylabel('ISI(dB)')
subplot(2,2,4),
plot(real(y),imag(y),'*');
grid, title('均衡器输入信号的星座图'); xlabel('Real'), ylabel('Image')
16QAM.rar_16 QAM _16QAM仿真代码_16qam_faceoru_leather9vw
版权申诉
161 浏览量
2022-09-21
01:08:17
上传
评论
收藏 18KB RAR 举报
Kinonoyomeo
- 粉丝: 77
- 资源: 1万+
最新资源
- 基于Javascript和Python的微商城项目设计源码 - MicroMall
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈