倒頻譜

倒頻譜（cepstrum），顧名思義，就是將頻譜（spectrum）的英文前四個字母反過來寫。倒頻譜是為了某些時候，為了計算方便，將原來信號的頻譜先轉成類似分貝的單位，再作逆傅立葉變換，把它視為一種新的訊號做處理。倒頻譜有複數倒頻譜，及實數倒頻譜。

倒頻譜被定義在1963的論文（Bogert等）。定義如下：

- 字義：倒頻譜（信號）是信號頻譜取對數的傅立葉變換後的新頻譜（信號），有時候會稱頻譜的倒頻譜。

- 演演算法：信號 -> 傅立葉變換 -> 取絕對值 -> 取對數 -> 相位展開 -> 逆傅立葉變換 -> 倒頻譜

複數倒頻譜擁有頻譜大小跟相位的資訊，實數倒頻譜只有頻譜大小的資訊，各有各的不同應用。

## 複數倒頻譜與實數倒頻譜

### 複數倒頻譜

$\widehat {x}\left[ n\right] =\int _{-\frac {1} {2}}^{\frac {1} {2}}\widehat {X}\left( F\right) e^{j {2 \pi }F}dF$ 其中$\widehat {X}\left[ F\right] = \log |X(F)| + j \arg[X(F)]$ 可能遭遇的問題1. $\log 0 = - \infty$ 2. $\arg[X[n]]$有無限多的解當輸入是實數時,因為$\log |X(F)|$偶對稱，$\arg[X(F)]$奇對稱,所以複數倒頻譜的值為實數

### 實數倒頻譜

$C \left[ n\right] =\int _{-\frac {1} {2}}^{\frac {1} {2}} \log |X(F)| e^{j {2 \pi }Fn}dF$ 可能遭遇的問題1. $\log 0 = - \infty$

## 應用

- 倒頻譜可以被視為在不同頻帶上變化速率的資訊，倒頻譜一開始被發明在地震或炸彈產生的地震回音，現今也被使用在分析雷達訊號，以及訊號處理等問題。
- 自相關倒頻譜(autocepstrum)被定義為倒頻譜的自相關性，自相關倒頻譜有時在分析處理回傳訊號時比倒頻譜還準確。
- 倒頻譜在處理人聲訊號以及音樂訊號有非常好的效果，例如梅爾頻率倒頻譜(Mel-Frequency Cepstrum)，用來做聲音的辨認，偵測音高等。近年來梅耳倒頻譜也被應用在音樂資訊的回覆。
- 倒頻譜在聲學中可以將聲帶震動的影響去除。
- 倒頻譜用在處理多路徑問題時(如聲波的迴音、電磁波的折、反射等)，如果將其他路徑干擾視為雜訊，為了消除雜訊，利用倒頻譜，不需測量每條多路徑的延遲時間，可以利用傳送多次信號，觀察其他路徑在倒頻譜上的效果，並且加以濾除。
- 語音大致上是由音高、聲帶脈衝、聲門波形所組成，我們可以利用倒頻譜將這三種元素在倒頻域上分開，以利於做語音訊號的分析。
- 倒頻譜的微分適用於影像處理上的圖形辨認(pattern recognition)。
- 倒頻譜與同型聲音理論(homomorphic sound theory)有關。

## 倒頻譜觀念

頻譜圖上的獨立變數是頻率，而倒頻譜圖上的獨立變數為倒頻率(quefrency)，倒頻率是一種時間的度量單位。舉個例子，聲音訊號取樣速率等於44100赫茲，在倒頻譜上有個很大的值在倒頻率等於100，代表實際上在44100/100=441赫茲有很大的值，這值出現在倒頻譜上因為頻譜上週期性出現，而頻譜上出現的週期與倒頻譜很大的值出現的位置有關。

## 倒濾波器

濾波器(filter)常使用在頻譜上，用來保存或刪除我們所要或不要的資訊，經過上面的許多討論，不難猜到，倒濾波器(lifter)就是在倒頻譜上所使用的濾波器。低通的倒濾波器跟低通濾波器有點類似，它可以藉由在倒頻譜上乘以一個window係數，使倒頻譜上的高倒頻率被壓抑，如此依來，當信號轉回時域空間時會變成一個較平滑的信號。

## 計算倒頻譜的方法

### 直接計算IDTFT(反離散時間傅立葉變換)

$\widehat {x}\left[ n\right] =\int _{-\frac {1} {2}}^{\frac {1} {2}}\widehat {X}\left( F\right) e^{j {2 \pi }F}dF$ 問題: $\widehat {X}\left( F\right)$ 可能會無限大, 且對於arg(xn)有無限多個解

### 利用Z轉換的零點與極點

先對信號做Z轉換, 並整理一下係數, 讓他變成下面的形式$X\left( Z \right)=\cfrac{A{Z^r}\prod_{k=1}^{m_i}(1-{a_k}{Z^{-1}})\prod_{k=1}^{m_0}(1-{b_k}Z)} {\prod_{k=1}^{P_i}(1-{c_k}{Z^{-1}})\prod_{k=1}^{P_0}(1-{d_k}Z)}$ 其中$\left| a_{k}\right| , \left| b_{k}\right| , \left| c_{k}\right| , \left| d_{k}\right| \leq 1$

分子:

第一項A是係數第二項$Z^r$是延遲第三項是位於單位圓內的零點第四項是位於單位圓外的零點

分母:

第一項是位於單位圓內的極點第二項是位於單位圓外的極點

對$X\left( Z \right)$取log變成$\widehat {X}\left( Z\right)$ $\widehat {X}\left( Z\right)=log X\left( Z \right)=\log A + r \log Z + \sum_{k=1}^{m_i} \log (1-{a_k}{Z^{-1}}) + \sum_{k=1}^{m_0} \log (1-{b_k}Z) - \sum_{k=1}^{P_i} \log (1-{c_k}{Z^{-1}}) - \sum_{k=1}^{P_0} \log (1-{d_k}Z)$ 假設r=0, 因為這只是延遲, 並不會破壞波形根據Z轉換所得到的系數, 我們可以利用泰勒展開得到Z的反轉換$\widehat {x}\left[n\right]=\begin{cases} \log A & \mbox{if }n=0 \\ - \sum_{k=1}^{m_i} \cfrac{{a_k}^n}{n} + \sum_{k=1}^{P_i} \cfrac{{c_k}^n}{n} & \mbox{if }n>0 \\ \sum_{k=1}^{m_0} \cfrac{{b_k}^{-n}}{n} - \sum_{k=1}^{P_0} \cfrac{{d_k}^{-n}}{n} & \mbox{if }n<0 \end{cases}$

注意事項1.$\widehat {x}\left[ n\right]$總是IIR(無限脈衝響應)

2.對於FIR(有限脈衝響應)的情況, $c_k=0, d_k=0$

### 利用Z轉換與微分

$Z \cdot \widehat {X}'\left( Z\right)=Z \cdot \cfrac{{X}'\left( Z\right)}{{X}\left( Z\right)}$ $Z {X}'\left( Z\right) = Z \widehat {X}'\left( Z\right) \cdot {X}\left( Z\right)$ 對其做Z的反轉換$nx[n]= \sum_{k=- \infty }^{\infty } k \widehat {x}\left[ k\right] x[n-k]$ 故$x[n]= \sum_{k=- \infty }^{\infty } \frac{k}{n} \widehat {x}\left[ k\right] x[n-k] \quad for \ n \neq 0$

分別對於xn的四種不同的狀況做延伸1.對於xn是因果(causal)和最小相位(minimum phase) i.e. $x[n]=\widehat {x}\left[ n\right]=0, n<0$ 對於$x[n]= \sum_{k=- \infty }^{\infty } \frac{k}{n} \widehat {x}\left[ k\right] x[n-k] \quad for \ n \neq 0$ 可得出$x[n]= \sum_{k=0}^{\infty } \frac{k}{n} \widehat {x}\left[ k\right] x[n-k] \quad for \ n>0$ 故$x[n]= \widehat {x}\left[ n\right]x[0] + \sum_{k=0}^{n-1} \frac{k}{n} \widehat {x}\left[ k\right] x[n-k]$ 2.對於xn是最小相位(minimum phase)

$\widehat {x}\left[ n\right]=\begin{cases} 0 & \mbox{if }n<0 \\ \cfrac{x[n]}{x[0]} - \sum_{k=0}^{n-1} \cfrac{k}{n} \widehat {x}\left[ k\right] \cfrac{x[n-k]}{x[0]} & \mbox{if }n>0 \\ \log A & \mbox{if }n=0 \end{cases}$ 3.對於xn是反因果(anti-causal)且最大相位(maximum phase) i.e. $x[n]=\widehat {x}\left[ n\right]=0, n>0$ $\begin{align} x[n] & = \sum_{k=n}^{0} \cfrac{k}{n}\widehat {x}\left[ k\right] x[n-k] \quad for \ n<0 \\ & = \widehat {x}\left[ n\right] x[0] + \sum_{k=n+1}^{0} \cfrac{k}{n} \widehat {x}\left[ k\right] x[n-k] \\ \end{align}$ 4.對於xn是最大相位(maximum phase)

$\widehat {x}\left[ n\right]= \begin{cases} 0 & \mbox{if }n>0 \\ \cfrac{x[n]}{x[0]} - \sum_{k=n+1}^{0} \cfrac{k}{n} \widehat {x}\left[ k\right] \cfrac{x[n-k]}{x[0]} & \mbox{if }n<0 \\ \log A & \mbox{if }n=0 \end{cases}$

## 特性

- 複數倒頻譜至少以$\frac{1}{n}$的速度衰退$|\widehat {x}\left[ n\right]|=c |\frac{{\alpha}^n}{n}| \quad - \infty<n<\infty$ 其中 $\alpha =max(a_k,b_k,c_k,d_k)$ 2. 如果X(Z)沒有在單位圓以外的零點和極點, 則$\widehat {x}\left[ n\right]=0 \quad for \ all \ n<0$ 因為$b_k,d_k=0$ 3. 如果X(Z)沒有在單位圓以內的零點和極點, 則$\widehat {x}\left[ n\right]=0 \quad for \ all \ n>0$ 因為$a_k,c_k=0$ 4. 如果xn是有限長度, 則$\widehat {x}\left[ n\right]$是無限長度

## 同態解卷積的應用(Application of Homomorphic Deconvolution)

同態解卷積有非常多應用面，尤其是在聲學工程和語音分析方面的實用性

(1) 回聲的均衡化

$$y[n]=x[n]+{\alpha} x[n-N_p]$$

其中$y[n]$是接收到的訊號，$x[n]$是原始訊號，$N_p$是延遲的樣本數，${\alpha}$是衰減係數

令$p[n]$是脈衝響應，描述原始訊號與回聲訊號之間的關係

$p[n]={\delta}[n]+{\alpha}{\delta[n-N_p]}$，其中${\delta}$是單位脈衝函數

$$y[n]=x[n]+{\alpha}x[n-N_p]=x[n]*p[n]$$

系統函數 $P(Z) = 1+{\alpha}Z^{-N_p}$

透過對系統函數進行對數轉換，簡化回聲成分的分析和處理

$${\hat{P}}(Z) = log(1+{\alpha}Z^{-N_p})={\sum_{k=1}^{\infty}}(-1)^{k+1}{\frac{\alpha^{k}}{k}}Z^{-kN_p}$$

將${\hat{P}}(Z)$轉換到時域

$${\hat{p}}[n]={\sum_{k=1}^{\infty}}(-1)^{k+1}{\frac{\alpha^{k}}{k}}{\delta}(n-k{\cdot}N_P)$$

(2) 聲學工程

$y[n]=x[n]*h[n]$，其中$y[n]$是合成音樂，$x[n]$是原始音樂，$h[n]$是脈衝響應(例如建築物空間的影響)

(3) 語音分析

透過在complex cepstrum domain中進行濾波，分離這些成分，使得對語音訊號的理解和處理更為精確。

$s[n]=g[n]*v[n]*p[n]$，其中$s[n]$是語音波，$g[n]$是全局波形，$v[n]$是聲道脈衝，$p[n]$是音高，*是卷積

(4) 地震信號分析

(5) 任意波傳播的多路徑分析

## 梅爾頻率倒頻譜

梅爾頻率倒頻譜是倒頻譜的一種應用，梅爾頻率倒頻譜常應用在聲音訊號處理，對於聲音訊號處理比倒頻譜更接近人耳對聲音的分析特性，而梅爾頻率倒頻譜與倒頻譜的差別在於:

- 梅爾頻率倒頻譜的頻帶分析是根據人耳聽覺特性所設計，人耳對於頻率的分辨能力，是由頻率的"比值"決定，也就是說，人耳對200赫茲和300赫茲之間的差別與2000赫茲和3000赫茲之間的差別是相同的。
- 梅爾頻率倒頻譜是針對訊號的能量取對數，而倒頻譜是針對訊號原始在頻譜上的值取對數。
- 梅爾頻率倒頻譜是使用離散餘弦轉換，倒頻譜是用離散傅立葉變換。
- 梅爾頻率倒頻譜係數足夠描述語音的特徵。

梅爾頻率倒頻譜係數(MFCCs)的推導步驟：

- 將信號做傅立葉變換
- 頻譜上的值取絕對值再平方成為能量，在乘上頻譜上對應的梅爾頻率倒頻譜三角重疊窗(window)的係數。
- 對每個梅爾頻率取對數。
- 作離散餘弦轉換。
- 求得梅爾頻率倒頻譜係數。

## 梅爾頻率倒頻譜應用

- 梅爾頻率倒頻譜係數常利用在辨認語音技術上，例如辨認電話中說話的人的身份。
- 利用每種樂風、或樂器在梅爾頻域上有不同特性來分析音樂的種類與類型，並且可以加以分類。

## 雜訊敏感性

梅爾頻率倒頻譜係數很容易被外來的雜訊所破壞，因此有些研究結果指出，在求梅爾頻率倒頻譜係數時，在作離散餘弦轉換前，提升適當的能量(大約2或3倍)，以減少雜訊在低能量成份的影響。

## 梅爾頻率倒頻譜優點

相較於原始的倒頻譜

- 有絕對值平方

## 卷積

倒頻譜領域上的一項重要的特性為二信號卷積之產生，其產生之程序為二倒頻譜值(cepstra)之相加：

$$x_1 * x_2 \rightarrow x'_1 + x'_2$$

## 微分倒頻譜(differential cepstrum)

### 定義

```
<math>\widehat {x}_d(n) = Z^{-1}\frac{X'(Z)}{X(Z)} </math> 或 <math>\widehat {x}_d[n] = \int_{-\frac{1}{2}}^{\frac{1}{2}}\frac{X'(F)}{X(F)} e^{i2 \pi F}dF</math><br>
```

$(\frac{d}{dZ}\widehat {X}_d(Z) = \frac{d}{dZ}logX(Z) = \frac{X'(Z)}{X(Z)})$ If $x(n) = x_1(n)*x_2(n)$ $X(Z) = X_1(Z)X_2(Z)$ $X'(Z) = X_1'(Z)X_2(Z)+X_1(Z)X_2'(Z)$ $\frac{X'(Z)}{X(Z)} = \frac{X_1'(Z)}{X_1(Z)})+\frac{X_2'(Z)}{X_2(Z)})$ $\therefore \widehat {x}_d(n) = \widehat {x}_{1d}(n)+\widehat {x}_{2d}(n)$ 優點:

(a)沒有模糊的相位(b)可以處理延遲問題

### 特性

(1)微分倒頻譜在shift和scaling時，結果不改變。

ex: $y[n] = AX[n-r]$ $\Rightarrow \widehat {y}_d(n) = \begin{cases} \widehat {x}_d(n),n \neq 1 \\ <pre> -r + \widehat {x}_d(1),n = 1 \end{cases}$

(proof):

$Y(z) = Az^{-r}X(z)$ $Y(z) = Az^{-r}X'(z)-rAz^{-r-1}X(z)$ $\frac{Y'(z)}{Y(z)} = \frac{X'(z)}{X(z)} - rz^{-1}$ (2)複數倒頻譜$\widehat {C}[n]$ 與 微分倒頻譜 $\widehat {x}_d[n]$和原訊號xn有關$\widehat {C}(n) = \frac{-\widehat {x}_d(n+1)}{n}, n \neq 0$ diff cepstrum $-(n-1)x(n-1) = \sum_{k = -\infty}^{\infty} \widehat {x}_d(n)x(n-k)$ recursive formula $\Rightarrow$複數頻譜做得到的事情, 微分倒頻譜也做得到(3)如果xn是最小相位(minimum phase),則$\widehat {x}_d[n]=0$,當$n \leq 0$ minimum phase 意思為 no poles 或 zeros 在單位圓外(4)如果xn是最大相位(maximum phase),則$\widehat {x}_d[n]=0$,當$n \geq 2$ maximum phase 意思為 no poles 或 zeros 在單位圓內(5)如果x(n)為有限區間,則$\widehat {x}_d[n]$為無限區間

- 複數倒頻譜的衰減率反比於n
- 微分倒頻譜的衰減率下降

$\therefore \widehat {x}_d(n+1) = n\widehat {c}(n) \varpropto n \frac{1}{n} = 1$

## 範例

- $x[0] = 1,x[1] = 0.5$ ,otherwise 0 , Find its cepstrum.

$x[n] \quad \stackrel{Z transform}{\longrightarrow} \quad X(Z)\quad \stackrel{log}{\longrightarrow} \quad \widehat {X}(Z) \quad \stackrel{Z^{-1}}{\longrightarrow}\quad \widehat {x}[n]$

step 1. Z transform: $X(Z) = 1+0.5Z^{-1},pole = -0.5$ step 2. log: $\widehat {X}(Z) = \sum_{k=1}^{m_i}log(1-(-0.5Z^{-1}))$ step 3. reverse Z transform: $\widehat {x}[n] = \sum_{n=0}^N -\frac{-0.5^n}{n},n>0$

- $\widehat x[0]=1$ ,otherwise 0 , Find its inverse cepstrum.

$\widehat x[n] \quad \stackrel{Z transform}{\longrightarrow} \quad \widehat X(Z)\quad \stackrel{exp}{\longrightarrow} \quad {X}(Z) \quad \stackrel{Z^{-1}}{\longrightarrow}\quad {x}[n]$

step 1. Z transform: $\widehat X[n]=Z^{-1}$ step 2. exp: $e(\frac{1}{z}) = \sum_{n=0}^\infty \frac{\frac{1}{z^n}}{n!}$ step 3. reverse Z transform: $x[n] = \begin{cases} \frac{1}{n!},n \geq 0 \\ 0, otherwise\\\end{cases}$

- Suppose that an IIR filter is $H(Z) = \frac{2z^3-4z^2-z+2}{2z^2-2z+1}$

$x[n] \quad \stackrel{Z transform}{\longrightarrow} \quad X(Z)\quad \stackrel{log}{\longrightarrow} \quad \widehat {X}(Z) \quad \stackrel{Z^{-1}}{\longrightarrow}\quad \widehat {x}[n]$

step 1. Z transform: $H(Z) = \frac{(-2) (z) (z-\frac{\sqrt{2}}{2}z^{-1}) (z+\frac{\sqrt{2}}{2}z^{-1}) (1-\frac{1}{2}z) }{(1-\frac{1+j}{2}z^{-1}) (1-\frac{1-j}{2}z^{-1})}$ step 2. log: $\widehat {H}(Z) = log(-2)+3log(z) + log(1\pm\frac{\sqrt{2}}{2}z^{-1})+log(1-\frac{1}{2}z)-log(1-\frac{1\pm j}{2}z^{-1})$ step 3. reverse Z transform: $\widehat {h}[n] = \begin{cases} log(-2),n= 0 \\ \displaystyle{-\frac{ {(\frac{\sqrt{2}}{2})}^n + {(\frac{-\sqrt{2}}{2})}^n }{n} + \frac{ {(\frac{1+j}{2})}^n + {(\frac{1-j}{2})}^n }{n},n>0 }\\ \displaystyle{\frac{{(\frac{1}{2})}^{-n}}{n}},n<0\\\end{cases}$

## 參考文獻

- B. P. Bogert, M. J. R. Healy, and J. W. Tukey: "The quefrency analysis of time series for echoes: cepstrum, pseudo-autocovariance, cross-cepstrum, and saphe cracking". Proceedings of the Symposium on Time Series Analysis (M. Rosenblatt, Ed) Chapter 15, 209-243. New York: Wiley, 1963.
- D. G. Childers, D. P. Skinner, R. C. Kemerait, " The Cepstrum: A Guide to Processing," Proceedings of the IEEE, Vol. 65, No. 10, October 1977, pp. 1428-1443.
- Jian-Jiun Ding, Advanced Digital Signal Processing class note,the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2008
- Jian-Jiun Ding, Advanced Digital Signal Processing class note,the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2024