我使用 LMS(最小均方算法)的 Matlab 代码来均衡通道的效果,它适用于在 MATLAB 中生成的抽头延迟通道,但对于使用 optisystem 程序的光纤通道,它效果不佳,我认为问题出在光纤脉冲响应中,因为它不是有限脉冲响应,算法需要有限脉冲响应,但如何解决这个问题?
MATLAB 通道和光纤通道的星座,很明显第二个星座没有得到很好的均衡。
星座:
这是 LMS 算法无法补偿其影响的嘈杂通道的示例,是否有任何方法可以提高其在此 SNR 下的性能:
% // Set up parameters and signals.
M = 4; % // Alphabet size for modulation
msg = randint(15000,1,M); % // Random message
modmsg = pskmod(msg,M); % // Modulate using QPSK.
trainlen = 5000; % // Length of training sequence
chan = [.986; .845; .237; .123+.31i]; % // Channel coefficients
filtmsg = filter(chan,1,modmsg); % // Introduce channel distortion.
filtmsg=awgn(filtmsg,10,'measured');
% // Equalize the received signal.
eq1 = lineareq(8, lms(0.01)); % // Create an equalizer object.
eq1.SigConst = pskmod([0:M-1],M); % // Set signal constellation.
[symbolest,yd] = equalize(eq1,filtmsg,modmsg(1:trainlen)); % // Equalize.
% // Plot signals.
h = scatterplot(filtmsg,1,trainlen,'bx'); hold on;
scatterplot(symbolest,1,trainlen,'g.',h);