亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于正弦數(shù)據(jù)壓縮算法的DDS研究及FPGA實(shí)現(xiàn)

        2023-03-04 13:25:48閔令輝曹曉東
        計(jì)算機(jī)測量與控制 2023年2期
        關(guān)鍵詞:近似算法累加器正弦波

        閔令輝,曹曉東,程 凱,王 哲

        (1.聊城大學(xué) 山東省光通信科學(xué)與技術(shù)重點(diǎn)實(shí)驗(yàn)室,山東 聊城 252000;2.中國科學(xué)院大學(xué) 高速電路與神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)室, 北京 100049;3.中國科院 半導(dǎo)體研究所, 北京 100083)

        0 引言

        頻率合成技術(shù)(DDS,direct digital synthesis)由美國學(xué)者于1971年基于相位轉(zhuǎn)換概念出發(fā)首次提出[1]。近年來隨著數(shù)字技術(shù)的發(fā)展以及器件制作工藝水平的提高,直接數(shù)字頻率合成器(DDS)技術(shù)也越來越成熟,它在很多的性能方面都遠(yuǎn)遠(yuǎn)超過了以前傳統(tǒng)的頻率集成合成器。比如說它的工作頻率范圍比傳統(tǒng)的要廣,在設(shè)計(jì)上頻率的轉(zhuǎn)換速度比傳統(tǒng)的快,頻率的分辨能力也比傳統(tǒng)的強(qiáng),相位的連續(xù)性比傳統(tǒng)的要好,正交輸出參數(shù)比傳統(tǒng)的精度高等等。光具備以上的性能優(yōu)勢還并不夠,接著Garvey等人為了能更好地挖掘出DDS的優(yōu)點(diǎn)于是對DDS的組成結(jié)構(gòu)以及工作時(shí)的頻譜特性進(jìn)行更加深入的研究。為了能對傳統(tǒng)頻率合成技術(shù)的缺點(diǎn)進(jìn)行完善和克服所以選擇完全采用數(shù)字技術(shù)來進(jìn)行頻率合成,同時(shí)是因?yàn)閺南辔坏母拍畛霭l(fā)所以頻率合成技術(shù)具有高頻率分辨率、高穩(wěn)定性、易操控、轉(zhuǎn)換頻率快等優(yōu)點(diǎn)[2-3]。DDS要實(shí)現(xiàn)高精度的輸出必然要占據(jù)很大的內(nèi)存空間,數(shù)據(jù)轉(zhuǎn)換時(shí),數(shù)據(jù)量大,處理速度受到限制。

        基于以上問題文獻(xiàn)[4]提出了一種在不使用ROM的情況下將貝塞爾曲線進(jìn)行5次迭代的方式合成正弦信號(hào)的設(shè)計(jì),但設(shè)計(jì)較為繁瑣,電路結(jié)構(gòu)復(fù)雜。文獻(xiàn)[5]使用CORDIC算法來獲取對應(yīng)的正玄波,其獲取的方式以及角度主要是通過上一次的迭代的角度來確定下一次的迭代方向,精度越高,迭代次數(shù)越多,速度就越慢。文獻(xiàn)[7]使用sunderland算法將相位累加器的輸出分成高位、中間位和低位,讀取兩個(gè)存儲(chǔ)正弦波幅度值的查找表后相加作為輸出,壓縮比為1:42.6。

        與以上不同的是,本論文提出了一種將改進(jìn)sunderland算法與QE-ROM算法相結(jié)合的正弦數(shù)據(jù)壓縮方法,在不改變波形輸出精度的前提下,對全周期的正弦波數(shù)據(jù)進(jìn)行壓縮從而達(dá)到降低ROM存儲(chǔ)空間開銷的的目的。通過對整體設(shè)計(jì)進(jìn)行建模仿真驗(yàn)證了設(shè)計(jì)的正確性,并利用FPGA進(jìn)行了硬件電路的實(shí)現(xiàn)。

        1 DDS工作原理

        DDS指的是數(shù)字頻率合成技術(shù),其更深層次的含義則是從相位的角度來對波形進(jìn)行合成。它的硬件電路設(shè)計(jì)主要包括有基準(zhǔn)時(shí)鐘模塊設(shè)計(jì),內(nèi)部的頻率累加器設(shè)計(jì),波形相位累加器設(shè)計(jì),波形幅度與相位相互轉(zhuǎn)換的模塊電路設(shè)計(jì),數(shù)模轉(zhuǎn)換器模塊電路設(shè)計(jì),低通濾波器設(shè)計(jì)以及其他外圍硬件等等。要想獲取到DDS的輸出信號(hào)頻率則需要得到相位累加器的溢出頻率即可。但是要想相位累加器出現(xiàn)溢出則需要在時(shí)鐘fclk信號(hào)的輔助下將數(shù)據(jù)加法器輸入端的頻率控制字信號(hào)Fword進(jìn)行線性相位的疊加直至產(chǎn)生溢出為止。如圖1所示,其中相位累加器包括一個(gè)N位頻率寄存器,該頻率寄存器存儲(chǔ)頻率控制字Δφ,全加器和相位寄存器分別用于累加和保存累加后的數(shù)據(jù)。N位的頻率控制字在每個(gè)時(shí)鐘周期被執(zhí)行一次累加。頻率控制字表示相角步長,得到線性循環(huán)增長的相位值。輸出頻率由式(1)表示:

        圖1 全周期正弦數(shù)據(jù)重建過程

        (1)

        其中:N為相位累加器的位寬,Δφ為頻率控制字,fclk為系統(tǒng)時(shí)鐘,fout為輸出頻率。x相位-幅值轉(zhuǎn)換器將相位信息轉(zhuǎn)換為正弦波的幅度值[6]。在相位精度無窮大且無幅值量化的理想情況下,它的輸出序列由式(2)確定:

        (2)

        其中:φ(n)為相位累加寄存器在第n個(gè)周期的值,相位累加器輸出序列的數(shù)字周期定義為T的最小值,對于所有的n存在φ(n)=φ(n+T),相位累加器輸出序列的數(shù)字周期為:

        (3)

        GCD(Pword,2N)為Pword與2N間的最大公約數(shù),當(dāng)為2的整數(shù)次冪時(shí),相位截?cái)嗪箐忼X波的周期等于理想化連續(xù)時(shí)間鋸齒波的周期。ROM的輸出被送到D/A轉(zhuǎn)換器,它產(chǎn)生一個(gè)量化的模擬正弦波。

        一個(gè)16位輸出的DDS所使用ROM的尺寸為2B×M,其中B是被截?cái)嗟南辔坏刂返淖珠L,M是ROM的字長。若希望提高ROM的分辨率,則需要更大的ROM存儲(chǔ),這就意味著更高的功耗、更低的速度和更大的成本,所以對ROM尺寸的精簡就顯得尤為重要。

        2 ROM壓縮算法對比分析

        2.1 Sunderland算法

        其本質(zhì)為利用和積化差公式將sin(α+β+γ)等效成sin(α+β)cos(γ)+cos(α)cos(β)sin(γ)-cos(α)sin(β)cos(γ)通過兩個(gè)更小的存儲(chǔ)單元coarse ROM與fine ROM,大小為2α+β和2α+γ來代替原來大小為2α+β+γ的ROM,其中α、β、γ分別為想正弦函數(shù)相位的最高位、中間為和最低位[7]。因?yàn)棣吝h(yuǎn)大于β和γ所以原始又可化簡為sin(α+β+γ)≈sin(α+β)+cos(α)sin(γ)。

        為了進(jìn)一步對ROM進(jìn)行縮小處理,其中可以通過常規(guī)的方式來進(jìn)行,將上述的方程式分成粗略的ROM和精確的ROM兩個(gè)部分來完成存儲(chǔ),這樣可以達(dá)到縮小ROM空間的目的,但是此種方式還需要添加一個(gè)加法器將兩部分的結(jié)果相加并進(jìn)行重組才能獲取到新的正弦函數(shù)。除此之外Nicholas 等人還對上述的方式進(jìn)行了改進(jìn),利用計(jì)算機(jī)技術(shù)中的近似算法來代替三角函數(shù)近似法最終實(shí)現(xiàn)縮減ROM的目的[7]。

        2.2 基于泰勒級(jí)數(shù)的線性插值法

        Bellaouar提出的新型的映射技術(shù)方法是基于泰勒級(jí)數(shù)的線性插值法。其主要的原理就是在變換的過程中可以通過查表法將相位值轉(zhuǎn)換成幅度值sin(θ)[8]。這種方法在正弦函數(shù)四分之一周期對稱性的基礎(chǔ)上,同時(shí)采用了線性插值法。在coarse ROM中每一個(gè)(xi,xi+1)范圍內(nèi)正弦函數(shù)可以用式(4)表示:

        sin(θ)=sin(θi)+α(t-ti)+δsin

        (4)

        其中:θ=2πφ/2M;xi和xi+1是粗略ROM中的連續(xù)相位;t-ti代表累加輸出,同時(shí)t表示的是ROM地址的低有效位,ti表示的是 ROM地址的高有效位;α表示的是ROM 表內(nèi)的正弦函數(shù)插值系數(shù)。在式(4)中,δsin是正弦函數(shù)的泰勒展開式余項(xiàng)[8]。其可定義如下:

        (5)

        巳知相位幅度轉(zhuǎn)換輸出的幅度值為:

        f(x)=Asin(πx/2)-ε(x),0≤x≤1

        (6)

        其中:A的幅度值≤ε(x)是近似誤差[8]。假設(shè)正弦信號(hào)的幅度值是Lbit。為了能獲取到最大的輸出幅度值則需要選擇最優(yōu)的幅度系數(shù)A。一般A取(2L-1)/2L。在此基礎(chǔ)上要想完成相位與幅度之間的轉(zhuǎn)換則線性插值法的表達(dá)等式如式(7)所示,其中f(x)為幅度值的輸出:

        (7)

        其中:s為分段的個(gè)數(shù),mk和表示的是斜率值,yk表示的是初始的幅度值;xk是表示的是每個(gè)階段的下限值。若要想將上式進(jìn)行最大的簡化則需要挑選合適的分段個(gè)數(shù)以及長度才能實(shí)現(xiàn)。若分段個(gè)數(shù)的權(quán)值取值為2,則分段個(gè)數(shù)的最高有效位log2s其表示分段個(gè)數(shù)的值為k,同時(shí)通過查表得到所存儲(chǔ)的斜率系數(shù)的原始幅度值進(jìn)行尋址。

        2.3 存儲(chǔ)增量壓縮算法

        文獻(xiàn)[9]通過驗(yàn)證奈奎斯特采樣定理當(dāng)正弦曲線滿足方程y=a×sin(ωt+φ)+c即可得到一組離散序列:

        yi=a×sin(ωt+φ)+c,i=0,1,...,4095

        (8)

        峰峰值2a=212-1,角頻率ω=2π,采樣間隔ti+1-ti=1/(212-1),由此可以計(jì)算幅度序列相對增量的絕對值:

        |yi+1-yi|=|[a×sin(ωti+1+φ)+c]|-

        [a×sin(ωti+φ)+c]

        (9)

        可以得出,當(dāng)輸出精度是12位且采集幅度序列的相位為212時(shí),在一個(gè)采樣周期內(nèi)幅度序列的相對增量其絕對值≤4,此時(shí)的存儲(chǔ)空間僅僅需要3 bit即可,這相比與以前傳統(tǒng)的存儲(chǔ)方式縮減了原有空間的75%,在這樣的情況下則出現(xiàn)了一種ROM的新型壓縮方法。這種方法的主要目的就是可以還原出正弦波的真實(shí)幅度序列,同時(shí)為了更進(jìn)一步地壓縮存儲(chǔ)空間,可以采用單象限幅度序列存儲(chǔ)結(jié)合反相器最終獲取到完整的正弦波形,這樣的操作方式還能更好地節(jié)約硬件資源。

        2.4 ROM壓縮算法分析

        由上述討論可知,DDS輸出信號(hào)的頻譜純度取決于儲(chǔ)存在正弦波查找表ROM中數(shù)值的分辨率,因此只有增加ROM的分辨率才能提高頻譜純度[10-11]。然而大的ROM意味著較高的功耗、較低的速度和昂貴的成本,為此需要有精確算法的壓縮技術(shù)。王曉音在實(shí)現(xiàn)DDS的波形存儲(chǔ)表幅度值壓縮方法一文中提到:為了改善DDS的輸出頻譜主要是通過增大ROM表的尋址空間同時(shí)對幅度表進(jìn)行壓縮來實(shí)現(xiàn)。其最終的表現(xiàn)方式是通過減少相位截?cái)辔粩?shù)來改善雜散抑制的功率值。

        為了能獲取到正弦函數(shù)的近似波形,主要采用的是三角函數(shù)的恒等變換再加上外部的邏輯控制電路來完成對ROM表的輸出進(jìn)行隨機(jī)組合。前幾節(jié)列出的幾種方法中,1/4周期表、Sunderland結(jié)構(gòu)和Nicholas優(yōu)化方法都會(huì)引入有限的算法誤差。其中較為簡單的結(jié)構(gòu)方法是Sunderland粗細(xì)表,它雖然簡單但是它的雜散抑制水平還是相對較好的;Nicholas優(yōu)化方法相對于Sunderland結(jié)構(gòu)來說其雜散抑制水平更高,同時(shí)其還具有非常好的壓縮比;基于改進(jìn)的正弦-相位差法與Nicholas優(yōu)化方法具有同樣的雜散抑制水平,并進(jìn)一步提高了壓縮比。

        存儲(chǔ)相對增量的ROM壓縮算法可以生成包括正弦波、方波在內(nèi)的多種波形但整體壓縮比為27:1,還有一定的提升空間。基于泰勒級(jí)數(shù)的線性插值算法與線性插值算法都有比sunderland算法更高的壓縮比但是在電路補(bǔ)償結(jié)構(gòu)中使用了乘法器,很大程度上增加了電路路資源的使用,且邏輯控制過于復(fù)雜,實(shí)時(shí)性相對來差了一些。若在設(shè)計(jì)的過程中做到幅度表壓縮節(jié)約的資源比提高壓縮比所占用的電路設(shè)計(jì)資源還要多的話則高壓縮的追求才會(huì)意義重大。論文采用的數(shù)據(jù)壓縮方法是在Sunderland提出的粗細(xì)ROM結(jié)構(gòu)壓縮結(jié)構(gòu)基礎(chǔ)上對粗ROM進(jìn)一步優(yōu)化并結(jié)QE-ROM技術(shù)實(shí)現(xiàn)高壓縮比的條件下簡化電路結(jié)構(gòu),該結(jié)構(gòu)能夠大大降低查找表的存儲(chǔ)容量,代價(jià)是需要增加能夠產(chǎn)生累加器和查表輸出的補(bǔ)碼邏輯電路。

        3 Sunderland 算法優(yōu)化及性能分析

        利用正弦函數(shù)的對稱性,通過控制相位累加器輸出相位值的MSB(最高有效位)和second MSB(次高有效位)即可在只保存(0,π/2)范圍內(nèi)的正弦數(shù)據(jù)情況下通過兩個(gè)補(bǔ)償器重建出全周期的正弦數(shù)據(jù)。sunderland算法將1/4周期的正弦數(shù)據(jù)分別放到到兩個(gè)存儲(chǔ)單元分別是coarse ROM 與fine ROM中進(jìn)行保存。

        3.1 改進(jìn)sunderland算法

        sunderland算法在正弦函數(shù)1/4對稱性質(zhì)的基礎(chǔ)上,將映射sin(θ)的地址位分解成高位α、中間位β和低位γ(本文中α、β、γ依次為5、4、5)。如此sin(π/2(α+β+γ))可表示為:

        (10)

        四分之一的正弦波幅度值被分別存放在sin(π/2(α+β))所代表的coarse ROM以及cos(π/2(α+β))sin(π/2(γ)所代表的fine ROM。coarse ROM提供了低分辨率的樣本,而fine ROM通過在低分辨率樣本之間進(jìn)行插值來提供額外的分辨率。正弦相位差算法(sindiff)利用公式:

        max[d(θ)]≈0.21max[sin(θ)]

        (11)

        在[0,π/8]范圍內(nèi)定義d(θ)的值為m0,代表矩陣為q0則:

        m0(alpha_i,beta_i) =A1*2*(2*pi*t0)/pi;

        q0(alpha_i,beta_i) = round(m0(alpha_i,beta_i));

        其中:alpha_i代表高的地址位α,beta_i代表β。m0隨著迭代次數(shù)的增加而變化,q0矩陣代表[0,π/2]范圍內(nèi)正弦相位差算法所代表的的幅度值,將其與coarse ROM中的值作差,結(jié)果重新保存在coarse ROM中,此時(shí)存儲(chǔ)的數(shù)據(jù)為圖2中的sindiff。

        為了進(jìn)一步減小保存在coarse ROM中的值引入四線近似算法(QLA)。在[0,π/2]內(nèi)的函數(shù)表達(dá)式為:

        (12)

        用四段函數(shù)近似模擬正弦相位差算法后的數(shù)據(jù)在[0,π/2]范圍內(nèi)的變化曲線,相比于雙三角近似算法來說四線近似算法與原曲線有更高的貼合度,誤差值也就更小。

        以[0,π/8]范圍內(nèi)的數(shù)據(jù)為例,定義q(θ)為m1,代表矩陣為q1:

        m1(alpha_i,beta_i) =A1*((2*pi*t1)/pi);

        q1(alpha_i,beta_i) = round(m1(alpha_i,beta_i));

        將coarse ROM的原數(shù)據(jù)依次與正弦相位差(sindiff)算法、四線近似(QLA)算法作差后的誤差值重新保存在coarse ROM中,注意此時(shí)coarse ROM中存儲(chǔ)的數(shù)據(jù)為圖2中的errors而不是原數(shù)據(jù)。

        3.2 QE-ROM算法設(shè)計(jì)

        改進(jìn)的sunderland算法旨在分割原ROM的地址位并對coarse ROM的數(shù)據(jù)進(jìn)行兩次幅度值上的壓縮,QE-ROM(量化和誤差)算法將分別對coarse ROM和fine ROM進(jìn)行幅度值上的量化,并對量化值與誤差值分別存儲(chǔ)。

        量化過程如圖3所示,假設(shè)此時(shí)的地址位和幅度值分別為A和L,將地址等分為2S段,每個(gè)段具有Q位量化值,并且量化值小于該節(jié)中的所有數(shù)據(jù)以使量化誤差為正數(shù)。Q-ROM大小變成2S×Q位。E-ROM存儲(chǔ)量化值與原始數(shù)據(jù)之間的誤差。這些誤差比原始數(shù)據(jù)小得多,因此只需要更小的尺寸。當(dāng)存儲(chǔ)誤差所需的位是E時(shí),E-ROM的大小變成2A×e,Q-ROM和E-ROM的總大小變成了2S×Q+2A×e。為了最小化ROM的尺寸,我們必須找到最佳的2S的值,Q-ROM的量化位,以及存儲(chǔ)E-ROM所需的位數(shù)。具體可以通過以下方法找到:

        1)當(dāng)初始數(shù)據(jù)的地址位為A,輸出為L位時(shí),假設(shè)S=A、Q=L。

        2)計(jì)算每一段的量化值并計(jì)算初始數(shù)據(jù)與量化值之間的誤差,得到Q-ROM尺寸。

        3)得到可以表示所有誤差的E的最小值。

        4)計(jì)算Q-ROM+E-ROM的大小。

        5)減小Q的值然后循環(huán)2)~4),如果Q=1則執(zhí)行6)。

        6)減小S的值然后循環(huán)2)~5),如果S=1則執(zhí)行7)。

        7)通過比較計(jì)算結(jié)果得到最合適的Q、S、E使Q-ROM+E-ROM的值最小。

        圖3 QE_ROM算法量化過程

        3.3 性能分析

        表1為通過sunderland算法將原始數(shù)據(jù)分割后各類算法對coarse ROM再壓縮的過程和結(jié)構(gòu)。圖4為各階段算法的幅值以及數(shù)據(jù)總量。

        表1 幾種正弦壓縮算法對比

        圖4 各階段算法最大幅值與數(shù)據(jù)量

        橫坐標(biāo)中的算法從左往右依次為sunderland算法、正弦相位差算法、四線近似算法、QE-ROM算法。改進(jìn)后sunderland算法的最大幅度值為1 764,數(shù)據(jù)總量為11 776 bit,與sunderland算法相比節(jié)省了四位字長,ROM面積為原來的85%。

        QE-ROM算法以2 bit為步長對幅度值進(jìn)行量化,然后將量化后的數(shù)據(jù)與誤差值分別存儲(chǔ),結(jié)果如圖5所示。改進(jìn)sunderland算法結(jié)合QE-ROM算法后的數(shù)據(jù)總量為8 576 bit,ROM面積為sunderland算法的62%。與壓縮前ROM尺寸(216×16)相比,壓縮比為122:1。

        圖5 ROM內(nèi)總數(shù)據(jù)量

        4 基于FPGA的直接數(shù)字頻率合成器的硬件設(shè)計(jì)與實(shí)現(xiàn)

        4.1 相位累加器

        如6圖所示,相位累加器是基于一個(gè)32位紋波進(jìn)位加法器,與一串在相同的時(shí)鐘相位上工作的全加法器。 全加法器的輸出有內(nèi)置寄存器與和位在內(nèi)部反饋以執(zhí)行累加。 用多路復(fù)用器(MUX)選擇存儲(chǔ)在寄存器中的32位頻率控制字以執(zhí)行累加,結(jié)果取高16位用于ROM表的尋址。

        圖6 相位累加器結(jié)構(gòu)圖

        4.2 相位-幅度轉(zhuǎn)換器設(shè)計(jì)

        相位-幅度轉(zhuǎn)換器設(shè)計(jì)的設(shè)計(jì)為本文的重點(diǎn)內(nèi)容,包括四線近似算法和正弦相位差算法部分的數(shù)據(jù)重建以及QE-ROM算法的數(shù)據(jù)配置。結(jié)構(gòu)如圖7所示,地址位(α+β)以1:61的比例放大后重建出正弦相位差部分?jǐn)?shù)據(jù),四線近似算法中0<θ<π/8范圍內(nèi)的數(shù)據(jù)是通過向相位(α+β)下移1位生成的。π/8<θ<π/4部分的數(shù)據(jù)是通過將相位下移2位,并將相位的第一個(gè)和第二個(gè)MSB更改為10來生成。這些數(shù)據(jù)以1:61的比例放大后匹配量化和誤差算法部分恢復(fù)后的數(shù)據(jù)。0<θ<π/4和π/4<θ<π/2的數(shù)據(jù)是對稱的,因此,后半周期的數(shù)據(jù)由一個(gè)補(bǔ)償器生成。

        相位-幅值轉(zhuǎn)換器結(jié)構(gòu)如圖7所示,總ROM由4個(gè)子ROM組成,即兩個(gè)Q-ROM和兩個(gè)E-ROM,用于分別存儲(chǔ)coarse ROM和fine ROM中的數(shù)據(jù)。將四分之一相位累加器的輸出分解為α+β+γ。coarse ROM和fine ROM的地址分別為α+β和α+γ。coarse ROM和fine ROM共享α地址位,因?yàn)棣炼际撬鼈兊刂肺恢械淖罡呶弧R虼?,這四個(gè)子ROM共享一個(gè)行譯碼器以及四個(gè)不同的列復(fù)用器。圖8顯示了相位(α+β)、四次線近似算法幅度值以及重構(gòu)1/2周期正弦波的四個(gè)ROM數(shù)據(jù)幅度值的相對位置,其中第一行表示9位的相位值,第二行表示11位的四線近似方法壓縮后的數(shù)據(jù)幅度值,第三第四行分別表示coarse ROM中的量化值和誤差值,第五第六行表示fine ROM中量化值和誤差值,第七行表示加法器的輸出。

        圖7 16位相位-幅值轉(zhuǎn)換器

        圖8 數(shù)據(jù)位置表

        4.3 電源模塊設(shè)計(jì)

        為做到設(shè)計(jì)目標(biāo)中的需求,采用了全橋整流的方式完成交直流轉(zhuǎn)換并利用全橋整流特性分離正負(fù)電壓[11];通過交流變壓器及LM317和LM337兩級(jí)降壓、穩(wěn)壓實(shí)現(xiàn)±9 V及3.75 V降壓輸出;在電源模塊的整體設(shè)計(jì)中均有為盡量減小電源噪聲而進(jìn)行的設(shè)計(jì),通過整流橋后及降壓輸出端均使用濾波電容來降低電源紋波并且所采用的降壓穩(wěn)壓芯片LM317和LM337噪聲僅有38uvRMS。

        本設(shè)計(jì)中采用了環(huán)形變壓器來進(jìn)行交流降壓[16],可較大幅度減小PCB面積及整體設(shè)計(jì)重量,并且內(nèi)阻、磁干擾以及震動(dòng)噪聲較小,比較適合該設(shè)計(jì)中的高性能需求。設(shè)計(jì)中所用到的LM317和LM337為三端可調(diào)正電壓低壓差線性穩(wěn)壓器和三端可調(diào)負(fù)電壓低壓差線性穩(wěn)壓器,與同類器件相比,有較小的輸入輸出電壓比,還有較為優(yōu)越的電壓和負(fù)載調(diào)節(jié)性能以及較小的輸出電壓誤差,并且有較好的抗損性。采用輸入跳線的方法,使輸入既可以單端進(jìn)行輸入,亦可雙端輸入,提高了設(shè)計(jì)的可調(diào)節(jié)性;并且在穩(wěn)壓電路部分設(shè)計(jì)了以LM317、LM337與電位器組成的可調(diào)輸出,使輸出范圍更加靈活;輸出部分做到正負(fù)輸出分別可控并且共用同一個(gè)公共地點(diǎn),增加了輸出的可控性同時(shí)也保證了穩(wěn)定性;設(shè)計(jì)了LED指示燈,以便于工作狀態(tài)的可視化。

        圖9 電源模塊PCB圖

        4.4 DAC模塊設(shè)計(jì)

        在該模塊的設(shè)計(jì)中,為減小整體體積及單片機(jī)管腳的使用,采用16通道串行DAC芯片AD5360來實(shí)現(xiàn)該設(shè)計(jì);AD5360輸出寄存器到輸出端為透傳模式,故通過LDAC引腳可控制DAC寄存器向輸出寄存器傳輸?shù)墓δ軐?shí)現(xiàn)所有通道需同時(shí)同相位輸出[14-16];利用VREF引腳使AD5360的輸出幅度控制在+7.5~-7.5 V,并通過縮小信號(hào)幅值至8.5 V、在輸入信號(hào)中加入3.25 V直流分量的方式來調(diào)整輸出范圍+7.5~-1 V。

        設(shè)計(jì)中所用的AD5360芯片其封裝方式為LQFP-52,芯片內(nèi)部集成兩組16位的數(shù)模轉(zhuǎn)換器,同時(shí)為了降低輸出的誤差在芯片封裝的時(shí)候?qū)⒚總€(gè)數(shù)模轉(zhuǎn)換器模塊分開并且讓其能夠獨(dú)立的調(diào)整設(shè)置增益以及失調(diào),除此之外它的緩沖電壓輸出范圍是基準(zhǔn)電壓的4倍。并且在PCB設(shè)計(jì)中采用了單點(diǎn)接地的方法分離數(shù)字地和模擬地,在二者之間添加一個(gè)0 Ω的電阻進(jìn)行隔離,可以有效避免模擬地點(diǎn)的抖動(dòng)帶來的干擾;并且在各輸入端添加電解電容來減小輸入紋波,以此來減小輸入噪聲。

        圖10 DAC模塊PCB圖

        5 系統(tǒng)仿真與測試

        整體仿真是在vivado 2017.4開發(fā)環(huán)境下搭建工程,圖11所示為對改進(jìn)sunderland算法和量化誤差算法壓縮后的數(shù)據(jù)硬件實(shí)現(xiàn)全周期正弦函數(shù)的整體架構(gòu)圖控制模塊的輸入即為相位累加器輸入端的頻率控制字Fword、相位控制字Pword和幅度控制字Rword,輸出為16位精度的正弦波幅度值[17-18]。頂層模塊主要包含兩個(gè)子模塊,控制模塊和接口模塊。

        圖11 整體框架價(jià)結(jié)構(gòu)圖

        控制模塊主要完成控制4個(gè)存儲(chǔ)單元中的量化和誤差數(shù)據(jù)值按照其量化規(guī)則完成數(shù)據(jù)恢復(fù),四線近似算法四條函數(shù)的階段數(shù)據(jù)以及正弦相位差的數(shù)據(jù)還原。定義相位-幅值轉(zhuǎn)換器中相位累加器的輸出為Rom_Addr,因?yàn)镽om_Addr的最高兩個(gè)有效位分別控制完成正弦數(shù)據(jù)由1/4周期向1/2以及全周期的重建過程,所以α+β+γ=14即a0+b0+c0=14。

        assignc0=Rom_Addr[14]?~(Rom_Addr[4:0]):Rom_Addr[4:0];

        assignb0=Rom_Addr[14]?~(Rom_Addr[8:5]):Rom_Addr[8:5];

        assigna0= Rom_Addr[14]?~(Rom_Addr[13:9]):Rom_Addr[13:9];

        X1、X2分別為coarse ROM和fineROM中對幅度進(jìn)行量化后的相位。

        圖12 數(shù)據(jù)重建結(jié)構(gòu)圖

        定義shift_1 <= {Rom_Addr[13:9],Rom_Addr[8:5]}>>1;

        shift_2 <= {Rom_Addr[13:9],Rom_Addr[8:5]}>>2;

        其中:shift_1、shift_2分別對應(yīng)式(6)中0<θ<π/8以及π/8<θ<π/4范圍內(nèi)的數(shù)據(jù)。因?yàn)?<θ<π/4與π/4<θ<π/2部分的函數(shù)實(shí)對稱的,所以后半周期的數(shù)據(jù)使用一個(gè)補(bǔ)償器生成。

        {Rom_Addr[13:9],Rom_Addr[8:5]}則對應(yīng)正弦相位差算法作差時(shí)減掉的數(shù)據(jù)。三部分?jǐn)?shù)據(jù)相加就會(huì)得到1/4周期的正弦波數(shù)據(jù),1/4周期向1/2周期擴(kuò)展以及1/2周期向全周期擴(kuò)展則需要在Rom_Addr[14]以及Rom_Addr[15]的控制下通過兩個(gè)補(bǔ)償器來完成。

        接口模塊主要完成FPGA與數(shù)模轉(zhuǎn)換器(DAC)數(shù)據(jù)傳輸所使用協(xié)議的時(shí)序設(shè)計(jì)以及DAC每個(gè)通道增益參數(shù)的設(shè)置[19-20]。AD5360芯片與外部硬件器件通訊的方式是采用4線串行的方式,其接口與DSP芯片的通訊接口完全兼容,同時(shí)還具有16個(gè)通道且每個(gè)通道最高可達(dá)到16位的輸出精度,能夠處理最高50 MHz的時(shí)鐘速率。端口連接如圖13所示。

        圖13 硬件接口圖

        其中:SYNC為片選信號(hào),低位有效,選同時(shí)開始數(shù)據(jù)傳輸;SCLK為FPGA生成的門控時(shí)鐘;SDI為串行輸入信號(hào);SDO為數(shù)據(jù)回讀端口;RESET為復(fù)位信號(hào),低位有效;LDAC為輸出控制信號(hào),可調(diào)節(jié)全通道同時(shí)通相位輸出;CLR為數(shù)據(jù)清除信號(hào),低電位有效,可清除通道的增益參數(shù)。BUSY為DAC數(shù)據(jù)處理進(jìn)程信號(hào)。串并轉(zhuǎn)換轉(zhuǎn)換后的數(shù)據(jù)加上DAC通道地址位共計(jì)24位數(shù)據(jù)采用線性序列機(jī)由高到低依次輸出。此次設(shè)計(jì)FPGA與DAC之間數(shù)據(jù)傳輸所用時(shí)鐘為20 M,系統(tǒng)時(shí)鐘設(shè)置為50 M,正弦波頻率為200 Hz,DAC基準(zhǔn)電壓VREF設(shè)置為3.75 V。

        圖14為用vivado 2017.4對代碼進(jìn)行的仿真結(jié)果,器件選擇為xc7z020clg400-2。FF觸發(fā)器的使用量為144,占片上可以用總量的0.14%,LUT的使用量為176,占片上可使用總量的0.32%。片上總功耗為0.11 W。

        圖14 Vivado 仿真結(jié)果圖

        以上正弦波形發(fā)生電路均vivado2017.3集成開發(fā)環(huán)境下搭建工程,利用Verilog硬件描述語言編寫,并且編譯通過。該 DDS信號(hào)發(fā)生器設(shè)計(jì)使用的BRAM位為兩個(gè)僅占用 FPGA芯片可使用總量的1.43%。將編譯生成的DDS.bit文件通過USB-Blaster下載FPGA 開發(fā)板上,并在數(shù)模轉(zhuǎn)換器輸出端連接示波器探頭,測試結(jié)果如圖15所示。

        圖15 正弦信號(hào)測試圖

        圖15為DDS測試系統(tǒng)與正弦信號(hào)在示波器上的測試結(jié)果。圖中顯示正弦波頻率為200 Hz,峰峰值為8.5 V,為滿幅情況下DAC的輸出電壓,可以看到在不影響波形平滑度的情況下完成16位精度輸出,并且ROM占用資源比傳統(tǒng)方式節(jié)省99.2%。

        6 結(jié)束語

        本文提出了一種將改進(jìn)sunderland算法與QE-ROM算法相結(jié)合的正弦數(shù)據(jù)壓縮算法。改進(jìn)sunderland算法是在sundeland算法的基礎(chǔ)上利用正弦相位差算法與四線近似算法將coarse ROM中的數(shù)據(jù)作差后將差值部分存儲(chǔ)到coarse ROM,這比原數(shù)據(jù)要小得多。QE-ROM再對整體數(shù)據(jù)量化,量化后的數(shù)據(jù)整體占用空間變小,對量化后的數(shù)據(jù)與量化誤差分別保存。利用加法器對重建出[0,π/2]范圍內(nèi)的輸出,然后結(jié)合正弦函數(shù)對稱性通過補(bǔ)償器重建出全周期的數(shù)據(jù)。本文提出的正弦數(shù)據(jù)壓縮算法將正弦數(shù)據(jù)查找表(ROM)的尺寸從(216×16)壓縮至(27×7+29×7+28×4+210×3) 8 576 bit,壓縮比為122:1,尺寸僅為原來的0.8%.能夠有效降低DDS芯片的面積和功耗。

        但該算法也存在一定的不足之處,當(dāng)頻率控制字并非為2的整數(shù)次冪時(shí),相位截?cái)嗪箐忼X波的周期不等于理想化連續(xù)時(shí)間鋸齒波的周期,就會(huì)引入相位截?cái)嗾`差,相位截?cái)嗾`差序列的周期性是造成DDS輸出頻譜中含有大量雜散分量的主要原因之一。在算法的設(shè)計(jì)過程中,如果想要降低DAC的非線性誤差以及ROM幅度量化的誤差則可通過兩方面來實(shí)現(xiàn),一方面是采用更多位數(shù)的DAC器件,這樣其精度可以隨之得到提高,從而降低它的非線性誤差;另一方面是增加ROM的字長從而實(shí)現(xiàn)降低它的幅度量化誤差。同時(shí)要想在設(shè)計(jì)的過程中增加ROM地址位數(shù)的話,則在硬件的選型設(shè)計(jì)時(shí)就會(huì)更加的復(fù)雜。在設(shè)計(jì)的過程中需要考慮到的是DAC的非線性誤差是與其位數(shù)成線性關(guān)系的,DAC的位數(shù)越大其對應(yīng)的精度以及分辨率就會(huì)越高,則非線性誤差也會(huì)越小;ROM幅度量化的誤差是與ROM的字節(jié)長度成線性關(guān)系,與ROM的地址位數(shù)成指數(shù)關(guān)系,若ROM的字節(jié)長度越長對應(yīng)的地址位數(shù)越多,則其幅度量化的誤差也會(huì)越小。若在硬件方面增加對應(yīng)成本便可以選擇更多地址位數(shù)的ROM,但是在此情況下,其對應(yīng)的相位截?cái)嗾`差在所有噪聲的比率中會(huì)有所上升。因此如何提高對相位截?cái)嚯s散的抑制來提高DDS性能需要進(jìn)一步研究。

        猜你喜歡
        近似算法累加器正弦波
        格上身份基簡短關(guān)聯(lián)環(huán)簽名及其電子投票應(yīng)用
        無線電工程(2024年5期)2024-07-20 00:00:00
        密碼累加器研究進(jìn)展及應(yīng)用
        單相正弦波變頻電源設(shè)計(jì)與實(shí)現(xiàn)
        采用BC5016S的純正弦波逆變器設(shè)計(jì)及制作
        電子制作(2019年7期)2019-04-25 13:18:18
        基于霍夫變換的工位點(diǎn)識(shí)別算法設(shè)計(jì)與實(shí)現(xiàn)
        應(yīng)用自適應(yīng)交叉近似算法快速計(jì)算導(dǎo)體RCS
        求投影深度最深點(diǎn)的近似算法
        考試周刊(2016年88期)2016-11-24 13:32:14
        用于時(shí)間延遲積分型圖像傳感器的流水采樣列級(jí)運(yùn)放共享累加器*
        無壓流六圓弧蛋形斷面臨界水深近似算法
        基于嵌入式技術(shù)的電網(wǎng)同步正弦波發(fā)生裝置研究
        国产色欲av一区二区三区 | 亚洲AV无码乱码精品国产草莓| 亚洲国产精品嫩草影院久久av| 国产内射爽爽大片| 亚洲国产日韩欧美一区二区三区| 99成人精品| 亚洲精品国产精品系列| 日韩亚洲无吗av一区二区| 亚欧免费无码aⅴ在线观看| 日本高清www午色夜高清视频| 无码人妻精品中文字幕免费| 日本加勒比精品一区二区视频| 夜夜春亚洲嫩草影院| 妇女性内射冈站hdwwwooo| 亚洲色图在线视频免费观看| 精品国产一区二区三区av免费| 人人妻人人狠人人爽| 日韩国产欧美视频| 日本一区二区高清视频在线播放 | 亚洲欧洲中文日韩久久av乱码| 亚洲香蕉毛片久久网站老妇人| 国产人妻久久精品二区三区老狼| 亚洲日韩在线中文字幕综合| 久久这里只精品国产免费10| 91极品尤物在线观看播放| 亚洲激情综合中文字幕| 色综合久久久久久久久久| 欧美在线观看一区二区| 国产av精品久久一区二区| 97久久婷婷五月综合色d啪蜜芽 | 一本到在线观看视频| 亚洲精品无码成人片久久不卡| 国产高清在线91福利| 青青草视频在线观看入口| 99热爱久久99热爱九九热爱| 91av视频在线| 一区二区日本免费观看| 日本久久久久亚洲中字幕| 亚洲国产精品一区二区第四页| 国产一级一片内射在线| 午夜天堂一区人妻|