【实例简介】matlab实现的基于NLMS算法的判决反馈(DFE)均衡

【实例截图】

【核心代码】

clc;clear;

% load('channel.mat')

% load('originalBits');

% load('interleave');%交织位置

% load('qpsk_whiten_seq.mat')%白化序列

% load('codedBits.mat')%

% load('train');%训练符号

% load('H700');

h =[0 1 0];%指定仿真信道

N=1024;%数据长度

x=randsrc(1,N,[0,1;0.5,0.5]);%注释:产生有N个数的01随机序列,0、1概率都为0.5

SNRdB = 10:2:20;%信噪比

hMod= modem.qammod(4,-pi/2);%4QAM mode -pi/2的初始相位

hDemod = modem.qamdemod(hMod);%4QAM demode

treils=poly2trellis(3,[7 5]);%卷积编码网格 码率为1/2

data_trans=convenc(x,treils);

bits_trans_int=convert2dec(data_trans);%转为十进制

train=modulate(hMod,bits_trans_int);%调制

SNR = 10^(SNRdB(1)/10); % 注释:将信噪比dB值转化为线性值

ynoisy = conv(train,h);

ynoisy=awgn(ynoisy,SNR,'measured');

% oriBits=crc_bit_xor(originalBits(:,1),qpsk_whiten_seq);

[symerrate]=LMS_Equalization(ynoisy,train,hMod,hDemod);

%[MSER_errate10,DFE_MSER_errate10,DFE_LMS_errate10]=turbo_equalization(ynoisy,train,oriBits,interleave,5);

%[symerrate]=LMS_Equalization_track_time(ynoisy,train,hMod,hDemod);

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐