发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种降低OFDM***同步模块功耗的方法,以在保障***同步性能的同时,降低***同步模块的工作功耗。
(二)技术方案
为达到上述目的,本发明提供了一种降低OFDM***同步模块功耗的方法,该方法包括:
步骤101:在时间域上将接收的同步序列的符号位与本地已知序列的符号位进行扫频相关运算,得到整数倍频偏的估计值;
步骤102:在时间域上将接收的频偏纠正后的同步序列的符号位和本地已知序列的符号位进行相关运算,得到FFT开窗的精确位置。
上述方案中,所述步骤101包括:
A1、计算接收的同步序列的符号位;
A2、计算本地已知序列的符号位;
A3、将接收的同步序列的符号位与本地已知序列的符号位进行扫频相关运算。
上述方案中,所述步骤A1包括:
假设OFDM***粗同步完成,并且完成小数倍频偏补偿,找到发送端发送已知序列的大致位置,此时,接收的同步序列的符号位可表示为:
其中,z(k)表示发射端发送信号;Δfint为整数倍频偏量,为正负整数;fcarrier为OFDM***载波间距;Ts为OFDM***采样周期。
上述方案中,所述步骤A2包括:
假设OFDM***包含本地已知序列c(k),则扫频序列可表示为:
在本发明中,c(k)取符号位,上式可表示为:
其中sign()可表示为
sign(r)=real_r+j□imag_r
上述方案中,所述步骤A3包括:
利用接收到数据的符号位,并且根据最大似然原理可得:
其中i∈[-kmax,kmax],kmax为***所能容忍的最大整数频偏值,这样使式(5)
在[-kmax,kmax]范围内达到最大值的i就是整数频偏。
上述方案中,所述步骤A2~A3中将本地已知同步序列与接收的信号取符号位进行扫频相关运算,所需要的硬件包括:
2048×2位RAM,用来存储收到的同步信号的实部和虚部,其中在硬件设计中I、Q各1位位宽且存储在同一地址中;
2048×2位ROM,用来存储已知的同步序列实部和虚部,其中在硬件设计中I、Q各1位位宽且存储在同一地址中;
值在该模块设计中采用查找表的方式,用ROM存储
m=-k
max,..k
max,因为
的值比较小,所以需要较多位宽进行存储,实部和虚部分别用22bit表示,在本设计中k
max=30,因此需要DROM64×44位;以及
两个1×1的乘法器和两个22×22的乘法器,分别计算实部和虚部。
上述方案中,所述步骤102包括:
B1、通过滑窗相关的算法完成精同步;
B2、在滑窗相关的结果中通过阈值判断,找到FFT开窗的精确位置;
B3、利用符号位运算完成滑窗相关运算。
上述方案中,所述步骤B1包括:精同步的算法将通过寻找多径的第一径的位置,找到FFT开窗的精确位置,该算法是利用接收的完成频偏补偿后的数据和本地已知序列进行匹配滤波完成的;算法见式(9):
式中L为发射端发送已知序列的长度,r为接收的经过载波频偏补偿后的信号,c(k)为本地已知信号,l为搜索范围;通过式(9)在搜索范围内通过阈值判断找到的n值即为粗同步的偏差值。
上述方案中,所述步骤B2包括:将搜索范围定为[-l,l],即搜索粗同步确定的FFT开窗位置的前后l个子载波,在该范围内所有求得的累加和求平均,得出平均值mean后,用α×mean作为阈值进行判断,α通过OFDM***仿真得到,可以找到FFT开窗的精确位置。
上述方案中,所述步骤B1~B3中在时间域上将接收的频偏纠正后的同步序列的符号位和本地已知序列的符号位进行相关运算,得到FFT开窗的精确位置,所需要的硬件包括:
2272×2位RAM,用于完成小数倍与整数倍频偏补偿后,将使用2248×26位存储粗同步估计的同步序列位置前后100子载波范围内的数据的实部和虚部,在硬件设计中I、Q采用符号位各1位位宽,存储后该序列以2048为窗与本地已知序列完成式(10)的运算;
224×24位RAM,用于存储式(10)运算后201个Corr(n)的值,以用来求均值和判断精同步位置,在硬件设计中相关结果用24位位宽表示;
一块ROM,DROM2048×2位,用来存储本地已知同步序列的符号位,硬件设计中本地已知同步序列I、Q各1位位宽;以及
两个1×1的乘法器,用于完成复数乘法运算。
上述方案中,所述步骤101和步骤102共同需要的硬件包括:
2272×2位的单端口RAM一块;
2048×2位的单端口ROM一块;
64×44位的单端口ROM一块;
224×24位的单端口RAM一块;
1×1乘法器两个;以及
22×22乘法器两个。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的这种降低OFDM***同步模块功耗的方法,在不降低***同步性能的同时,大大减少了相关运算中存储器和乘法器的位宽,从而降低了***同步的功耗,非常适用于手持移动终端设备芯片的设计。
2、本发明提供的这种降低OFDM***同步模块功耗的方法,应用于***多媒体广播(CMMB)***中,可以有效降低该***基带解调器的同步模块功耗。
3、本发明提供的这种降低OFDM***同步模块功耗的方法,符号位运算的方法也适用于OFDM基带接收机其它各关键模块的低功耗设计。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明提供的降低OFDM***同步模块功耗的方法,是基于***多媒体广播(CMMB)***的同步模块低功耗设计方法和仿真提出的,通过对时间域上符号位相关运算的仿真和对式(8)相关运算公共因子的提取,可以优化同步模块的电路设计,降低运算中存储器和乘法器的位宽,从而有效降低***同步模块的功耗。
如图2所示,图2是本发明提供的降低OFDM***同步模块功耗的方法实现流程图,该方法包括:
步骤101:在时间域上将接收的同步序列的符号位与本地已知序列的符号位进行扫频相关运算,得到整数倍频偏的估计值;
步骤102:在时间域上将接收的频偏纠正后的同步序列的符号位和本地已知序列的符号位进行相关运算,得到FFT开窗的精确位置。
上述步骤101具体包括:
A1、计算接收的同步序列的符号位。假设OFDM***粗同步完成,并且完成小数倍频偏补偿,找到发送端发送已知序列的大致位置,此时,接收的同步序列的符号位可表示为:
其中,z(k)表示发射端发送信号;Δfint为整数倍频偏量,为正负整数;fcarrier为OFDM***载波间距;Ts为OFDM***采样周期。
A2、计算本地已知序列的符号位。假设OFDM***包含本地已知序列c(k),则扫频序列可表示为:
在本发明中,c(k)取符号位,上式可表示为:
其中sign()可表示为
sign(r)=real_r+j□imag_r
A3、将接收的同步序列的符号位与本地已知序列的符号位进行扫频相关运算。利用接收到数据的符号位,并且根据最大似然原理可得:
其中i∈[-kmax,kmax],kmax为***所能容忍的最大整数频偏值。
这样,使式(5)在[-kmax,kmax]范围内达到最大值的i就是整数频偏。
CMMB***的整数倍频偏估计就是基于同步序列扫频的整数倍频偏估计算法,该算法在kmax=100时的仿真结果见图3所示,可以清楚地看到在频偏为40ppm下,在完成小数倍频偏估计及补偿后,进行同步序列扫频的整数倍频偏估计算法,在子载波-43处有明显峰值。
A4、基于CMMB基带接收机的具体设计,该方法的硬件实现。
本发明步骤A1-A3介绍的算法在CMMB***设计中得到应用。CMMB***每个时隙的开始包含一个信标,信标由图4所示结构组成。
两个同步信号为相同的长度为2048的序列。在CMMB***中整数倍频偏估计在时域中完成,其算法主要应用同步序列:
k=0,1,...,2047,m=-k
max,..k
max (6)
kmax为整数倍频偏扫频范围,sync(k)为同步序列;
但是在实际硬件设计中,需要计算
该式中有两个变量m和k,这将给硬件设计带来很大的设计复杂度,尤其是k在0-2048中变化,这样每完成一次m的计算,需要计算
共2048次,需要耗费大量功耗与时间,本发明设计该硬件模块时,将计算公式打开,首先假设m固定:
这样可以发现,式中唯一的指数为
而不再随着k的变化而变化了,这样就可以使用查找表的方法计算
这就是该模块设计的核心思想。
按照步骤A2-A3的方法,本地已知同步序列和接收的信号取符号位参加运算,这样从公式中可以得出所需要的硬件:
①2048×2位RAM用来存储收到的同步信号的实部和虚部(在硬件设计中I、Q各1位位宽且存储在同一地址中);
②2048×2位ROM用来存储已知的同步序列实部和虚部(在硬件设计中I、Q各1位位宽且存储在同一地址中);
③
值在该模块设计中采用查找表的方式,用ROM存储
m=-k
max,..k
max,因为
的值比较小,所以需要较多位宽进行存储,实部和虚部分别用22bit表示,本模块设计中k
max=30,因此需要DROM64×44位(集成电路工艺库ROM地址只能是2
n,该DROM可以扩展存储到-32~32扫频范围);
④另外还需要开销乘法器:两个1×1的乘法器和两个22×22的乘法器分别计算实部和虚部;
硬件结构如图5所示。
在图5所示硬件设计中***两个寄存器,进行两级pipeline结构,即1×1复数乘法器和22×22复数乘法器流水运算,从而加快整数倍频偏估计的速度并且减小硬件功耗;
上述步骤102具体包括:
B1、通过滑窗相关的算法完成精同步。在完成了***粗同步后,找到FFT数据开始的大致位置后,需要进行符号精同步算法,以找到FFT开窗的精确位置。
精同步的算法将通过寻找多径的第一径的位置,找到FFT开窗的精确位置。该算法是利用接收的完成频偏补偿后的数据和本地已知序列进行匹配滤波完成的。
算法见式(9):
式中L为发射端发送已知序列的长度,r为接收的经过载波频偏补偿后的信号,c(k)为本地已知信号,l为搜索范围。
通过式(9)在搜索范围内通过阈值判断找到的n值即为粗同步的偏差值。
B2、在滑窗相关的结果中通过阈值判断,找到FFT开窗的精确位置。本发明算法和硬件实现时将搜索范围定为[-l,l],即搜索粗同步确定的FFT开窗位置的前后l个子载波,在该范围内所有求得的累加和求平均,得出平均值mean后,用α×mean作为阈值进行判断(α通过OFDM***仿真得到)可以找到FFT开窗的精确位置。
B3、利用符号位运算完成滑窗相关运算。本发明的步骤B1中式(9)可以采用符号位进行运算,匹配滤波器硬件结构如图6所示。
算法见式(10):
B4、在CMMB基带解调芯片同步模块的实际应用。本发明步骤B1-B3介绍的算法在CMMB***设计中得到应用。图6中的本地已知序列仍然采用图4信标中的同步序列。设l=100,假设粗同步完成后位置误差为2,即同步位置偏移实际位置两个子载波,仿真环境为典型动态多径信道,利用匹配滤波算法可以得到图7所示的峰值。
从图7中可以清楚地看出多径间位置的关系,本文算法和硬件实现时将搜索范围定为[-100,100],即搜索粗同步确定的FFT开窗位置的前后100个子载波(l=100),在该范围内所有求得的累加和求平均,得出平均值mean后,用64×mean作为阈值进行判断,可以找出多径第一径即位置2处的峰值,从而找到FFT开窗的精确位置。
在硬件设计上,由于该模块与整数倍频偏估计算法都需要与本地已知序列做相关运算,所以在硬件设计中可以共用一个硬件模块,该模块中有两块RAM:
①2272×2位RAM:
完成小数倍与整数倍频偏补偿后,将使用2248×26位存储粗同步估计的同步序列位置前后100子载波范围内的数据的实部和虚部(在硬件设计中I、Q采用符号位各1位位宽),存储后该序列以2048为窗与本地已知序列完成式(10)的运算。
②224×24位RAM:
该RAM用来存储式(10)运算后201个Corr(n)的值,以用来求均值和判断精同步位置(在硬件设计中相关结果用24位位宽表示)。
此外模块中还有一块ROM,DROM2048×2位,用来存储本地已知同步序列的符号位(硬件设计中本地已知同步序列I、Q各1位位宽);还需要两个1×1的乘法器完成复数乘法运算。
此外,步骤101和步骤102共包括主要硬件开销:
2272×2位的单端口RAM一块;2048×2位的单端口ROM一块;64×44位的单端口ROM一块;224×24位的单端口RAM一块;1×1乘法器两个;22×22乘法器两个。
完后RTL设计后采用0.13μm SMIC库进行Design Compiler综合,工作时钟为80MHz,综合结果如表1所示。符号位运算将比传统位宽运算(接收数据、本地已知序列I、Q各13位位宽)的功耗降低了一半左右。
表1符号位运算DC综合结果
此外,步骤101还包括:频偏补偿电路,该电路主要由CORDIC算法完成,在CMMB***设计中采用15级流水线结构完成。
此外步骤101和步骤102所述的基于CMMB***的降低OFDM***同步模块功耗的方法,所述硬件设计中的存储器和乘法器的位宽大小可以根据实际电路设计和集成电路工艺库而改变(地址长度和数据I、Q表示位宽)。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。