【正文】
數(shù)字濾波器的仿真與實(shí)現(xiàn) ——摘自《International Broadcasting Convention 2003》第488頁(yè)~第499頁(yè)A. Due241。as, J. C. Pujol, A. Mart237。n, C. Pel225。ez, F. D237。az, G. Gomez, F. MartinPRODYS, Spain。 Universidad CIII de Madrid, Spain隨著信息時(shí)代和數(shù)字世界的到來(lái),數(shù)字信號(hào)處理已成為當(dāng)今一門(mén)極其重要的學(xué)科和技術(shù)領(lǐng)域。數(shù)字信號(hào)處理在通信、語(yǔ)音、圖像、自動(dòng)控制、雷達(dá)、軍事、航空航天、醫(yī)療和家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。在數(shù)字信號(hào)處理應(yīng)用中,數(shù)字濾波器十分重要并已獲得廣泛應(yīng)用。數(shù)字濾波器介紹:模擬和數(shù)字濾波器 在信號(hào)處理、過(guò)濾功能是一個(gè)不排除部分信息,如隨機(jī)噪音、提取有用的信號(hào)部分,如部分地勢(shì)在一定的頻率范圍. 以下方框圖說(shuō)明基本思路. 有兩大類(lèi)型的過(guò)濾, 模擬 以及 數(shù)字 . 他們是完全不同的物理結(jié)構(gòu),如何工作. 類(lèi)比電子電路模擬用的過(guò)濾部分組成,例如由電阻、電容opamps和生產(chǎn)所需的過(guò)濾效果. 這種過(guò)濾器被廣泛使用的電路減少噪音等方面的應(yīng)用,提高視頻信號(hào)、圖像均衡的高科技傳真系統(tǒng)等眾多領(lǐng)域. 有完善的技術(shù)標(biāo)準(zhǔn)設(shè)計(jì)的模擬電路進(jìn)行過(guò)濾特定要求. 在各個(gè)階段,是一個(gè)信號(hào),是電機(jī)電壓和過(guò)濾,目前直接的物理模擬量(例如聲音或視頻信號(hào)和變頻器生產(chǎn))處理. 數(shù)碼過(guò)濾用數(shù)字進(jìn)行數(shù)值計(jì)算處理器的信號(hào)抽樣值. 處理器的可能通用計(jì)算機(jī)等PC或?qū)I(yè)發(fā)展計(jì)劃圖(數(shù)字信號(hào)處理器)芯片. 模擬信號(hào)必須先投入使用的取樣和數(shù)碼藝術(shù)發(fā)展局(模擬到數(shù)字轉(zhuǎn)換器). 由此二元多,占抽樣連續(xù)輸入信號(hào)的價(jià)值,轉(zhuǎn)移到處理器,進(jìn)行數(shù)字計(jì)算. 這些計(jì)算通常涉及多方面的投入和增加產(chǎn)品價(jià)值的共同因素. 如有必要,這些計(jì)算結(jié)果,現(xiàn)在是抽樣信號(hào)值的過(guò)濾,產(chǎn)出通過(guò)發(fā)展援助委員會(huì)(類(lèi)比數(shù)位轉(zhuǎn)換器來(lái))信號(hào)轉(zhuǎn)換回模擬形式. 看到一個(gè)數(shù)字過(guò)濾,信號(hào)是由一系列數(shù)字,而不是電壓或逆流. 以下圖表顯示了這種制度的基本格局:濾波器是指用來(lái)對(duì)輸入信號(hào)進(jìn)行濾波的硬件或軟件。如果濾波器的輸入、輸出都是離散信號(hào),則該濾波器的沖擊響應(yīng)也必然是離散的,這樣的濾波器定義為數(shù)字濾波器。數(shù)字濾波器的功能,就是把輸入序列X通過(guò)一定的運(yùn)算變換成輸出序列Y。根據(jù)數(shù)字濾波器沖激響應(yīng)函數(shù)的時(shí)域特性,可將數(shù)字濾波器分為兩種,即無(wú)限長(zhǎng)沖激相應(yīng)IIR濾波器和有限長(zhǎng)沖激響應(yīng)FIR濾波器。IIR數(shù)字濾波器的優(yōu)點(diǎn)是可以利用模擬濾波器設(shè)計(jì)的結(jié)果,而模擬濾波器的設(shè)計(jì)有大量圖表可查,方便簡(jiǎn)單。它的缺點(diǎn)是相位的非線(xiàn)性;若需要線(xiàn)性相位,則要采用全通網(wǎng)絡(luò)進(jìn)行相位校正。圖象處理以及數(shù)據(jù)采集傳輸都要求濾波器具有線(xiàn)性相位特性。而FIR數(shù)字濾波器可以實(shí)現(xiàn)線(xiàn)性相位,又可具有任意幅度特性。從數(shù)字濾波器的單位沖擊響應(yīng)來(lái)看,可分為兩大類(lèi):有限沖擊響應(yīng)(FIR)數(shù)字濾波器和無(wú)限沖擊響應(yīng)(IIR)數(shù)字濾波器。FIR濾波器卻可以得到嚴(yán)格的線(xiàn)性相位,然而由于FIR濾波器的系統(tǒng)函數(shù)的極點(diǎn)固定在原點(diǎn),所以只能用較高的階數(shù)來(lái)實(shí)現(xiàn)其高選擇性,對(duì)于同樣的濾波器設(shè)計(jì)指標(biāo),F(xiàn)IR濾波器所要求的階數(shù)要比IIR高5至10倍,所以成本較高,信號(hào)延遲也較大。但是如果要求相同的線(xiàn)性相位,則IIR濾波器就必須加全通網(wǎng)絡(luò)進(jìn)行相位校正,同樣也要增加濾波器網(wǎng)絡(luò)的節(jié)數(shù)和復(fù)雜性。FIR濾波器可以用非遞歸的方法實(shí)現(xiàn),在有限精度下不會(huì)產(chǎn)生振蕩,同時(shí)由于量化舍入以及系數(shù)的不確定性所引起的誤差的影響要比IIR濾波器小的多,并且FIR濾波器可以采用FFT算法,運(yùn)算速度快。但是不象IIR濾波器可以借助模擬濾波器的成果,F(xiàn)IR濾波器沒(méi)有現(xiàn)成的計(jì)算公式,必須要用計(jì)算機(jī)輔助設(shè)計(jì)軟件(如MATLAB)來(lái)計(jì)算。由此可知,F(xiàn)IR濾波器應(yīng)用比較廣,而IIR濾波器則用在相位要求不是很?chē)?yán)格的場(chǎng)合。 濾波器從功能上分又可分為如下4類(lèi):(1)低通濾波器(LPF); (2)高通濾波器(HPF ); (3)帶通濾波器(BPF );(4)帶阻濾波器(BSF)。理想濾波器的幅頻特性下圖虛線(xiàn)為:MATLAB介紹:MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)之意。除具備卓越的數(shù)值計(jì)算能力外,它還提供了專(zhuān)業(yè)水平的符號(hào)計(jì)算,文字處理,可視化建模仿真和實(shí)時(shí)控制等功能。MATLAB作為世界頂尖的數(shù)學(xué)應(yīng)用軟件,以其強(qiáng)大的工程計(jì)算、算法研究、工程繪圖、應(yīng)用程序開(kāi)發(fā)、數(shù)據(jù)分析和動(dòng)態(tài)仿真等功能,在航空航天、機(jī)械制造和工程建筑等領(lǐng)域發(fā)揮著越來(lái)越重要的作用。而C語(yǔ)言功能豐富,使用靈活方便,目標(biāo)程序效率高。既有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又有低級(jí)語(yǔ)言的特點(diǎn)。因此,C語(yǔ)言是目前應(yīng)用最廣的編程語(yǔ)言。雖然MATLAB是一個(gè)完整的、功能齊全的編程環(huán)境,但在某些情況下,與外部環(huán)境的數(shù)據(jù)和程序的交互是非常必須而且有益的。利用MATLAB設(shè)計(jì)濾波器,可以隨時(shí)對(duì)比設(shè)計(jì)要求和濾波器特性調(diào)整參數(shù),直觀(guān)簡(jiǎn)便,極大的減輕了工作量,有利于濾波器設(shè)計(jì)的最優(yōu)化。A(f) A(f) 1 1 0 f f 0 f f (a) (b)A(f) A(f) 1 1 0 f f f 0 f f f (c) (d)圖中四類(lèi)濾波器的幅頻特性(a)低通 (b)高通 (c)帶通 (d)帶阻在電力系統(tǒng)微機(jī)保護(hù)和二次控制中,很多信號(hào)的處理與分析都是基于正旋基波和某些整次諧波而進(jìn)行的,而系統(tǒng)電壓電流信號(hào)(尤其是故障瞬變過(guò)程)中混有各種復(fù)雜成分,所以濾波器一直是電力系統(tǒng)二次裝置的關(guān)鍵部件。目前微機(jī)保護(hù)和二次信號(hào)處理軟件主要采用數(shù)字濾波器。傳統(tǒng)的數(shù)字濾波器設(shè)計(jì)使用繁瑣的公式計(jì)算,改變參數(shù)后需要重新計(jì)算,在設(shè)計(jì)濾波器尤其是高階濾波器時(shí)工作量很大。利用MATLAB信號(hào)處理箱可以快速有效地實(shí)現(xiàn)數(shù)字濾波器的設(shè)計(jì)與仿真。 MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué),工程中常用的形式十分相似,故用MATLAB來(lái)解算問(wèn)題要比用C, (Toolbox)。,可視化建模仿真,控制工具包,信號(hào)處理工具包,通信工具包等都屬于此類(lèi)。,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶(hù)通過(guò)對(duì)源程序的修改或加入自己編寫(xiě)程序構(gòu)造新的專(zhuān)用工具包。數(shù)字濾波器的設(shè)計(jì) 數(shù)字濾波器設(shè)計(jì)的基本要求 數(shù)字濾波器設(shè)計(jì)要經(jīng)過(guò)三個(gè)步驟:(1)確定指標(biāo):在設(shè)計(jì)一個(gè)濾波器前,必須有一些指標(biāo)。這些指標(biāo)要根據(jù)應(yīng)用確定。在很多實(shí)際應(yīng)用中,數(shù)字濾波器常常被用來(lái)實(shí)現(xiàn)選頻操作。因此,指標(biāo)的形式一般在頻域中給出幅度和相位響應(yīng)。幅度指標(biāo)主要以?xún)煞N方式給出。第一種是絕對(duì)指標(biāo)。它提供對(duì)幅度響應(yīng)函數(shù)的要求,一般應(yīng)用于FIR濾波器的設(shè)計(jì)。第二種指標(biāo)是相對(duì)指標(biāo)。它以分貝值的形式給出要求。在工程實(shí)際中,這種指標(biāo)最受歡迎。對(duì)于相位響應(yīng)指標(biāo)形式,通常希望系統(tǒng)在通頻帶中人有線(xiàn)性相位。運(yùn)用線(xiàn)性相位響應(yīng)指標(biāo)進(jìn)行濾波器設(shè)計(jì)具有如下優(yōu)點(diǎn):①只包含實(shí)數(shù)算法,不涉及復(fù)數(shù)運(yùn)算;②不存在延遲失真,只有固定數(shù)量的延遲;③長(zhǎng)度為N的濾波器(階數(shù)為N1),計(jì)算量為N/2數(shù)量級(jí)。(2)模型逼近:一旦確定了指標(biāo),就可利用前面學(xué)習(xí)過(guò)的基本原理和關(guān)系式,提出一個(gè)濾波器模型來(lái)逼近給定的指標(biāo)體系。(3)實(shí)現(xiàn):上面兩步的結(jié)果得到的濾波器,通常是以差分方程、系統(tǒng)函數(shù)或脈沖響應(yīng)來(lái)描述的。根據(jù)這個(gè)描述用硬件或者計(jì)算機(jī)軟件來(lái)實(shí)現(xiàn)它。FPGA介紹:可編程邏輯器件是一種可以構(gòu)成各種用途邏輯的通用芯片,它是實(shí)現(xiàn)專(zhuān)用集成電路ASIC(Application Specific Integrated Circuit)的半定制器件,它的出現(xiàn)和發(fā)展使電子系統(tǒng)設(shè)計(jì)師借助于CAD手段在實(shí)驗(yàn)室里就可以設(shè)計(jì)自己的ASIC器件。特別是FPGA(Field Programmable Gate Array)的產(chǎn)生與發(fā)展,使其成為繼微處理器、存儲(chǔ)器之后的為電子數(shù)字系統(tǒng)設(shè)計(jì)而確定的又一種新的工業(yè)標(biāo)準(zhǔn)(即可以按標(biāo)準(zhǔn)產(chǎn)品目錄在銷(xiāo)售市場(chǎng)上購(gòu)到)。數(shù)字系統(tǒng)正朝向以微處理器、存儲(chǔ)器、FPGA三種標(biāo)準(zhǔn)積木塊構(gòu)成或是它們的集成方向發(fā)展。使用FPGA器件設(shè)計(jì)數(shù)字電路,不僅可以簡(jiǎn)化設(shè)計(jì)過(guò)程,而且可以降低整個(gè)系統(tǒng)的體積和成本,增加系統(tǒng)的可靠性。它們無(wú)需花費(fèi)傳統(tǒng)意義下制造集成電路所需大量時(shí)間和精力,避免了投資風(fēng)險(xiǎn),成為電子器件行業(yè)中發(fā)展最快的一族。使用FPGA器件設(shè)計(jì)數(shù)字系統(tǒng)電路的主要優(yōu)點(diǎn)如下:(1)設(shè)計(jì)靈活使用FPGA器件,可不受標(biāo)準(zhǔn)系列器件在邏輯功能上的限制。而且修改邏輯可在系統(tǒng)設(shè)計(jì)和使用過(guò)程的任一階段中進(jìn)行,并且只須通過(guò)對(duì)所用的FPGA器件進(jìn)行重新編程即可完成,給系統(tǒng)設(shè)計(jì)提供了很大的靈活性。(2)增大功能密集度功能密集度是指在給定的空間能集成的邏輯功能數(shù)量??删幊踢壿嬓酒瑑?nèi)的組件門(mén)數(shù)高,一片F(xiàn)PGA可代替幾片、幾十片乃至上百片中小規(guī)模的數(shù)字集成電路芯片。用FPGA器件實(shí)現(xiàn)數(shù)字系統(tǒng)時(shí)用的芯片數(shù)量少,從而減少芯片的使用數(shù)目,減少印刷線(xiàn)路板面積和印刷線(xiàn)路板數(shù)目,最終導(dǎo)致系統(tǒng)規(guī)模的全面縮減。(3)提高可靠性 減少芯片和印刷板數(shù)目,不僅能縮小系統(tǒng)規(guī)模,而且它還極大的提高了系統(tǒng)的可靠性。具有較高集成度的系統(tǒng)比用許多低集成度的標(biāo)準(zhǔn)組件設(shè)計(jì)的相同系統(tǒng)具有高得多的可靠性。使用FPGA器件減少了實(shí)現(xiàn)系統(tǒng)所需要的芯片數(shù)目,在印刷線(xiàn)路板上的引線(xiàn)以及焊點(diǎn)數(shù)量也隨之減少,所以系統(tǒng)的可靠性得以提高。(4)縮短設(shè)計(jì)周期 由于FPGA器件的可編程性和靈活性,用它來(lái)設(shè)計(jì)一個(gè)系統(tǒng)所需時(shí)間比傳統(tǒng)方法大為縮短。FPGA器件集成度高,使用時(shí)印刷線(xiàn)路板電路布局布線(xiàn)簡(jiǎn)單。同時(shí),在樣機(jī)設(shè)計(jì)成功后,由于開(kāi)發(fā)工具先進(jìn),自動(dòng)化程度高,對(duì)其進(jìn)行邏輯修改也十分簡(jiǎn)便迅速。因此,使用FPGA器件可大大縮短系統(tǒng)的設(shè)計(jì)周期,加快產(chǎn)品投放市場(chǎng)的速度,提高產(chǎn)品的競(jìng)爭(zhēng)能力。 (5)工作速度快 FPGA/CPLD器件的工作速度快,一般可以達(dá)到幾百兆赫茲,遠(yuǎn)遠(yuǎn)大于DSP器件。同時(shí),使用FPGA器件后實(shí)現(xiàn)系統(tǒng)所需要的電路級(jí)數(shù)又少,因而整個(gè)系統(tǒng)的工作速度會(huì)得到提高。 (6)增加系統(tǒng)的保密性能 很多FPGA器件都具有加密功能,在系統(tǒng)中廣泛的使用FPGA器件可以有效防止產(chǎn)品被他人非法仿制。(7)降低成本使用FPGA器件實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì)時(shí),如果僅從器件本身的價(jià)格考慮,有時(shí)還看不出來(lái)它的優(yōu)勢(shì),但是影響系統(tǒng)成本的因素是多方面的,綜合考慮,使用FPGA的成本優(yōu)越性是很明顯的。首先,使用FPGA器件修改設(shè)計(jì)方便,設(shè)計(jì)周期縮短,使系統(tǒng)的研制開(kāi)發(fā)費(fèi)用降低;其次,F(xiàn)PGA器件可使印刷線(xiàn)路板面積和需要的插件減少,從而使系統(tǒng)的制造費(fèi)用降低;再次,使用FPGA器件能使系統(tǒng)的可靠性提高,維修工作量減少,進(jìn)而使系統(tǒng)的維修服務(wù)費(fèi)用降低??傊?,使用FPGA器件進(jìn)行系統(tǒng)設(shè)計(jì)能節(jié)約成本。FPGA設(shè)計(jì)原則:FPGA設(shè)計(jì)的一個(gè)重要指導(dǎo)原則:面積和速度的平衡與互換,這個(gè)原則在后邊的濾波器設(shè)計(jì)中有大量的驗(yàn)證體現(xiàn)。這里“面積”指一個(gè)設(shè)計(jì)消耗FPGA/CPLD的邏輯資源的數(shù)量,對(duì)于FPGA可以用所消耗的觸發(fā)器(FF)和查找表(IUT)來(lái)衡量,更一般的衡量方式可以用設(shè)計(jì)所占用的等價(jià)邏輯門(mén)數(shù)來(lái)衡量。“速度”指設(shè)計(jì)在芯片上穩(wěn)定運(yùn)行所能夠達(dá)到的最高頻率,這個(gè)頻率由設(shè)計(jì)的時(shí)序狀況決定,和設(shè)計(jì)滿(mǎn)足的時(shí)鐘周期,PADto PAD Time, Clock Setup Time, Clock Hold Time, ClocktoOutput Delay等眾多時(shí)序特征量密切相關(guān)。面積(area)和速度(speed)這兩個(gè)指標(biāo)貫穿著FPGA設(shè)計(jì)的始終,是設(shè)計(jì)質(zhì)量評(píng)價(jià)的終極標(biāo)準(zhǔn)。關(guān)于面積和速度的兩個(gè)最基本的概念:面積與速度的平衡和面積與速度的互換。 面積和速度是一對(duì)對(duì)立統(tǒng)一的矛盾體。要求一個(gè)設(shè)計(jì)同時(shí)具備設(shè)計(jì)面積最小,運(yùn)行頻率最高是不現(xiàn)實(shí)的。更科學(xué)的設(shè)計(jì)目標(biāo)應(yīng)該是在滿(mǎn)足設(shè)計(jì)時(shí)序要求(包含對(duì)設(shè)計(jì)頻率的要求)的前提下,占用最小的芯片面積?;蛘咴谒?guī)定的面積下,使設(shè)計(jì)的時(shí)序余量更大,頻率跑得更高。這兩種目標(biāo)充分體現(xiàn)了面積和速度的平衡的思想。關(guān)于面積和速度的要求,不應(yīng)該簡(jiǎn)單地理解為工程師水平的提高和設(shè)計(jì)完美性的追求,而應(yīng)該認(rèn)識(shí)到它們是和產(chǎn)品的質(zhì)量和成本直接相關(guān)的。如果設(shè)計(jì)的時(shí)序余量比較大,跑的頻率比較高,意味著設(shè)計(jì)的健壯性更強(qiáng),整個(gè)系統(tǒng)的質(zhì)量更有保證;另一方面,設(shè)計(jì)所消耗的面積更小,則意味著在單位芯片上實(shí)現(xiàn)的功能模塊更多,需要的芯片數(shù)量更少,整個(gè)系統(tǒng)的成本也隨之大幅度削減。作為矛盾的兩個(gè)組成部分,面積和速度的地位是不一樣的。相比之下,滿(mǎn)足時(shí)序、工作頻率的要求更重要一些,當(dāng)兩者沖突時(shí),采用速度優(yōu)先的準(zhǔn)則。面積和速度的互換是 FPGA設(shè)計(jì)的一個(gè)重要思想。從理論上講,一個(gè)設(shè)計(jì)如果時(shí)序余量較大,所能跑的頻率遠(yuǎn)遠(yuǎn)高于設(shè)計(jì)要求,那么就能通過(guò)功能模塊復(fù)用減少整個(gè)設(shè)計(jì)消耗的芯片面積,這就是用速度的優(yōu)勢(shì)換面積的節(jié)約;反之,如果一個(gè)設(shè)計(jì)的時(shí)序要求很高,普通方法達(dá)不到設(shè)計(jì)頻率,那么一般可以通過(guò)將數(shù)據(jù)流串并轉(zhuǎn)換,并行復(fù)制多個(gè)操作模塊,對(duì)整個(gè)設(shè)計(jì)采取“串并轉(zhuǎn)換”的思想進(jìn)行運(yùn)作,在芯片輸出模塊再在對(duì)數(shù)據(jù)進(jìn)行“并串轉(zhuǎn)換”,是從宏觀(guān)上看整個(gè)芯片滿(mǎn)足了處理速度的要求,這相當(dāng)于用面積復(fù)制換速度提高。舉一個(gè)例子。假設(shè)數(shù)字信號(hào)處理系統(tǒng)輸入數(shù)據(jù)流的速率是350Mb/s,而在FPGA上設(shè)計(jì)的數(shù)據(jù)處理模塊的處理速度最大為150Mb/s,由于處理模塊的數(shù)據(jù)吞吐量滿(mǎn)足不了要求,看起來(lái)直接在FPGA上實(shí)現(xiàn)是不可能的。這種情況下,就應(yīng)該利用“面積換速度”的思想,至少?gòu)?fù)制成3個(gè)處理模塊,首先將輸入數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換