基于cordic算法数字下变频器设计

基于cordic算法数字下变频器设计

ID:27378998

大小:51.50 KB

页数:6页

时间:2018-12-03

基于cordic算法数字下变频器设计_第1页
基于cordic算法数字下变频器设计_第2页
基于cordic算法数字下变频器设计_第3页
基于cordic算法数字下变频器设计_第4页
基于cordic算法数字下变频器设计_第5页
资源描述:

《基于cordic算法数字下变频器设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于CORDIC算法数字下变频器设计摘要本文以软件无线电为指导,提出基于CORDIC算法利用FPGA平台数字下变频器设计方案。首先分析下变频器的结构;然后采用模块化设计思想,将数字下变频的功能模块包括数字控制振荡器、CIC抽取滤波、HBF抽取滤波器、FIR低通滤波器进行分析和FPGA的设计;最后在MATLAB/DSPBuilder下硬件仿真模块进行仿真并给出仿真结果。关键字数字下变频;CORDIC;FPGA1引言软件无线电的设计思想之一是将A/D转换器尽可能靠近天线,即把A/D从基带移到中频甚至射频,把接收到的模拟信号尽早数字

2、化。由于数字信号处理器(DSP)的处理速度有限,往往难以对A/D采样得到的高速率数字信号直接进行各种类别的实时处理。为了解决这一矛盾,需要采用数字下变频(DDC)技术,将采样得到的高速率信号变成低速率基带信号,以便进行下一步的信号处理。数字下变频技术在软件无线电和各类数字化接收机中得到了广泛应用。因此建立软件无线电的通用数字下变频器是非常必要的。2下变频器的结构与组成我们要设计数字下变频器如图1所示。量化的中频数字信号进入数字下变频器后,先与数字控制振荡器产生的本地数字载波混频,经过CIC抽取滤波器,HBF抽取滤波器,FIR低

3、通滤波对信号进行D倍抽取后得到正交基带信号,这是下变频过程。虚线框内为数字下变频部分是我们设计和讨论的重点。3数字控制振荡器振荡器如图1所示。正交数字下变频器前端包括两部分一是乘法器;一是NCO。乘法器设计很简单,NCO的目标是产生一个理想的正弦和余弦波。更确切地说是产生一个可变频率的正弦波样本如公式:其中为本地振荡频率;为DDC输入信号的采样频率。正弦波样木可以用实时计算的方法产生,但这只适用信号采样频率很低的情况。在软件无线电高速信号采样频率的情况下,NCO实时计算的方法是不可取的。NCO产生正弦波样本通常采用查表法,通过

4、输入的相位数据来寻址查表输出相应的正弦波幅值。对于一个相位位数为n,输出信号幅度位数为M的数控振荡器,这就需要耗费大量的ROM资源(2nXMbit)。为了避免使用大容量的存储器。可采用了一种基于CORDIC(CoordinateRotationDigitalputer)算法来产生正/余弦样本。该算法有线性的收敛域和序列特性。只要迭代次数足够,即可保证结果有足够的精度。并且用于混频的乘法器也可以省掉。从而还节省了大量的逻辑硬件资源。使得数字下变频更易于用FPGA来实现。3.1CORDIC算法CORDIC算法基本原理是:设初始向量

5、x0+jy0经旋转角度后得到的向量xn+jyn即,,设旋转基本角度θi,令,那么初始向量可通过一系列的基本角度θi的旋转,逐渐逼近目标向量。在旋转模式下,如果设Z0=θ,根据J,S,WALTER的推导有:(1)其中δi代表向量旋转方向经过n次旋转迭代后的结果为:其中,,称为模校正因子。如果令,y0=0,则,由上述推导可知:若已知角度Z0和初始向量的x0,y0可由式(1)迭代运算得到角度Z0的正余弦值,而式(3)中的迭代运算用硬件实现时非常方便,只有加(减)和移位操作。3.2基于CORDIC算法实现NCO我们设计的NCO顶层结构

6、为图2所示。我们可以看到,频率控制字寄存器将接收到的频率控制字K送入相位累加器,累加器对系统时钟进行累加计数,当到达输入频率控制字的值时对相位进行累加,随后将累加值送入相位相加器,与相位控制字寄存器接收到的初始相位相加,得到当前的相位值。经过上述相位处理之后,即可获得相位的正/余弦相位序列,将此序列送入基于CORDIC算法的波形发生器,最终获得两路正交的正/余弦输出序列。采用了流水线型实现结构,它用n级相似的算法单元在同一个时钟周期内并行工作,每级算法单元的具体实现结构如图3所示。图中的三个累加器分别完成了该级中xi,yi,z

7、i的迭代,累加器的加/减控制信号为上一级算法单元中的di信号,两个i位的右移寄存器(注:图中的>>i表示右移i位)完成了迭代等式中的乘2-i运算,而该级的基本旋转角度值(2-i)可以采用直接硬连接。流水线结构的最大优点在于它的运算速度很快在任何一个时钟周期,n级算法单元都同时工作,如在输入端连续不断地送入数据,那么在n个时钟周期的延迟之后,输出端将连续得到相应的下变频后的数据与传统的串行结构相比,流水线结构的运算速提高了n倍。图4给出了16级流水线算法的实现结构虚线框中部分是个初始化旋转单元,是因为。由此可见,当迭

8、代的次数n趋近于无穷大时,所被覆盖的角度只能是在-99.9度~99.9度之间,若想让的覆盖范围扩展到,必须在迭代之前再增加一个初始化旋转,将输入向量先旋转,之后是16级流水线算法单元,最右边的是级的基本旋转角度值(2-i),di为各级累加器加/减控制信号"X0,Y0,Z0为下

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。