瑞利信道下基于判决反馈的16QAM信道均衡(matlab源码)

运行环境:matlab2018a;

这是一个简单的判决反馈的自适应均衡程序:

M=16;
hMod = comm.RectangularQAMModulator('ModulationOrder', M);
% hDemod = comm.RectangularQAMDemodulator('ModulationOrder', M);
rng(12345);
data = randi([0 15],5000,1);
modData = hMod(data);
% chan = comm.RayleighChannel('SampleRate',1000, ...
%     'PathDelays',[0 0.002 0.004 0.008],'AveragePathGains',[0 -3 -6 -9], 'MaximumDopplerShift',0.05);
chan = comm.RayleighChannel('SampleRate',10, ...
    'PathDelays',[0 0.4 0.9],'AveragePathGains',[0 -5 -10]);
rxSig = chan(modData);
numFFTaps = 15; %前馈滤波器抽头数
numFBTaps = 8; %反馈滤波器抽头数(一般是前馈数目的一半)
equalizerDFE = dfe(numFFTaps,numFBTaps,lms(0.001));
equalizerDFE.SigConst = constellation(hMod).';
trainlen = 1000;
[eqSig,detectedSig] = equalize(equalizerDFE,rxSig, ...
    modData(1:trainlen));
hScatter = scatterplot(rxSig,1,trainlen,'b.');
hold on
scatterplot(eqSig,1,trainlen,'kx',hScatter);
scatterplot(equalizerDFE.SigConst,1,0,'m*',hScatter);
axis([-4 4 -4 4])
legend('接收信号','LMS均衡后',...
    '理想星座');
hold off

运行结果:

结果其实还不错,信道建模设立的参数是参考SUI-3信道,斯坦福大学的临时信道。当然,这只是基带模拟下的结果,不过能说明判决反馈均衡比单纯的前馈式均衡效果要好很多。

猜你喜欢

转载自blog.csdn.net/lanluyug/article/details/88223179