新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 利用可編程邏輯器件設計有限沖激響應濾波器

利用可編程邏輯器件設計有限沖激響應濾波器

作者: 時間:2006-04-27 來源:網絡 收藏

  1 引 言

  一個模擬集成運算放大器可實現(xiàn)一個二階,高階可由二階串聯(lián)而成。然而,無源元器件實現(xiàn)濾波器的誤差值為1.5%或更高,這需要提高元器件的性能。濾波器的典型的調試方法是不斷的更換元器件值。而且,運算放大器要獲得高的增益帶寬,需要相位漂移保持最小或要保持閉環(huán)系統(tǒng)的穩(wěn)定,這必然增加工程中實現(xiàn)濾波器的難度。

  隨著數(shù)字信號處理的發(fā)展,數(shù)字濾波器比傳統(tǒng)的模擬濾波器在設計的選擇中更有吸引力。因為數(shù)字系統(tǒng)的信號是數(shù)字量,他相對于模擬濾波器更容易進行濾波代數(shù)運算。而且,數(shù)字濾波器沒有模擬濾波器隨時間、溫度、電壓漂移的優(yōu)點。他能很容易地實現(xiàn)過濾低頻信號的設計目的。還有,數(shù)字濾波器能實現(xiàn)近似的理想響應和線性的相位。

  2 幾種數(shù)字濾波器算法

  有許多好的方法確定濾波器的算法。首先,設計人員估計要設計的濾波器的性能,由傳遞函數(shù)實現(xiàn)。連續(xù)時間域的傳遞函數(shù)變換成離散時間域的線性差分方程,這個差分方程在Z域的通式如下:

  這是沖激傳遞函數(shù)方程。他實際是連續(xù)時間域的濾波器的單位在Z域的變換式。相反,濾波器的是Z域的單位沖激函數(shù)的反變換。系數(shù)an和bn決定數(shù)字濾波器的響應。改變系數(shù)就能改變?yōu)V波器的響應。Z一n和Z一m項表示分支的延遲或鎖存。G(Z)方程表示對輸入信號進行代數(shù)運算。輸入信號與do相乘加上采樣值與dl的乘積再加上采樣值與d:的乘積,如此類推。當所有N項完成乘積與累加運算,則就計算出了輸出值。同時,輸出值被鎖存,分別與b0,b1,b2,…,bm系數(shù)相乘,然后把乘積累加起來,再與原輸出的累加值相加得出最終的輸出值。這個過程稱作回旋。一個輸出值由每個輸入值計算而得。

  設定濾波器的系數(shù)是設計濾波器的關鍵,因為他能設計出預計的頻率響應。遞歸數(shù)字濾波器或無限濾波器(Infinite Impactive Reaction,IIR)是設計研究方法和模擬濾波器最相近似的典型數(shù)字濾波器。

  一種確定系數(shù)的方法是先確定一個能在連續(xù)時間域實現(xiàn)Chebyshev,Butterworth或等紋波的濾波器,然后用Z變換把連續(xù)時間域的傳遞函數(shù)轉化為離散時間域的傳遞函數(shù),這樣濾波器系數(shù)就可確定。

  第二個常用方法是使用雙邊變換。這個方法的步驟是工程師先設計一個模擬濾波器,這是為了將來轉變數(shù)字濾波器;設計的模擬濾波器滿足要求的數(shù)字濾波器的性能指標;這個模擬濾波器經過5變量的拉普拉斯變換再經Z變量的Z變換就轉換成了數(shù)字濾波器。

  第三種方法稱為Parks-McCcllean法。在這個方法中,帶通濾波器和帶阻濾波器的邊緣和階數(shù)是確定的。沖激響應系數(shù)被系統(tǒng)修改以便在每個近似的帶通中獲得一個等紋波性能。使用這種方法,濾波器在階數(shù)方面不是很先進。因而需有一個捷徑來確定濾波器的階數(shù),且這個捷徑能減少通過使用方程來確定一個滿足性能指標的階數(shù)。 有限沖激響應濾波器和無限沖激響應濾波器都有各自的優(yōu)點和缺點。有限沖激響應濾波器的性能穩(wěn)定,因為他沒有輸出反饋量且沖激響應是有限的;他的幅度和相位是任意設定的。另一方面,有限沖激響應濾波器通常需要數(shù)量較多的分支抽頭。因而,輸出值需經大量的代數(shù)運算。他的設計方法與模擬濾波器的設計方法不相近似。無限沖激響應濾波器需要很少的系數(shù),但要輸出反饋使得電路變得復雜。如果由于數(shù)字運算誤差不能選擇適當?shù)南禂?shù),穩(wěn)定的無限沖激響應濾波器變得不穩(wěn)定。 在設計數(shù)字濾波器中產生的4種主要誤差,他們都是量化誤差:

 ?、佥斎胄盘柕哪?shù)轉換量化誤差;
 ?、谙禂?shù)的量化誤差;
  ③由于數(shù)字運算,包括溢出產生的量化誤差;
 ?、苡邢扪h(huán)量化誤差。

  有各種各樣的計算機軟件幫助工程師設計濾波器,如美國亞特蘭大信號處理公司的設計軟件DFDP。

  3 利用有限沖激響應濾波器

  圖1為利用有限沖激響應濾波器的功能模塊圖。

  為了有高的性能和較強的靈活性,在濾波器的設計中使用器件。有限的參數(shù)將進行乘法/累加的運算,分支抽頭將占用硬件大量的物理空間。電路設計使用一個工作速度為85ns的單口16b乘法/累加器,這個器件可工作在雙數(shù)運算狀態(tài)和飽和輸出能力。由于器件的微碼基礎使得他很容易被可編程邏輯器件控制。

  首先,系統(tǒng)必須把N(N=64)個采樣值裝入隊列FIFO(在反饋發(fā)生之前),否則隊列就裝不滿。計數(shù)器在20RAl0中正常工作。一個6b異步計數(shù)器使用4b。SMP-DN隨時鐘工作(模數(shù)轉換器完成采樣值轉換),最高的2b作為紋波計數(shù)器。SMP_DN信號由20RAl0產生,但由模數(shù)轉換器觸發(fā)。

  當計數(shù)器的計數(shù)值為63時,樣本值已被保存在移位/保持寄存器中;GO信號變?yōu)檎?,系統(tǒng)開始濾波算法運算。系統(tǒng)與2個異步的子系統(tǒng)相聯(lián)(模數(shù)轉換器、乘法/累加器),兩者之間必有一個異步接口。20RAl0用于產生接口信號SMP/CON(采樣模式和轉換模式)。這個引腳為高電平,系統(tǒng)為采樣模式(SMP/CON=1)。當GO為真且模數(shù)轉換器的時鐘為下降沿時,則SMP/CON為低電平(與MCLK異步,與SCLK同步)。因為SMP/CON信號作為狀態(tài)機的輸入,器件可能遇到抖動輸入。Lattice公司的可編程邏輯器件有很高的工作速度,他的去抖動輸入能力較強。由于去抖動技術的應用,使得數(shù)據(jù)丟失的狀態(tài)的概率變得很小。因而狀態(tài)機不得不等待,至多等一個MCLK周期再開始變換。當變換開始,把采樣值裝入乘法/累加器;然后,把系數(shù)裝入乘法/累加器進行乘法累加運算,直到N個采樣值都完成運算。這時輸出有效,循環(huán)可重新開始。這個過程可用有8個狀態(tài)的狀態(tài)機來表示。

  狀態(tài)機根據(jù)代碼狀態(tài)的正確與否來控制乘法/累加器的狀態(tài)變化。2個輸出使能信號XOE和YOE-MCDN控制是否把數(shù)據(jù)裝入乘法/累加器。CON_DN信號表示N個采樣值已轉換完成。為了使狀態(tài)位(XOE,YOE_MCDN,CON_DN)產生輸出,使用了狀態(tài)變量(SEBIT)。如果狀態(tài)變量為被使用,那是不允許有2個狀態(tài)位被強行置為相同的狀態(tài)。在設計中利用Lattice公司的可編程邏輯器件上電復位功能,在高電平后寄存器被置為0,精心設計的狀態(tài)機處于開始狀態(tài)。

  除了重新開始置數(shù)階段,每時每刻都產生SMP_DN信號(采樣值進行模數(shù)轉換)。當SHIT_IN信號置位時采樣值從移位/保持寄存器移入隊列。每當XOE置位時一個系數(shù)裝入乘法/累加器。開始轉換的第一個XOE信號在開始置數(shù)或采樣模位式移人隊列階段一直保持到新的數(shù)據(jù)裝入移位/保持寄存器。跟下來的XOE信號是YOE_MCDN信號(Y輸出使能信號和乘法/累加器使能信號)。YOE_MCDN控制隊列數(shù)據(jù)輸出和數(shù)據(jù)裝入移位/寄存器的并行操作。接著一個采樣信號從隊列中移出。這時下一個數(shù)據(jù)移人移位/保持寄存器的XOE已準備好了,系統(tǒng)如此循環(huán)。直到SMP/CON信號變?yōu)椴蓸幽J?,新的采樣值被移人移位/保持寄存器,循環(huán)又重新開始。SMP/CON信號輸入到狀態(tài)機,允許系統(tǒng)重新開始循環(huán)。這個控制信號由模式控制器產生。當轉換結束時用TC來指示(終點計數(shù)值)。TC信號由6b系數(shù)計數(shù)器產生,當計數(shù)值為63時TC信號有效,他說明所有的64個采樣值已完成運算。ORDY信號由隊列產生。他告訴狀態(tài)機隊列中的采樣值是有效的。狀態(tài)機不斷地把系數(shù)送入乘法/累加器直到ORDY信號為真。這時狀態(tài)機將會轉向下一個狀態(tài)。如果乘法/累加器的循環(huán)時間不超過隊列的使用時間,狀態(tài)機認為這是輸入狀態(tài)ORDY信號將會一直為真。

  改變乘法/累加器的指令只須簡單地改變輸出不同值的變量的代碼。如果使用了E2CMOS器件,可方便地再編程和放回電路中。由Lattice公司出品的E2CMOS的22V10就是用于這種用途的可重復編程的器件。

  雙64BX8b的隊列器件用于濾波器的分支抽頭。隊列裝入N個采樣值。這個采樣值被移出隊列移進乘法/累加器進行處理,同時這個采樣值也保存在移位/保持寄存器中然后移回到隊列中下一個被移人乘法/累加器進行處理的采樣值的前面。在所有的N個采樣值都被處理完,舊的采樣值被移出隊列,新的經模數(shù)轉換的采樣值被裝入隊列。這時乘法/累加器輸出一個濾波器結果??删幊踢壿嬈骷勺鳛閿?shù)字濾波器與模數(shù)轉換器的接口;數(shù)字濾波器的臨時貯儲器和隊列的控制器。

  移位/保持寄存器可由20V8實現(xiàn)。在采樣模式(SMP/CON=1),器件的功能為移位寄存器。20V8在模數(shù)轉換器的控制下串行輸入數(shù)據(jù),這時20V8處于保持模式,數(shù)據(jù)不會丟失。當系統(tǒng)進人轉換模式(SMP/CON=0),數(shù)據(jù)立刻被并行置入移位/保持寄存器。 系數(shù)被保存在用可編程邏輯器件仿制成的ROM中。如果使用E2CMOS器件,濾波器的系數(shù)可很容易的改變只需重編可編程器件。地址計數(shù)器用于獲得系數(shù)的正確次序。因為64抽頭需要64個系數(shù),64個系數(shù)只需6b地址。6b系數(shù)地址計數(shù)器可在22V10中完成。6b系數(shù)地址計數(shù)器是由計數(shù)使能信號控制的同步計數(shù)器。他的時鐘與乘法/累加器的時鐘信號同步。計數(shù)器的使能端與乘法/累加器的XOE相聯(lián)。因而計數(shù)器只有在一個系數(shù)移入乘法/累加器時才計一次數(shù)。當計數(shù)值達到63時TC信號變?yōu)檎妫f明64個系數(shù)已運算完。復位端變?yōu)楦唠娖?,計?shù)器又處于已知的開始狀態(tài)。

  剩下的4個邏輯微單元用于產生隊列的控制信號,這些信號是異步的。信號由系統(tǒng)是否處于開始置數(shù)、采樣、轉換--包括移入、移出和移位/保持寄存器的時鐘信號的產生的狀態(tài)決定。當轉換開始,狀態(tài)機設置CONV_DN和MCLK信號,SMP/CON被MCLK信號同步置位。這些信號使得移位/保持寄存器的時鐘信號CLKIN產生變化,寄存器在模數(shù)轉換器的控制下移入有效的采樣值。

  4 一個具體的有限沖激響應濾波器

  系統(tǒng)需要133個MCLK完成一次循環(huán)轉換。使用11.7MHz的時鐘,這個過程需要花費約11.4μs。系統(tǒng)的模數(shù)轉換器通過一個串行口輸人數(shù)據(jù)到移位/保持寄存器需花費3.3μs。系統(tǒng)采樣輸入信號的周期為11.4+3.3=14.7μs或頻率68kHz。奈奎斯特(Nyquist)定理說一個信號要高于他的2倍采樣信號采樣才能保持信號信息的完整性。因而一個信號被濾波則系統(tǒng)器件的工作頻率為34 kHz。使用ASPI公司的軟件,運用Parks-McCcllean方法設計濾波器。他的中心頻率為20kHz,帶寬為5 kHz,傳輸區(qū)域從2kHz開始,如圖2所示。

  由于使用了可編程邏輯器件,使得上述系統(tǒng)有限沖激響應濾波器很容易改為無限沖激響應濾波器。在新的采樣值輸入進隊列之前,最終的輸出值被送會隊列。如果提高系統(tǒng)的性能,要使用存儲容量更大的隊列器件和速度更快的乘法/累加器。因為使用了速度為15ns的可編程邏輯器件,所以這些器件不再是限制因素。如果使用并行模數(shù)轉換器,64BX8b隊列器件和45ns的乘法/保持累加器;系統(tǒng)不經很大改動就可達到167kHz的工作頻率。



評論


相關推薦

技術專區(qū)

關閉