劉 牮,李 彧,劉 振,李 靜
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上?!?00093)
?
基于TMS320F28335的FIR-IFFT數(shù)字濾波方法
劉牮,李彧,劉振,李靜
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海200093)
摘要針對(duì)現(xiàn)有數(shù)字濾波方法存在大量傅里葉變換以及卷積運(yùn)算,在工業(yè)控制領(lǐng)域處理50 Hz信號(hào)時(shí),易造成處理器消耗大量運(yùn)算時(shí)間,導(dǎo)致在低端處理器上無(wú)法實(shí)現(xiàn)常規(guī)數(shù)字濾波算法的問(wèn)題,介紹了一種修改后的數(shù)字濾波算法,綜合短時(shí)采樣序列與最優(yōu)窗函數(shù)在TMS320F28335上可快速實(shí)現(xiàn)該算法。經(jīng)過(guò)窗函數(shù)截取后的信號(hào)進(jìn)行FFT分析,去除諧波頻率后IFFT還原波形,與通用的IIR或FIR濾波器相比,大幅縮短了程序運(yùn)行時(shí)間,同時(shí)減少通用濾波器的大量卷積運(yùn)算,提高程序執(zhí)行效率。
關(guān)鍵詞FIR窗函數(shù);FFT參數(shù);TMS320F28335處理器;采樣精度
隨著現(xiàn)代工業(yè)控制中檢測(cè)設(shè)備的精密度逐漸提高,而外部輸入信號(hào)被各種高頻信號(hào)疊加然后形成畸變的正弦波形,實(shí)際工業(yè)測(cè)量?jī)x器中經(jīng)常需要測(cè)量電網(wǎng)的實(shí)時(shí)交流電壓,根據(jù)檢測(cè)值驅(qū)動(dòng)保護(hù)設(shè)備斷開負(fù)載,由于實(shí)際電網(wǎng)中存在高次諧波,需要濾去高次諧波后再做計(jì)算,這樣就需要檢測(cè)到真實(shí)的交流電壓值,由于工頻電壓為50 Hz,本文提出一種濾去50 Hz以上雜波頻率的數(shù)字方法,濾波效果趨于理想濾波器,并能確保精度。
1最優(yōu)窗函數(shù)選擇
FIR濾波器具有嚴(yán)格的相位線性特性,FIR的系統(tǒng)函數(shù)為
(1)
其差分方程為
(2)
由差分方程可看出,這是一個(gè)離散系統(tǒng)下的線性卷積過(guò)程,且該系統(tǒng)函數(shù)指出極點(diǎn)存在于z域單位圓內(nèi),是一個(gè)永恒穩(wěn)定系統(tǒng)。時(shí)域卷積等同于頻域相乘,這樣可通過(guò)將單位沖擊響應(yīng)與輸入序列轉(zhuǎn)換為頻域的乘法運(yùn)算,可調(diào)用FFT算法快速求出輸出序列,完成濾波。從FIR的系統(tǒng)函數(shù)中可看出,單位沖擊響應(yīng)是一個(gè)有限長(zhǎng)度的離散序列信號(hào),如何選取該離散序列需要按照特定的準(zhǔn)則,推導(dǎo)過(guò)程如下:理想濾波器與實(shí)際的均方誤差為e2,要求將e2取最小值,得出最優(yōu)化的窗函數(shù)。實(shí)際濾波器頻率響應(yīng)為h(ejΩ),理想濾波器頻率響應(yīng)為hD(ejΩ),則誤差e(ejΩ)表示為
e(ejΩ)=hD(ejΩ)-h(ejΩ)
(3)
均方誤差
(4)
將式(1)的hD(ejΩ)和h(ejΩ)分別用離散傅里葉變換表示得
(5)
(6)
將上述兩式帶入式(1)中得
(7)
由帕賽瓦公式得
(8)
2FFT變換頻譜分析
當(dāng)一個(gè)模擬信號(hào)經(jīng)過(guò)抽樣后用于處理器計(jì)算時(shí),抽樣個(gè)數(shù)與頻率分析精度有直接關(guān)系,提高分析精度要求必須增大抽樣點(diǎn)數(shù)。如果簡(jiǎn)單將采樣序列補(bǔ)零,不能增加頻率分析精度,只能將頻響曲線連續(xù)化。增加采樣點(diǎn)數(shù)意味著占用更多的存儲(chǔ)空間。如果不增加采樣點(diǎn)數(shù)只能通過(guò)降低采樣頻率來(lái)擴(kuò)大分辨率,但隨著采樣頻率的降低,周期信號(hào)在頻域?qū)l(fā)生頻譜混疊現(xiàn)象。根據(jù)采樣定理對(duì)采樣頻率做出了強(qiáng)制要求,工程中通常采用過(guò)采樣來(lái)還原實(shí)際波形。在采樣頻率較高的情況下,保證頻率分辨率需要更多的存儲(chǔ)空間來(lái)存放采樣數(shù)據(jù),通常造成設(shè)計(jì)成本以及運(yùn)算量的增加,應(yīng)根據(jù)實(shí)際情況確定具體FFT點(diǎn)數(shù),推導(dǎo)過(guò)程如下[1]:
若模擬信號(hào)的采樣頻率為Ωs=2π/t,t為采樣周期,Ω為離散信號(hào)的模擬角頻率,并對(duì)Ω離散化為Ω=kΩ0=k2πf0,則離散傅里葉變換為
(9)
時(shí)域連續(xù)信號(hào)經(jīng)過(guò)離散化后頻域會(huì)以采樣周期進(jìn)行延拓。式(9)中的kΩ0t為折算到頻域的數(shù)字頻率,并將數(shù)字頻率離散化后的結(jié)果,其中Ωs/Ω0=t0/t=n,表示經(jīng)過(guò)離散后的頻域點(diǎn)數(shù)n,表示離散了的n點(diǎn)頻域周期t(采樣周期)。頻域的離散化表示著時(shí)域的周期延拓,時(shí)域的離散信號(hào)將以t0為周期延拓。從該表達(dá)式中可看出,t0越大,t越小,n點(diǎn)越大,Ω0在此表示頻率分辨率,在采樣頻率fs不變的情況下,增大n會(huì)縮小Ω0即加大頻率分辨率,反之如果n不變,縮小fs的情況下,Ω0也會(huì)縮小,同樣可提高頻率分辨率,但fs的縮小會(huì)導(dǎo)致頻譜混疊。
3交流信號(hào)采樣頻率對(duì)精度的估計(jì)
由于是工頻50 Hz的采樣,濾波器設(shè)計(jì)的目的是要濾除高次諧波,假設(shè)經(jīng)過(guò)濾波器后為正弦信號(hào),表達(dá)式設(shè)為u(t)=uMsinωt。采集交流信號(hào)用于計(jì)算有效值時(shí),一般采用真有效值計(jì)算公式,該計(jì)算方法與真實(shí)有效值存在誤差[2]
(10)
所以,在周期內(nèi)采樣電壓的有效值的絕對(duì)誤差為
(11)
4基于TMS320F28335的設(shè)計(jì)過(guò)程
TMS320f28335是一款TI公司生產(chǎn)的高精度32位浮點(diǎn)DSP處理器,具有高速DSP運(yùn)算能力以及片上12位a/D接口,多用于工業(yè)控制領(lǐng)域。由于本文所提到的濾波器算法運(yùn)算數(shù)據(jù)量大,且多為乘加和累積運(yùn)算,需要使用專用的DSP處理器,而浮點(diǎn)運(yùn)算能在精度上滿足設(shè)計(jì)要求,故選用該款處理器。
設(shè)計(jì)數(shù)字濾波器時(shí),矩形窗截取采樣序列時(shí)存在頻譜泄露的現(xiàn)象。若采用較短的矩形窗函數(shù)會(huì)導(dǎo)致濾波器的幅頻響應(yīng)出現(xiàn)兩種偏差。第一種是通帶頻率與截止頻率之間頻響曲線下降時(shí)存在較大的波動(dòng);另一種是通帶內(nèi)出現(xiàn)較明顯的震蕩。兩種偏差均會(huì)影響濾波器效果,為避免該現(xiàn)象應(yīng)選取窗寬較寬的矩形序列。實(shí)際加窗寬度為1 024點(diǎn)時(shí)可保證序列FFT頻譜分析精度,保證濾波效果。
4.1采樣頻率的設(shè)置
根據(jù)上述介紹,工頻環(huán)境下對(duì)現(xiàn)場(chǎng)電壓檢測(cè)并驅(qū)動(dòng)保護(hù)裝置時(shí),并不需要精確的電壓計(jì)算,通常會(huì)根據(jù)標(biāo)準(zhǔn)來(lái)制定相關(guān)的容許誤差電壓。例如電網(wǎng)中過(guò)欠電壓均是以一定的百分比例來(lái)衡量,采樣點(diǎn)數(shù)的大小決定了檢測(cè)電壓的準(zhǔn)確性,由上述討論中確定當(dāng)采樣點(diǎn)N>256點(diǎn)時(shí),精度優(yōu)于0.01%,但過(guò)采樣導(dǎo)致系統(tǒng)多余開銷,尤其在采集多路信號(hào)時(shí)顯得冗余。根據(jù)保護(hù)類產(chǎn)品對(duì)外部采樣精度要求沒(méi)有測(cè)量型儀器精度高來(lái)講,采樣點(diǎn)數(shù)下降為每周期128點(diǎn)時(shí)仍能保證0.04%的精度,足夠用于工業(yè)現(xiàn)場(chǎng)的電壓監(jiān)控。
根據(jù)TMS320f2835內(nèi)定時(shí)器與晶振的關(guān)系,設(shè)置晶振頻率為150 MHz,采用定時(shí)器0作為a/D采樣周期,在每個(gè)定時(shí)器定時(shí)結(jié)束時(shí)完成一次采樣。由上述討論確定對(duì)周期50 Hz頻率正弦波信號(hào)采樣時(shí),信號(hào)的周期為20 ms,采樣128個(gè)點(diǎn),正負(fù)半波各64點(diǎn)采樣在20 ms內(nèi)完成,則采樣周期為156 μs,可采集高次諧波,完全滿足我國(guó)電網(wǎng)的實(shí)際電壓情況,對(duì)應(yīng)的采樣頻率為6 400 Hz,在150 MHz最高晶振頻率下,定時(shí)器需填入對(duì)應(yīng)的初值(需根據(jù)定時(shí)器初始化程序確定初值,確保定時(shí)156 μs后進(jìn)入中斷處理程序)。嵌入式系統(tǒng)中對(duì)中斷的要求是快速響應(yīng),處理程序簡(jiǎn)單便捷,該處設(shè)計(jì)為一次性采集夠FFT所需的點(diǎn)數(shù),采集完畢后再進(jìn)行運(yùn)算以確保實(shí)時(shí)響應(yīng)速度,實(shí)際操作流程如圖1所示。
圖1 A/D采樣流程圖
4.2FFT點(diǎn)數(shù)選取方法
由于通過(guò)矩形窗截取采樣序列,可直接通過(guò)限制采樣點(diǎn)數(shù)來(lái)一次性截取完畢,相當(dāng)于對(duì)無(wú)限長(zhǎng)序列進(jìn)行y(n)=x(n)×h(n)操作,然后通過(guò)離散傅里葉變換在頻域分析截取的信號(hào),對(duì)截止頻率以上的信號(hào)直接濾除,再將頻域信號(hào)還原回時(shí)域完成濾波,采用此方法可完成濾波功能的同時(shí)還可對(duì)信號(hào)進(jìn)行諧波分析。
采樣頻率與頻譜分辨率的關(guān)系為:當(dāng)采樣頻率為6 400 Hz,n=1 024時(shí),Ω0=fs/n=6 000/1 024=6.25,該式說(shuō)明在頻域中代表每個(gè)頻域抽樣點(diǎn)的頻率差為6.25 Hz,若在采樣頻率確定的情況下縮小頻譜分辨率,唯一的做法是增大n值,若Ω0縮小至1 Hz時(shí),所需的n值為6 400點(diǎn),若縮小至0.5 Hz,值為12 800點(diǎn)。針對(duì)TMS320F28335芯片,若選取12 800點(diǎn)時(shí)所需的存儲(chǔ)空間為12 800×16 bit約13 kB,而芯片本身只包含34 kB的SRAM,該選法直接導(dǎo)致資源嚴(yán)重浪費(fèi)。因?yàn)楫?dāng)Ω0=6.25時(shí),50 Hz對(duì)應(yīng)的頻譜圖為第8個(gè)點(diǎn),FFT后將第9個(gè)點(diǎn)至第1 015個(gè)點(diǎn)對(duì)應(yīng)的幅度置零即可完成截止頻率以外的頻率分量的濾除,而只占用約1 kB存儲(chǔ)空間,節(jié)約資源的同時(shí)滿足了設(shè)計(jì)要求。定時(shí)器控制A/D采集完畢1 024點(diǎn)數(shù)據(jù)后執(zhí)行算法程序,濾波后可直接計(jì)算真有效值,算法流程如圖2所示[3-4]。
圖2 濾波算法流程圖
執(zhí)行完一次算法后會(huì)得出當(dāng)前采樣無(wú)干擾時(shí)50 Hz交流信號(hào)的有效值,這種計(jì)算方式可分析出周期序列的真實(shí)頻譜,實(shí)現(xiàn)高精度濾波與有效值計(jì)算。
5結(jié)果驗(yàn)證以及精度分析
圖3為CCS3.3編譯環(huán)境下測(cè)試外部輸入的疊加了諧波的正弦信號(hào)以及濾波后再做IFFT還原出的真實(shí)信號(hào)[5-7],外部真實(shí)信號(hào)由兩臺(tái)信號(hào)發(fā)生器疊加輸出,輸入信號(hào)為信號(hào)發(fā)生器RIGOL DG1022與AFG3051的輸出信號(hào)疊加而成,一臺(tái)輸出基波50 Hz、峰-峰值1 V、直流偏置0.5 V信號(hào),另一臺(tái)輸出350 Hz(工頻7次諧波)、峰-峰值1 V、直流偏置0.5 V信號(hào),疊加后輸入TMS320F28335的A/D端口。輸入前對(duì)疊加波形進(jìn)行測(cè)量檢驗(yàn)是否符合芯片A/D口承受電壓上限,實(shí)測(cè)信號(hào)發(fā)生器疊加后輸出波形如圖3所示。
圖3 疊加信號(hào)模擬基波與諧波波形
經(jīng)過(guò)A/D采樣1 024點(diǎn)進(jìn)行頻譜分析并濾去諧波頻率,如圖4和圖5所示。
圖4 疊加諧波后的頻譜分析
圖5 濾去諧波頻率
經(jīng)過(guò)IFFT運(yùn)算將基波信號(hào)還原,如圖6所示[6-8]。
圖6 IFFT后的基波信號(hào)
根據(jù)TMS320F2835的A/D計(jì)算公式和圖可知,還原后的數(shù)字量峰值為1 381,則此時(shí)輸入最大模擬量為1.01,與信號(hào)發(fā)生器輸出電壓相同,由于采用內(nèi)部12位精度的A/D以及增加采樣點(diǎn)數(shù),將誤差控制在較高范圍,并能證明此方法可行,表1為TMS32028335上執(zhí)行該算法與常規(guī)FIR算法的時(shí)間對(duì)比與精度指標(biāo)。
表1 TMS320F28335執(zhí)行算法時(shí)間與精度指標(biāo)
6結(jié)束語(yǔ)
經(jīng)過(guò)IFFT還原后的信號(hào)可真實(shí)反映基波的幅度[9],計(jì)算真有效值時(shí)需要對(duì)單個(gè)周期進(jìn)行取值,由于1 024點(diǎn)采樣,每周期信號(hào)采樣128點(diǎn),整個(gè)采樣序列中包含8個(gè)周期的正弦信號(hào),需要對(duì)單個(gè)周期進(jìn)行過(guò)零點(diǎn)檢測(cè),當(dāng)檢測(cè)出連續(xù) 3個(gè)零點(diǎn)時(shí)認(rèn)為1個(gè)周波結(jié)束,將第1個(gè)和第3個(gè)零點(diǎn)之間的采樣信號(hào)取出做均方根值計(jì)算即可計(jì)算出實(shí)際的有效值。本文中提到的濾波方法適用于個(gè)別周期的頻譜分析,實(shí)現(xiàn)方法簡(jiǎn)便快捷,較傳統(tǒng)的數(shù)字濾波器更易于實(shí)現(xiàn)。
參考文獻(xiàn)
[1]程佩青.數(shù)字信號(hào)處理教程[M].北京:清華大學(xué)出版社,2007.
[2]李沂乘.采樣計(jì)算方法測(cè)量交流電壓有效值誤差分析[J].電子測(cè)量與儀器學(xué)報(bào),2008(S2):62-65.
[3]徐墾.交流信號(hào)真有效值數(shù)字測(cè)量方法[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2006,34(2):51-54.
[4]徐墾.新型的真有效值數(shù)字測(cè)量表[J].電測(cè)與儀表,2005,42(6):10-12.
[5]李全利,劉長(zhǎng)亮.CCS上FFT運(yùn)算的實(shí)現(xiàn)[J].自動(dòng)化技術(shù)與應(yīng)用,2009,28(2):59-62.
[6]周燕,崔琪琳,田杜養(yǎng).基于傅里葉變換的數(shù)字濾波器的設(shè)計(jì)[J].計(jì)量與測(cè)試技術(shù),2009,36(3):20-22.
[7]葉亞?wèn)|,藺智挺,范玉紅.基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)與仿真[J].電子科技,2014,27(7):67-70.
[8]周云波,劉小群.基于Matlab的FIR數(shù)字濾波器的優(yōu)化設(shè)計(jì)[J].電子科技,2010,23(10):28-29.
[9]王秀芳,路敬祎,李宏,等.改進(jìn)FFT濾波的頻域分析算法[J].大慶石油學(xué)院學(xué)報(bào),2004,28(5):55-57.
FIR-IFFT Digital Filtering Method Based on TMS32028335
LIU Jian,LI Yu,LIU Zhen,LI Jing
(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)
AbstractThere are a lot of Fourier transform and convolution operation in common digital filter,which are so time-consuming for the processor to compute in the field of industrial control,and thus not applicable for low-end MCU’s to calculate 50 Hz signals.This paper introduces a new digital algorithm.After the FFT analysis of the signal in the window function,the IFFT waveform of the harmonic frequency is removed.Compared with the common IIR or FIR filter,the operation time of the program is shortened greatly,and a large number of convolution operations are also reduced.
KeywordsFIR;FFT parameter;TMS320F28335;AD accuracy
doi:10.16180/j.cnki.issn1007-7820.2016.05.027
收稿日期:2015-10-12
作者簡(jiǎn)介:劉牮(1961—),男,碩士,副教授。研究方向:電子技術(shù)及嵌入式技術(shù)應(yīng)用。李彧(1987—),男,碩士研究生。研究方向:智能控制與檢測(cè)。
中圖分類號(hào)TN911.72;TP311.1
文獻(xiàn)標(biāo)識(shí)碼A
文章編號(hào)1007-7820(2016)05-101-04