第一范文网 - 专业文章范例文档资料分享平台

MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明

来源:用户分享 时间:2025/8/30 19:14:52 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明

MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明 一、系统模型 统计误码率 统计误码率 X与Y比较 X与Z比较

YX自适应均衡器信源ISI信道+步长可调Z2(0,,) 高斯白噪声

二、ISI信道仿真及LSM算法自适应均衡器原理

1、发送端和接收端滤波器的级联和在采样瞬间时的信道可用等效的离散时间FIR信道

0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088},滤波器来表示,Xn={

n={-5,-4,…,5}。

2、基于MSE准则的均衡器抽头系数的自适应算法为: ^^

ccey,,,,kk1 kk ^

ey其中代表抽头系数向量的估值,为迭代过程中的步长参数,为误差信号,代表在瞬,ckkk时k包含均衡器中2k+1接收信号值的行向量。

zaeaz,,e误差信号表示为:;为均衡器输出,为已知信号序列。最初用一已kkkkkk

a知伪随机序列{}在信道上将这个自适应均衡器进行训练。在解调器端,均衡器用这个已k

知序列去调整它的系数,一旦初始调节完成,自适应均衡器就从一个训练模式切换到直接判

^^

eaz,,决模式,这时:,式中是检测器的输出。 akkkk

为了确保收敛和在慢变化信道中好的跟踪能力,选择步长参数的一种经验公式是

1,, kP,5(21)R

P式中代表接收到的信号加噪声的功率,它可以从接收信号中估计出。 R 三、仿真结果图

四、结论分析

从结果图中我们可以看出,在信噪比逐渐增大的过程中,未经均衡器均衡的差错率没有明显改善,可知系统中始终存在码间干扰造成的误码;经均衡器均衡后的差错率则有明显改善。

但我们同时也可以看到在信噪比较低情况下,均衡器均衡之后的误码率并没有明显改善,甚至没有未均衡的差错率低,这主要是因为噪声为随机信号,功率大时对源信号影响较大,而且均衡器不易跟踪;当我们把均衡器的步长调低后,跟踪能力增强,差错率降低。

附源程序代码: main_plot.m

clear;clc;echo off;close all; N=10000; %指定信号序列长度

info=random_binary(N); %产生二进制信号序列 SNR_in_dB=8:1:18; %AWGN信道信噪比 for j=1:length(SNR_in_dB)

[y,len]=channel(info,SNR_in_dB(j)); %通过既有码间干扰又有白噪声信道 numoferr=0; %初始误码统计数

for i=len+1:N+len, %从第len个码元开始为真实信号码元 if (y(i)<0), %判决译码 decis=-1; else decis=1; end;

if (decis~=info(i-5)), %判断是否误码,统计误码码元个数 numoferr=numoferr+1; end; end;

Pe(j)=numoferr/N; % 未经均衡器均衡,得到的误码率 end;

semilogy(SNR_in_dB,Pe,'red*-'); %未经均衡器,误码率结果图 hold on;

delta_1=0.11; %指定自适应均衡器的步长 delta_2=0.09; %指定自适应均衡器的步长 for j=1:length(SNR_in_dB)

y=channel(info,SNR_in_dB(j)); %通过信道

z=lms_equalizer(y,info,delta_1); %通过自适应均衡器,并设置步长为0.11 numoferr=0; for i=1:N, if (z(i)<0), decis=-1; else decis=1; end;

if (decis~=info(i)), numoferr=numoferr+1; end; end;

Pe(j)=numoferr/N; % 经自适应均衡器均衡后,得到的误码率 end; semilogy(SNR_in_dB,Pe,'blacko-'); %自适应均衡器均衡之后,误码率结果图

hold on;

for j=1:length(SNR_in_dB)

y=channel(info,SNR_in_dB(j)); %通过信道

z=lms_equalizer(y,info,delta_2); %通过自适应均衡器,并设置步长为0.09

numoferr=0; for i=1:N, if (z(i)<0), decis=-1; else decis=1; end;

if (decis~=info(i)), numoferr=numoferr+1; end; end;

Pe(j)=numoferr/N; % 经自适应均衡器均衡后,得到的误码率 end;

semilogy(SNR_in_dB,Pe,'blue.-'); %自适应均衡器均衡之后,误码率结果图 hold on;

xlabel('SNR in dB'); ylabel('Pe');

title('ISI信道自适应均衡系统仿真');

legend('未经均衡器均衡','经自适应均衡器均衡,步长detla=0.11',... '经自适应均衡器均衡,步长detla=0.09'); random_binary.m %产生二进制信源随机序列

function [info]=random_binary(N)

if nargin == 0, %如果没有输入参数,则指定信息序列为10000个码元 N=10000;

MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c40jot9eibz9x6b742rz56u75f0b43501d7u_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top