LS信道估计,MMSE信道估计以及CS信道估计算法的误码率对比仿真
需强调的是信道估计是信道对输入信号影响的一种数学表示,而“好”的信道估计则是使得某种估计误差最小化的估计算法。首先明确一点,在LS估计中,我们使用Y和Y‘’来进行计算,估计出的结果是H’而并非H,若估计的结果H’使得Y’与Y误差最小,则能得到的结果应该是H’与H(带三角)的误差最小,但H(带三角)也不是真实的信道矩阵,其内还包含了一个误差项Z/X,因此对于LS信道估计而言,其结果的精度是受这个误差
up目录
一、理论基础
所谓信道估计,就是从接收数据中将假定的某个信道模型的模型参数估计出来的过程。如果信道是线性的话,那么信道估计就是对系统冲激响应进行估计。需强调的是信道估计是信道对输入信号影响的一种数学表示,而“好”的信道估计则是使得某种估计误差最小化的估计算法。无线通信系统的性能很大程度上受到无线信道的影响,如阴影衰落和频率选择性衰落等等,使得发射机和接收机之间的传播路径非常复杂。无线信道并不像有线信道固定并可预见,而是具有很大的随机性,这就对接收机的设计提出了很大的挑战。在OFDM系统的相干检测中需要对信道进行估计,信道估计的精度将直接影响整个系统的性能。为了能在接收端准确的恢复发射端的发送信号,人们采用各种措施来抵抗多径效应对传输信号的影响,信道估计技术的实现需要知道无线信道的信息,如信道的阶数、多普勒频移和多径时延或者信道的冲激响应等参数。因此,信道参数估计是实现无线通信系统的一项关键技术。能否获得详细的信道信息,从而在接收端正确地解调出发射信号,是衡量一个无线通信系统性能的重要指标。因此,对于信道参数估计算法的研究是一项有重要意义的工作。
1.1LS信道估计
其中Y为实际接收数据,Y’为估计的接收数据,其大小均为N1X1的矩阵(N1为参与LSCE计算的数据数量),Z 为噪声也是一个N1X1的矩阵,H是真实信道矩阵,H’是估计信道矩阵,大小为N2X1(N2为估计的多径数量)。X为发送数据矩阵,是一个N1XN2的矩阵,其包含的数据为按行进行符号延迟的数据。
首先明确一点,在LS估计中,我们使用Y和Y‘’来进行计算,估计出的结果是H’而并非H,若估计的结果H’使得Y’与Y误差最小,则能得到的结果应该是H’与H(带三角)的误差最小,但H(带三角)也不是真实的信道矩阵,其内还包含了一个误差项Z/X,因此对于LS信道估计而言,其结果的精度是受这个误差项影响的,而这个误差项概括来说就是和SNR相关,SNR越大,误差项越小,LS估计精度越高。
LS信道估计是一种基本的信道估计方法,它使用最小二乘法来估计信道。其基本思想是通过收集已知的发送信号和接收信号数据,将其表示为线性方程组,然后使用最小二乘法来找到使得方程组的残差平方和最小化的信道估计。
1.2MMSE信道估计
Y为接收数据(包含多径)大小为Nx1。
X为先验信息,大小为NXM。
h为信道冲激响应,大小为MX1。
Z为噪声,大小为NX1。
MMSE信道估计的代价函数为
MMSE信道估计是一种基于最小均方误差准则的信道估计方法。它考虑了信道的统计特性,尤其在低信噪比情况下,其性能更优。
1.3CS信道估计
在基于CS的信道估计中,测量矩阵由导频符号取值和导频位置决定。因此,可以根据测量矩阵的设计准则确定导频符号及其位置,从而保证获得良好的CS重建性能,获得良好的估计。针对导频符号放置问题,已有文献采取随机放置、固定均匀放置或提出以最小化观测矩阵的互相关为目标,对导频序列进行逐位置优化的方法。然而,如何设计最佳的导频图案从而使基于CS的信道估计的性能得以改善还值得继续研究。
CS信道估计是一种较新的信道估计方法,它利用信道的稀疏性来进行估计。CS的基本思想是在信道估计过程中引入稀疏性约束,从而可以通过较少的样本来估计信道。
二、核心程序
........................................................................
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%---------------------------添加高斯白噪声,得Y-----------------------%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n1=ones(N,1);
for m=1:20%多组实验取平均
for n=0:6
SNR(n+1)=5*n;%比较不同SNR
clear j;
n1=n1*0.01j;%保证下面的awgn函数输入的是复高斯噪声
No=awgn(n1,SNR(n+1));%white Gaussian noise
%variance=var(noise);
SNR_log=10^(SNR(n+1)/10);
variance=var(XH)/SNR_log;
No=variance/var(No)*No;
var_No=var(No);
%No=fft(noise);
%Y = AWGN(X,SNR) adds to X. The SNR is in dB.The power of X is assumed to be 0 dBW. If X is complex, then AWGN adds complex noise.
%No=fft(noise);
Y=XH+No;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%-----------------------LS/MMSE信道估计,得MSE-------------------------%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mean_squared_error_ls=LS_MSE_calc(X,H,Y,N);
%Evaluating the mean squared error for the MMSE estimator..
mean_squared_error_mmse=MMSE_MSE_calc(X,H,Y,Rgg,var_No,N,L);
mmse_mse(m,n+1)=mean_squared_error_mmse;
ls_mse(m,n+1)=mean_squared_error_ls;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%--------------------------CS信道估计H,得MSE--------------------------%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%CS evaluate H
s=Y;
Phi=X;
T=Phi*W_h; % 恢复矩阵(测量矩阵*正交反变换矩阵
re_H=zeros(1,N); % 待重构的谱域(变换域)向量
re_y=zeros(1,L);
[pos_arry,aug_y]=omp(K,s,T); % pos_arry:最大投影系数对应的位置,
[cos_pos_arry,aug_y]=omp(K,s,T); % pos_arry:最大投影系数对应的位置,
re_y(pos_arry)=aug_y;
re_H=W_h*re_y.'; % 做傅里叶变换重构得到原信号
up95
三、测试结果
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)