基于vhdl的直接数字频率合成器设计与实现

基于vhdl的直接数字频率合成器设计与实现

ID:34249304

大小:929.00 KB

页数:6页

时间:2019-03-04

基于vhdl的直接数字频率合成器设计与实现_第1页
基于vhdl的直接数字频率合成器设计与实现_第2页
基于vhdl的直接数字频率合成器设计与实现_第3页
基于vhdl的直接数字频率合成器设计与实现_第4页
基于vhdl的直接数字频率合成器设计与实现_第5页
资源描述:

《基于vhdl的直接数字频率合成器设计与实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、基于VHDL的直接数字频率合成器设计与实现20世纪60年代末,伴随数字集成电路与微电子技术的发展出现了直接数字频率合成器(DDS),它与传统的频率合成技术相比较,具有极高的频率分辨率与稳定度、转换时间短、输出信号的频率、相位、幅度可控等诸多优点,易于实现调频、调相、调幅等多种信号,因而得到广泛应用。本文从DDS的电路结构与具体参数的设计出发,详细论述了DDS的VHDL语言实现过程,给出了频率控制字长为24位的完整的VHDL,代码。1DDS的工作原理目前,比较广泛使用的一种DDS设计方案是查找法,如图1所示,其基本工作原理是通过频率控制字的累加与相位控

2、制字相加形成访问波形表的地址,然后通过地址映射,输出波形的幅度信息给DAC电路,再通过DAC中的LPF,得到相应的波形信号。以正弦信号合成为例,设输出信号的频率为fo,在不考虑初相位的条件下,其瞬时相位:θ=2πfot,一个Tclk内,相位的变化总量为: 实际当中,确定相位量化字长N的大小,并不是任意的,它既取决于上面两个因素,也与量化信噪比有关。文献[7]给出了较为详细的讨论。如正弦波合成时,相位量化的信噪比与幅度量化的信噪引起的总信噪比估计为:其中D为正弦信号振幅量化字长。相位量化字长N越大,所需的查表法空间越大,因此设计DDS时,要合理选择N,

3、D的大小。当N,D取定后,应根据波形特点,进一步采用ROM压缩技术减小所需单元的数量。如合成正弦信号时,可根据信号的对称性,仅存储0~π/2的幅度值,这样可以将ROM大小压缩为原来的1/4。2VHDL语言实现程序设计包含三个部分:数据输入、相位累加和ROM查找,分别由三个进程实现。data_in进程:在WR=0并CLK=1时,写频率控制字;phase_add进程:在CLK上升沿,做相位累加,并取累加结果的高12位的低10位用于ROM表的地址,其最高位与次高位分别送s_1和s_2用来正弦相位区间控制;lookfor_rom进程:在CLK上升沿,按照ph

4、ase_add进程提供的地址寻址,并对寻址结构按s_1和s_2所划分的四个象限进行数据处理,并将处理的结果输出。相位控制的具体操作如表1所示。下面程序为正弦DDS的VHDL实现。相位量化字长为24b,振幅量化字长采用10b。完整的程序代码如下: 程序中的componentdds_rom元件可通过Max+PlusII的File菜单中的MegaWizardPlug-inManager创建一个LPM_ROM,名为dds_rom.vhl,该元件创建前,需按照图2所示的mif文件格式创建一正弦波形数据文件(如名为:sin_data.mif),该数据文件存有正弦

5、1/4周期波形数据。由于波形数据文件中数据较多,可通过C语言编程生成数据,生成正弦波形采样数据文件的C程序代码如下:将这个C语言程序存为singen.c,编译链接后生成singen.exe,即可在DOS命令行下执行:就可以生成.mif文件中的波形数据。3结语文中有关代码均是通过Max+PlusⅡ10.2编译通过的,读者可稍加修改就可以用于自己的实际系统设计。相位累加器可采用流水线型超前进位加法器实现,同时可增加同步相位取模器以改善DDS的性能,或采用CORDIC算法代替波形ROM的使用。作者:赵林军(1.西安电子科技大学陕西西安710071;2.陕西

6、理工学院陕西汉中723003)

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

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

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