利用虛擬儀器進(jìn)行數(shù)字信號(hào)處理設(shè)計(jì)
圖1 典型濾波器設(shè)計(jì)Express VI提供了用于交互式設(shè)計(jì)探索的界面,可以使用教科書中的巴特沃斯、切比雪夫以及等波紋FIR等濾波器
基于虛擬儀器的信號(hào)處理設(shè)計(jì)所具有的另一個(gè)優(yōu)點(diǎn)是圖形化的編程方式,類似流程圖式的圖形化編程方式使得程序更加直觀。同時(shí),要嘗試一個(gè)新的算法只需要替換成所需要的函數(shù)圖標(biāo)即可。例如,反切比雪夫?yàn)V波器設(shè)計(jì)可以方便地替換成雷米茲濾波器設(shè)計(jì)方法或是最小P階規(guī)范設(shè)計(jì)方法。實(shí)際上,在表1中所列的一系列編程設(shè)計(jì)選擇都可以用于設(shè)計(jì)中。雷米茲設(shè)計(jì)方法生成了FIR濾波器,可以將期望頻率響應(yīng)和實(shí)際設(shè)計(jì)濾波器頻率響應(yīng)之間的最大誤差降到最小。這種設(shè)計(jì)規(guī)范產(chǎn)生的濾波器具有“等波紋”特性,即“切比雪夫”誤差行為。雷米茲工具產(chǎn)生的濾波器設(shè)計(jì)適用于類型I-IV線性相位、任意形狀FIR、最優(yōu)幅度近似(最大或最小相位)、單點(diǎn)帶規(guī)范(谷或峰)以及精確增益控制。最小P階規(guī)范方法可以用于設(shè)計(jì)帶有任意幅度和相位約束的FIR和IIR濾波器。使用數(shù)字濾波器設(shè)計(jì)工具包,最小P階規(guī)范方法使用牛頓法或迭代重賦權(quán)最小二乘(IRLS)法開發(fā)解決方案。
表1 數(shù)字濾波器設(shè)計(jì)工具包提供了從傳統(tǒng)應(yīng)用到現(xiàn)代應(yīng)用所需的程序化的濾波器設(shè)計(jì)工具套件
群延遲補(bǔ)償器
在對(duì)定點(diǎn)濾波器進(jìn)行設(shè)計(jì)和發(fā)布的過程中,有一種特性的重要性是不言而喻的,就是需要能夠直接、交互式地查看設(shè)計(jì)結(jié)果。傳統(tǒng)的通過文本軟件定點(diǎn)實(shí)現(xiàn)的方法往往效率高、成本低,但是由于算法精度較低,其設(shè)計(jì)過程也更為復(fù)雜。
使用LabVIEW和數(shù)字濾波器設(shè)計(jì)工具包,定點(diǎn)數(shù)字濾波器設(shè)計(jì)過程首先是對(duì)浮點(diǎn)濾波器進(jìn)行原型設(shè)計(jì),并轉(zhuǎn)換成定點(diǎn)設(shè)計(jì)。轉(zhuǎn)換成定點(diǎn)設(shè)計(jì)會(huì)大大改變?yōu)V波器的特性和性能。實(shí)現(xiàn)了指定定長(zhǎng)寄存器的整數(shù)字長(zhǎng)、濾波器拓?fù)涞绕渌麉?shù),這些對(duì)于確保濾波器按照設(shè)計(jì)期望進(jìn)行工作是十分關(guān)鍵的。對(duì)定點(diǎn)設(shè)計(jì)進(jìn)行適當(dāng)?shù)姆抡婧头治隹梢员苊庵笤谡{(diào)試設(shè)計(jì)的時(shí)候,在千萬行嵌入式系統(tǒng)代碼中進(jìn)行調(diào)試查找。集成在VI設(shè)計(jì)環(huán)境中的定點(diǎn)建模、仿真和分析工具簡(jiǎn)化了從浮點(diǎn)設(shè)計(jì)到定點(diǎn)設(shè)計(jì)之間的過渡。
另外一個(gè)使得定點(diǎn)數(shù)字濾波設(shè)計(jì)非常困難的原因是,參數(shù)量化、中間運(yùn)算和結(jié)果向系統(tǒng)引入了噪聲。此外,如果在數(shù)據(jù)存儲(chǔ)中沒有足夠的空間,就會(huì)發(fā)生上溢出。LabVIEW數(shù)字濾波器設(shè)計(jì)工具包中的定點(diǎn)建模、仿真和分析功能能夠在設(shè)計(jì)階段找出實(shí)現(xiàn)的錯(cuò)誤源頭。例如,對(duì)于圖1設(shè)計(jì)的低通濾波器進(jìn)行定點(diǎn)實(shí)現(xiàn)。用戶使用定點(diǎn)建模VI,就可以在多個(gè)設(shè)計(jì)方案中選擇定點(diǎn)系統(tǒng)、指定字長(zhǎng)、整數(shù)字長(zhǎng)以及設(shè)計(jì)中關(guān)鍵位置的舍入和溢出模式。為了對(duì)最終實(shí)現(xiàn)進(jìn)行進(jìn)一步控制,還提供了超過23種不同的濾波器拓?fù)?,從FIR直接形式1到IIR級(jí)聯(lián)二階部分(形式I或II、轉(zhuǎn)置),直至網(wǎng)格ARMA(基本、一個(gè)乘法器或歸一化部分)。
圖2展示了包含選擇濾波器拓?fù)洹⒍c(diǎn)設(shè)計(jì)工具以及用于定點(diǎn)和浮點(diǎn)設(shè)計(jì)仿真與分析的范例VI。這個(gè)VI提供了能夠隨著仿真運(yùn)行對(duì)實(shí)現(xiàn)參數(shù)進(jìn)行交互式修改的接口。首先,可以保持定點(diǎn)建模參數(shù)不變,使用默認(rèn)的濾波器拓?fù)洌褂谜龖B(tài)分布的白噪聲信號(hào)作為濾波器輸入,測(cè)試濾波器在所有頻率下的響應(yīng)。圖3給出了仿真結(jié)果。很明顯,定點(diǎn)濾波器并沒有給出與浮點(diǎn)仿真相同的結(jié)果,盡管設(shè)計(jì)的濾波器具有幾乎相同的幅度、相位和零極點(diǎn)圖。濾波器分析報(bào)告指出由于在乘法、加法、延遲中產(chǎn)生了上溢出和下溢出,因此得到的結(jié)果不夠理想。利用在VI環(huán)境中給出的信息,用戶可以對(duì)定點(diǎn)實(shí)現(xiàn)進(jìn)行運(yùn)行時(shí)修改,例如增加問題區(qū)域中的整數(shù)字長(zhǎng)、嘗試其他濾波器拓?fù)浠蚴切薷亩c(diǎn)建模的其他屬性。對(duì)于這個(gè)設(shè)計(jì)而言,提高乘法、加法和延遲的整數(shù)字長(zhǎng)就可以得到希望的定點(diǎn)設(shè)計(jì)結(jié)果,如圖4所示。
圖2 程序框圖展示了濾波器的設(shè)計(jì),可以修改濾波器拓?fù)洹⒄麛?shù)字長(zhǎng)、對(duì)正態(tài)分步的白噪聲進(jìn)行定點(diǎn)和浮點(diǎn)設(shè)計(jì)仿真以及仿真分析
評(píng)論