LMMSE算法信道均衡MATLAB仿真

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

一.信道均衡的概念

实际的基带传输系统不可能完全满足无码间串扰传输条件,因而码间串扰是不可避免的。当串扰严重时,必须对系统的传输函数 进行校正,使其达到或接近无码间串扰要求的特性。理论和实践表明,在基带系统中插入一种可调滤波器就可以补偿整个系统的幅频,和相频特性从而减小码间串扰的影响这个对系统校正的过程称为均衡,实现均衡的滤波器称为均衡器。

均衡分为频域均衡和时域均衡。频域均衡是从频率响应考虑,使包括均衡器在内的整个系统的总传输函数满足无失真传输条件。而时域均衡,则是直接从时间响应考虑,使包括均衡器在内的整个系统的冲激响应满足无码间串扰条件。 频域均衡在信道特性不变,且传输低速率数据时是适用的,而时域均衡可以根据信道特性的变化进行调整,能够有效地减小码间串扰,故在高速数据传输中得以广泛应用。 时域均衡的实现方法有多种,但从实现的原理上看,大致可分为预置式自动均衡和自适应式自动均衡。预置式均衡是在实际传数之前先传输预先规定的测试脉冲(如重复频率很低的周期性的单脉冲波形),然后按“迫零调整原理”自动或手动调整抽头增益;自适应式均衡是在传数过程中连续测出距最佳调整值的误差电压,并据此电压去调整各抽头增益。一般地,自适应均衡不仅可以使调整精度提高,而且当信道特性随时间变化时又能有一定的自适应性,因此很受重视。这种均衡器过去实现起来比较复杂,但随着大规模、超大规模集成电路和微处理机的应用,其发展十分迅速。

二.信道均衡的应用

1.考虑如图所示的基带等效数据传输系统,发送信号k x 经过ISI 失真信道传输,叠加高斯加性噪声。

图1基带等效数据传输模型

设发送信号采用QPSK 调制,即(1)2k 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.实现目的

SIS 信道

k y

k

x k ω

设信道响应已知。采用线性模型下的线性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; end

if xI(i)==0; xI(i)=-1; end

end % 用循环可能效率低,数据量大时要用矩阵运算

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; % dB

N0=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: len

H1(k, k: k+N-1)=fliplr(h); % 需要这种转换时尽量用函数

end

H=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函数,有两种方法进行计算。

% 方法1

相关文档
最新文档