<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天內不再提示

用于傳統正弦波CW生成的基于處理器的DDS技術要實現高性能指日可待

電子森林 ? 來源:FPGA入門到精通 ? 作者:FPGA入門到精通 ? 2020-09-24 15:28 ? 次閱讀

在測試和驗證分辨率高于16位的高精度快速模數轉換器(ADC)的交流性能時,需要用到近乎完美的正弦波生成器,該生成器至少支持0kHz至20kHz音頻帶寬。

通常會使用價格高昂的實驗室儀器儀表來執行這些評估和特性表征,例如Audio Precision提供的音頻分析儀AP27xx或APx5xx系列。大多數情況下,24位或更高分辨率的現代高速SAR和寬帶ADC都采用單電源和全差分輸入,因此要求用于DUT的信號源具備準確的直流和交流性能,同時提供全差分輸出(180°錯相)。

同樣,這款交流生成器的噪聲和失真水平應該遠優于這些ADC的規格,根據大部分供應商提供的規格,其本底噪聲水平遠低于–140dBc,失真水平低于–120dBc,輸入信號音頻率為1kHz或2kHz,最高可達20kHz。有關適合高分辨率帶寬ADC的典型測試臺的典型測試配置,請參考圖1。最關鍵的元件就是正弦波生成器(單信號音或多信號音),其中基于軟件的直接數字頻率合成器(DDS)可以提供完全的靈活性、極高的頻率分辨率和時鐘同步性能,利用數據采集系統來執行相干取樣,以避免泄漏和FFT窗口濾波。

圖1. 基于IEEE 1241標準的典型ADC(ac)測試設置的處理鏈。DDFS能夠讓整個測量系統完全實現數字化,具備多種優勢,包括完全的靈活性和相干取樣采集。

因為成本只有音頻精密分析儀的幾分之一,所以能夠基于直接數字頻率合成(DDFS)原理設計非常精準的正弦波生成器,但需要通過軟件在SHARC處理器等浮點DSP處理器上實現。一個相當快的浮點DSP將能滿足實時性要求,以及所有算法和處理條件,以達到先進的SAR ADC所設置的失真和噪聲性能水平。通過利用SHARC內核架構的全字數據長度(32位或64位定點格式)來實施NCO相位累加,利用專有的40位浮點擴展精度來執行正弦近似函數,以及利用數字濾波器來確定頻譜形狀,量化效應(回轉噪聲和截斷噪聲)得到大幅降低,與用于信號重構的數模轉換器(DAC)缺點相比,這種效應可以忽略不計。

直接數字頻率合成

1970年4月,Webb提出了數字信號生成器頻率合成器的專利申請,其中描述了有關DDS生成包括正弦波等各種模擬波形的考慮因素,只需使用數個數字邏輯模塊即可實現。之后,Tierney等人在1971年初發表了論文(后來成為大家頻繁引用的參考文獻),闡述了通過深化DDS操作進行正交生成來實現直接數字頻率生成,以及采樣系統理論相關局限性(相位截斷和頻率規劃)問題。隨后出現的實際應用大部分依賴于分立式標準邏輯IC,例如TTL74xx或ECL10K系列。后來在不到10年的時間里,Stanford Telecom、Qualcomm、Plessey和ADI等紛紛推出了完全集成式解決方案,例如ADI的AD9950和AD9955。這些邏輯IC旨在實現速度、功耗和成本之間的最佳平衡,其架構基于查找表(LUT),以確保在有限相位、頻率和幅度分辨率下實現相位-正弦幅度轉換。如今,ADI公司仍然是DDS獨立集成電路的最大供應商,可能也是最獨特的供應商,而當前的數控振蕩器(NCO)往往都集成到AD9164或AD9174之類RF DAC中。雖然這些器件在多GHz帶寬上具備出色的噪聲和線性度性能,但它們都不適合測試中等速度、高分辨率ADC,例如LTC2378-20, the AD4020或 AD7768。

與基于PLL的傳統頻率合成器相比,NCO和DDS的顯著優勢包括:極高的頻率分辨率、快速靈敏性,以及可輕松生成完美正交的正弦/余弦波形。此外,還提供寬帶寬范圍和高直流精度。其工作原理基于數字信號處理和采樣系統理論,數字特性支持對輸出信號的相位、頻率和幅度實施全數字獨立控制。圖2所示的框圖顯示傳統DDS的架構,該DDS由三大功能模塊組成:

. N位相位累加器;

. 相位-正弦幅度轉換器,由W位截取相位輸入字表征特性;

. D位DAC及其相關重構濾波器。

圖2. NCO的主要功能部分,以及與完整的直接數字頻率合成器的區別,其中包括重構DAC和其相關的AAF。NCO部分可用于測試或仿真DAC。

相位累加器由簡單的N位加法器結合寄存器構成,寄存器的內容按照采樣時鐘FCLK以輸入相位增量Δθ(通常也稱為頻率調諧字,FTW)更新。累加器會定期溢出,在采樣或參考時鐘FCLK和DDS輸出頻FOUT之間像小數分頻器一樣運行,或像齒輪箱一樣運行,分頻比為:

溢出速率為生成的波形提供輸出頻率,使得:

其中0≤ FTW≤2N–1。因為分頻器的原因,NCO輸出端的參考或采樣fS時鐘相位噪聲的影響會降低

相位累加器寄存器的輸出表示生成波形的電流相位。每個分立式累加器輸出相位值然后通過相位-正弦或相位-余弦映射引擎,被轉換成幅度正弦或余弦數據或樣本。此功能通常利用存儲在LUT(ROM)中的三角函數值完成,有時通過執行正弦近似算法完成,或兩者組合方式完成。相位-正弦幅度轉換器的輸出供DAC使用,在濾波之前生成量化和采樣正弦信號,使信號平穩,并避免頻譜混疊。由DAC有限分辨率導致的幅度量化設定了本底噪聲以及相應的頻率合成器信噪比(SNR)的理論限值。此外,DAC作為混合信號器件,由于其INL、DNL、壓擺率、毛刺和建立時間等特性,展現出一系列直流和交流非線性,這會產生雜散信號音,縮小正弦波生成器的整個動態范圍。

基于圖2中架構實現的實際正弦波形生成器,主要是相位-幅度轉換模塊不同,受數字無線電應用這一市場導向影響,該模塊通常針對速度和功耗,而不是高精度而優化。實施相位-正弦幅度轉換器最簡單的方法就是使用ROM,采用一對一映射的方式來存儲正弦值。遺憾的是,LUT的長度與相位累加器的寬度N呈指數增長(2N), 2N),并且與波表數據字精度W呈線性增長。而且,減小累加器的尺寸或截斷其輸出之間的權衡和取舍會導致頻率分辨率降低,并且嚴重降低SFDR的性能。結果表明,相位或幅度量化導致的雜散會降低–6dB/位。實現精細的頻率調諧通常需要較大的N,已有幾種技術可用來限制ROM的尺寸,同時保持足夠的雜散性能。一般會使用簡單的壓縮方法,利用正弦或余弦函數的四分之一波長對稱性將相位幅度范圍減小4倍。為了進一步縮小范圍,實際會使用截斷相位累加器輸出的方法,不過這會導致產生雜散諧波。盡管如此,這種方法也因精準的頻率分辨率要求、存儲器尺寸和成本考量而得到了廣泛采用。建議采用多種角分解方法,以降低基于LUT的方法對存儲器的要求。與使用各種分段、線性或多項式內插法的幅度壓縮結合,在進行需要正弦和余弦函數的I/Q合成時,準確估算正弦函數的第一象限,或按[0, /4]間隔估算。同樣,在沒有ROM LUT的情況下,只需要按照逐次逼近的方法調用位移和添加操作,即可使用基于角旋轉的方法有效生成復雜信號。這種方法以流行的CORDIC為代表,當硬件乘法器不可用時,或者出于速度或成本考慮,應最大限度減少實施函數所需的柵級數量時(在FPGAASIC中),此方法通常比其他方法更快。相反,當硬件乘法器可用時(在DSP微處理器中總是如此),采用插入方法和完整多項式計算(例如泰勒級數展開、切比雪夫多項式)的表查找要比CORDIC更快,尤其是要求高精度時。

在軟件中實現高精度NCO

如同著名的惠普分析儀,或者如同應用筆記AN-132中描述的那樣,構建與最出色的模擬振蕩器具備同等或更出色的失真性能的高精度交流信號振蕩器并不容易,即使是針對音頻頻譜(直流至20kHz范圍)。然而,如前所述,利用嵌入式處理器具有的足夠運算精度來執行相位計算(ωt)和正弦函數(sin(ωt))近似計算,從而完整實施軟件,這顯然有助于最大限度減少量化的不利影響、噪聲和由此導致的雜散。這意味著圖2中的所有NCO功能模塊都會轉換成代碼行(不是VHDL!),從而實現一個滿足實時約束的軟件版本,以確保實現最小的采樣速率和所需的頻率帶寬。

對于相位-正弦幅度轉換引擎,完整的LUT方案或任何變化都需要用到太多的存儲空間或太多的插值運算來實現完美的正弦一致性。相反,用于計算正弦近似值的多項式方法允許使用成本極低的通用DSP,在復雜性與精度之間達成了不錯的平衡。多項式級數展開也很有吸引力,因為它相對簡單,并且能夠采用選擇的冪級數類型提供充分的靈活性,并且調整算法來實現給定精度。它不需要很大的存儲空間(可能不到100行SHARC DSP匯編代碼),只需要幾個RAM位置來存儲多項式系數和變量,因為正弦值只在采樣時刻計算。

首先,對于正弦近似值函數,顯然會選擇使用具有適當順序的泰勒/麥克勞林冪級數來滿足目標精度。但是,由于冪級數在端點處往往會失效,所以在執行任何多項式求值之前,必須將參數輸入范圍縮小到更小的區間。如果不縮小參數范圍,只能使用非常高階的多項式來支持在功能域(例如[–, +])中實現高精度。所以,需要對初等函數進行一些變換,以獲取所需的約化參數,例如sin(|x|)=sin(f+k×/2)和sin(f)=sin(x–k×/2),其中0f

除了周期性和modulo-2重復之外,sin(x)函數的對稱性可用于進一步縮小近似值范圍。鑒于正弦函數在區間[0, 2]內,關于點x=不對稱,所以能夠使用以下關系式:

將范圍縮小到[0, ]。采用同樣的方式,sin(x)在區間[0, ]內,關于由x=/2定義的線對稱,所以:

x在區間[0, /2]以內,這會進一步縮小角輸入近似值的范圍。通過進一步縮小參數區間(例如[0, /4])來提高精度并不是有效方法,因為這需要同時估算正弦和余弦函數的值,如常用三角關系所示:sin(a+b)=sin(a)×cos(b)+cos(a)×sin(b),從生成正交信號這一角度,這有其價值。

ADI ADSP-21000系列應用手冊第1卷描述了一個近乎理想的(用于嵌入式系統)正弦近似值函數,該函數基于為第一個ADI DSP浮點處理器編寫的冪級數優化,即ADSP-21020,后者基本上屬于SHARC核。這種sin(x)的實現方法依賴于Hart等人發布、由Cody和Waite完善、適用于浮點運算的極大極小逼近多項式,以減少舍入錯誤和避免出現前面提到的取消。極大極小方法依賴于切比雪夫多項式和雷米茲交換算法來確定所需的最大相對誤差的系數。如圖3中的MATLAB所示,與第七階泰勒多項式相比,設置系數的微小變化可能會明顯提高極小極大值的精度。為了實現精度與速度的最佳平衡,這個正弦近似值函數的角輸入范圍應該縮小到[–/2至+/2]區間內,且軟件程序包含一個有效的范圍縮減濾波器,約占總“正弦”子程序執行時間的30%。

圖3. 不同于泰勒-麥克勞林方法圍繞0進行定義,極小極大正弦逼近方法在[–π/2至+π/2]區間內,會最小化和均衡最大相對誤差。

雖然所有計算都可以使用32位定點算法執行,但多年以來,最常見和最方便的數學計算格式是IEEE 754浮點標準,特別是在處理長數字時。作為一家DSP VLSI芯片制造商,ADI從一開始就率先采用了IEEE 754-1985標準。當時還沒有單芯片浮點DSP處理器,只有簡單的浮點乘法器和ALU計算IC,如ADSP-3212和ADSP-3222。這種格式取代了計算機行業的大多數專有格式,成為所有SHARC DSP處理器的本機格式,采用單精度32位、擴展精度40位,以及最近出現的適用于ADSP-SC589和ADSP-SC573的雙重精度64位。

具備32位尾數的SHARC40位擴展單精度浮點格式為這種正弦波生成應用提供了足夠的精度(u2–32) ,且有助于保持均等,Cody和Waite表示第15階多項式的總體近似精度為32位,在[0至+/2]輸入域內具有均勻分布的誤差。為了最大限度減少運算次數并保持精度,最后的調整是對多項式計算執行霍納法則,這是一種快速求冪的方法,可以求取一個點的多項式值,所以:

R1至R7是多項式級數的Cody和Waite系數,只需要進行8次乘法和7次加法即可計算任何輸入參數ε[0, /2]的正弦函數值。以匯編子程序的形式編寫的完整sin(x)近似代碼在SHARC處理器上大約執行22個核心周期。原有的匯編子程序在更改之后,在獲取40位多項式浮點系數時執行同步雙存儲器訪問,以減少6個周期。

NCO64位相位累加器本身在執行時,就用到了雙精度2的小數格式的SHARC32位ALU。提供存儲器更新的整個相位累加器執行過程需要11個核心周期,因此,每個NCO輸出樣本都在約33個核心周期內生成。

圖4中的框圖顯示了基于軟件DSP的NCO的功能模塊實現方案,每級都參考了運算格式精度。此外,進行信號模擬重構以及實現完整的DDFS還需要用到一個或兩個DAC及其模擬抗混疊濾波器電路。處理鏈的關鍵元件包括:

. 64位相位累加器(SHARC ALU雙精度,帶溢出);

. 64位小數定點到40位浮點轉換模塊;

. 范圍縮減模塊[0至+ /2]和象限選擇(Cody和Waite);

. 正弦逼近算法(Hart),用于相位-幅度轉換;

. –1.0至+1.0范圍內的sin(x)重構和歸一化級;

. LP FIR濾波器和sin(x)/x補償(如果必要);

. 以及40位浮點至D位定點轉換和標度函數,以匹配DAC數字輸入。

圖4. 軟件DDS簡化框圖給出了處理單元之間的各種量化步驟的數據運算格式和位置。

可以在NCO輸出端放置一個可選的數字低通濾波器,以去除可能進入目標頻段的雜散和噪聲?;蛘?,該濾波器可以提供插值和/或逆sin(x)/x頻率響應補償,具體由選擇用于模擬重構的DAC決定。這種低通FIR濾波器可以使用MATLAB Filter Designer工具設計。例如,假設采樣頻率為48kSPS,帶寬為DC至20kHz,帶內紋波為0.0001dB,帶外衰減為-150dB,則可以實施具有40位浮點系數的高質量均衡紋波濾波器。它只有99個濾波系數,在單指令單數據(SISD)單計算單元模式下,總執行時間將消耗約120個SHARC核心周期。經過數字濾波后,使用其中一個DSP同步串行端口,由DMA將計算的樣本對發送至DAC。為了獲得更好的速度性能,鏈接DMA操作也可以使用大型乒乓存儲器緩沖區來支持塊處理操作。例如,塊數據大小可以等于FIR數據延遲線的長度。

實現最佳SFDR,在NCO上進行的最后調整

如前所述,NCO遭受雜散的主要原因是對相位累加器輸出的截斷,其次是針對通過計算或列表得出的正弦值的幅度量化。相位截斷引起的誤差通過相位調制(鋸齒形)在載波頻率附近產生雜散,而正弦幅度量化引起與諧波相關的雜散,不過長期以來一直被認為是隨機誤差和噪聲。如今,在Henry T. Nicholas和H. Samueli撰寫的技術論文中,從數學角度深入闡述了相位累加器的操作。在深入分析的基礎上,提出了一種模型,將相位累加器視為分立式相位樣本排列生成器,并據此預測頻率雜散。無論相位累加器參數(M、N、W)是多少,相序的長度都等于

(其中GCD是最大公約數),如圖4所示,由頻率調諧字M最右邊的位位置L決定。因此,L的值定義序列類別,這些類別彼此共享自己的相位分量集,但根據

比率重新排序。這些在時域內生成的截斷相位樣本序列被用來通過DFT確定頻率域內各雜散線各自的位置和大小。這些序列還表明,M(FTW)的奇數值顯示最低頻率雜散的幅度,并建議對相位累加器進行簡單的修改以滿足這些最低程度的條件(只需在FTW中添加1LSB)。如此,相位累加器的輸出序列必須始終具有相同的2N個相位元素,無論相位累加器的M值和初始內容是什么。之后,最差的雜散信號音幅度等級降低3.922dB,等于SFDR_min(dBc)=6.02×W。由Nicholas更改的相位累加器為NCO提供了多種優勢,首先,它消除了FTW最右邊的位非常接近MSB(FMCW應用中的頻率掃描)的情況,其次,它讓雜散幅度與頻率調諧字M無關。這種修改可以通過按采樣速率 fS切換ALU LSB來輕松實現,如果FTW LSB置位至邏輯1,則可以仿真與相位累加器相同的行為。相位累加器大小N=64位時,對于所需頻率FOUT的精度,可以將? LSB偏移視為可忽略的誤差。

圖5. FTW最右邊非零位的位置確定了理論上SFDR的最差水平。由Nicholas修改的相位累加器解決了采用任何N值的問題,并且使NCO的SFDR最大。

采用32位輸出相位字W時,由相位截斷導致的最大雜散幅度會限制為–192dBc!正弦采樣值的有限量化也會導致產生另一組頻率雜散,該雜散通常被認為是噪聲,可采用大家熟知的SNRq(dB)=6.02×D+1.76公式進行估算。這必須添加到寄生參數中,因為相位-正弦幅度轉換算法階段的近似誤差被認為是可以忽略的,但是,必須非常謹慎地選擇相位-正弦近似算法和計算精度。

這些結果表明,從理論水平上,我們的軟件正弦NCO的線性和噪聲都遠遠超過了測試市場上大多數高精度ADC所需的閾值。它仍然需要找到信號鏈中最后一個、也是最關鍵的元件:重構DAC及其互補模擬抗混疊濾波器和相關的驅動電路,以滿足預期的性能水平要求。

重構DAC:關鍵之處!

首先可能會選擇具備出色的非線性誤差(INL和DNL)規格的高精度DAC,例如出色的20位高精度DACAD5791。但是它的分辨率只有20位,而且其R-2R結構不支持實施信號重構,特別是產生非常純的正弦曲線,這是因為在輸入代碼轉換期間,它存在很大毛刺。傳統的DAC架構基于二進制加權電流發生器或電阻網絡構建,對數字直通和數字開關損傷(例如外部或內部時序擺動),以及數字輸入位的其他開關不對稱非常敏感,特別是在會導致能量變化的重大轉變期間。這就產生了與代碼相關的瞬態,從而產生高幅度諧波雜散。

在20位以上的分辨率下,使用外部超線性快速采樣和保持放大器對DAC輸出去毛刺并無太大幫助,這是因為它在幾十LSB下會生成自己的瞬態,且會因為重采樣產生組延遲非線性。信號重構主要存在于通信應用,通過使用分段架構(混合適用于MSB的完全解碼部分和適用于最低有效位的二進制加權元件)來解決毛刺問題。遺憾的是,目前還沒有超過16位精度的商用DAC。與NCO完全可預測的行為不同,DAC誤差難以預測和準確仿真,尤其是當制造商的動態規格很小或者不存在時,但專用于音頻應用的DAC或ADC除外。插值過采樣和多位DAC似乎是唯一的解決方案。這些先進的轉換器具有高達32位的分辨率、超低失真和高信噪比,是在中低帶寬內實施信號重構的最佳選擇。為了在音頻頻譜或稍寬的頻段(20kHz或40kHz帶寬)內實現出色的噪聲和失真性能,可以使用ADI公司產品系列中杰出的DAC產品,音頻立體聲DACAD1955, 雖然分辨率最高為24位,這款DAC仍然是市場上非常受歡迎的音頻DAC。

這款音頻DAC于2004年推出,基于多位-調制器和過采樣技術,配合各種技巧,用于緩解這種轉換本身固有的失真和其他問題。

即使目前,AD1955采用的插值LP FIR濾波器仍然是同類出色產品。它具有極高的阻帶衰減(–120dB)和極低的帶內波紋(±0.0001dB)。它的兩個(左側和右側通道)DAC可以以最高200kSPS速度運行,但在48kSPS和96kSPS時實現最佳交流性能,其動態范圍以及立體聲模式下的SNR,都支持典型的EIAJ標準、 A加權120dB系數。在單聲道模式下,兩個通道同時異相組合,性能有望提高3 dB。但是,對于寬帶應用,這些規格不太實際,這是因為它們是合成的,帶寬范圍在20Hz至20kHz之間。帶外噪聲和雜散不會超過20kHz,部分是因為EIAJ標準、A加權濾波器和音頻行業規格定義。這種滿足特定音頻測量要求的帶通濾波器模擬人耳的頻率響應,與未濾波的測量值相比,性能提高3dB。

DDFS硬件演示平臺

整套DDFS使用兩個評估板實現,一個支持DSP處理器,一個適用于采用AD1955DAC進行模擬信號重構。選擇第2代SHARCADSP-21161N 評估板的原因在于其可用性、易用性,以及適合任何音頻應用的精簡配置。目前仍在量產的ADSP-21161N于不久之前設計,支持工業高端消費電子和專業音頻應用,提供高達110Mips和660MFlops,或220MMACS/s容量。與最新一代的SHARC處理器相比,ADSP-21161N最大的不同在于它采用較短的3級指令管道、一個片內1Mb三端口RAM,以及數量更少的外設。精準信號音生成器的最后和最關鍵的級基于AD1955評估板,該板必須從軟件NCO提供的樣本中,以完全還原的方式重構模擬信號。這個評估板帶有一個抗混疊濾波器(AAF),優化音頻帶寬來滿足Nyquist標準,除了常用的S/PDIF或AES-EBU接收器外,還配有兩個串行音頻接口,用于支持PCM/I2S和DSD數字流。PCM/I2S串行鏈路連接器用于將AD1955DAC板連接到ADSP-21161NEVB的串行端口1和3連接器(J)。這兩個板都可以配置為采用I2S PCM或DSP模式,以48kSPS、96kSPS或192kSPS采樣速率運行。DSP串行端口1生成左右通道數據、字選擇或左/右幀同步,以及雙頻DAC的數字輸入接口所需的SCK位時鐘信號。串行端口3僅用于生成運行DAC內插濾波器和-調制器所需的DAC主時鐘MCLK,調制器以比輸入采樣頻率(48kSPS)快256倍(默認)的速度運行。由于所有DAC時鐘信號都由DSP生成,所以使用Crystek提供的超低噪聲振蕩器CCHD-957替代了板原有的低成本愛普生時鐘振蕩器。其相位噪聲在1kHz下可能低至–148dB/Hz,適用于24.576MHz輸出頻率。

在模擬輸出端,有源I/V轉換器必須用于在恒共模電壓下(通常為2.8V)保持AD1955電流差分輸出,以最大限度減少失真。像AD797這樣的超低失真和超低噪聲的高精度運算放大器能夠滿足此需求,還可用于處理模擬信號重構。由于兩個差分輸出由DSP分別處理,因此選擇了具有AAF拓撲結構的立體聲輸出配置,而不是單聲道模式。這個AAF使用LTspiceXVII進行仿真,結果如圖6所示。由于濾波器的最后一部分是無源的,所以應該像最近推出的ADA4945那樣增加一個有源差分緩沖級。這種具備低噪聲、超低失真、快速建立時間特性的全差分放大器是近乎完美的驅動任何高分辨率SAR和-ADC的DAC配件。ADA4945具有相對較大的共模輸出電壓范圍和出色的直流特性,可以提供出色的輸出平衡,有助于抑制偶數階諧波失真產品。

圖6. LTspice仿真AD1955 EVB三階抗混疊濾波器(立體聲配置)的頻率響應。

EVB三階濾波器的–3dB截止頻率為76kHz,在500kHz下僅衰減–31db。這款低通濾波器具備出色的帶內平坦性,但帶外衰減必須大幅改善,即使是限于純粹的重構音頻應用。要抑制DAC成型噪聲和調制器時鐘頻率MCLK,就必須滿足這一點。根據軟件DDS的具體使用,用于單信號音生成器或任意波形生成器(生成復雜波形時為AWG),必須優化AAF,以解決帶外衰減或群延遲失真。以大家熟悉的SRS DS360超低失真函數生成器為例進行比較,采用7階Cauer AAF可達到類似的采樣速率。信號重構由AD1862完成,后者是一款串行輸入20位分段R-2R DAC,適用于數字音頻應用。AD1862在高達768kHz(×16fS)頻率下可以保持20位字采樣速率,且具備出色的噪聲和線性度。它支持單端電流輸出,所以能夠使用最出色的放大器來實施外部I-V轉換。

AD1955和SHARC DSP組合針對多種高分辨率SAR ADC實施測試,例如AD4020,其中未設置外部可選無源濾波器。默認情況下,基礎AD4020評估板除了板載ADA4807驅動器之外,并無其他選項可用。用于在V_REF/2共模電壓下偏置ADC輸入的簡單電路提供相當低的300輸入阻抗,需要使用信號隔離、交流耦合,或使用外部差分放大器模塊,例如EVAL-ADA4945-1。電路筆記CN-0513中描述的AD4020參考設計板就是一項不錯的選擇。它包含一個分立式可編程增益儀表放大器(PGIA),提供高輸入阻抗,支持±5 V差分輸入信號(G=1)。雖然這些AD4020板和它們的SDP-H1控制器不支持相干采樣采集,但它們具備出色的樣本波形捕捉長度,最高可達1M。因此,可以實現具備可選窗口的FFT,提供出色的頻率分辨率和低本底噪聲。例如,對于7項Blackman-Harris窗口,圖7中所示的1Mpts FFT圖描述了AD1955在生成的990.059Hz正弦波下的失真水平。二次諧波是350 kHz帶寬內–111.8dBc下的最大失真分量和最大雜散。但是,在考慮整個806kHz ADC Nyquist帶寬時,SFDR受- DAC調制器、內插濾波器頻率和其二次諧波(384 kHz和768 kHz)限制。

圖7. 從1 M點FFT分析中可以看出,在低于–111dBc下具備不錯的失真性能,在1kHz輸入頻率下,10kHz至200kHz頻段內出現最大雜散。本底噪聲約為–146dBFS。

在相同條件下,對傳統的AD1862進行測試,結果顯示頻率行為略微不同。在差分配置下,兩個20位DAC的時鐘速度約為500kSPS,在1.130566kHz下,本底噪聲為–151dBFS,正弦輸出水平為12 V p-p時的THD為–104.5dB。在AD4020Nyquist帶寬 (806 kHz)下,SFDR接近106dB,受三階諧波限制。DAC重構濾波器基于兩個AD743低噪聲FET放大器,與AD1955評估板中的濾波器一樣,屬于三階濾波器,但是-3dB時的截止頻率為35kHz。

為了變得有效,基于DDS的生成器需要采用不錯的濾波器,支持在約250kHz下實現大于100dB衰減,以生成達到25kHz CW信號頻率范圍的直流。這可以使用六階切比雪夫濾波器實現,甚至使用用于顯示出色帶內平坦度的六階巴特沃茲低通濾波器實現。濾波器階將被最小化,以限制模擬級的數量和問題點,例如噪聲和失真。

結論

在標準評估板上實施的初級和開箱即用測試顯示,用于傳統正弦波CW生成的基于處理器的DDS技術要實現高性能指日可待。通過精心設計重構濾波器和模擬輸出緩沖級,可以實現–120dBc諧波失真系數?;贒SP的NCO/DDS不只受到單信號音正弦波生成限制。通過使用具備合適的截止頻率,且無其他硬件變更的優化AAF(貝塞爾或巴特沃茲),同樣的DSP和DAC組合可用作高性能AWG來生成任何類型的波形,例如,完全合成可設置參數的多信號音正弦波(可以完全控制每個分量的相位和幅度)來實施IMD測試。

由于浮點算法對于要求高精度和/或高動態范圍的應用至關重要,如今,低成本ADSP-21571或SoCADSP-SC571(ARMand SHARC) 等SHARC+DSP處理器實際上是業界的實時處理標準,支持最高10MSPS的合計采樣速率。雙SHARC內核和其硬件加速度計采用500MHz時鐘頻率,可以提供高于5Gflops的計算性能和數十個內部專用SRAM,后者是生成各種波形,以及實施復雜的分析處理需要的基本組成部分。此類應用表明,在實施精準的數字信號處理時,并非一定要系統性地使用硬件可編程解決方案。得益于ADI公司的CCES、VDSP++ C和C++編譯器,以及全套仿真器和實時調試器,浮點處理器及其整個開發環境可以快速輕松地從仿真器(例如MATLAB)移植代碼,以及快速實施調試。

原文標題:近乎完美的DDS正弦波信號音生成器

文章出處:【微信公眾號:FPGA入門到精通】歡迎添加關注!文章轉載請注明出處。

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

    關注

    21

    文章

    616

    瀏覽量

    151900
  • 正弦信號
    +關注

    關注

    0

    文章

    44

    瀏覽量

    15994

原文標題:近乎完美的DDS正弦波信號音生成器

文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何用STM32H7 SPI驅動DAC芯片(非板上內置DAC)生成正弦波?

    我想用STM32H7用SPI 驅動DAC 芯片(非板上內置DAC)生成正弦波,有合適的例程或者思路給我借鑒嗎
    發表于 05-31 06:35

    IR2101驅動生成正弦波問題

    變壓正弦波輸出,可調頻調幅。(通過副邊濾波后) 4 目前出現的問題,用15k占空比50%的方波驅動沒有信號輸出。 現在的需求是:(1)PWM輸出時序有什么要求 (2)4.7V電壓供電,別人能工作,用的是什么芯片
    發表于 05-29 11:35

    STM32H743采集更高頻率的正弦波使用內置的ADC有什么方法實現嗎?

    STM32H743 ADC1和ADC2的最大采樣率是3.6MSPS,根據香濃采樣原理,最大可以采集的正弦波頻率是1.8MHz,不知道我這樣理解對不對?我想采集更高頻率的正弦波使用內置的ADC有什么方法實現嗎?降低位數是不是可以提
    發表于 05-29 06:04

    高速AWG全新DDS選項:生成多達20個正弦波!

    一、前言 近期,我們為現有的AWG板卡推出了全新的固件升級選項,為AWG板卡帶來DDS模式。該功能允許一個生成器通道可以控制多達20個獨立的、且頻率高達400MHz的正弦波。這個新的固件選項,適
    的頭像 發表于 04-15 10:06 ?149次閱讀
    高速AWG全新<b class='flag-5'>DDS</b>選項:<b class='flag-5'>生成</b>多達20個<b class='flag-5'>正弦波</b>!

    正弦波調制和方波調制的有效值怎么決定?

    以載波三角和調制正弦波比較生成PWM,生成的PWM波形的有效值是和什么有關?或者說
    發表于 04-09 16:54

    Spectrum儀器高速任意波形發生器DDS功能可生成20個正弦波

    ,采樣率可達1.25GS/s,帶寬更是高達400MHz。用戶可以通過該選項定義每張AWG卡的23個DDS核心,并將其發送到硬件輸出通道。每個DDS核心(正弦波)可通過編程設置頻率、振幅、相位、頻率斜率和振幅斜率等參數。例如,在做
    的頭像 發表于 03-20 11:04 ?187次閱讀
    Spectrum儀器高速任意波形發生器<b class='flag-5'>DDS</b>功能可<b class='flag-5'>生成</b>20個<b class='flag-5'>正弦波</b>

    LC正弦波濾波和LCL濾波單元

    容易想到如果將變頻輸出端的PWM波形轉變成驅動電動機的理想波形--正弦波,就可以解決問題了。正弦波濾波的作用就是將PWM波形轉變成正弦波
    發表于 03-09 15:55

    正弦波和方波晶振能否互相替代?

    和應用。 一、正弦波晶振 正弦波晶振產生的是連續且平滑的正弦波形狀。它可以通過正弦波發生器來實現,通?;赗C或LC振蕩電路。
    的頭像 發表于 01-31 09:11 ?398次閱讀

    Verilog實現DDS正弦波發生器

    DDS 同 DSP(數字信號處理)一樣,是一項關鍵的數字化技術。DDS 是直接數字式頻率合成器(Direct Digital Synthesizer)的英文縮寫。與
    的頭像 發表于 12-22 09:48 ?540次閱讀
    Verilog<b class='flag-5'>實現</b><b class='flag-5'>DDS</b><b class='flag-5'>正弦波</b>發生器

    ad2s1205可以處理標準的正弦波余弦輸入信號嗎?

    這個芯片可以處理標準的正弦波余弦輸入信號嗎 如果可以的話EXC是不是可以不用管
    發表于 12-15 07:59

    利用AD9914產生正弦波,最后輸出的正弦波為什么感覺有調制?

    您好,外部晶振50M輸入AD9914后,通過內部倍頻作為內部時鐘,用的串行編程想輸出的正弦波。最后輸出的正弦波為什么感覺有調制?我是利用單頻模式,選擇了profile0。
    發表于 12-11 08:09

    怎么讓STM32F1實現一個正弦波的輸出?

    怎么讓STM32F1實現一個正弦波的輸出
    發表于 10-13 07:03

    直流無刷電機簡易正弦波控制介紹

    直流無刷電機的正弦波控制即通過對電機繞組施加一定的電壓,使電機繞組中產生正弦電流,通過控制正弦電流的幅值及相位達到控制電機轉矩的目的。與傳統的方波控制相比,電機相電流為
    發表于 09-28 06:46

    如何使用M031 PWM0頻道0 (PA 5) 生成60個正弦波

    應用程序: 使用 PWM0 頻道 0 (PA.5) 和 RC 低通道過濾器生成60 個正弦波用于應用 。 BSP 版本:M031系列BSP CMSIS V3.02.000 硬件
    發表于 08-23 06:21

    ARM 946E-S合成處理器技術參考手冊

    ARM946E-S是一款合成處理器,結合了ARM9E-S? 具有可配置存儲系統的處理器核心。它是ARM9E的成員? 高性能32位片上系統
    發表于 08-02 10:17
    亚洲欧美日韩精品久久_久久精品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>