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

        ?

        自適應(yīng)定階的快速Burg 算法設(shè)計與FPGA 實現(xiàn)*

        2021-11-26 05:43:48郭鳴晗陳立平
        電子技術(shù)應(yīng)用 2021年11期

        郭鳴晗 ,陳立平 ,張 浩 ,趙 坤 ,柏 偉

        (1.中國科學(xué)院大學(xué),北京 100049;2.中國科學(xué)院微電子研究所,北京 100029)

        0 引言

        現(xiàn)代功率譜估計的AR 模型法使用有限長的數(shù)據(jù)序列來估計假設(shè)模型的參數(shù),再將參數(shù)帶入功率譜密度模型中,可獲得較好的功率譜估計結(jié)果[1-3]。

        Burg 算法是一種常見的AR 模型求功率譜的方法,其主導(dǎo)思想是利用前后向預(yù)測誤差功率之和最小的方法來計算反射系數(shù)k,然后帶入Levinson 遞推,求解AR模型參數(shù)[4-6]。此方法在處理短數(shù)據(jù)時具有較高的頻率分辨率[7-8],但求解反射系數(shù)計算量較大。為了改進(jìn)這一問題,Vos 提出一種快速Burg 算法[9],通過一系列矩陣變換降低了反射系數(shù)求解時的計算量,但是不能確定AR模型的階數(shù),并且串行算法的執(zhí)行耗時較長。針對上述問題,本文將快速Burg 算法與FPE 準(zhǔn)則[10]結(jié)合,對短序列的功率譜估計實現(xiàn)自適應(yīng)定階的功能,達(dá)到較高頻率分辨率,并使用Verilog 硬件描述語言設(shè)計電路,達(dá)到硬件加速功能[11]。電路結(jié)構(gòu)在二級流水線的基礎(chǔ)上[12],結(jié)合自適應(yīng)定階方案,提出一種新的流水線結(jié)構(gòu),并設(shè)置狀態(tài)機(jī)靈活控制。本文對計算單元進(jìn)行并行化處理加速計算。考慮速度與面積的折中,針對算法特點(diǎn)設(shè)計內(nèi)存讀寫方案,減少數(shù)據(jù)存儲長度,從而減小了存儲單元的面積。

        1 自適應(yīng)定階的快速Burg 算法

        快速Burg 算法過一系列矩陣變換將反射系數(shù)計算過程化簡[9],避免了Burg 算法[4]中計算反射系數(shù)前需計算出前、后向預(yù)測誤差ef、eb而帶來的較大計算量。在本算法中,通過自適應(yīng)定階的方式,對長度為N 的輸入序列xn的遞歸計算步驟如下:

        (1)計算自相關(guān)ci。(本實驗中自適應(yīng)定階在10 階以內(nèi),在此只計算10 個自相關(guān)值)。

        (2)初始化。初始為第一階,此時迭代次數(shù)i=0;用于計算反射系數(shù)的列向量g0=[2c0-|x0|2-|xN-1|2;2c1]T;用于計算列向量gi的列向量r1=c1;預(yù)測系數(shù)a0=1;反射系數(shù)。

        (3)計算初始預(yù)測誤差功率Pmin(0),預(yù)測誤差FPE 值和初始閾值TH:

        (4)判斷迭代條件(TH<FPE(i)),即若滿足閾值TH 小于預(yù)測誤差FPE 值,則將當(dāng)前閾值TH 更新為預(yù)測誤差值TH=FPE(i),之后i+1,繼續(xù)執(zhí)行步驟(5);若不滿足,則計算階數(shù),輸出預(yù)測系數(shù)ai。

        (5)更新列向量ri+1:

        (6)更新用于計算列向量gi的矩陣:

        (7)更新列向量gi:

        其中,J 是i+1 行的方陣:

        (8)計算初始反射系數(shù):

        (9)計算最小預(yù)測誤差功率Pmin(i)與最終預(yù)測誤差準(zhǔn)則中的FPE(i)值:

        (10)更新AR 模型參數(shù)ai,跳轉(zhuǎn)到步驟(3)。

        2 硬件電路設(shè)計與實現(xiàn)

        2.1 并行二級流水線結(jié)構(gòu)

        本算法完成硬件加速的關(guān)鍵思路是使用流水線的結(jié)構(gòu)。自相關(guān)ci的計算只和輸入序列xn有關(guān),與AR 參數(shù)的計算無關(guān),而AR 參數(shù)的計算需要利用自相關(guān)的值,故電路結(jié)構(gòu)將劃分為二級流水線,第一級為自相關(guān)ci的計算,第二級為AR 參數(shù)和閾值的計算。為了提高計算速度,本設(shè)計將采用并行的二級流水線結(jié)構(gòu),時序關(guān)系如圖1 所示。

        圖1 并行二級流水線時序圖

        本電路結(jié)構(gòu)的頂層電路圖如圖2 所示,計算單元由兩個并行連接的自相關(guān)計算單元和AR 參數(shù)、閾值計算單元構(gòu)成,控制單元為狀態(tài)機(jī)來控制迭代次數(shù)以及計算單元。存儲單元包括兩個存放xn的RAM,寬度為16,深度為序列長度N(在本設(shè)計中N=128),一個用于自相關(guān)計算,一個用于AR 參數(shù)計算;第二部分用來存儲AR 參數(shù)、閾值計算單元產(chǎn)生的中間結(jié)果。

        圖2 快速Burg 算法頂層電路圖

        2.2 自適應(yīng)定階與狀態(tài)機(jī)控制

        為了達(dá)到自適應(yīng)定階目的和提高流水線使用效率,采用狀態(tài)機(jī)來控制計算單元,根據(jù)閾值FPE 是否達(dá)到最小值來確定是否停止運(yùn)算。在本算法中,AR 參數(shù)的階數(shù)自適應(yīng)得確定在2~10 階內(nèi)。

        本狀態(tài)機(jī)的輸入信號為外部輸入的算法使能信號和計算單元的結(jié)束狀態(tài)標(biāo)識信號,輸出為計算單元的使能控制信號。

        根據(jù)并行二級流水線結(jié)構(gòu)和自適應(yīng)定階算法,控制單元狀態(tài)機(jī)如圖3 所示,共分為6 個狀態(tài)。

        圖3 快速Burg 算法控制單元狀態(tài)機(jī)

        算法啟動后,初始階數(shù)為1,迭代次數(shù)i=0,進(jìn)入S1狀態(tài)進(jìn)行初始自相關(guān)計算;之后進(jìn)入S2 啟動后續(xù)自相關(guān)計算及AR 參數(shù)和閾值計算。計算完成后若FPE 達(dá)到最小值,跳至S5 結(jié)束運(yùn)算,最終定階為i+1 階;否則跳轉(zhuǎn)至S4,啟動下一階AR 參數(shù)模型和閾值計算。計算完成后若FPE 達(dá)到最小值,則跳轉(zhuǎn)至S5 結(jié)束運(yùn)算,最終定階為i+2 階;否則跳轉(zhuǎn)至S4,等待當(dāng)前的自相關(guān)計算結(jié)束后再次進(jìn)入S2 進(jìn)行下一輪的迭代,直至FPE 達(dá)到最小值,迭代停止,RAM 中的AR 參數(shù)即為所求。

        2.3 計算單元的設(shè)計

        2.3.1自相關(guān)的計算單元

        自相關(guān)的計算使用流水線結(jié)構(gòu)。產(chǎn)生地址、讀取數(shù)據(jù)、乘累加運(yùn)算,三拍完成一次乘累加輸出,兩個自相關(guān)計算單元分別進(jìn)行N-i 次和N-i-1 次乘累加后,輸出自相關(guān)值ci、ci+1給下一級計算單元,當(dāng)前階數(shù)下消耗的總計算時長為N-i+3 個時鐘周期。

        2.3.2 AR 參數(shù)和閾值計算單元

        本計算單元電路包括4 個模塊:預(yù)備參數(shù)計算模塊、反射系數(shù)k 值和AR 參數(shù)a 計算模塊、預(yù)測誤差功率Pmin計算閾值計算模塊,以及判斷閾值是否達(dá)到最小值的定階模塊。本單元頂層結(jié)構(gòu)如圖4 所示。

        圖4 AR 參數(shù)和閾值計算單元頂層電路圖

        快速Burg 算法的關(guān)鍵即為計算預(yù)備變量,包括r、ΔR和g 3 個變量。

        r 列向量的計算電路為三級流水線結(jié)構(gòu),其電路如圖5 所示。第一拍鎖存當(dāng)前階數(shù)下輸入序列的第一個乘數(shù),并將讀入的數(shù)據(jù)寫入Xf_buffer 和Xb_buffer;第二拍并行完成兩次乘加運(yùn)算;第三拍做選通輸出c1或乘加值,并倒序輸出r 列向量的行值。當(dāng)前階數(shù)下消耗的總計算時長為i+3 個時鐘周期。

        圖5 列向量r 的運(yùn)算電路

        中間變量矩陣ΔR 和列向量g 的計算電路采用并行化處理,矩陣ΔR 和列向量g 的四級流水線電路如圖6所示。第一拍從兩個buffer 中各依次讀出一個x 值送入乘法器;第二拍做乘加運(yùn)算,得到矩陣ΔR 的一行值;第三拍ΔR 的行值分別與上一階求得的AR 參數(shù)依次相乘并求和;第四拍選通輸出列向量g 的行值。當(dāng)前階數(shù)下消耗的總計算時長為i+5 個時鐘周期。

        圖6 矩陣ΔR 和列向量g 的運(yùn)算電路

        2.4 存儲單元設(shè)計

        由于參數(shù)計算過程中部分變量需要在每階下遞歸運(yùn)算,因此需為其分配內(nèi)存空間。為了起到加速的作用,使用雙口RAM 對中間結(jié)果進(jìn)行存儲,提高讀寫數(shù)據(jù)的速度。

        3 結(jié)果分析

        3.1 功率譜估計的分辨率

        在本節(jié)中,當(dāng)輸入數(shù)據(jù)采樣率為512 Hz,輸入數(shù)據(jù)點(diǎn)數(shù)為512 時,通過ModelSim 實驗平臺對基于定點(diǎn)數(shù)[13-14]的算法進(jìn)行仿真,并將FFT 算法和本算法的頻率分辨率進(jìn)行比較。仿真實驗中,AR 參數(shù)計算結(jié)果a 和最小預(yù)測誤差Pmin仿真結(jié)果如圖7 所示。

        圖7 ModelSim 仿真結(jié)果

        為了更直觀地觀察頻譜結(jié)果,將硬件電路的結(jié)果傳入MATLAB 中,經(jīng)過處理打印功率譜圖,并將硬件電路計算出的定點(diǎn)數(shù)模型的功率譜結(jié)果與MATLAB 直接計算的浮點(diǎn)數(shù)功率譜結(jié)果進(jìn)行比較,如圖8 所示,譜峰一致說明量化良好。

        圖8 定浮點(diǎn)算法功率譜結(jié)果比較

        實驗設(shè)置輸入數(shù)據(jù)為15 Hz 和20 Hz 正弦波的疊加信號,采樣率為512 Hz。

        當(dāng)輸入數(shù)據(jù)長度為512 時,F(xiàn)FT 算法和自適應(yīng)定階的快速Burg 算法的譜分析結(jié)果分別如圖9(a)和9(b)所示,兩種方式都可分辨出15 Hz 和20 Hz 兩個譜峰,快速Burg 算法的譜分析結(jié)果更為平滑,階數(shù)為7 階;當(dāng)輸入數(shù)據(jù)長度為128 時,上述兩種算法的譜分析結(jié)果分別如圖9(c)和9(d)所示,F(xiàn)FT 算法無法得到兩個獨(dú)立譜峰,而自適應(yīng)定階的快速Burg 算法依然可以產(chǎn)生15 Hz 和20 Hz 兩個獨(dú)立譜峰,自適應(yīng)定階為5 階。

        圖9 FFT 算法與自適應(yīng)定階快速Burg 算法譜分析結(jié)果

        綜上,自適應(yīng)定階的快速Burg 算法在短序列譜分析中具有更高的頻率分辨率,在實際應(yīng)用中,對實時性要求較高時,具有較為重要的意義。

        3.2 計算時間

        快速Burg 算法與Burg 算法相比,從硬件加速設(shè)計上分析,Burg 算法的前后向預(yù)測誤差ef、eb,反射系數(shù)k,AR 參數(shù)a,最小預(yù)測誤差功率Pmin的計算4 組變量完全是串行關(guān)系,無法并行化[15]。Burg 算法計算單元在每階下所消耗的時間如表1 所示。

        表1 Burg 算法計算單元消耗時鐘數(shù)

        對于快速Burg 算法,自相關(guān)的計算與其他變量無關(guān),只與輸入序列和當(dāng)前階數(shù)相關(guān),它作為耗時最長的運(yùn)算單元,可以提前一個流水線周期計算。在設(shè)計中采用并行的二級流水線結(jié)構(gòu),并對流水線進(jìn)行靈活的啟動終止控制,使該算法與加速前相比可以將整體計算速度提高約50%。其各個計算單元所消耗的時鐘數(shù)如表2 所示。

        表2 快速Burg 算法計算單元消耗時鐘數(shù)

        最后,本文對兩種算法在不同階數(shù)下的硬件實現(xiàn)時計算單元所消耗的時鐘數(shù)進(jìn)行比較。以輸入數(shù)據(jù)長度N=128 為例,如表3 所示,快速Burg 算法的硬件加速實現(xiàn)方案確實可以起到更為有效的硬件加速作用,在AR 階數(shù)在10 階以內(nèi)時,與Burg算法相比,可將計算時間降低75%。

        表3 各算法在不同最終階數(shù)時計算單元消耗時鐘數(shù)

        3.3 內(nèi)存空間分析

        快速Burg 算法的硬件實現(xiàn)方案主要從反射系數(shù)k的計算中減少RAM 的使用。其中自相關(guān)的計算由于流水線的設(shè)計無需存儲器進(jìn)行存儲,列向量r 和g 需要進(jìn)行存儲,其存儲深度等于階數(shù),在本設(shè)計中階數(shù)在2~10之間,故深度為10,寬度分別為4 B 和6 B。而Burg 算法在計算反射系數(shù)k 時,需要為前后向預(yù)測誤差ef、eb這兩個參量分配存儲空間,所需RAM 的寬度為2 B,深度和輸入數(shù)據(jù)長度N 有關(guān)。因此,快速Burg 算法的硬件實現(xiàn)明顯更加節(jié)省面積。

        3.4 硬件實現(xiàn)資源使用情況

        采用如圖4 所示的自適應(yīng)定階快速Burg 算法的實現(xiàn)方案在Xilinx Virtex7 實驗平臺上做了仿真測試,綜合結(jié)果如表4 所示。

        表4 資源使用情況

        4 結(jié)論

        本文以Xilinx 公司的Virtex7 開發(fā)板作為硬件平臺,完成了自適應(yīng)定階的快速Burg 算法設(shè)計與實現(xiàn)。提出靈活控制的并行二級流水線結(jié)構(gòu)和并行化計算單元結(jié)構(gòu),達(dá)到了硬件加速的目標(biāo)。同Burg 算法相比,其對短序列的處理在達(dá)到較高分辨率的同時,計算時間可降低75%以上,同時減小了內(nèi)存空間,并自適應(yīng)定階。實驗發(fā)現(xiàn),AR 模型階數(shù)是否達(dá)到最優(yōu)決定了功率譜質(zhì)量的好壞,但是此最優(yōu)階數(shù)的確定也與輸入序列長度、采樣率等相關(guān),這一關(guān)系有待進(jìn)一步研究。

        亚洲精品永久在线观看| 变态另类人妖一区二区三区 | 亚洲精品少妇30p| 国产70老熟女重口小伙子| 精品国产品欧美日产在线| 精品午夜中文字幕熟女| av大全亚洲一区二区三区| 国产97在线 | 亚洲| 98在线视频噜噜噜国产| 最新国产主播一区二区| 日本熟妇另类一区二区三区| 中文无码日韩欧| 狠狠狠色丁香婷婷综合激情| 亚洲精品精品日本日本| 日本一区二区不卡精品| 午夜福利院电影| 免费毛片性天堂| 中文字幕人妻在线少妇完整版| 国产福利一区二区三区在线视频| 草草浮力地址线路①屁屁影院| 国产爆乳无码一区二区在线| 漂亮人妻被强中文字幕乱码| av网站免费线看精品| 成人黄色网址| 国产精品激情综合久久| 区一区二区三免费观看视频| 国产欧美日韩精品丝袜高跟鞋| 99精品视频69V精品视频| 久久成人国产精品免费软件| 亚洲天堂在线播放| 极品视频一区二区三区在线观看 | 中文在线最新版天堂av| 美女脱了内裤露出奶头的视频| 高清偷自拍第1页| 日本熟妇hd8ex视频| 五月婷婷开心五月激情| 国内精品伊人久久久久网站| 亚洲综合性色一区| 亚洲精品国产二区在线观看| 久久精品国产字幕高潮| 国精产品一区二区三区|