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