本發(fā)明涉及信號處理領(lǐng)域,尤其涉及一種無限沖激響應(yīng)濾波器及其控制方法。
背景技術(shù):
無限沖激響應(yīng)(Infinite Impulse Response,IIR)濾波器能夠以較低的階數(shù)實現(xiàn)信號的幅頻響應(yīng)特性,經(jīng)濟效率較高,在信號處理中被廣泛應(yīng)用。
IIR濾波器的沖激響應(yīng)理論上會無限持續(xù)。IIR濾波器的輸出不僅取決于當(dāng)前和過去的輸入信號值,也取決于過去的輸出信號值。當(dāng)IIR濾波器的輸入信號為0時,輸出信號在很長一段時間內(nèi)都保持小幅震蕩,也即IIR濾波器在很長一段時間內(nèi)輸出噪聲信號。
技術(shù)實現(xiàn)要素:
本發(fā)明解決的技術(shù)問題是如何降低IIR濾波器輸出噪聲的時長。
為解決上述技術(shù)問題,本發(fā)明實施例提供一種無限沖激響應(yīng)濾波器的控制方法,包括:獲取并檢測所述無限沖激響應(yīng)濾波器的輸入信號;當(dāng)所述輸入信號為0時,記錄所述輸入信號的輸入持續(xù)時長;當(dāng)所述輸入持續(xù)時長大于預(yù)設(shè)時長時,清除所述無限沖激響應(yīng)濾波器中所有移位寄存器中存儲的數(shù)值。
可選的,所述預(yù)設(shè)時長與所述輸入信號的頻率相關(guān)。
可選的,所述預(yù)設(shè)時長不小于所述輸入信號最低頻率的周期。
可選的,在清除所述無限沖激響應(yīng)濾波器中所有移位寄存器中存儲的數(shù)值之后,還包括:在檢測到所述輸入信號變?yōu)榉?值時,停止清除所述無限沖激響應(yīng)濾波器中所有移位寄存器中存儲的數(shù)值。
本發(fā)明實施例還提供了一種無限沖激響應(yīng)濾波器,包括:檢測電路、寄存器清零電路以及無限沖激響應(yīng)濾波器電路,其中:所述檢測電路,與所述無限沖激響應(yīng)濾波器電路的輸入端以及所述寄存器清零電路耦接,適于獲取并檢測所述無限沖激響應(yīng)濾波器電路輸入端的輸入信號值;當(dāng)所述輸入信號為0時,記錄所述輸入信號的輸入持續(xù)時長;當(dāng)檢測到所述輸入持續(xù)時長大于預(yù)設(shè)時長時,觸發(fā)所述寄存器清零電路;所述寄存器清零電路,與所述無限沖激響應(yīng)濾波器電路中的所有移位寄存器均耦接,適于在被觸發(fā)時,清除所述所有移位寄存器中存儲的數(shù)值。
可選的,所述寄存器清零電路包括:歸零信號生成電路,適于在被觸發(fā)時,生成歸零信號并發(fā)送至所述無限沖激響應(yīng)濾波器電路中的所有移位寄存器,以清除所述所有移位寄存器中存儲的數(shù)值。
可選的,所述預(yù)設(shè)時長與所述輸入信號的頻率相關(guān)。
可選的,所述預(yù)設(shè)時長不小于所述輸入信號最低頻率的周期。
可選的,所述檢測電路,還適于在檢測到所述輸入信號變?yōu)榉?值時,向所述寄存器清零電路發(fā)送控制指令;所述寄存器清零電路,還適于在接收到所述控制指令時,停止清除所述所有移位寄存器中存儲的數(shù)值。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例的技術(shù)方案具有以下有益效果:
在檢測到值為0的輸入信號的輸入持續(xù)時長達到預(yù)設(shè)時長時,清除無限沖激響應(yīng)濾波器中所有移位寄存器中存儲的數(shù)值,從而可以使得無限沖激響應(yīng)濾波器的輸出也變?yōu)?,因此可以降低無限沖激響應(yīng)濾波器輸出噪聲的時長。
進一步,當(dāng)輸入信號變?yōu)榉?值時,停止清除無限沖激響應(yīng)濾波器中所有移位寄存器中存儲的數(shù)值,可以確保當(dāng)有效信號輸入時,能夠?qū)斎氲挠行盘栠M行正常的濾波處理操作。
附圖說明
圖1是現(xiàn)有的一種IIR濾波器的沖激響應(yīng)曲線;
圖2是本發(fā)明實施例中的一種無限沖激響應(yīng)濾波器的控制方法的流程圖;
圖3是采用本發(fā)明實施例中提供的IIR濾波器的控制方法后IIR濾波器的沖激響應(yīng)曲線;
圖4是本發(fā)明實施例中的一種無限沖激響應(yīng)濾波器的結(jié)構(gòu)示意圖。
具體實施方式
在現(xiàn)有技術(shù)中可知,當(dāng)IIR濾波器的輸入信號為0時,輸出信號在很長一段時間內(nèi)都保持小幅震蕩。參照圖1,給出了現(xiàn)有的一種IIR濾波器的沖激響應(yīng)曲線。圖1中,從時間軸上截取時間窗口101,將時間窗口101放大后得到時間窗口101’。從時間窗口101’中可以得知,當(dāng)IIR濾波器的輸入信號變?yōu)?后的很長時間內(nèi),IIR濾波器的輸出信號仍處于震蕩狀態(tài),沒有歸零。
通常情況下,由于IIR濾波器輸出信號的震蕩幅度遠(yuǎn)小于有效信號,因此不會對有效信號的輸出造成干擾。但是,在音頻信號處理領(lǐng)域,在兩段音頻之間可能會存在一段靜音時間。此時,雖然IIR濾波器的輸入信號為0,但IIR濾波器的輸出信號非0,此時IIR濾波器輸出噪聲信號。也就是說,在音頻信號處理領(lǐng)域,當(dāng)IIR濾波器的輸入信號為0時,IIR濾波器長時間輸出噪聲信號。
在本發(fā)明實施例中,在檢測到值為0的輸入信號的輸入持續(xù)時長達到預(yù)設(shè)時長時,清除無限沖激響應(yīng)濾波器中所有移位寄存器中存儲的數(shù)值,從而可以使得無限沖激響應(yīng)濾波器的輸出也變?yōu)?,因此可以降低無限沖激響應(yīng)濾波器輸出噪聲的時長。
為使本發(fā)明的上述目的、特征和有益效果能夠更為明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實施例做詳細(xì)的說明。
參照圖2,本發(fā)明實施例提供了一種無限沖激響應(yīng)濾波器的控制方法,以下通過具體步驟進行詳細(xì)說明。
步驟S201,獲取并檢測所述無限沖激響應(yīng)濾波器的輸入信號。
在具體實施中,可以實時獲取IIR濾波器的輸入信號,并檢測IIR濾波器的輸入信號是否為0。在本發(fā)明實施例中,可以在IIR濾波器的輸入端增加一個檢測電路,通過檢測電路來獲取并檢測IIR濾波器的輸入信號??梢岳斫獾氖牵部梢栽贗IR濾波器的輸入端增加其他的獲取檢測裝置,來獲取并檢測IIR濾波器的輸入信號。
步驟S202,判斷輸入信號是否為0。
在具體實施中,當(dāng)檢測到IIR濾波器輸入端的輸入信號為0時,可以執(zhí)行步驟S203;當(dāng)檢測到IIR濾波器輸入端的輸入信號為非0值時,可以重新執(zhí)行步驟S201。
步驟S203,記錄所述輸入信號的輸入持續(xù)時長。
在具體實施中,當(dāng)IIR濾波器的輸入信號為非0值時,可以判定IIR濾波器的輸入信號為有效信號。當(dāng)IIR濾波器的輸入信號為0時,IIR濾波器的輸入信號可能為有效信號,也可能為無效信號。
為判斷IIR濾波器的輸入信號是有效信號還是無效信號,在本發(fā)明實施例中,當(dāng)IIR濾波器輸入端的輸入信號為0時,可以記錄該輸入信號的輸入持續(xù)時長。
在本發(fā)明實施例中,為記錄輸入信號的輸入持續(xù)時長,可以在IIR濾波器的輸入端設(shè)置一定時器,該定時器可以與IIR濾波器輸入端設(shè)置的檢測電路耦接。當(dāng)檢測電路檢測到IIR濾波器的輸入信號為0時,定時器被觸發(fā),開始記錄輸入信號的輸入持續(xù)時長。
步驟S204,判斷輸入信號的輸入持續(xù)時長是否大于預(yù)設(shè)時長。
在具體實施中,當(dāng)輸入信號的輸入持續(xù)時長大于預(yù)設(shè)時長時,執(zhí)行步驟S205;當(dāng)輸入信號的輸入持續(xù)時長不大于預(yù)設(shè)時長時,繼續(xù)執(zhí)行步驟S204,也即繼續(xù)判斷輸入信號的持續(xù)時長是否大于預(yù)設(shè)時長。
在實際應(yīng)用中可知,當(dāng)IIR濾波器的輸入信號為有效信號時,有效信號中通常不會包含一連串較多個數(shù)的0。因此,當(dāng)輸入信號的輸入持續(xù)時長大于預(yù)設(shè)時長時,則可以判定當(dāng)前輸入至IIR濾波器的信號為無效信號,也即可以判定當(dāng)前IIR濾波器的輸入端不存在輸入信號。
在具體實施中,預(yù)設(shè)時長可以根據(jù)實際的應(yīng)用場景自行設(shè)定。例如,預(yù)設(shè)時長為50ms。在本發(fā)明實施例中,預(yù)設(shè)時長可以與輸入信號的頻率相關(guān)。在本發(fā)明一實施例中,預(yù)設(shè)時長不小于輸入信號最低頻率對應(yīng)的周期。
例如,輸入信號為音頻信號,音頻信號的頻率為50Hz,音頻信號對應(yīng)的周期為20ms,則將預(yù)設(shè)時長設(shè)定為30ms。
步驟S205,清除所述無限沖激響應(yīng)濾波器中所有移位寄存器中存儲的數(shù)值。
在具體實施中,當(dāng)檢測到輸入信號為0的輸入持續(xù)時長大于預(yù)設(shè)時長時,清除IIR濾波器中所有移位寄存器中存儲的數(shù)值。
在實際應(yīng)用中可知,IIR濾波器器中包括有多個移位寄存器。對于任意的IIR濾波器,對應(yīng)的傳遞函數(shù)為:
將式(1)轉(zhuǎn)換成差分方程,得到下式:
y(n)+a1y(n-1)+…+amy(n-j)=b0x(n)+b1x(n-1)+…+bnx(n-k); (2)
從式(2)中可以得知,當(dāng)y(n-1)、……、y(n-j),x(n)、……、x(n-k)均為0時,IIR濾波器的輸出y(n)也必然為0。因此,在將IIR濾波器內(nèi)的所有移位寄存器中的數(shù)據(jù)全部清零后,IIR濾波器的輸入信號為0時,輸出信號也同樣為0。
參照圖3,給出了采用本發(fā)明實施例中提供的IIR濾波器的控制方法之后得到的IIR濾波器的沖激響應(yīng)曲線。圖1中,從時間軸上截取時間窗口301,將時間窗口301放大后得到時間窗口301’。從時間窗口301’可以得知,IIR濾波器的輸出信號在很短的一段時間內(nèi)輸出穩(wěn)定為0,此時,IIR濾波器不再輸出噪聲信號。而在圖1中,從時間窗口101’中可知,IIR濾波器的輸出在很長的一段時間內(nèi)都存在噪聲。因此,采用本發(fā)明實施例中提供的無限沖激響應(yīng)濾波器的控制方法,可以降低無限沖激響應(yīng)濾波器輸出噪聲的時長
由此可見,在檢測到值為0的輸入信號的輸入持續(xù)時長達到預(yù)設(shè)時長時,清除無限沖激響應(yīng)濾波器中所有移位寄存器中存儲的數(shù)值,從而可以使得無限沖激響應(yīng)濾波器的輸出也變?yōu)?,因此可以降低無限沖激響應(yīng)濾波器輸出噪聲的時長。
此外,對于一些穩(wěn)定性較差的IIR濾波器,當(dāng)存在一個不穩(wěn)定的條件觸發(fā)導(dǎo)致正反饋自激振蕩后,現(xiàn)有的IIR濾波器無法自動恢復(fù),一直處于自激振蕩狀態(tài)。而當(dāng)采用本發(fā)明實施例中提供的IIR濾波器的控制方法之后,當(dāng)檢測到輸入信號為0的輸入持續(xù)時長達到預(yù)設(shè)時長時,清除IIR濾波器中所有移位寄存器中存儲的數(shù)值,可以快速地使得IIR濾波器恢復(fù)正常工作。
在具體實施中,在步驟S205執(zhí)行完成后,還存在IIR濾波器的輸入信號從0變?yōu)榉?值的情況。例如,IIR濾波器的輸入端輸入一段有效的音頻信號。若仍清除IIR濾波器中所有移位寄存器中存儲的數(shù)據(jù),則會導(dǎo)致IIR濾波器無法正常工作。
在本發(fā)明實施例中,為避免上述問題的出現(xiàn),當(dāng)檢測到IIR濾波器的輸入端輸入信號從0變?yōu)榉?值時,停止清除IIR濾波器中所有移位寄存器中存儲的數(shù)值,從而可以使得IIR濾波器正常工作。
參照圖4,本發(fā)明實施例還提供了一種無限沖激響應(yīng)濾波器,包括:檢測電路401、寄存器清零電路402以及無限沖激響應(yīng)濾波器電路403,其中:
所述檢測電路401,與所述無限沖激響應(yīng)濾波器電路403的輸入端以及所述歸零信號生成電路耦接,適于獲取并檢測所述無限沖激響應(yīng)濾波器電路403輸入端的輸入信號值;當(dāng)所述輸入信號為0時,記錄所述輸入信號的輸入持續(xù)時長;當(dāng)檢測到所述輸入持續(xù)時長大于預(yù)設(shè)時長時,觸發(fā)所述寄存器清零電路;
所述寄存器清零電路402,與所述無限沖激響應(yīng)濾波器電路403中的所有移位寄存器均耦接,適于在被觸發(fā)時,清除所述所有移位寄存器Z-1中存儲的數(shù)值。
在實際應(yīng)用中,無限響應(yīng)沖激濾波器電路403可以由多個加法器、乘法器以及移位寄存器Z-1組成。
當(dāng)檢測電路401檢測到為0的輸入信號的輸入持續(xù)時長大于預(yù)設(shè)時長時,觸發(fā)寄存器清零電路402。當(dāng)寄存器清零電路402被觸發(fā)時,無限沖激響應(yīng)濾波器電路403中的所有移位寄存器Z-1中存儲的數(shù)值均被清零。
在本發(fā)明實施例中,寄存器清零電路402可以包括:歸零信號生成電路。檢測電路在檢測到為0的輸入信號的輸入持續(xù)時長大于預(yù)設(shè)時長時,觸發(fā)歸零信號生成電路。歸零信號生成電路在被觸發(fā)時,生成歸零信號并發(fā)送至無限沖激響應(yīng)濾波器電路403中的所有移位寄存器Z-1,以清除所有移位寄存器Z-1中存儲的數(shù)值。
在具體實施中,預(yù)設(shè)時長可以根據(jù)實際的應(yīng)用場景自行設(shè)定。例如,預(yù)設(shè)時長為50ms。在本發(fā)明實施例中,預(yù)設(shè)時長可以與輸入信號的頻率相關(guān)。在本發(fā)明一實施例中,預(yù)設(shè)時長不小于輸入信號最低頻率對應(yīng)的周期。
例如,輸入信號為音頻信號,音頻信號的頻率為50Hz,音頻信號對應(yīng)的周期為20ms,則將預(yù)設(shè)時長設(shè)定為30ms。
在具體實施中,檢測電路401,還適于在檢測到所述輸入信號變?yōu)榉?值時,向所述寄存器清零電路402發(fā)送控制指令;所述寄存器清零電路402在接收到所述控制指令時,停止清除所述所有移位寄存器Z-1中存儲的數(shù)值。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:ROM、RAM、磁盤或光盤等。
雖然本發(fā)明披露如上,但本發(fā)明并非限定于此。任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動與修改,因此本發(fā)明的保護范圍應(yīng)當(dāng)以權(quán)利要求所限定的范圍為準(zhǔn)。