一种低延时低消耗数字基带信号的实现方法与流程

文档序号:12134480阅读:518来源:国知局
一种低延时低消耗数字基带信号的实现方法与流程

本发明属于数字调制领域,具体涉及一种实现低延时低消耗的蓝牙数字基带信号的简单方法,可用于蓝牙4.0等短距离无线通信领域。



背景技术:

随着互联网技术的迅速发展,互联网相关的通信网络技术逐渐走向成熟,移动设备和产品日益增多,在生活中的作用也越来越突出。“蓝牙”是一种开放的技术规范,它可实现短距离的无线语音和数据通信。它提供低成本、近距离的无线通信,可为固定的或移动的终端设备提供廉价的接入服务,使得近距离内的各种设备能够实现无缝资源共享。其中,以蓝牙4.0技术为代表的技术以其低功耗、高性能的优势占据市场高地,成为市场上的主流。在2010年7月,蓝牙技术联盟发布了蓝牙4.0版本规范,蓝牙迈入了新时代,全新的蓝牙不仅囊括了之前的版本,而且注重强调蓝牙的新技术:低功耗。而蓝牙4.0低功耗技术采用的调制技术为GFSK,因此,对GFSK的研究就有了深远的意义。

GFSK信号可以表示为:

其中,xn为二进制信号,fc为载波频率,h为调制指数,Eb和T分别表示单位比特能量和比特周期。这里的二进制信号需要经过高斯滤波器,以滤除高频分量,抑制带外辐射,从而提高频率利用率。

通过变形,上式可以写成:

这样,GFSK信号可以写成两路信号,即I路和Q路。目前,产生GFSK信号的方法虽然简单,但是需要占用很多ROM资源,并不太适合实际。



技术实现要素:

本发明的目的是提供一种低延时低消耗数字基带信号的实现方法,能够快速而又节省硬件资源的实现基带信号,以解决现有技术中存在的产生GFSK信号需要占用很多ROM资源的问题。

为实现上述目的,本发明采用的技术方案为:

一种低延时低消耗数字基带信号的实现方法,包括以下步骤:

步骤一,通过高斯滤波器,将二进制信号滤波成型,产生光滑无高频分量的信号;

步骤二,通过积分模块不断实现相位的累加,实现幅度到相位上的映射,产生对应的相位值;

步骤三,利用CORDIC算法,实现相位与幅度的转换,最终实现GFSK基带信号。

所述步骤一的具体步骤为:将高斯滤波输出的采样值存储在ROM中,输入的数据作为ROM的地址存放在3位串行寄存器中;使用MATLAB软件对输入的二进制非归零数据进行仿真,产生对应波形值,通过判断输出波形,把有效的数据存入到ROM中;当有用信号输入到3位串行寄存器时,根据3位信息查找对应的波形值,然后输出结果,即为高斯滤波器模块的输出。

所述步骤二的具体步骤为:依据采样频率和频偏,产生对应的频率控制字,依次利用输入的频率控制字来进行累加运算,形成新的累加的相位结果;累加的相位结果一方面被送到相位幅度转换模块,另一方面,累加结果反馈到加法器的输入端,与下一次经过频率控制字处理过的新数据进行下一次的累加,当一个时钟脉冲到来时,整个过程进行一次,累加器的结果数据以相位的形式送入下一个模块。

所述步骤三的具体步骤为:采用CORDIC算法完成相位到幅度的快速转换,通过对相位数据进行归一化处理,以实现对硬件资源的节省;以及对相位进行象限转换,实现输入数据的收敛;在运算的过程中,多次迭代,得到相互正交的正余弦值,完成GFSK信号的产生。

步骤三中,采用CORDIC算法求出相互正交的I、Q两路值,即:

先预先计算出应旋转的角度值,该角度值分别为pi/4,pi/8…,pi/512,进行归一化处理,采用10位二进制数表示,存储在ROM中,从而实现对硬件资源的节省;

对输入的角度值进行象限的映射,使输入的角度在算法的收敛范围内;

将输入角度不断与ROM中存储的角度值进行加减运算,多次迭代,当剩余角度趋近于零时,完成旋转过程,产生相互正交的I、Q两路信号。

有益效果:本发明全数字化实现,无需其他多余的硬件操作,使用的资源少,实现简单,有利于降低功耗,同时,能够针对多种不同的BT值和调制指数,具有一般性。

本发明针对常规的蓝牙数字基带信号生成的局限性,成功解决了速度、面积、精度之间的制约关系,打破了角度覆盖范围的限制,使角度收敛范围得到改善。通过压缩ROM容量,节省了访问ROM的时间,提高了系统的运算速度,同时还能够减少系统的面积;通过减少模校正因子,简化硬件的实现的难度,同时也减少了系统的面积;通过去掉一些不必要的迭代,减少实现相位幅度转换的CORDIC算法的迭代次数,进而减少流水线级数,以实现对系统的运算的速度的提高;通过区间折叠技术将旋转角度范围的扩展将角度范围覆盖到整个周期,从而扩大CORDIC算法角度收敛范围。本发明提出的方法,使用全数字实现,方式较为简单实用。

附图说明

图1为本发明实现GFSK信号的原理框图;

图2为本发明高斯滤波器的结构框图;

图3为本发明积分模块的结构框图;

图4为本发明CORDIC算法的原理图;

图5为本发明CORDIC的实现框图。

具体实施方式

下面结合附图对发明的技术方案进行详细的说明。

本发明提出的GFSK信号产生方法,首先通过高斯滤波器,将二进制信号滤波成型,产生光滑无高频分量的信号;然后,通过积分模块不断实现相位的累加,实现幅度到相位上的映射,产生对应的相位值;然后,利用CORDIC算法,快速且简便的实现相位与幅度的转换,最总实现GFSK基带信号。

实现GFSK基带信号的方法具体包括如下步骤:

1)首先,通过MATLAB仿真,使得包含从000到111的一组二进制码元序列经过设定的BT和阶数的高斯滤波器,产生一组波形数据,通过对波形的观察和分析,保存波形数据,同时根据相应的码元序列列出三个码元与波形的关系。其中,二进制码元序列如表1查找表所示;

2)将二进制序列输入到寄存器中,形成以3个为一组的寄存器组,即Di-1DiDi+1,根据步骤1)中的查找表,查找具体的输出。

表1

3)将输出结果送入积分模块,使用相应的频率控制字对数据进行控制,然后,控制结果进行累加,同时控制累加结果的范围,一方面将数据反馈到累加器,另一方面,对数据输出,送入下一个模块。

4)对数据积分完成激励到相位映射关系,将结果送入CORDIC模块,完成相位到幅度的转换。首先,根据和的值,判断角度所在的象限,同时,保存x和y的符号,便于后面的使用。其次,根据算法,对和以及进行计算,同时,将值保存在reg寄存器中,以便下次进行操作。不断的进行移位运算,最后,进行9次之后,保存所得到的结果,根据结果的值,判断所求的角度值,通过数据处理,得到正余弦的值,即为I和Q的值。

实施例

首先使用FPGA片内的PLL产生系统时钟;然后根据时钟周期读取ROM中由MATLAB随机产生的数据,使用对数据的高斯滤波成型,最后使用CORDIC查表的方式,不断逼近待求角度,生成GFSK信号。

产生GFSK信号的方法具体包括如下步骤:

(1)使用MATLAB产生随机数据;然后进入步骤(2);

(2)生成系统需要的时钟,同时将步骤(1)的数据写入到ROM中,然后进入步骤(3);

(3)编写高斯滤波器RTL代码使用三个码元一组的形式查找得到波形;然后进入步骤(4);

(4)将步骤(3)中的数据进行累加,同时控制数值范围保证数值处在(-1,1)之间;然后进入步骤(5);

(5)对角度进行相位编码,将不同象限的角度映射到第一象限中,使用CORDIC算法,依据事先存储好的角度值,不断进行旋转得到角度值,这里,为了方便硬件实现,选取每次旋转角度的正切值为2的倍数,即:旋转因子,当N趋于无穷大时,缩放因子k趋于常数0.6073。这样,可以先预定初始向量,那么在N次以后所得到的结果即为单位向量,能够简化运算结果。

本实施例使用的FPGA是Altera公司Cyclone系列的DE2-115,具体型号为EP4CE115F29C7。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1