数字时域均衡器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字时域均衡器设计
摘要:本文介绍了数字时域均衡器的基本结构,以及LMS算法的基本原理,并对基于LMS 算法的自适应均衡器进行了Matlab仿真设计。

另外,通过改变其参数,对均衡器的收敛速度和性能进行了相关分析。

关键词:时域均衡器;LMS算法;Matlab仿真
Abstract:This paper describes the basic structure of a digital time-domain equalizer and the basic principles of an LMS-algorithm. And the Matlab-simulation of the adaptive equalizer based on LMS algorithm is also carried out.In addition, by changing its parameters, I analyzed the equalizer convergence speed and performance
Key words:time-domain equalizer; LMS-algorithm; Matlab-simulation
在数字通信系统中,信号的传输过程中存在信道带宽的限制和多径传播的影响,会产生码间干扰。

这时便需要均衡器来消除码间干扰,从而提高数据传输的可靠性,其机理是对信道或整个传输系统特性进行补偿,从而达到系统传输的要求。

然而随着现代通信技术的迅猛发展,人们对于通信系统速率和稳定性的要求的提高,再加上现实中信道特性是未知的,传统的均衡器已经无法满足系统的要求,必须使用能够实时快速跟踪信道变化、具有较强时变能力的均衡器,即自适应均衡器。

本文介绍的基于LMS算法的自适应均衡器,有着其独特
的优点和广阔的应用前景。

一时域均衡器
(一)均衡器介绍
均衡器按研究的角度和领域,可分为频域均衡器和时域均衡器两大类。

频域均衡器是从校正系统的频率特性的角度出发,利用滤波器的频率特性去补偿系统的频率特性,使系统的总特性接近无失真传播条件;时域均衡器用来直接校正已失真的响应波形,使包括可调滤波器在内的整个系统的冲激响应满足无码间串扰条件。

其中时域均衡可以根据信道特性的变化进行自动调整,在数字传输系统中,尤其是高速数据传输中得以广泛应用。

另外,时域均衡器又分为线性均衡器和非线性均衡器,线性均衡器是指自适应均衡器的判决输出没有被用于均衡器的反馈逻辑中,不会反过来改变均衡器的参数;反之,就是非均线性均衡器。

(二)时域均衡器原理
在信道传递有用信号之前需要对自适应时域均衡器进行训练。

在训练过程中,发射机会发射一组已知的固定长度的训练序列,接收机根据训练序列设定滤波器的参数,使检测误码率最小。

训练序列结束后,均衡器参数接近最佳值,该状态被称作均衡器的收敛。

在传递信号时均衡器还会不断随信道特性的变化对均衡器参数做出相应的改变。

一般,均衡器需要周期性地训练以保证一直有效地减小码间干扰。

下面先介绍时域均衡器的原理。

图1.2.1数字基带传输系统
数字基带传输系统基本结构如图1.2.1所示,其系统特性为H ω =G T ω C ω G R ω 。

当H ω 不满足奈奎斯特第一准则时,输出信号波形便产生码间串扰。

理论上可以证明:如果在接收滤波器和抽样判决之间插入一个可调的横向滤波器,就可以使插入后的总系统特性满足奈奎斯特第一准则,该滤波器的其冲激响应为
∑∞
-∞=-=
n S
n
T nT t C t h )
()(δ
其中
ω
ωπ
ωπ
πd e nT
H T T C s S
S
T jn T T i
S
S
S
n ⎰∑-
+=
)
(2
上述ℎT t 就是下面图1.2.2所示网络的单位冲激响应。

该网络是有无限多的按横向排列的迟延单元T s 和抽头加权系数C n 组成的,其利用无限多个响应波形之和,将接收滤波器输出端抽样时刻上有码间串扰的响应波形转化成抽样时刻上无码间串扰的响应波形。

图1.2.2 无限长横向滤波器
实际中,横向滤波器的抽头数不可能无限多。

又因为一个码元脉冲仅仅会对邻近的少数几个码元产生串扰,十几个抽头的滤波器就基本满足要求。

图1.1.3为有限长横向滤波器。

图1.2.3 有限长横向滤波器
下面对该有限长横向滤波器进行分析,其冲激响应为
∑-=-=
N
N
i S
i
iT t C t e )()(δ
设它的输入信号为)(t x ,则均衡后输出为
∑-=-=
*=N
N
i S
i
iT t x C t e t x t y )()()()(
在抽样时刻S kT t =上,有
∑-=-=
N
N
i i
k i k x
C y
y k k ≠0 表示波形失真引起的码间串扰。

当输入波形
(t x 给定,即x k−i 确定时,通过调整
C
可以使某个的y k 等于零,但很难实现y k k ≠0 同时等于零。

这说明,利用有限长的横向滤波器可以减小码间串扰,但不能完全消除。

当C n 可调整时,此滤波器是通用的;并且当C n 可
自动调整时,它能够适应信道特性的变化,动态地校正系统的码间串扰,接下来讨论基于LMS 算法的自适应均衡滤波器。

二LMS 算法
LMS(Least mean square)算法,即最小均方误差算法于1960年由B.Widrow 和M.E. Hoff
提出。

其采用梯度搜索法,收敛到最优解十分迅速,且原理简单,实施容易,目前广泛用于计算自适应滤波器的抽头增益系数。

通常,均衡器自适应过程可分为计算误差和根据误差两
个过程。

(一)误差计算
自适应滤波器结构如图2.1所示,如何产生输出信号y k 不再赘述。

输出信号y k 与期望信号d k 比较得到误差信号e k =d k −y k ,然后根据e k 并通过某种算法来控制、调整各个抽头系数W k 。

本文中,选取LMS 算法。

L
图2.1 自适应横向滤波器的结构
(二)LMS 原理
在均衡器的实际工作中,希望误差e k 达到最小,从统计学的角度,就是希望e k 的均方误差E e k 2 =E d k −y k 2 越小越好。

即当均方误差达到最小值时,该滤波器性能达到最优。

将y k 表示成抽头权值输入向量X k 和抽头权值向量W k 内积的形式,然后代入上式中,可知E e k 2 是以W k 为多维自变量的函数,并存合适的抽头权值向量W k 使得均方误差E e k 2 存在最小值。

可以看出寻找E e k 2 最小值的过程即是寻找最优抽头权值向量W k 的过程。

下面通过梯度搜索法也即最陡下降法的思想寻找W k ,即这是一个迭代过程,可以由下式给出
()k k k W W ∇-+=+μ1
其中∇k =
ðE e k 2 ðW k
是该次迭代时的梯度向量,− ∇k 是该次迭代的方向向量,常数μ是迭代时所用
的步长,又称作收敛因子。

在利用上述的最陡下降法计算∇k 时需要知道一些先验知识,而这在实际工作中是无法实现的,因此必须得到∇k 的估计值∇ k 。

在LMS 算法中,简单的取e k 2来代替均方误差E e k 2 ,可得到
∇ k =ðe k 2
ðW
k =-2e k X k 进一步计算可得此时自适应算法,即LMS 自适应算法
k k k k k k X e W W W μμ2ˆ1+=∇-=+
经推导,要使LMS 算法收敛,μ的取值范围应为0<μ<2MP x 。

其中M 滤波器的长度,P x 为
输入信号的功率。

由以上论述可以得出LMS 算法的具体步骤如下: a.初始化抽头系数矢量W k = 00⋯ T ,k =0; b. 循环以下步骤
(1)计算滤波器输出y k =W k H X k , (2)计算误差函数e k =d k −y k ,
(3)更新滤波器抽头系数矢量W k +1=W k +2μe k X k ;
三LMS 自适应均衡器的Matlab 设计与仿真
前面介绍了自适应均衡器的基本结构和LMS 算法的基本原理,下面在Matlab 中编写程序,对LMS 自适应均衡器进行仿真设计,并观察均衡器阶数N 和LMS 算法的步长因子μ改变时,均衡器收敛速度和收敛性能的变化。

本次仿真原始信号为s =sin πt 2 ,噪声为标准高斯白噪声,均衡器阶数N=128,步长μ=0.002。

仿真结果如图3.1所示。

图3.1 LMS 自适应均衡器输入、输出和均方误差曲线
下面不改变原始信号s 和附加噪声,仅分别改变均衡器阶数N=36和步长因子μ=0.001,均衡器输出波形和均方误差曲线分别如图3.2中的(a )和(b )所示。

(a)
(b)
图3.2(a ) N=36和μ=0.001时,自适应均衡器输出及均方误差曲线
四结论
通过上述对LMS 自适应均衡器的仿真,可以看出均衡器阶数N 和算法步长μ对均衡器性能有如下影响: (1)阶数N
在自适应均衡器的设计中,阶数N 的选取要根据实际仿真验证比较得出。

当阶数N 变大时,迭代次数增加,收敛速度也随之变快;但N 一定大时,收敛速度不再明显改变,且可能引起系数迭代过程不收敛。

(2)算法步长μ
μ的选取也要遵循一定的准则。

μ越小,收敛速度越慢,计算工作量越大,但滤波性能较好;反之,μ越大,收敛速度越快,计算工作量越小,但滤波性能较差。

且μ一定大时,收敛速度不再明显改变,也可能会造成计算溢出。

参考文献
[1]黄埔堪,陈建文,楼生强.现代数字信号处理[M].北京:电子工业出版社,2003. [2]沈福民.自适应信号处理[M].西安:西安电子科技大学出版社,2001.
[3]齐海兵.基于 FPGA 的横向 LMS 算法的实现[J].国外电子元器件,2007(1):31-34. [4]杜培宇.基于自适应滤波器的噪声抑制技术研究[D].硕士学位论文.山东:山东大学,2005.
100200300
4005006007008009001000
-202信号s 时域波形
n
s
020040060080010001200
-5
05信号s 加噪声后的时域波形
自适应滤波后的输出时域波形
均方误差曲线02s
200400
60080010001200
-505
自适应滤波后的输出时域波

均方误差曲线
附LMS自适应均衡器MATLAB仿真程序
g = 100; % 统计仿真次数为g
N = 1024; % 输入信号采样点数N
k = 128; % 时域抽头LMS算法滤波器阶数
pp = zeros(g,N-k); % 将每次独立循环的误差结果存于矩阵pp中
u = 0.002; %步长
for q = 1:g
t = 1:N;
a = 1;
s = sin(0.05*pi*t); % 输入单频信号s
figure(1);
subplot(411)
plot(t,real(s)); % 信号s 时域波形
title('信号s时域波形');
xlabel('n');
ylabel('s');
axis([0,N,-a-1,a+1]);
xn = awgn(s,5); % 加入均值为零的高斯白噪声,信噪比为3dB
y = zeros(1,N); % 设置初值输出信号y
y(1:k) = xn(1:k); % 将输入信号xn的前k个值作为输出y的前k个值w = zeros(1,k); % 设置抽头加权初值
e = zeros(1,N); % 误差信号
for i = (k+1):N % 用LMS算法迭代滤波
XN = xn((i-k+1):(i));
y(i) = w*XN';
e(i) = s(i)-y(i);
w = w+u*e(i)*XN;
end
pp(q,:) = (e(k+1:N)).^2;
end
subplot(412)
plot(t,real(xn)); % 信号s 时域波形
title('信号s加噪声后的时域波形');
subplot(413)
plot(t,real(y)); % 信号s 时域波形
title('自适应滤波后的输出时域波形');
for b = 1:N-k
bi(b) = sum(pp(:,b))/g; % 求误差的统计平均
end
t = 1:N-k;
subplot(414)
plot(t,bi,'r');
title('均方误差曲线');
hold on % 将每次循环的图形显示结果保存下来。

相关文档
最新文档