色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

DDS的工作原理及基于FPGA的實現方法

FPGA設計論壇 ? 來源:CSDN技術社區 ? 作者:雷凌峻毅 ? 2022-04-21 09:04 ? 次閱讀

DDS原理及FPGA實現

一個按一定速度沿x軸行進,同時半徑按一定頻率在圓周上滑動的圓,最后留下的痕跡就是一個正余弦波。

DDS全稱直接數字頻率合成(Direct Digital Synthesis),簡單來講,分以下幾步:

1.抽樣

既然是數字頻率合成,那么從模擬信號變成數字信號的過程必不可少。這個過程就是抽樣的過程。根據奈奎斯特采樣定律,我們在采樣過程要保留源信號的信息,那么采樣率至少為源信號頻率的兩倍。換句話說,我們想要在數字合成出來的波形還能還原原始信號的信息的話,我們一個周期中至少要有兩個以上的“點”。

但一般來講,為了波形的完整,我們一個周期中最少保留的點還會多一些。如果假設一個周期最小4個點,采樣頻率為為100MSPS,那我們可以還原的源信號的頻率最大為25M

我們通常對一個周期采樣的點數為2^N個,在這里,我采樣為2的8次方,即256個。

采樣的過程可以通過matlab進行模擬,設置好采樣的位寬和深度便可以生成采樣數據。

6938cf34-c100-11ec-bce3-dac502259ad0.png

得到的部分采樣數據如下

694e9c7e-c100-11ec-bce3-dac502259ad0.png

6964a7a8-c100-11ec-bce3-dac502259ad0.png

2.合成

DDS技術的核心,簡單來說就是將我們的抽樣數據還原成模擬信號。還原的方式和文章講到的一樣:以一定的頻率將抽樣數據依次輸出,就可以還原波形。

假設,以100M的頻率輸出我們的1024個抽樣數據,則將會得到一個頻率為

697c4c1e-c100-11ec-bce3-dac502259ad0.png

的正弦波。這就達到了最初的信號輸出。

那如何調頻呢?

調頻的方案有兩種:一種是改變我們的時鐘頻率,將我們讀取抽樣數據的速度變快或者變慢,這樣就可以改變頻率。這種方法對于當下很多開發板固定的晶振頻率來說比較難以實現。

另一種方案就是減少我們輸出的抽樣數據,輸出的抽樣數據越少,按照上面的公式,頻率便會越高。

比如說,我們最開始查數據是按照依次加一的方式,那我們改成依次加二,顯然,這樣做之后,輸出頻率便會提高。但也會帶來一個問題,我們輸出的點數少了,那么點與點之間不再平滑,輸出的波形會變得階梯化。

顯然加一會得到一個頻率,加二會得到另一個頻率,但這兩個頻率都不是我想要的怎么辦?

如何精準調頻?

假設我們需要得到一個頻率很低的信號,1KHZ,而我們的時鐘頻率為100M,我們在一個周期內輸出1024個點也達不到這樣的頻率。因此我們就需要在輸出的每個數據之間進行等待,可以通過設置計數器來解決這個問題。為了使輸出的信號盡可能的低,我們設置一個32位的累加器。將高10位作為查表的地址。對于1KHZ,有

699196a0-c100-11ec-bce3-dac502259ad0.png

所以,累加值f w o r d fwordfword為4295。

其余頻率對應的累加值均可以按此公式計算。

如何解決階梯化?

從數字上來看,波形變得階梯化是因為我們輸出的抽樣數據減少,點與點之間不再平滑。但是從另一個角度理解,波形變得階梯化的原因是因為疊加了其他雜波

我們簡單地波形變得階梯化理解為趨近于方波。下圖是方波的合成。

69a6992e-c100-11ec-bce3-dac502259ad0.png

由方波的傅里葉級展開式

69c99078-c100-11ec-bce3-dac502259ad0.png

可以得出,方波是由無數個奇次諧波疊加起來的,頻率為2n-1倍,幅度為

69df1a42-c100-11ec-bce3-dac502259ad0.png

因此,若我們的波形也是疊加了高頻的諧波導致波形階梯化,那么就通過低通濾波器來濾除高頻諧波,得到平滑的波形。

DDS的原理圖如下:

69f4fa10-c100-11ec-bce3-dac502259ad0.png

3.實現

基于FPGA的DDS,就是按照上面的原理來實現的。

6a0da89e-c100-11ec-bce3-dac502259ad0.png

我這里只儲存了256個數據,至于原因,后面會講到。

(2)累加

設置一個32位相位控制字和頻率控制字,進行累加。

6a2588b0-c100-11ec-bce3-dac502259ad0.png

6a3d2d6c-c100-11ec-bce3-dac502259ad0.png

這里我只儲存了2^8個波形數據,是為了節省寄存器資源。因為一個周期的正弦波的四個相位實際上數據是有關聯的,知道第一相位的數據,便可推導出另外三個相位的數據。

代碼中,00表示第一相位,此時按照正常的查表順序即可。

01表示第二相位,此時,查表的順序應當是2^8-地址值。但實際上這個減法的操作就是異或的操作。

相減后,地址值8位中原本的“1”變為0,原本的“0”變為1,正好和異或的原理相同。這里為了方便,就直接寫了異或。實際上寫256-addr_cache[7:0]也是一個效果。

其余兩個相位,查表的方式類似。

(4)轉換

因為我這里的256個數據是第一相位的,而第三第四相位的數據是等于2^10減去第一相位的值,因此這里需要將輸出的數據轉換一下。

6a5419b4-c100-11ec-bce3-dac502259ad0.png

(5)測試

通過串口分別發送01999b60和031a5f60,由上面公式

6a691418-c100-11ec-bce3-dac502259ad0.png

6a8b92e0-c100-11ec-bce3-dac502259ad0.jpg

可以算出分別是1M和2M的頻率控制字

6aa3dfa8-c100-11ec-bce3-dac502259ad0.jpg

6ab79066-c100-11ec-bce3-dac502259ad0.jpg

6acf2d02-c100-11ec-bce3-dac502259ad0.jpg

以上便是DDS的FPGA實現。

原文標題:FPGA學習-DDS原理及FPGA實現

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

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

    關注

    1630

    文章

    21796

    瀏覽量

    605747
  • DDS
    DDS
    +關注

    關注

    21

    文章

    636

    瀏覽量

    152900

原文標題:FPGA學習-DDS原理及FPGA實現

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

收藏 人收藏

    評論

    相關推薦

    FPGA實現直接數字頻率合成(DDS)的原理、電路結構和優化...

    FPGA實現直接數字頻率合成(DDS)的原理、電路結構和優化方法介紹了利用現場可編程邏輯門陣列FPGA
    發表于 08-11 18:10

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

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

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

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

    如何利用現場可編程邏輯門陣列FPGA實現實現DDS技術?

    介紹了利用現場可編程邏輯門陣列FPGA實現直接數字頻率合成(DDS)的原理、電路結構和優化方法。重點介紹了DDS技術在
    發表于 04-30 06:29

    如何利用FPGA設計DDS電路?

    ACEX 1K具有什么特點DDS電路工作原理是什么如何利用FPGA設計DDS電路?
    發表于 04-30 06:49

    DDS工作原理是什么?如何去設計DDS

    DDS工作原理是什么?基于DSP Builder和DDS設計基于FPGADDS設計
    發表于 05-06 06:27

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

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

    什么是DDSDDS工作原理是什么

    什么是DDSDDS工作原理是什么?怎么做出一個DDS模塊呢?
    發表于 01-26 06:31

    基于FPGADDS調頻信號的研究與實現

    本文從DDS 基本原理出發,利用FPGA實現DDS 調頻信號的產生,重點介紹了其原理和電路設計,并給出了FPGA 設計的仿真和實驗,實驗
    發表于 06-26 17:29 ?72次下載

    基于FPGADDS信號源設計與實現

    基于FPGADDS信號源設計與實現 利用DDSFPGA 技術設計一種信號發生器.介紹了該信號發生器的
    發表于 02-11 08:48 ?225次下載

    DDS方式的工作原理電路圖

    DDS方式的工作原理電路圖
    發表于 07-14 17:08 ?3635次閱讀
    <b class='flag-5'>DDS</b>方式的<b class='flag-5'>工作原理</b>電路圖

    基于FPGADDS雜散分析及抑制方法

    首先介紹了采用直接數字頻率合成(DDS)技術的正弦信號發生器的基本原理和采用FPGA實現DDS信號發生器的基本方法,然后結合
    發表于 11-26 16:23 ?49次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>DDS</b>雜散分析及抑制<b class='flag-5'>方法</b>

    基于FPGADDS設計

    利用現場可編程門陣列(FPGA)設計并實現直接數字頻率合成器(DDS)。結合DDS 的結構和原理,給出系統設計方法,并推導得到參考頻率與輸出
    發表于 04-01 16:14 ?26次下載

    DDS的基本結構和工作原理及Matlab在DDS系統仿真中的應用說明

    介紹了直接數字頻率合成器(Direct Digital fiequency Synthesizer,DDS)的基本結構和工作原理,并在此基礎上著重論述了利用舭軟件建立DDS的理想和雜散仿真模型的
    發表于 11-06 17:48 ?15次下載
    <b class='flag-5'>DDS</b>的基本結構和<b class='flag-5'>工作原理</b>及Matlab在<b class='flag-5'>DDS</b>系統仿真中的應用說明

    如何使用FPGA實現DDS數字移相信號發生器的原理

    本文討論了基于FPGA芯片的直接數字頻率合成器(DDS)的設計方法。因為DDS實現依賴于高速、高性能的數字器件,使用現場可編程器件
    發表于 03-02 17:11 ?36次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現</b><b class='flag-5'>DDS</b>數字移相信號發生器的原理
    主站蜘蛛池模板: 成人在线免费 | 日本亚洲欧洲免费旡码 | 国产精品久久久久影院色老大 | 玩高中女同桌肉色短丝袜脚文 | 男同志video最新猛男 | xx69美国 | 国产成人自产拍免费视频 | 精品 在线 视频 亚洲 | 国产亚洲视频在线观看 | 亚洲午夜福利未满十八勿进 | 黑吊大战白女出浆 | 亚洲三级在线看 | 乳色吐息在线观看全集免费观看 | 无码免费视频AAAAAA片草莓 | 午夜国产免费视频亚洲 | 亚洲精品成A人在线观看 | 日本综艺大尺度无删减版在线 | 精品夜夜澡人妻无码AV蜜桃 | 99热久这里都是精品小草 | AV午夜午夜快憣免费观看 | 毛片在线网址 | 亚洲精品色情婷婷在线播放 | 国产欧美一区二区精品性色tv | 国产精品视频第一区二区三区 | 手机在线免费观看毛片 | va亚洲va天堂va视频在线 | 老妇高潮潮喷到猛进猛出 | 午夜伦理 第1页 | 麻豆婷婷狠狠色18禁久久 | a视频免费在线观看 | 中文在线免费看视频 | 久久久免费热线精品频 | 久久热免费观看视频 | 亚洲国产精品第一影院在线观看 | 亚洲va在线va天堂XX xX | 少妇精品无码一区二区三区 | 国产在线高清视频无码不卡 | 亚洲视频免费看 | 午夜日本大胆裸艺术 | 中文成人在线 | 青青视频国产色偷偷 |