設濾波器傳遞函式為h(z),則輸入訊號x(z)到輸出訊號y(z)的濾波變換是:
y(z)=x(z)h(z)
濾波時輸入訊號x(z)和系統函式h(z)已知,通過濾波過程計算輸出訊號y(z);逆濾波時則是輸出訊號y(z) 和系統函式h(z)已知,試圖從輸出訊號y(z)中恢復輸入訊號x(z),即實現x(z)=y(z)/h(z)變換。
如果濾波過程沒有讓x(z)損失任何成分,只是各種頻譜成分數值變化了,則從y(z)通過逆濾波可以幾乎完整地恢復出x(z)。例如,乙個單頻正弦波,通過乙個截止頻率遠高於訊號頻率的低通濾波器,則從濾波後訊號恢復原始訊號很容易,只要把系統函式h(z)的分子分母顛倒作為逆濾波器系統函式就可以了,恢復訊號誤差幾乎為0。但是,如果過濾的是個語音頻號,由於頻譜損失難免(變成0值),則通過逆濾波恢復出的原始訊號就不那麼理想了。
下面總結幾個主要概念
一、濾波器與逆濾波器
matlab中濾波與逆濾波都可以用filter實現,只要根據濾波器引數指標設計出相應形式的濾波器就行。濾波器形式可以有多種選擇。例如,設計乙個4階低通butterworth濾波器,分別實現濾波與逆濾波。其matlab**是
[b, a] = butter(4, 0.5);
sigy = filter(b,a,sigx);
xsig = filter(a,b,sigy);
其中b,a是數字濾波器係數;sigx是輸入訊號時間序列,sigy是輸出訊號時間序列,xsig是sigx的逆濾波訊號。下面兩個圖是所設計4階butterworth濾波器濾波和逆濾波的幅頻特性和相頻特性曲線圖,可以看到濾波與逆濾波特性是完全互補的。
二、正弦訊號的濾波與逆濾波
產生乙個單頻正弦波訊號,用上面的濾波器濾波,再逆濾波,繪圖比較結果
% 產生正弦波並濾波,再對濾波後訊號逆濾波
t = 0:0.02:2;
originalsig = sin(2*pi*40*t);
[b, a] = butter(4,0.5);
filteredsig = filter(b,a,originalsig);
inversedsig = filter(a,b,filteredsig);
% 繪圖比較原始訊號和逆濾波訊號
xi = 1 : length(originalsig);
subplot(211);
plot(xi, originalsig,
'k-'
, xi, inversedsig,
'r--');
% 原始訊號與逆濾波訊號樣點差值的絕對值
subplot(212);
xdiff = abs(originalsig - inversedsig);
plot(xdiff);
三、語音頻號的濾波與逆濾波
取matlab r2018b中乙個語音頻號,用上面的濾波器濾波。**如下:
% strong.mat檔案中有兩個訊號:英語單詞strong的男女聲發音
load(fullfile(matlabroot,'examples','signal','strong.mat'))
originalsig = his;
[b, a] = butter(4,0.5);
filteredsig = filter(b,a,originalsig);
inversedsig = filter(a,b,filteredsig);
% 繪圖比較原始訊號和逆濾波訊號,
xi = 1 : length(originalsig);
subplot(211);
plot(xi, originalsig,
'k-'
, xi, inversedsig,
'r--');
% 誤差訊號:原始訊號與逆濾波訊號樣點差的絕對值
可以看到,雖然逆濾波後的波形與原始波形還是高度重疊,但是誤差數值與正弦波情況下相比,已經上公升了幾個數量級。
實際中,一般不知道濾波器傳遞函式,都是假設其為具有某些引數的某種形式濾波器,然後通過一些優化原則得到模型引數。例如,處理室內混響語音時,一般假設混響語音是室內聲源直達麥克風的訊號與六個牆面(四面牆加上地面和屋頂)多次反射並衰減訊號的組合,把這種思路建模為乙個室內衝激響應。想得到原始語音,就要對混響語音逆濾波。這時候就要想辦法通過混響訊號找到乙個逆濾波器,通過逆濾波盡可能恢復原訊號。
現代語音頻號處理之倒譜分析與同態濾波
語音頻號可用乙個線性時不變系統的輸出表示,即看做聲門激勵訊號與聲道衝激響應的卷積。在語音頻號處理領域,根據語音頻號求解聲門激勵函式和聲道激勵相應有非常重要的意義,如要求出語音頻號的共振峰 共振峰是聲道傳遞函式個對復共軛極點的頻率 需要知道聲道傳遞函式。由卷積結果求出參與卷積的各訊號,即將卷積分量分開...
逆濾波與維納濾波(二)
在數學應用上,對於運動引起的影象模糊,最簡單的方法是直接做逆濾波,但是逆濾波對加性雜訊特別敏感,使得恢復的影象幾乎不可用。最小均方差 維納 濾波用來去除含有雜訊的模糊影象,其目標是找到未汙染影象的乙個估計,使它們之間的均方差最小,可以去除雜訊,同時清晰化模糊影象。給定乙個系統 我們的目標是找出這樣的...
MATLAB GUI 語音頻號分析系統
這是幾年前剛開始給別人寫程式的時候做的乙個語音頻號分析處理系統,根據朋友的要求,主要做了語音頻號的時域和頻域引數的提取,時域引數包括能量,過零率,短時自相關,頻域主要提取了傅利葉變換幅度譜以及lpc係數。最後我還擴充套件分析了語音頻號的聲調特徵。由於是第一次寫的程式,介面設計難看,但是比較有紀念價值...