<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 多相結構采樣率變換器的FPGA實(shí)現

多相結構采樣率變換器的FPGA實(shí)現

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

多采樣率技術(shù)已廣泛應用于很多領(lǐng)域。在一個(gè)信號處理系統中,在不同的地方使用不同的采樣率有利于信號的存儲、傳輸和處理。例如在數字通信中,網(wǎng)絡(luò )的不同部分可能需要不同的編碼格式,在這些編碼格式的轉化過(guò)程中,往往涉及到基本的采樣率變換[1]。

是實(shí)現數字信號處理的一種高效手段。在實(shí)現高帶寬信號處理領(lǐng)域,技術(shù)可以通過(guò)一個(gè)芯片上的多級運算單元來(lái)獲得比通用DSP芯片更高的運算速度[2]。由于采樣率變換能用一種并行的方法實(shí)現,使用來(lái)實(shí)現就可以利用其硬件本身的并行性得到較高的效率。

1 有理數采樣率變換器的原理

從概念上講,采樣率變換器可以通過(guò)數/模轉換,再對模擬信號進(jìn)行給定頻率的模/數轉換得到。在實(shí)際的系統中,通過(guò)在數字域利用抽取和內插運算實(shí)現是一種更為合理和有效的手段。

抽取是降低采樣率的方法。在時(shí)域上,D倍(D為抽取因子)抽取就是從原始序列中每隔D-1個(gè)樣點(diǎn)取出一個(gè)構成新的數字序列。在頻域上,這一運算可以看成是頻譜的壓縮, 即原來(lái)以Ω sat1為周期的頻譜變?yōu)橐?Omega; sat2為周期的頻譜。為避免可能引起的混迭失真,抽取前應使原信號通過(guò)一個(gè)低通濾波器。其抽取的示意圖及實(shí)現框圖如圖1所示。

內插是提高采樣率的方法。實(shí)際的內插系統由兩部分構成:(1)零值插值器。設插值因子為I, I倍零值內插就是在原始序列任意兩個(gè)樣本間加入I-1個(gè)零值樣本。在頻域上,頻譜進(jìn)行了擴張,即原來(lái)以Ω sat1為周期的頻譜變?yōu)橐?Omega; sat2為周期的頻譜。從Ω c到Ω sat2-Ω c的頻帶被稱(chēng)為鏡像頻譜。(2)低通濾波器。信號經(jīng)過(guò)此濾波器后,鏡像頻譜被濾去,從而得到采樣率提高的信號序列。內插圖示及實(shí)現框圖如圖2所示。

利用抽取系統和內插系統的級連,就可以得到有理數采樣率轉換器的基本方案。一般地,對于 I/D 倍數的有理數采樣變換,通過(guò)先內插后抽取的方法,可以得到如圖3所示的實(shí)現框圖。圖3(a)中的第二部分和第三部分是兩個(gè)低通濾波器的級連,因而總的濾波效果等效為通帶邊緣較低的低通濾波器,合并后得到框圖3(b)。

然而,對于上述三個(gè)系統,利用原始框圖直接實(shí)現并不是一個(gè)很好的方案。如從圖3可以看出,該系統最主要的運算量在濾波器的實(shí)現部分,圖3(b)中濾波器的采樣率為 F3=I,F1=DF2, 濾波運算是在最高采樣率的部分實(shí)現的,這是不經(jīng)濟的。換一種說(shuō)法,比如對后兩級的系統,經(jīng)濾波后的序列每D個(gè)樣本中僅有一個(gè)是實(shí)際需要的,而D-1樣本的運算被丟棄了。

本文引用地址:http://dyxdggzs.com/article/201706/349248.htm

2 FIR濾波器的多相分解與網(wǎng)絡(luò )變換

利用FIR濾波器的多相分解[1~2]及網(wǎng)絡(luò )結構的變換[1],可以得到降低了運算代價(jià)的采樣率變換器的。

FIR濾波器的多相分解是指將數字濾波器H(z)可分解為若干個(gè)不同的組。設H(z)的轉移函數為:
  
式中,N為濾波器長(cháng)度,設N為D的整數倍, 即N/D=Q, Q為整數,可將沖激響應h(n)分成D個(gè)組,且有:

  
對于多采樣率網(wǎng)絡(luò ),存在下面幾個(gè)等效變換:

T1: 抽取與乘常數可以換位。
T2: 零值插值和乘常數可以換位。
T3:兩個(gè)信號先分別抽取然后相加,以及先相加然后抽取等效。
T4:抽樣率相同的兩個(gè)信號先分別零值內插(內插因子相等)然后相加,以及先相加然后零值內插等效。
T5:如果I和D 互質(zhì),則抽取與內插可以交換。

此外,Nobel關(guān)系式[3]給出了抽取/內插與濾波器級連時(shí)如圖4所示的等效變換。

Nobel 關(guān)系式的意義在于:在抽取與濾波級連時(shí),首先進(jìn)行抽取運算,可以把濾波器的長(cháng)度降低一個(gè)D因子; 內插與濾波級連時(shí),首先進(jìn)行濾波運算,可以使濾波器的的長(cháng)度降低一個(gè)I因子。

3 采樣率變換器的多相表示結構

通過(guò)對圖1中的整數倍速抽取器系統進(jìn)行多相分解(分解式1),然后依次進(jìn)行T3及Nobel變換(抽取),可以得到抽取系統的。此結構中濾波器將在F2=F1/D的采樣率下進(jìn)行, 也就是說(shuō),對于給定的芯片和濾波器結構,濾波器能達到最高時(shí)鐘頻率相同時(shí),該結構能處理的帶寬是圖1的D倍,或者說(shuō)對相同采樣率的數據,該結構對濾波器最高時(shí)鐘頻率的要求降低為原來(lái)的1/D,因而是一種高效的實(shí)現方式。

類(lèi)似地,對圖2中的整數內插系統進(jìn)行多相分解(分解式2),并依次進(jìn)行T4及Nobel變換(零內插),以得到整數內插的,通過(guò)變換,將以F1=F2/I的采樣率進(jìn)行濾波運算。

分數倍采樣率轉換器的多相結構有多種實(shí)現方案。

(1)如果I與D不互質(zhì),可以利用已經(jīng)得到的多相結構,然后與抽取或內插級連實(shí)現。如圖3(b)中可以把前兩部分用圖5的多相結構實(shí)現或把后兩部分用圖6的多相結構實(shí)現,具體選擇時(shí)可參考D與I的數值。

(2)如果I與D互質(zhì),則可以轉化為更為高效的多相結構[1,4]。圖7即是I、D互質(zhì)時(shí)的一種高效結構。這一結構的推導利用了多相分解的分解式1和分解式2、T1~T5以及兩數互質(zhì)時(shí)的歐幾里德公式(若I、D互質(zhì),則存在整數p、q,使得pI+qD=1)。這樣的結構不是唯一的,通過(guò)的網(wǎng)絡(luò )變換,還可以得到其他的結構。在此結構中,濾波器運算是在F4的采樣率中進(jìn)行的,且有F4=F1/D=F2/I,與最初的形式相比,濾波器的最高時(shí)鐘頻率相同時(shí),處理帶寬增大為原來(lái)的I×D倍。





該多相結構中的Rm,n(z4)可以由原始濾波器經(jīng)過(guò)兩次多相分解而求得。特殊地,如果有濾波器的級數N=DI,則 Rm,n(z4)=h[(n+1)I-(m+1)T3],為原始濾波器某一項的系數。

4 FPGA設計與驗證

由于整數倍抽取和內插的實(shí)現過(guò)程可以包含在分數采樣率變換器的實(shí)現過(guò)程中,因此下面只討論I、D互質(zhì)的有理數采樣率變換器的實(shí)現。

根據圖7的多相結構,對于I、D互質(zhì)的分數抽樣率轉化系統,可以分解為四個(gè)模塊:

(1)輸入與延時(shí)鏈模塊。這部分的時(shí)鐘周期應該為T(mén)1。

(2)R0~RI-1的延時(shí)與抽取模塊。注意:抽取器只是在第0,D,……,N×D個(gè)時(shí)鐘周期讓信號通過(guò),其他時(shí)鐘周期阻隔信號。若已知延時(shí)與抽取鏈的功能,則可用一個(gè)如圖8(a)所示的多相選擇開(kāi)關(guān)來(lái)實(shí)現,而圖8(b)給出了該電路的一種實(shí)現方案,其中TClk_T4 =DTclk_T1,T4為模塊3的時(shí)鐘周期。

(3)本系統最為關(guān)鍵的部分是第三部分。該部分是運算的主體部分,對整個(gè)系統的資源利用率和時(shí)鐘性能有很大的影響。該模塊需要實(shí)現的是I×D個(gè)FIR濾波器。對于給定的設計,這些濾波器的系數是常數,可由如下方法得到:

①根據低通濾波器的要求,用Matlab的FDAtool計算出濾波器的系數,并使其階數N=M×I×D,M為正整數,可根據濾波器的需要選取。

②利用多相分解公式計算每個(gè)濾波器的系數。

③把所得到的數字進(jìn)行定點(diǎn)化處理(比如系數同乘以2 048,取整,待計算出結果后右移11位)。
對于常系數的FIR濾波器,在FPGA實(shí)現時(shí),有多種可以選擇的方式以降低復雜性。在本設計中,采用簡(jiǎn)化的加法器圖[3]來(lái)實(shí)現,避免了使用資源代價(jià)較大的通用乘法器,同時(shí)提高了系統的整體性能。例如,在測試系統的設計中,需要計算132×x(n)、28×x(n-1)、126×x(n-2)、13×x(n-3),用圖9方案來(lái)實(shí)現時(shí),將比用四個(gè)通用乘法器節省更多的LE資源,并且使最高的時(shí)鐘頻率得到了提高。表1給出了一個(gè)測試系統的資源與性能對比(使用了Altera公司的EP1C3T144C6芯片及Quartus II 5.1版本進(jìn)行綜合)。

(4)第四部分是與第二部分類(lèi)似的模塊。零內插器的特點(diǎn)是某個(gè)時(shí)鐘周期有用信號通過(guò),其余時(shí)鐘周期通過(guò)零值,因而內插與延時(shí)相加模塊也可用一個(gè)多相選擇開(kāi)關(guān)來(lái)實(shí)現。內插與延時(shí)相加模塊實(shí)現電路圖如圖10所示。






圖11給出了一個(gè)D=3、I=4、N為12時(shí)的分數采樣率變換的部分仿真結果(Modelsim 6.1)。其中,濾波器系數定點(diǎn)化為12位補碼,輸入、輸出數據為12位補碼整數, 測試輸入序列為20kHz的正弦波波形序列,采樣率為600kHz,輸出為800kHz采樣的正弦波序列。通過(guò)把輸入輸出序列保存并做FFT變換,可以得到兩者的實(shí)際頻率相同的結論。

利用FIR濾波器的多相分解及多采樣率網(wǎng)絡(luò )變換技術(shù),本文介紹了一種有理數采樣率變換器的高效多相結構,并結合FPGA芯片的結構進(jìn)行了實(shí)現與優(yōu)化。文中的一些方法也適用于其他多采速率系統的設計。



關(guān)鍵詞: 多采樣率系統 多相結構 FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>