DDS 原理詳細推到過程

2021-10-09 20:12:31 字數 1337 閱讀 2571

直接數字頻率合成技術(direct digital synthesis,dds)是一種從相位概念出發直接合成所需要的波形的新的全數字頻率合成技術,該技術具有頻率解析度高、頻率變化速度快、相位可連續性變化等特點,在數字通訊系統中被廣泛採用,是訊號生成的最佳選擇。目前市場上可以見到很多整合的、多功能的專用dds晶元,像ad9835、ad9954、ad9959等。但是在某些場合,專用dds晶元在控制方式、頻率控制等方面與系統的要求差別很大,現場可程式設計門陣列(fpga)器件具有工作速度快、整合度高、可靠性高和現場可程式設計等優點。利用它來設計符合自己需要的dds電路是乙個很好的解決方法。

1 dds的基本原理

dds的主要思想是從相位的概念出發合成所需要的波形,其結構由相位累加器、波形儲存器、數模轉換器、低通濾波器和參考時鐘五部分組成,其基本原理框圖如圖1所示。

綜上所述,在取樣頻率一定的情況下,可以通過控制頻率控制字k來控制所得離散序列的頻率,經保持、濾波之後可唯一地恢復出此頻率的模擬訊號。

2 基於fpga技術實現dds的方案

用fpga實現dds的基本工作過程為:通過vxi介面電路將生成的資料存入固定資料ram中,然後用fpga設計的相位累加器來計算並選擇ram中的資料存放位址,最後將資料給定的頻率控制字輸出,經dac轉換即實現了任意波形輸出。原理圖如圖2所示。虛線部分可用fpga來實現。

圖2中參考時鐘由高穩定的晶體振盪器產生,主要用於控制dds中各器件同步工作。虛線部分相當於相位累加器,它由n位加法器與n位相位暫存器構成,它實際上是乙個計數器。每來乙個時鐘脈衝,加法器將相位增量資料與相位暫存器輸出的累積相位資料相加,把相加後的結果送至相位暫存器的資料輸入端。相位暫存器將加法器在上乙個時鐘作用後所產生的新相位資料反饋到加法器的輸入端,以使加法器在下乙個時鐘的作用下繼續與頻率控制字相加。由此看來,相位累加器在每乙個時鐘脈衝輸入時,把頻率控制字累加一次,相位累加器輸出的資料就是合成訊號的相位,相位累加器的溢位頻率就是dds輸出的訊號頻率。

3 結束語

採用fpga設計dds電路,充分發揮了fpga在系統可程式設計的優點,可以通過軟體靈活改變相關引數,給設計帶來很多方便。用fpga設計dds電路較採用專用dds晶元更為靈活,只要改變fpga中的rom資料,dds就可以產生所需波形資料,並且fpga的功能完全取決於設計需要,因而具有相當大的靈活性,將dds設計嵌入到fpga晶元所構成的系統中,其系統成本並不會增加多少,因此,採用fpga來設計dds系統具有很高的價效比。

條件概率 全概率以及貝葉斯推到過程

1 條件概率公式 1 定義 設a,b是兩個事件,且p b 0,則在事件b發生的條件下,事件a發生的條件概率 conditional probability 為 p a b p ab p b 2 乘法公式 p a b p a p b b 由條件概率公式得 p ab p a b p b p b a p ...

ThreadLocal原理詳細解析

threadlocal,可以叫做執行緒本地變數或執行緒本地儲存,顧名思義就是threadlocal為變數在每個執行緒中都建立了乙個副本,那麼每個執行緒可以訪問自己內部的副本變數。其實就是通過空間換時間的方式來取得對每個執行緒各自變數的共享。變數值的共享可以使用 public static 變數的形式...

MJRefresh實現原理 詳細版

mjrefresh實現原理 大家常用的uitableview uiclollectionview上拉 下拉載入資料很常見。以下分析mjrefresh實現方法 首先看下,框架是如何使用的,只需如下2行 即可實現下拉載入資料 self.collectionview.header mjrefreshnor...