基于迫零准则的自适应线性均衡器的MATLAB仿真

Posted fpga&matlab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于迫零准则的自适应线性均衡器的MATLAB仿真相关的知识,希望对你有一定的参考价值。

0.完整源码获得方式

订阅MATLAB/FPGA教程,免费获得教程案例以及任意2份完整源码

1.软件版本

MATLAB2013b

2.本算法理论知识

       在数字通信系统中,码间串扰和加性噪声是造成信号传输失真的主要因素,为克服码间串扰,在接收滤波器和抽样判决器之间附加一个可调滤波器,用以校正(或补偿)这些失真。对系统中线性失真进行校正的过程称为均衡,实现均衡的滤波器称为均衡滤波器。

       由于实际的限带信道的传递函数往往是非理想的,且经常是事变的、未知的,因而系统特性不符合奈窐斯特准则,导致在接受端抽样时刻存在码间干扰,使得系统误码性能下降。为此,要考虑在信道传递函数是非理想情况,且信号在信道传输中受到加性白高斯噪声干扰条件下的接收机的设计问题。本文提出了基于迫零算法的信道均衡器,对迫零线性均衡器进行了理论分析,并在Matlab中进行仿真得到了良好的仿真结果。

      理论和实践证明,在数字通信系统中插入一种可调滤波器可以校正和补偿系统特性,减少码间干扰的影响。这种起补偿作用的滤波器称为均衡器。

 

      均衡器通常是用滤波器来实现的,使用滤波器来补偿失真的脉冲,判决器得到的解调输出样本,是经过均衡器修正过的或者清除了码间干扰之后的样本。自适应均衡器直接从传输的实际数字信号中根据某种算法不断调整增益,因而能适应信道的随机变化,使均衡器总是保持最佳的工作状态,从而有更好的失真补偿性能。

      均衡器从调整参数至形成收敛,整个过程是均衡器算法、结构和通信变化率的函数。为了能有效的消除码间干扰,均衡器需要周期性的做重复训练。在数字通信系统中用户数据是被分为若千段并被放在相应的时间段中传送的,每当收到新的时间段,均衡器将用同祥的训练序列进行修正。均衡器一般被放在接收机的基带或中频部分实现,基带包络的复数表达式可以描述带通信号波形,所以信道响应、解调信号和自适应算法通常都可以在基带部分被仿真和实现。

      均衡技术可以分为两大类:线性和非线性均衡。这些种类是由自适应均衡器的输出接下来是如何控制均衡器来划分的。判决器决定了接收数字信号比特的值并应用门限电平来决定的值。如果在反馈路径中调整均衡器,均衡器就是线性的。另一方面,如果d (t)反馈回来调整均衡器,则为非线性均衡。线性均衡器包括线性横向均衡器、线性格型均衡器等等,非线性均衡器包括判决反馈均衡器、最大似然序列均衡器等等。

    这里我们将重点介绍横向均衡器。

横向(时间延迟或递归) 均衡器是自适应均衡发展方案中的最简单形式。在实际应用中为使参数调整得以顺利进行, 把输出信号进行判决所得的估计信号作为理想信号,这样,整个数字均衡器成了一个非线性系统,其收敛性分析相当麻烦,但在信道畸变不是特别严重的情况下,其收敛域能够得到保证,可以用线性系统的分析方法对其进行分析。其基本结构如下所示:

 

 

式中上角“T”表示矩阵的转置。

线性横向均衡器最大的优点就在于其结构非常简单,容易实现,因此在各种数字通信系统中得到了广泛的应用。但是其结构决定了两个难以克服的缺点:

其一就是噪声的增强会使线性横向均衡器无法均衡具有深度零点的信道-为了补偿信道的深度零点,线性横向均衡器必须有高增益的频率响应,然而同时无法避免的也会放大噪声。

另一个问题是线性横向均衡器与接收信号的幅度信息关系密切,而幅度会随着多径衰落信道中相邻码元的改变而改变,因此滤波器抽头系数的调整不是独立的。由于以上两点线性横向均衡器在畸变严重的信道和低信噪比(SNR)环境中性能较差,而且均衡器的抽头调整相互影响,从而需要更多的抽头数目。

        迫零算法是由Lucky于1965年提出的,他在分析中略去了信道的加性噪声,所以在实际存在噪声的情况下由该算法得到的解不一定是最佳的,但它易于实现。

      所以在信道的频率响应特性比较平坦,所引起的码间干扰不太严重的情况下,由该算法可达到信道均衡的效果。在横向滤波器的延迟单元N为无穷多个的理想线性均衡条件下:

 为消除收端抽样时刻的码间干扰,希望:

 在实际应用中,常用的是截短的横向滤波器,因而不可能完全消除收端抽样时刻的码间干扰,只能适当的调整各抽头系数,尽量减小码间干扰。此时,可使:

 

 

3.部分核心代码

clc;
clear;
close all;

      
N = 5000;    %仿真时间
step = 0.01; 
T    = 1; 
SNR = 8;

%step 1
%模拟带有ISI的信号
[signal_with_ISI,r0]=ana_of_receive_signal_with_ISI(N,step,T);


% step2
% 通过信道,加入噪声
signal_with_ISI_noise = add_noise(signal_with_ISI,SNR);
% step 3
% 横向滤波器
filters(T);

% step 4
% 迫零算法
ZF_out = ZF();

% step 5
% 基于迫零算法的横向滤波器的系数调整
ZF_filter = filters_ZF();



%step6
%bit数据还原
for i = 1:length(ZF_filter)
    if ZF_filter(i) < 0
        signal(1+floor(i/100)) = -1;
    else
        signal(1+floor(i/100)) = 1;
    end
end
signal = signal';
rs=signal(1:length(signal)-1);
figure
stem(rs,'r-*');axis([0,length(rs),-2,2]);title('二进制比特流数据');


error=find(rs ~=r0);
error_rate=length(error)/N;

4.操作步骤与仿真结论

5.参考文献

[1]张力军,张宗橙,郑宝玉数字通信[M]John G,Proakis.译.4版.北京:电子工业出版社.2003.

[2]樊昌信,徐炳祥,吴成柯.通信原理[M].6版..北京:国防工业出版社.2005.

[3]Simom Haykin著.自适应滤波器原理第四版.北京:电子工业出版社.2002

[4]王兴亮.数字通信原理与技术(第二版).西安:西安电子科技大学出版社.2003

[5]陈怀琛等著.《MATLAB及在电子信息课程中的应用》(第三版),电子工业出版社,2006

[6]邹琨等著.《MATLAB6.X信号处理》(第一版),清华大学出版社,2002

[7]周炯磐等著.《通信原理》(第三版),北京邮电大学出版社,2008

[8]赵静等著.《基于MATLAB的通信系统仿真》(第一版),北京航空航天大学出版社,2007

[9]田丽华.信息论、编码与密码学.西安电子科技大学出版社.2008

[10]H.Sail,G.Karam.I.Jjeanclaude.Frequency-domain Equalization of Mobile Radio and Terrestrial Broadca Channels.In GLOBEC0M94.1994.

[11]A.Czylwik.Comparison between Adaptive OFDM an Single Carrier Modulation with Frequ ency Domain EqualizaTion.1997

[12]J.Tubbax,B.Come,LV.Perre,L.Deneire,S.Donnav Engles.OFDM Versus Single Carrier with Cyclic Prefix:System-base Comparison for Binary modulation.2001

[13]沈福民编著 《自适应信号处理》,西安:西安电子科技大学出版社,2001.3;

[14]丁玉美,高西全编著 《数字信号处理》,西安:西安电子科技大学,2000.12;

[15]张平等编 《MATLAB基础与应用简明教程》,北京:北京航空航天大学出版社,2001.1

[15]李建新编 《现代通信系统分析与仿真—MATLAB通信工具箱》,西安电子科技大学出版社2000.11

A01-28

以上是关于基于迫零准则的自适应线性均衡器的MATLAB仿真的主要内容,如果未能解决你的问题,请参考以下文章

单目标优化求解基于matlab非线性权重的自适应鲸鱼算法求解单目标优化问题(NWAWOA)含Matlab源码 1665期

基于BP/RBF神经网络的在线信道估计均衡算法matlab仿真

基于维纳滤波的图像运动模糊还原matlab仿真

自适应FSK数字FSK调制信号的自适应解调的MATLAB仿真

双边滤波基于小波变换的多尺度自适应THZ增强双边滤波器的MATLAB仿真

基于13位巴克码和线性调频混合调制信号MTI,MTD以及CFAR的matlab仿真