匹配濾波器

维基百科,自由的百科全书
跳转至: 导航搜索

在信號處理中,匹配濾波器可以用來解調基頻帶脈波信號,基頻帶脈波信號意指信號內容為同一波形信號乘上一個常數,在每個周期出現,每個周期中代表著或多或少的資訊量。匹配濾波器解調出來的結果其SNR (Signal Noise Ratio)為最大的,匹配濾波器需要事先知道

1.傳送的訊號

2.訊號的同步

才能解調出傳送的信號。

此外,匹配濾波器也可用於模式識別 、相似度測試(similarity measure)。

最高SNR證明[编辑]

假設 g(t):傳送訊號

w(t):可加性高斯白雜訊

x(t) = g(t) + w(t)

h(t):未知波形

y(t):解調結果

 1.  x(t) = g(t) + w(t)

 2.  y(t) = [g(t) + w(t)] \ast h(t)  

 = g(t) \ast h(t)+ w(t) \ast h(t)

= G(t) + N(t)


 3. SNR = |G(T)|^2 / E[N^2(T)]|

SNR = 信號瞬間功率 / Noise平均功率

信號瞬間功率

 |G(T)|^2 =  \int_{-\infty}^{\infty} H(f) G(f) e^{j2\pi fT} \, df

雜訊平均功率

 E[N^2 (T)]= \frac{N_0}{2} \int_{-\infty}^{\infty} |H(f)|^2 \, df

 SNR = \frac{\int_{-\infty}^{\infty} H(f) G(f) e^{j2\pi fT} \, df}{\frac{N_0}{2} \int_{-\infty}^{\infty} |H(f)|^2 \, df}

 \le \frac{\int_{-\infty}^{\infty} |H(f)|^2 e^{j2\pi fT} \, df \int_{-\infty}^{\infty} |G(f) e^{j2\pi fT}|^2 \, df }{\frac{N_0}{2} \int_{-\infty}^{\infty} |H(f)|^2 \, df}

 =  \frac{2}{N_0} \int_{-\infty}^{\infty} |G(f)|^2 \, df

4. 當

 H_{opt}(f) = k[G(f)e^{j2\pi fT}]^*  , SNR_{max} = \frac{2} {N_0} \int_{-\infty}^{\infty} |G(f)|^2 \, df

所以

 h_{opt}(t) = k \int_{-\infty}^{\infty} G(-f)e^{-j2\pi fT} e^{j2\pi ft} \, df

 = k \int_{-\infty}^{\infty} G(z)e^{-j2\pi f(T-t)}  \, dz

 = kg(T-t)

(備註)Cauchy-Schwartz inequality:

 \int_{-\infty}^{\infty} |A(x)|^2 \, dx < \infty  \int_{-\infty}^{\infty} |B(x)|^2 \, dx < \infty

 |\int_{-\infty}^{\infty} A(x)B(x) \, dx|^2 \le \int_{-\infty}^{\infty} |A(x)|^2 \, dx \int_{-\infty}^{\infty} |B(x)|^2 \, dx

 A=kB^* 時,等號成立。

匹配濾波器頻率響應[编辑]

\ x = s + v,\,

\ R_v = E\{vv^\mathrm{H}\}.\,


\mathrm{SNR} = \frac{|y_s|^2}{ E\{|y_v|^2\} }.


\ |y_s|^2 = {y_s}^\mathrm{H} y_s = h^\mathrm{H} s s^\mathrm{H} h.\,


\ E\{|y_v|^2\} = E\{ {y_v}^\mathrm{H} y_v \} = E\{ h^\mathrm{H} v v^\mathrm{H} h \} = h^\mathrm{H} R_v h.\,

\mathrm{SNR} = \frac{h^\mathrm{H} s s^\mathrm{H} h}{ h^\mathrm{H} R_v h }.

如果我們限制分母為1, 最大化 \mathrm{SNR} 的問題可以被簡化為最大化分子.

於是可以使用 拉格朗乘數

\ h^\mathrm{H} R_v h = 1
\ \mathcal{L} = h^\mathrm{H} s s^\mathrm{H} h + \lambda (1 - h^\mathrm{H} R_v h )
\ \nabla_{h^*} \mathcal{L} = s s^\mathrm{H} h - \lambda R_v h = 0
\ (s s^\mathrm{H}) h = \lambda R_v h
\ h^\mathrm{H} (s s^\mathrm{H}) h = \lambda h^\mathrm{H} R_v h.

因為 s s^\mathrm{H} 是一維, 他只有一個非零特徵值. 此特徵值=

\ \lambda_{\max} = s^\mathrm{H} R_v^{-1} s,
\ h = \frac{1}{\sqrt{s^\mathrm{H} R_v^{-1} s}} R_v^{-1} s.

匹配濾波器模式辨識[编辑]

若欲偵測一特定信號 h[n],我們可以將h[n]時域反向並取共軛,當做濾波器。

一維信號

y[n] = x[n]*h^*[-n] = \sum_{\tau=\tau_1}^{\tau_2} x[n-\tau]h^*[-\tau] = \sum_{\tau=\tau_1}^{\tau_2} x[n+\tau]h^*[\tau]


x[n] :數入信號 ,h[n]:欲偵測的特定信號,且假設當\tau_1\leq n \leq\tau_2 時, h[n]≠0

二維信號

y[m,n] = x[m,n]*h^*[-m,-n] = \sum_{\tau=\tau_1}^{\tau_2}\sum_{\rho=\rho_1}^{\rho_2}x[m+\tau,n+\rho]h^*[\tau,\rho]
假設當\tau_1\leq m \leq\tau_2           ,  \rho_1\leq m \leq\rho_2時, h[m,n]≠0


模擬結果:

未標準化而造成的計算誤差 y[n] = x[n]*h*[-n]

但由於卷積是線性的,當信號能量大,算出來的值也會跟著變大而有誤差,因此我們需要標準化。


標準化公式


一維信號

\sum_{s=n+\tau_1}^{n+\tau_2} |x[s]|^2 ≠0

y[n] =  {\sum_{\tau=\tau_1}^{\tau_2} x[n+\tau]h^*[\tau]} \over  \sqrt{\sum_{s=n+\tau_1}^{n+\tau_2} |x[s]|^2\sum_{s=\tau_1}^{\tau_2} |h[s]|^2}

\sum_{s=n+\tau_1}^{n+\tau_2} |x[s]|^2 =0

y[n] = 0


二維信號

\sum_{s=m+\tau_1}^{m+\tau_2}\sum_{v=n+\rho_1}^{n+\rho_2}  |x[s,v]|^2 ≠0

y[m,n] =  {\sum_{\tau=\tau_1}^{\tau_2} \sum_{\rho=\rho_1}^{\rho_2} x[m+\tau,n+\rho]h^*[\tau,\rho]} \over  \sqrt{\sum_{s=m+\tau_1}^{m+\tau_2}\sum_{v=n+\rho_1}^{n+\rho_2}  |x[s,v]|^2\sum_{s=\tau_1}^{\tau_2}\sum_{v=\rho_1}^{\rho_2} |h[s,v]|^2}

\sum_{s=m+\tau_1}^{m+\tau_2}\sum_{v=n+\rho_1}^{n+\rho_2}  |x[s,v]|^2 = 0

y[m,n] = 0


標準化後的模擬結果:

標準化後可減少計算誤差

參考文獻[编辑]

  1. author = Haykin,S. / Moher,M. | title = Haykin: Communication Systems 5/E | language = 中文
  2. Jian-Jiun Ding, Advanced Digital Signal Processing, the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2015.