<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

DDS信號發生器的理解與實現

FPGA設計論壇 ? 來源:CSDN ? 作者:CSDN ? 2022-09-01 15:21 ? 次閱讀

基于Verilog的DDS波形發生器的分析與實現(三角波、正弦波)

最近學習了一下關于DDS的相關知識,本篇概要記錄一下自己的理解與實現。

DDS信號發生器采用直接數字頻率合成(Direct Digital Synthesis,簡稱DDS)技術,把信號發生器的頻率穩定度、準確度提高到與基準頻率相同的水平,并且可以在很寬的頻率范圍內進行精細的頻率調節。采用這種方法設計的信號源可工作于調制狀態,可對輸出電平進行調節,也可輸出各種波形。

下圖為DDS 的基本結構圖

a8d3a45a-299e-11ed-ba43-dac502259ad0.png

由上圖 可以看出,DDS 主要由相位累加器、相位調制器、波形數據表以及 D/A 轉換器構成。

相位累加部分控制輸出波形頻率,相位字輸入部分來改變相位,ROM表中存儲一個周期波形的幅度值。

其中相位累加器由 N 位加法器與 N 位寄存器構成。每來一個時鐘,加法器就將頻率控制字與累加寄存器輸出的相位數據相加,相加的結果又反饋至累加寄存器的數據輸入端,以使加法器在下一個時鐘脈沖的作用下繼續與頻率控制字相加。這樣,相位累加器在時鐘作用下,不斷對頻率控制字進行線性相位累加。即在每一個時鐘脈沖輸入時,相位累加器便把頻率控制字累加一次。相位累加器輸出的數據就是合成信號的相位。相位累加器的溢出頻率,就是 DDS 輸出的信號頻率。(解釋:定義一個N位寄存器,一般為32位,如果來一個時鐘計一次,那就要計2^32次才滿,這樣太慢,因此引入頻率控制字設為A,以前以1為單位,現在以A為單位計數累加,可以控制計數更新的速度)

用相位累加器輸出的數據,作為波形存儲器的相位采樣地址,這樣就可以把存儲在波形存儲器里的波形采樣值經查表找出,完成相位到幅度的轉換。波形存儲器的輸出送到 D/A 轉換器,由 D/A 轉換器將數字信號轉換成模擬信號輸出。

一般32位累加器不會全用來輸出作為ROM地址,會根據ROM深度來適當截取高位作為地址,其余位可以作為控制頻率。例如現在ROM中存儲波形一個周期數據每個數據位寬8位,則數據范圍為0-2^8(256),但是要產生一個周期波形需要512個,因為0-256一般是上升期,256-0處于下降期,那么現在ROM深度為512,則地址位寬應為9位,2的9次方=512,則32位累加器只需高9位即可[31:23]尋址,其余位用來控制地址改變的頻率。假如現在每來一個時鐘地址變一次,那么其余位(即頻率控制字A)應設置為32‘h800000即32’b0000_0000_10000000_0000_0000_0000_0000,最高位1其實就是地址的最低位,累加器初始為0,來個時鐘沿加一次A,高9位地址變化一次。要想兩個時鐘變化一次,那么A就是32‘b0000_00000100_0000_0000_0000_0000_0000,兩個時鐘之后地址的最低位才會變化。這樣通過對頻率控制字A的設置就可以達到改變地址的變化頻率,其實就是輸出的頻率。不知道這樣說看者能否理解。

這里相位累加器位數為 N 位(N 的取值范圍實際應用中一般為 24~32),相當于把正弦信號在相位上的精度定義為 N 位,所以其分辨率為1 /2。若 DDS 的時鐘頻率為

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    12

    文章

    3902

    瀏覽量

    84815
  • 信號源
    +關注

    關注

    5

    文章

    425

    瀏覽量

    43818
  • DDS信號發生器

    關注

    0

    文章

    3

    瀏覽量

    3162

原文標題:?基于Verilog的DDS波形發生器的分析與實現(三角波、正弦波)

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    DDS信號發生器

    現在用到DDS芯片做個信號發生器,可是不知道用DDS產生的波形的幅度是怎么得到的,要是想改變波形的幅度該怎么做?求解答。
    發表于 04-15 23:06

    DDS信號發生器資料集匯

    `本專題匯集了四十種DDS信號發生器各部分資料,包括信號發生器原理,DDS芯片及應用,
    發表于 06-23 14:02

    基于ALTERA實現DDS信號發生器設計

    基于ALTERA實現DDS信號發生器設計
    發表于 05-12 15:08

    基于FPGA的DDS信號發生器

    求一個基于FPGA的DDS信號發生器設計,最好有DA模塊和相位累加模塊的代碼。
    發表于 03-18 22:09

    基于 DDS 原理,應用 FPGA 開發 信號發生器

    現在很多信號發生器是基于 DDS 技術開發的。但是看其性能指標有些不明白的地方,不知道是怎么實現的?比如 采樣率是 500MSa/s, 輸出頻率 100MHz那么他是怎么做到最大頻率下
    發表于 10-13 16:21

    如何利用FPGA設計DDS信號發生器?

    DDS的工作原理和基本結構基于FPGA的DDS信號發生器的設計如何建立頂層模塊?
    發表于 04-09 06:46

    如何利用FPGA和DDS技術實現正弦信號發生器的設計

    DDS電路的工作原理是什么如何利用FPGA和DDS技術實現正弦信號發生器的設計
    發表于 04-28 06:35

    怎么利用FPGA設計基于DDS信號發生器?

    本文在討論DDS的基礎上,介紹利用FPGA設計的基于DDS信號發生器。
    發表于 05-06 09:54

    怎么實現基于FPGA+DDS的正弦信號發生器的設計?

    介紹了DDS的發展歷史及其兩種實現方法的特點,論述了DDS的基本原理,并提出一種基于FPGA的DDS信號
    發表于 05-11 06:58

    DDS直接數字頻率合成器、信號發生器、函數發生器

    DDS直接數字頻率合成器、信號發生器、函數發生器1.DDS直接數字頻率合成器、信號
    發表于 03-24 18:10

    基于DDS技術的信號發生器研究與實現策略

    基于DDS技術的信號發生器研究與實現策略  研究了一種基于DDS芯片AD9850和單片機AT89S52的
    發表于 04-23 11:41 ?2309次閱讀
    基于<b class='flag-5'>DDS</b>技術的<b class='flag-5'>信號</b><b class='flag-5'>發生器</b>研究與<b class='flag-5'>實現</b>策略

    信號發生器原理_DDS芯片及應用_DDS信號發生器設計

    本專題匯集了四十種DDS信號發生器各部分資料,包括信號發生器原理,DDS芯片及應用,
    發表于 06-23 10:41
    <b class='flag-5'>信號</b><b class='flag-5'>發生器</b>原理_<b class='flag-5'>DDS</b>芯片及應用_<b class='flag-5'>DDS</b><b class='flag-5'>信號</b><b class='flag-5'>發生器</b>設計

    基于DDS信號發生器設計

    基于dds函數信號發生器,用單片機及dds實現正玄波,三角波,矩形波的產生
    發表于 01-11 14:55 ?19次下載

    DDS多波信號發生器實現

    詳細介紹了直接數字頻率合成器(DDS)的工作原理、基本結構。在參考DDS 相關文獻的基礎上,提出了符合結構的DDS 設計方案,利用DDS 技術設計了一種高頻率精度的多波形
    發表于 11-22 14:35 ?0次下載

    基于FPGA 的DDS正弦信號發生器的設計和實現

    電子發燒友網站提供《基于FPGA 的DDS正弦信號發生器的設計和實現.pdf》資料免費下載
    發表于 03-24 09:34 ?5次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>