一.信道均衡的概念实际的基带传输系统不可能完全满足无码间串扰传输条件,因而码间串扰是不可避免的。
当串扰严重时,必须对系统的传输函数进行校正,使其达到或接近无码间串扰要求的特性。
理论和实践表明,在基带系统中插入一种可调滤波器就可以补偿整个系统的幅频,和相频特性从而减小码间串扰的影响这个对系统校正的过程称为均衡,实现均衡的滤波器称为均衡器。
均衡分为频域均衡和时域均衡。
频域均衡是从频率响应考虑,使包括均衡器在内的整个系统的总传输函数满足无失真传输条件。
而时域均衡,则是直接从时间响应考虑,使包括均衡器在内的整个系统的冲激响应满足无码间串扰条件。
频域均衡在信道特性不变,且传输低速率数据时是适用的,而时域均衡可以根据信道特性的变化进行调整,能够有效地减小码间串扰,故在高速数据传输中得以广泛应用。
时域均衡的实现方法有多种,但从实现的原理上看,大致可分为预置式自动均衡和自适应式自动均衡。
预置式均衡是在实际传数之前先传输预先规定的测试脉冲(如重复频率很低的周期性的单脉冲波形),然后按“迫零调整原理”自动或手动调整抽头增益;自适应式均衡是在传数过程中连续测出距最佳调整值的误差电压,并据此电压去调整各抽头增益。
一般地,自适应均衡不仅可以使调整精度提高,而且当信道特性随时间变化时又能有一定的自适应性,因此很受重视。
这种均衡器过去实现起来比较复杂,但随着大规模、超大规模集成电路和微处理机的应用,其发展十分迅速。
二.信道均衡的应用1.考虑如图所示的基带等效数据传输系统,发送信号k x 经过ISI 失真信道传输,叠加高斯加性噪声。
图1基带等效数据传输模型设发送信号采用QPSK调制,即(1)k x j =±±ISI 信道的冲击响应以向量的形式表示为h 2211[,,,]T L L L h h h --+=⋅⋅⋅。
典型的ISI 信道响应向量有三种:h [0.04,0.05,0.07,0.21,0.5,0.72,0.36,0,0.21,0.03,0.07]T A =--- h [0.407,0.815,0.407]T B =h [0.227,0.46,0.6888,0.46,0.227]T C =k ω为实部与虚部独立的复高斯白噪声,其均值为零,方差为2ωσ。
2.实现目的设信道响应已知。
采用线性模型下的线性MMSE 估计方法,根据观测信号y k 估计发送信号x k 。
3.实验原理MMSE 准则下设计出的均衡器通常非常复杂,不便于实现。
为便于实现,可要求满足线性关系,线性模型下的LMMSE 估计如下:若x 与θ可用线性模型来描述:=⋅+x H θV其中V 是零均值、协方差矩阵为CV 的噪声矢量,且V 与θ不相关。
则有()()E E =⋅x H θ及T xx =+θθV C HC H C ,T x =θθθC C H于是θ的LMMSE 估计为1ˆ{}()[()]T T E E -=++-θθθθV θθC H HC H C x H θ4.实验方案 1.产生原始信号根据发送信号采用QPSK 调制,调制后信号序列(1)/k x j =±±部分别作为独立的两个随机序列再加和产生原始发送信号。
数据长度任定。
%1. 产生原始信号 len=1000;xR=randint(1, len); xI=randint(1, len); for i=1:len; if xR(i)==0; xR(i)=-1; endif xI(i)==0; xI(i)=-1; endend % 用循环可能效率低,数据量大时要用矩阵运算xk_source=(xR+1j*xI)/sqrt(2); 并绘出星座图。
scatterplot(xk_source);title('原始QPSK 信号星座图'); 2.描述信道特性由于条件已知信道响应,直接使用数组进行描述。
%2. 信道特性hA=[0.04, -0.05, 0.07, -0.21, -0.5, 0.72, 0.36, 0, 0.21, 0.03, 0.07]; hB=[0.407, 0.815, 0.407];hC=[0.227, 0.46, 0.6888, 0.46, 0.227];h=hA;调制信号经过信道的过程即卷积,此处注意卷积为线性卷积,而输入输出的长度会发生变化,应当将输出部分截短,截短方法为取中间部分序列,仿真时直接使用MATLAB 函数设置相应参数,而可以进行详细数学证明,此处略去。
xk=xk_source;xk=conv(xk, h, 'same'); % 卷积取同样长度,非常重要,详情参照李教员通信原理实验教程指导书3.噪声特性描述产生实部虚部独立分布的复高斯白噪声有多种方法,并不是该算法重点,这里仍采取简化,直接使MATLAB函数进行加噪。
SNR=20; % dBN0=10^(-0.1*SNR);sigma=sqrt(N0); % 生成实虚部相互独立的高斯白噪本身就是可以讨论很多的问题,在此简化ykR=awgn(real(xk), SNR);ykI=awgn(imag(xk), SNR);yk=ykR+1j*ykI;描绘星座图。
scatterplot(yk);title('过信道加入噪声后信号星座图');4.LMMSE估计算法根据LMMSE估计的原理,首先应将卷积表示为矩阵乘法关系,必须得到H 矩阵,得到H矩阵并不困难,由于是线性卷积,因此关键仍是取对H矩阵的范围,否则会出现错误。
该问题也可以进行严格的数学推导,但仅用于仿真,此处不做赘述。
% H矩阵N=length(h);H1 = zeros(len, len+N-1);for k=1: lenH1(k, k: k+N-1)=fliplr(h); % 需要这种转换时尽量用函数endH=H1(:, round(N/2): len+round(N/2)-1); % 这里的取H1矩阵的范围很重要,1:len则出错根据算法原理,这里有两种方法,一种是按照方法流程,根据QPSK调制方式设定期望信号的一阶和二阶统计特性,带入计算。
直接假设待估数据的一阶二阶统计特性,该方法速度快。
% Cxx=eye(len);% Cuu=H*(Cxx+Cv)*H';另外一种方法是利用观测数据的统计特性,利用时间平均代替统计平均,此方法的缺点是计算量大,但更接近真实值。
利用观测数据统计特性,计算量大Cv=sigma^2*eye(len);Cxy=H\(Cyy-Cv);E_yk=sum(yk)/len*ones(1, 1000);E_y=H\E_yk';xk_LMMSE=E_y+Cxy/Cyy*(yk-E_yk)';其中Cyy的计算需通过自相关矩阵计算,经查询MATLAB函数,有两种方法进行计算。
% 方法1temp=xcorr(yk,yk)/len;temp=fliplr(temp);yk_cor_l=round(length(temp)/2);Cyy=zeros(yk_cor_l, yk_cor_l);for i=1:yk_cor_l;Cyy(i,:)=temp(yk_cor_l+1-i: length(temp)+1-i);end%自相关矩阵想到有这两种求法,但结果上有些差异,对函数的计算过程还待考究% 方法2% temp=corrmtx(uk,length(uk)-1);% Cuu=temp'*temp;绘制星座图。
scatterplot(xk_LMMSE);title('估计恢复信号星座图');(6)为了检验恢复的结果是否正确,可以对恢复数据进行一次判决,使恢复后的信号符合标准QPSK调制,去除噪声带来的影响。
判决门限可以设宽一些。
xk_LMMSE=xk_LMMSE';xk_reci=zeros(1,1000);for i=1: 1000;if (real(xk_LMMSE(i))>0 && imag(xk_LMMSE(i))>0)xk_reci(i)=(1+1i)/sqrt(2);endif (real(xk_LMMSE(i))>0 && imag(xk_LMMSE(i))<0)xk_reci(i)=(1-1i)/sqrt(2);endif (real(xk_LMMSE(i))<0 && imag(xk_LMMSE(i))>0)xk_reci(i)=(-1+1i)/sqrt(2);endif (real(xk_LMMSE(i))<0 && imag(xk_LMMSE(i))<0)xk_reci(i)=(-1-1i)/sqrt(2);endendscatterplot(xk_reci);title('判决后信号星座图');figure;plot(xk_reci-xk_source);title('估计误差统计');5.实验结果(1)原始信号QPSK星座图Q u a d r a t u r eIn-Phase原始QPSK 信号星座图(2)过信道加入噪声后信号星座图Q u a d r a t u r eIn-Phase过信道加入噪声后信号星座图(3)估计恢复信号星座图,信噪比20dB 。
信噪比50dBQ u a d r a t u r eIn-Phase估计恢复信号星座图Q u a d r a t u r eIn-Phase估计恢复信号星座图(4)判决后信号星座图,及与原始信号比较误差。
Q u a d r a t u r eIn-Phase判决后信号星座图估计误差统计6.实验总结根据实验结果可以看到,恢复出的数据与原始数据相同,在仿真环境设置比较单纯的情况下,实验结果令人满意。
实验中最应注意的是对信号过线性系统的理解,尤其是信号长度发生的变化,是否截短,截短后的信号与原始信号的一一对应关系如何,只有将信号对齐的情况下,恢复数据才完整有效。