发明内容
本发明要解决的技术问题是提供一种用于DTMB接收系统的信道估计方法,它能够有效降低接收系统实现的复杂度;为此,本发明还要提供一种实现所述信道估计方法的装置。
为解决上述技术问题,本发明的DTMB系统中信道估计方法包括如下步骤:
步骤1、从接收到的PN数据中截取所需的序列;
步骤2、读取压缩的广义伪逆矩阵数据,并进行解码;
步骤3、对解码后的数据进行解差分,得到广义伪逆矩阵;
步骤4、将步骤3中得到的广义伪逆矩阵和步骤1所截取的PN数据序列进行矩阵相乘,得到信道冲激响应序列h。
本发明的实现所述信道估计方法的装置,包括:
前端接收模块,用于接收PN数据;
PN数据截取模块,与所述前端接收模块连接,从接收的PN数据中截取所需的序列;具体实现的过程是,从接收到的PN数据点中截取大致位于后端的多个点,并将其缓存到PN数据截取模块内部的存储器中;
存储器模块,用于存储压缩的广义伪逆矩阵数据;
解码模块,与所述存储器模块连接,从所述存储器模块模块中读取压缩的广义伪逆矩阵数据,进行解码;
解差分模块,与所述解码模块连接,对解码后的广义伪逆矩阵数据进行解差分;
矩阵相乘模块,与解差分模块、PN数据截取模块连接,将解差分后得到的广义伪逆矩阵和截取的PN数据序列进行矩阵相乘,得到信道冲激响应序列h。
使用本发明所提出的信道估计方法,可以有效解决PN595模式下的信道估计问题,降低接收系统实现的复杂度,而该方法对于其他PN模式下也可适用。同时由于预先存储的广义伪逆矩阵使用了压缩编码,对于数据的存储量也大大降低,大约只需要28k byte左右的存储量,与原始的广义伪逆矩阵数据量相比压缩了56.3%。
具体实施方式
以下将以PN595为实施例对本发明进行详细说明,当然,对PN420、PN945模式同样适用,只是部分参数作相应调整而已。应特别注意的是,文中所述的所有常数,仅是为了方便实施例的描述,绝不用于限制本发明。
基于PN 595模式的帧头不具有周期PN序列特性,为了对付多径信道干扰对接收系统造成的影响,本发明采用广义伪逆矩阵的方式来实现PN595模式下的信道估计。
在无线通信系统中,时域发送信号s(t)与时域接收信号r(t)之间的关系可用下式来表示:
(公式1)
这里
表示卷积操作。h(t)为时域信道冲激响应,n(t)表示复加性高斯白噪声。
上式经离散化后,变为:
(公式2)
这里hk为离散化后时域信道冲激响应,Sk为离散化后时域发送信号,rk为离散化后时域接收信号,nk为离散化后复加性高斯白噪声。
相应地,对于公式1所表示的时域发送信号s(t)与时域接收信号r(t)之间的关系,还可以采用下面的矩阵表示:
rL+N-1×1=hL+N-1×NsN×1+nL+N-1×1
=sL+N-1×LhL×1+nL+N-1×1 (公式3)
这里N为发送数据长度.在最小均方误差意义上,前者
rL+N-1×1=hL+N-1×NsN×1+nL+N-1×1 (公式3-1)
通常当信道完全已知时,可以用来恢复数据(如 SNR(Signal to Noise Ratio)为信噪比;
同样,后者
rL+N-1×1=sL+N-1×LhL×1+nL+N-1×1 (公式3-2)
在数据完全已知的情形下,用来估计信道。对于公式3的两种表示方式,可以用来分别对应于DTMB系统帧结构不同部分的处理。
为了详细阐述如何进行信道估计,进一步将公式3-2进行元素展开
在最小均方误差(MMSE)意义上,有
称为矩阵
为广义伪逆矩阵,当SNR=+∞时,将退化为,最小二乘意义下
这里s
+为矩阵s伪逆矩阵。注意在DTMB系统的帧头部分,发送的PN595数据序列是已知的,即矩阵s是由+1或—1构成的固定常矩阵,其中无干扰部分接收数据的长度为N-L+1,因而广义伪逆矩阵
在确定要抗多大时延扩展及信噪比的前提下,也为一固定常矩阵,这就是需要事先存储好的矩阵。当然为了要确保广义伪逆矩阵s
+的存在,由于矩阵s的每一行都是由PN595数据序列的局部构成的,只要保证
存在即可,即要求
满秩,L≤N-L+1,即
这也决定了这种算法条件下,能抗的最大時延扩展L
max=298。另一方面,根据相容方程组求解原理,该矩阵的抗噪性能通常由比值
确定,该比值越大抗噪性能越强,通常该比值可以取大于2,以获得可以接受的性能。这里假定L=192,N=575,即比值为2,从而广义伪逆矩阵
为192x384的常矩阵。
对于PN595模式下的信道估计,可以将接收到的PN数据序列跟事先存储好的广义伪逆矩阵进行矩阵相乘,得到所需要的时域冲激响应序列。
广义伪逆矩阵
经过定点化的步骤后,每个矩阵元素值的范围为0~127,即需要用7bit(位)来表示,所以总共需要的存储量为384 x 192 x 7bit。
对于矩阵的元素进行分析之后,可以发现,将矩阵进行对角差分后,其每个元素值的范围可以缩小到-8~+7,即可以用4bit表示。对角差分的方式如图1所示,设矩阵为a(i,j),对于i、j不等于0的情况,取a’(i,j)=a(i,j)-a(i-1,j-1),而i或者j=0的情况取a’(i,j)=a(i,j)。因此仅需要存储第一行和第一列的7bit完整值,剩余的191 x 383大小的矩阵只需要存储4bit的差分值,大大节约了存储量。
对于差分后的矩阵进行分析,用二进制数1000到0111分别表示-8到+7,可以发现1111(-1),0000(0),0001(+1)占据的比例很大。这样,就可以通过对-1、0、1单独短编码(比如原来需要用4位表示的信息改用2位表示),对于其它-8到+7的信息采用长编码(比如原来需要用4位表示的信息改用6位表示),以下是可供选择的其中一种编码方式:-8:11_1000;-7:11_1001;-6:11_1010;-5:11_1011;-4:11_1100;-3:11_1101;-2:11_1110;-1:10;0:00;1:01;2:11_0010;3:11_0011;4:11_0100;5:11_0101;6:11_0110;7:11_0111。采用这种短编码与长编码混合的变字长的编码方式,在不增加解码复杂度和PINV矩阵使用实时性的前提下,编码压缩率达到76%。
综合以上的差分和变字长编码两种压缩方式,使得整个广义伪逆矩阵的存储量降低了56.3%。
如图2所示,对于接收端来说,前端接收模块,用于接收PN数据;
PN数据截取模块从接收到的PN数据中截取所需的序列,长度为384;截取的方法是从接收到的PN数据595个点中截取最后的384个点。设所截取的PN数据序列为x(i),i=0,1...383;因为在矩阵计算中需要反复读取该序列,因此将其缓存到PN数据截取模块的内部存储器中。
压缩好的广义伪逆矩阵的数据固定存在一个存储器模块中,该存储器模块可以使用外部的SDRAM,也可以使用EEPROM,根据具体应用需要来决定。从存储器中读出来的压缩数据,由解码模块进行变字长的解码,再由然后解差分,得到原始的7bit矩阵元素数据。矩阵相乘模块将该7bit矩阵元素数据与所截取的PN数据序列x(i)进行矩阵相乘,就可以得到时域冲激响应序列h(i),i=0,1….191。
图3、4示出了解码模块的实现结构。如图3所示,总共只需要7个状态就可以控制整个解码过程,选取11作为长编码的开始位只是其中的一种方式,也可以使用00、01或者10作为长编码的开始位,不影响编码效率和实现。
图4中的解码状态机实现的就是图3所示的解码过程,每次输入8位的待解码信息,加上前次解码遗留下来的2位或者4位待解码信息,在一次新的解码开始前,组成最多为12位的新的待解码信息。然后通过解码状态机对新的待解码信息从高位到低位以2位为单位进行判断,判断是否为长编码的开始位(即长编码的特殊标志位)。如果不是长编码的开始位(图3以“11”为例),那么对应的就是短编码,可以通过映射输出有效的4位原码。如果对应的是长编码的开始位而且剩下的数据位足够长编码的长度,那么也可以输出有效的4位原码,如果不到长编码的长度,那么就要保留该新的待解码信息,等到下次8位待解码信息输入时再解码。
如图1所示,解差分的时候,对于广义伪逆矩阵第一行的数据,直接从存储器里取出来并缓存下来,接下来第二行的数据读出来并经过解码之后,得到的是差分值,将该差分值对应加上之前缓存的第一行的数据,就可以得到广义伪逆矩阵第二行的数据,将该广义伪逆矩阵第二行的数据写入缓存替代原先缓存的数据,然后进行第三行的解差分,依此类推,直至得到原始的7bit矩阵元素数据。
本发明的DTMB系统中信道估计方法,不只适用于DTMB系统中,只要是存在连续随机训练序列的系统都可适用。