纠错编码:在无线通信过程中由于传输过程存在噪声等各种非理想因素,在接收端接收到的信息往往相对于发射信息存在误码,通过纠错编码方式可以对少数非连续的误码进行判断和纠正。举个简单的例子,发射端可能发射的信息为00,01,10,11,若某一时刻发射端发射的信息为11,但是接收端接收到的信息为10,也就是出现了1位误码,如果按上面的编码方式,此时是没有办法发现这个传输错误的。设想若此时发射端只允许发射00,11这两种编码信息,而接收端接收到的信息为10,那么显然可以判断得到此时出现了误码,有可能是00误码为10,也有可能是11误码为10,此时再综合其他信息,完全有可能总结出具体的误码情况,并将其纠正为正确的信息。上面的例子虽然很简单,但是也基本上能够直观地展示纠错编码的功能及实现方式。其实纠错编码就是通过降低传输效率来增加冗余信息,为接收端误码判断及纠错提供一些先验信息。从上面的例子也可以看错纠错编码一般就能对偶尔的较少的误码进行判断和纠正,因为对于连续的大量误码,要想通过纠错编码来解决,就不可避免要增加过多冗余信息,这对传输效率造成很大影响,在实际应用中往往是很难接受的。
交织:交织的作用就是将一串突发错误转化为随机错误,这样就可以利用纠错编码进行处理了。所以交织与纠错编码是一对紧密结合的好伙伴。以下同样通过一个简单的例子来说明交织的作用及其实现方式。假如发射端发射三句话“明天八点半”,“我们校门口”,“一起吃汉堡”,由于传输过程中某个时间点受到干扰,导致接收端接收到的信息为“明天八点半”,“xxxxx”,“一起吃汉堡”,即第2句话完全错误了,这个时候接收端就很难判断发送端的完整意思了。试想一下,如果我们在接收端按照下面的方式将原始信息进行排列:
明 | 天 | 八 | 点 | 半 |
---|---|---|---|---|
我 | 们 | 校 | 门 | 口 |
一 | 起 | 吃 | 汉 | 堡 |
相当于将原来的信息保存到一个 m × n m\times n m×n的矩阵里面,原来我们是按行进行发送,一行发送完了再发送另外一行,现在我们将它按列进行发送,并在接收端将结果保存到一个 n × m n\times m n×m的矩阵里面,即接收端数据矩阵里面保存的信息为 | ||||
明 | 我 | 一 | ||
:------------: | :------------: | :------------: | ||
天 | 们 | x | ||
x | x | x | ||
x | 门 | 汉 | ||
半 | 口 | 堡 | ||
我们在接收端将其按列读出来,则最终信息变为"明天xx半",“我们x门口”,“一xx汉堡”,显然此时已经将原来连续的错误随机分散到不同的位置,这样就可能利用纠错编码进行处理。从上面的例子直观感受就是交织前是某一句话完全错,交织后就是每句话都错一点。 |
导频:在OFDM符号中除了传输有用信息的数据子载波以外,通常还会有一些子载波用于传输特定的信息,这些子载波就被称为导频。由于导频上的信息可以事先得知,所以常常利用导频信息进行信道估计。在OFDM符号中通常有以下几种不同形式的导频:
图1(a)表示块状导频,即导频分布在某些时间点上的所有子载波上,即将某些OFDM符号全部用作导频,其实每个OFDM符号都可以理解为时域上的一个波形,所以块状导频在时域看来就是在某个时间段内插入一个特定波形,所以这种导频其实起到了训练符号的作用。图1(b)表示梳状导频,它是用每个OFDM符号中的某些子载波固定地来传输导频信息,从频域上看,这些导频就表现为特定频率上的尖峰。从时域上看,就是每个时间点上都有导频。所以块状导频和梳状导频的差别可以用下面一句话表明:
设原始数据共有 M M M个OFDM符号,每个OFDM符号中包含 N N N个子载波,则发射数据可以表示为 X \boldsymbol{X} X,接收数据可以表示为 Y \boldsymbol{Y} Y,设信道响应为 H \boldsymbol{H} H, 则显然有 Y = H . ∗ X \boldsymbol{Y}=\boldsymbol{H}.*\boldsymbol{X} Y=H.∗X。其中上述三个矩阵的维数均为 N × M N\times M N×M。由于导频中的信息是先验已知的,因此导频处的信道响应是可求的,所以需要利用导频处的信道响应值来得到所有位置处的信道响应结果,以下分别说明块状和梳状导频情况下如何通过导频位置处的信道响应值得到全体数据的信道响应值:
块状导频:如下图所示,通过导频信息只能得到图中红色圆圈处的信道响应值,此时需要将其沿时间轴进行插值,就能得到中间任意时刻的信道响应值,即延 H \boldsymbol H H的列进行插值。
梳状导频:如下图所示,通过导频信息只能得到图中红色圆圈处的信道响应值,此时需要将其沿频率轴进行插值,就能得到任意子载波上的信道响应值,即沿 H \boldsymbol H H的行进行插值。
格状导频可以看成块状导频和梳状导频的组合,因此在得到导频位置处的信道响应之后,需要分别沿时间轴和频率轴进行插值,才能得到所有位置处的信道响应结果,即需要先后对信道响应矩阵 H \boldsymbol H H的列和行进行插值。
对于DTMB这种没有导频的信号来说,它可以通过帧头PN序列得到帧头处的信道响应结果,它有点像块状导频的情况,理论上可以联合多帧帧头的信道响应结果,对其沿时间轴进行插值,从而得到完整信道响应结果,但是由于相邻帧头之间的距离较远,插值的效果往往很难保证,所以往往就直接把帧头的信道响应当成是整帧数据的信道响应,其实这在信道快速变化的情况下是不合适的。