参考文献:
基于MIMO_OFDM系统的信道估计算法综述 ----丁旭(国内会议)
参考课本:
MIMO-OFDM无线通信技术及MATLAB实现
参考文章:
信道估计(百度百科)
OFDM学习笔记(四)(信道估计简介)
信道估计算法
OFDM中基于块状分布的导频信号信道估计仿真
OFDM中的信道估计Channel Estimation
SISO/MIMO信道估计(channel estimation)原理详细图解
信道估计硬件实现 LS算法
LTE基础原理与关键技术第4章OFDM信道估计
Chpater 5 大规模MIMO信道估计与导频设计
OFDM完整仿真过程及解释(MATLAB)
信道估计是使用接收信号表现出来的各种状态来对信道的特性进行估计的过程。信道估计是信道对输入信号影响的一种数学表示。
信道估计可以定义为描述物理信道对输入信号的影响而进行定性研究的过程,是信道对输入信号影响的一种数学表示。如果信道是线性的,那么信道估计就是对系统冲激响应进行估计。信道估计的目标就是使某种估计误差最小化,同时还要尽量降低算法的复杂度,并具有可实现性。
为了在接收端能够准确地恢复发射信号,需要对信道的冲激响应进行估计,这就是信道估计。
无线环境是复杂多变的,信号在传播过程中就会受到各种各样的干扰,到达接收端时,信号的幅度、相位和频率都会发生很大的改变,而信道估计和信道均衡的作用就是尽可能恢复出信号。因此,一个良好的估计和均衡算法对于接收端的性能来说至关重要,决定了信号最终的解出率。
举一个简单的栗子来说,假如发送端发送了一个正弦信号6sin(2t)
,然后发送的这个正弦信号在无线信道中进行传输,由于信道的影响,接收端接到的信号变成了3sin(2t+8)
,也就是说信号经过无线信道的传输之后,幅度和相位都发生了变化(也就是幅度衰减一半,相位增加了8),如果在接收端现在已经通过相应的信道估计算法估计出了这个信道的特性(也就是幅度衰减一半,相位增加了8),那么接收端在后续接收其他信号的时候就会对接收到的信号进行相应的补偿。假如说发送端又发送了一个信号8sin(2t+2)
,通过信道传输之后,接收端接收到的信号变成了4sin(2t+10)
,那么接收端由于刚才已经通过第一次接收到的信号估计出了信道的特性,那么他就可以直接把信号补偿为8sin(2t+2)
(幅度增加一倍,相位减去8),这样在接收端就可以复原出发送端发送的原信号。这就是为什么要进行信道估计,目的就是在接收端要尽可能地还原发送端发送的原信号。
基于参考信号的信道估计就是接收端利用已经知道的信息来对信道进行估计。常用的就是OFDM系统中的基于导频符号的信道估计。它的缺点也是显而易见的,参考信号占用了信息比特,降低了信道传输的有效性,浪费了带宽。另外,在接收端,要将整帧的信号接收后才能提取出参考信号进行信道估计,带来了不必要的时延,所以对帧结构提出了限制要求,比如快哀信道下,由于信道的相关时间可能小于帧长,基于参考信号的信道估计算法应用受到限制。
基于训练序列的信道估计算法适用于突发传输方式的系统。通过发送已知的训练序列,在接收端进行初始的信道估计,当发送有用的信息数据时,利用初始的信道估计结果进行一个判决更新,完成实时的信道估计。
其实有时候也把导频称为训练序列。反正就是那个意思,不作太大的区分。
基于导频符号的信道估计适用于连续传输的系统。通过在发送的有用数据中插入已知的导频符号,可以得到导频位置的信道估计结果;接着利用导频位置的信道估计结果,通过内插得到有用数据位置的信道估计结果,完成信道估计。
利用调制信号本身固有的、与具体承载信息比特无关的一些特征,或是采用判决反馈的方法来进行信道估计的方法。盲估计必须是在接收到大量数据时才能够提取统计特性并对信道进行估计,并且算法复杂度也很高。
结合盲估计与基于训练序列估计这两种方法优点的信道估计方法,也就是盲估计+较短的训练序列。
一般来讲,通过设计训练序列或在数据中周期性地插入导频符号来进行估计的方法比较常用。而盲估计和半盲信道估计算法无需或者需要较短的训练序列,频谱效率高,因此获得了广泛的研究。但是一般盲估计和半盲估计方法的计算复杂度较高,且可能出现相位模糊(基于子空间的方法)、误差传播(如判决反馈类方法)、收敛慢或陷入局部极小等问题,需要较长的观察数据,这在一定程度上限制了它们的实用性。
总体来说,由于基于参考信号的信道估计需要事先在发送的有效数据中插入一些收发双方都已知的数据(训练序列或者导频符号),于是插入的这些已知的数据就会占用了发送数据的信息比特,从而降低了传送数据的有效性和频谱效率,但是这种信道估计思想最后估计出来的结果相对来说比较贴合信道的实际情况,也就是说效果比较好。而盲估计算法由于不需要插入任何已知的数据,所以这种方式的数据有效性和频谱效率都比较高,但是他估计出来的信道特性相对来说不是那么的贴近实际的信道特性,并且这种信道估计的计算复杂度比较高、算法运算量大、灵活性差。半盲估计显然就是非盲估计和盲估计的一个折中产物。
非盲估计:频谱效率低、效果好
盲估计:频谱效率高、运算量大、效果不是那么好
半盲估计:折中的产物
由于盲估计频谱效率高,所以他越来越受到研究人员的重视。
OFDM系统常常使用插入导频的方法来进行信道估计。我们都知道OFDM系统是在同一个时刻同时发送多个不同频率的子载波,一次性发送若干个子载波算是发送了一个OFDM符号,然后再隔一定的时间再发送下一个OFDM符号。根据导频插入的不同方式我们可以分为块状导频和梳状导频。
所谓的导频就是在子载波上面调制上收发双方都知道的数据,这个数据(导频)的作用就是用来估计当前的信道特性。
块状导频适用于慢衰落信道(即信道特性在一个OFDM数据帧(块)内保持准静止)。
我们可以把下图中的4列小圆圈认为是一个OFDM数据帧(块),只要是在一个OFDM数据帧内信道特性基本不变,那么该信道就是慢衰落信道。
上图中的空心小圆圈就代表一个子载波,实心小圆圈就代表插入的导频。
如上图所示,在同一时刻OFDM系统会同时发送多个不同频率的子载波,每一列就代表了一个OFDM符号,每隔一定的时间再发送下一个OFDM符号。
这种导频方式的工作流程如下: 每隔一定的时间(也就是每隔几个OFDM符号,但是插入的时间间隔要满足抽样定理,目前我也不知道具体是什么东西)在所有的频率(子载波频率)上都发送一个已知的信号(这个信号我们就叫做导频信号,也就是在所有的子载波频率上面都调制上一个收发双方都知道的数据)。接收端收到这个导频信号之后就会使用相应的算法来对信道特性进行估计,估计完信道特性之后就已经知道了在导频位置处信道的特性(包括幅度衰减、相位等信息),然后就会使用一些插值算法在时域插值出后续几个OFDM符号周期内的信道特性,然后就可以然后就开始接收后面的OFDM符号了,接收端接收到后面的OFDM符号之后,就使用刚才估计到的信道特性来对现在接收到的数据进行相应的补偿,这样一直持续下去,一直持续到下一次导频信号的来临,然后就会使用最新的导频信号来更新当前的信道特性了,就这样一直持续下去。
这种方式的基本思想就是假定了相邻几个OFDM符号之间的信道传输函数的改变不大。(其实也不能说是假定,因为这种块状导频本来就只能适用于这种相邻几个OFDM符号之间信道传输函数改变不大的信道,也就是这里说的慢衰落信道)
由于该方式是在所有的子载波频率上面都发送了一个导频信号,所以这种方式对频率选择性不是很敏感。
梳状导频适用于快衰落信道(即信道特性在一个OFDM数据帧(块)内发生显著变化)。
上图中的空心小圆圈就代表一个子载波,实心小圆圈就代表插入的导频。
这种插入导频的方式从图中就可以看出来,由于信道特性变化很快,所以不能再让相邻的几个OFDM符号来共同使用一个信道特性了,所以我们就在每一个OFDM符号中都加入了导频信号,但是和块状导频不同的是,这里的导频信号虽然占据了时间轴上的每一刻,但是他并没有占据频率轴上的所有子载波频率,而是选了几个频率来插入导频信息。
这种导频方式的工作流程如下:在每一个OFDM符号周期内都使用几个子载波来作为导频使用,当接收端接收到这个OFDM符号之后,先使用信道估计算法估计出导频位置处的信道特性,然后再使用一些插值算法在频域插值出其余子载波(也就是其余携带数据的子载波)处的信道特性,然后就可以恢复出原信号了。
由于这种方式的导频信号没有插入到所有的频率上,所以他对频率选择性比较敏感。
除此之外,在信道频率选择性不强的情况下,可以在频域上较为稀疏地排列导频序列。同理,在慢衰落场景下,也可以在时域上较为稀疏地排列导频序列。
块状导频是进行的时域插值
梳状导频是进行的频域插值
菱形导频(格状导频)是在时域和频域都进行插值
需要注意的是时域插值和频域插值其实指的就是在横坐标方向上插值或者在纵坐标方向上插值,横坐标就对应着时域,纵坐标就对应着频域。
在上面我们说到的利用导频信号就可以估计出信道特性,那么它具体是如何估计出信道特性的呢?这时候就轮到信道估计算法上场了。
(信道估计模块接收的信号是频域信号,已经完成了去CP、纠偏等操作。去CP会使两个相邻的OFDM符号间有间隔,这段间隔对于信道估计模块很宝贵,所有的计算尽量在这个间隔内完成,若有N倍采样,那么可以用来处理的时钟就更多了。)
LS:Least Square
该算法计算简单、复杂度低,不需要信道的任何先验统计特性。该方法导频处信道频域响应(CFR)通过LS算法估计得到,数据符号处CFR通过插值方法获得。然而,由于LS估计方法不能消除导频处噪声的影响,并且插值类信道估计方法不能有效消除由于多径引起的频域选择兴衰落信道的影响,导致数据处CFR获取不准确,因此LS算法的估计性能较差。
假设发射信号是X(i)
,信道传输函数是H(i)
,接收端接收到的信号是Y(i)
,那么就有这个等式Y(i)=X(i)H(i)
。
信道估计中的LS算法是最基本且常用的算法,用最朴实的话说就是忽略噪声,直接除。其公式表示为H(i)=Y(i)/X(i)
。频域接收信号导频位置Y,本地已知导频X。两者简单相除,就可以得到导频位置的信道估计值H(i)
。
在硬件实现时,除了在均衡时可以考虑用除法器,其他位置(包括此处的LS算法)都不要使用除法器,除法器占用的资源太多,将除法表示为乘法即可避免,而大部分的乘法可以用移位相加来实现,这样可以大大降低复杂度。
关于代价函数请点击这里
MMSE:Minimum Mean Square Error Estimation
ML:Maximum Likelihood
为了提高LS算法的性能,首先对LS算法得到的CFR进行IDFT变换到时域,然后根据信道冲激响应(CIR)特征,通过将CIR中除了时延点以外其余位置置零达到去噪的目的,然后再对去噪后的CIR补零做DFT得到估计的频域信道估计,由于DFT/IDFT有快速算法,因此该方法计算量小,容易实现。但是该方法要求信道时延为整数倍信道采样周期,当信道时延不为信道采样周期整数倍时,由于时延频谱泄露导致该方法不能仅仅通过几个时延点恢复出信道频域响应,因此限制了该方法的应用范围
SVD:Singular Value Decomposition
该方法在信道估计算法中性能最好,可以得到精确的信道估计,但是LMMSE算法需要知道信道的统计信息,并且具有很高的计算复杂度,因此,不适用于实际情况。
当使用信道估计算法估计出导频处的信道特性后,就要使用插值的方法去拟合出非导频处的信道特性,常见的插值方法有一阶线性插值和二阶线性插值。其中一阶线性插值是利用了相邻两个导频信号,而二阶线性插值是利用了前后相邻的3个导频信号。由于使用到的导频信息很少,所以最后估计出来的信道特性与实际有一定的差异。
MIMO-OFDM的信道估计:时,频,空三个域都要考虑,尤其是在空域,不同天线发射的导频序列需要相互正交,否则在接收端无法区分各个导频,造成导频污染,就无法正确地估计信道。正交的方法有很多,可以是时间上错开,在某个时间只允许某个天线发送。也可以在频率上错开。还可以让导频信号本身就是正交的(例如Alamouti coding)。如下图所示:
在实际系统中往往是这三种导频策略混合使用。例如LTE下行链路的导频序列排布: