基于FPGA的DDS开发和实现,可修改输出正弦的频率和相位,包含testbench

1.算法仿真效果

vivado2019.2仿真结果如下:


输出2个不同频率的正弦信号:


修改相位,得到如下所示。


2.算法涉及理论知识概要

直接数字频率合成技术(Direct Digital Synthesis)完全不同于我们己经熟悉的直接频率合成技术和锁相环频率合成技术。直接数字频率合成技术(简称DDS)的理论早在七十年代就被提出。它的基本原理就是利用采样定理,通过查表法产生波形,由于硬件技术的限制,DDS技术当时没能得到广泛应用。随着大规模集成电路技术的飞速发展,DDS技术的优越性己逐步显现出来。不少学者认为,DDS是产生信号和频率的一种理想方法,发展前景十分广阔。与其他频率合成方法相比较,直接数字频率合成技术的主要优点是易于程控,相位连续,输出频率稳定度高,分辨率高。其频率分辨率可以达到10-3。而且频率转换速度快,可小于100ns,特别适宜用在跳频无线通信系统。其相位噪声主要决定于参考时钟振荡器。


DDS(Direct Digital frequency Synthesis)即直接数字频率合成器,是一种新型的频率合成技术,具有较高的频率分辨率,快速的频率切换,稳定性好,可灵活产生多种信号的优点。因此,在现代电子系统及设备的频率源设计中,尤其在通信领域,直接数字频率合成器的应用越来越广泛。在数字化的调制解调模块中。DDS取代了VCO(模拟的压控振荡器),被大量应用。这种合成技术是一种利用数字技术来控制信号的相位增量的技术,它采用插值取样的方式,将要合成的正弦波波形用若干个采样点的取值来代替,然后依次等时间间隔输出这些取值,每个采样点的值由预先存储的数字值经D/A转换后得到。


DDS工作原理框图如图1所示。其基本结构包括:相位累加器PA、波形查询表ROM、数模转换器DAC及低通滤波器。


DDS的工作过程为:在参考时钟fc的作用下,相位累加器对频率控制字FCW(Frequency Control Word)进行线性累加,将其高W位作为地址码通过波形查值表ROM变换,产生D位对应信号波形的数字序列,再由数模转换器DAC将其转化为阶梯模拟电压波形后由具有内插作用的低通滤波器LPF将其平滑为连续的正弦波形作为输出。


一个N位的相位累加器对应相位圆2N上个相位点,其最低相位分辨率为θmin=Δθ=2π/2N。在图2中N为4,则有16个相位值和16个幅度码相对应。该幅度存储于波形存储器中,在频率控制字FCW的作用下,相位累加器给出不同的相位码,对波形存储器寻址,完成相位--幅度变换,经DAC变成阶梯正弦波信号,再通过低通滤波器平滑,便得到模拟正弦波输出。


自第一部正弦波发生器问世以来,函数发生器的设计已经发生了多次演进,在当前数字领域中,大多数新型函数发生器都在采用直接数字频率合成技术。DDS在大部分操作中使用数字电路,从而提供了数字操作拥有的许多优势。


第一,输出信号的频率精度可以达到作为发生器参考信号使用的晶体控制振荡器的水平。如果想实现更高的精度,也可以采用函数发生器本身的温度补偿晶体振荡器产生。


第二,DDS信号发生器的数字电路可以实现与数字电路相同的频率精度。


第三,如果拥有RAM波形存储器,那么DDS函数发生器可以重现几乎任何波形。因此,函数发生器现在的功能要远远超过传统函数发生器。对称性可变的波形现在已经是标配功能,另外还可以内置各种不常见的波形,如指数上升和下降型波形或正弦脉冲型波形等。但由于DDS的全数字结构,使得直接数字频率合成器不可避免的拥有以下两个缺点。


第一,其杂散分量丰富。这些杂散分量主要由相位舍位、幅度量化和DAC的非理想特性所引起。


第二,输出频带受限。由于DDS内部DAC和ROM的工作速度限制,使得DDS输出的最高频率受到极大的限制。


3.Verilog核心程序

`timescale 1ns / 1ps


module TEST_tops;

reg i_clk;

reg i_rst;

reg[15:0] i_Fre1;

reg[15:0] i_phase1;

reg[15:0] i_Fre2;

reg[15:0] i_phase2;

wire[15:0] o_sin1;

wire[15:0] o_sin2;



tops tops_u(

.i_clk    (i_clk),

.i_rst    (i_rst),

.i_Fre1    (i_Fre1),

.i_phase1    (i_phase1),

.i_Fre2    (i_Fre2),

.i_phase2    (i_phase2),

.o_sin1   (o_sin1),

.o_sin2   (o_sin2)

);


initial

begin

i_clk  = 1'b1;

i_rst   = 1'b1;

i_Fre1=16'd0;

i_phase1=16'd0;

i_Fre2=16'd0;

i_phase2=16'd6000;

#100

i_rst   = 1'b0;

i_Fre1=16'd32;

i_phase1=16'd0;

i_Fre2=16'd64;

i_phase2=16'd32000;

end

always #5 i_clk=~i_clk;

endmodule

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容