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

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

* 字義：倒頻譜（信號）是信號頻譜取對數的傅立葉變換後的新頻譜（信號），有時候會稱頻譜的倒頻譜。
* 數學上：信號的倒頻譜 = IFT ( log ( | FT (信号) | ) + j2πm )（m為實數）
* 演算法：信号 -> 傅立叶变换 -> 取绝对值 -> 取对数 -> 相位展开 -> 逆傅立叶变换 -> 倒频谱

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

複數倒頻譜與實數倒頻譜
-----------

### 複數倒頻譜

{\displaystyle {\widehat {x}}\left[n\right]=\int \_{-{\frac {1}{2}}}^{\frac {1}{2}}{\widehat {X}}\left(F\right)e^{j{2\pi }F}dF}  

其中{\displaystyle {\widehat {X}}\left[F\right]=\log |X(F)|+j\arg[X(F)]}  

可能遭遇的問題  

1. {\displaystyle \log 0=-\infty }  

2. {\displaystyle \arg[X[n]]}有無限多的解  

當輸入是實數時,因為{\displaystyle \log |X(F)|}偶對稱，{\displaystyle \arg[X(F)]}奇對稱,所以複數倒頻譜的值為實數  

### 實數倒頻譜

{\displaystyle C\left[n\right]=\int \_{-{\frac {1}{2}}}^{\frac {1}{2}}\log |X(F)|e^{j{2\pi }Fn}dF}  

可能遭遇的問題  

1. {\displaystyle \log 0=-\infty }

應用
--

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

倒頻譜觀念
-----

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

倒濾波器
----

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

計算倒頻譜的方法
--------

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

{\displaystyle {\widehat {x}}\left[n\right]=\int \_{-{\frac {1}{2}}}^{\frac {1}{2}}{\widehat {X}}\left(F\right)e^{j{2\pi }F}dF}  

問題: {\displaystyle {\widehat {X}}\left(F\right)} 可能會無限大, 且對於arg(x[n])有無限多個解  

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

先對信號做Z轉換, 並整理一下係數, 讓他變成下面的形式  

{\displaystyle 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)}}}  

其中{\displaystyle \left|a\_{k}\right|,\left|b\_{k}\right|,\left|c\_{k}\right|,\left|d\_{k}\right|\leq 1}  

  

分子:   

第一項A是係數  

第二項{\displaystyle Z^{r}}是延遲  

第三項是位於單位圓內的零點  

第四項是位於單位圓外的零點  

  

分母:  

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

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

  

對{\displaystyle X\left(Z\right)}取log變成{\displaystyle {\widehat {X}}\left(Z\right)}  

{\displaystyle {\widehat {X}}\left(Z\right)=logX\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的反轉換  

{\displaystyle {\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.{\displaystyle {\widehat {x}}\left[n\right]}總是IIR(無限脈衝響應)  

2.對於FIR(有限脈衝響應)的情況, {\displaystyle c\_{k}=0,d\_{k}=0}

### 利用Z轉換與微分

{\displaystyle Z\cdot {\widehat {X}}'\left(Z\right)=Z\cdot {\cfrac {{X}'\left(Z\right)}{{X}\left(Z\right)}}}  

{\displaystyle Z{X}'\left(Z\right)=Z{\widehat {X}}'\left(Z\right)\cdot {X}\left(Z\right)}  

對其做Z的反轉換  

{\displaystyle nx[n]=\sum \_{k=-\infty }^{\infty }k{\widehat {x}}\left[k\right]x[n-k]}  

故  

{\displaystyle x[n]=\sum \_{k=-\infty }^{\infty }{\frac {k}{n}}{\widehat {x}}\left[k\right]x[n-k]\quad for\ n\neq 0}  

  

分別對於x[n]的四種不同的狀況做延伸  

1.對於x[n]是因果(causal)和最小相位(minimum phase) i.e. {\displaystyle x[n]={\widehat {x}}\left[n\right]=0,n<0}  

對於{\displaystyle x[n]=\sum \_{k=-\infty }^{\infty }{\frac {k}{n}}{\widehat {x}}\left[k\right]x[n-k]\quad for\ n\neq 0}  

可得出  

{\displaystyle x[n]=\sum \_{k=0}^{\infty }{\frac {k}{n}}{\widehat {x}}\left[k\right]x[n-k]\quad for\ n>0}  

故  

{\displaystyle 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.對於x[n]是最小相位(minimum phase)  

{\displaystyle {\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.對於x[n]是反因果(anti-causal)且最大相位(maximum phase) i.e. {\displaystyle x[n]={\widehat {x}}\left[n\right]=0,n>0}  

{\displaystyle {\begin{aligned}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{aligned}}}  

4.對於x[n]是最大相位(maximum phase)  

{\displaystyle {\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}}}

特性
--

1. 複數倒頻譜至少以{\displaystyle {\frac {1}{n}}}的速度衰退  

{\displaystyle |{\widehat {x}}\left[n\right]|=c|{\frac {{\alpha }^{n}}{n}}|\quad -\infty <n<\infty }  

其中 {\displaystyle \alpha =max(a\_{k},b\_{k},c\_{k},d\_{k})}  

2. 如果X(Z)沒有在單位圓以外的零點和極點, 則  

{\displaystyle {\widehat {x}}\left[n\right]=0\quad for\ all\ n<0}  

因為{\displaystyle b\_{k},d\_{k}=0}  

3. 如果X(Z)沒有在單位圓以內的零點和極點, 則  

{\displaystyle {\widehat {x}}\left[n\right]=0\quad for\ all\ n>0}  

因為{\displaystyle a\_{k},c\_{k}=0}  

4. 如果x[n]是有限長度, 則{\displaystyle {\widehat {x}}\left[n\right]}是無限長度

梅爾頻率倒頻譜
-------

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

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

  

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

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

梅爾頻率倒頻譜應用
---------

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

雜訊敏感性
-----

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

梅爾頻率倒頻譜優點
---------

相較於原始的倒頻譜

* 有絕對值平方

卷積
--

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

{\displaystyle x\_{1}\*x\_{2}\rightarrow x'\_{1}+x'\_{2}}

微分倒頻譜(differential cepstrum)
----------------------------

### 定義

```
{\displaystyle {\widehat {x}}\_{d}(n)=Z^{-1}{\frac {X'(Z)}{X(Z)}}} 或 {\displaystyle {\widehat {x}}\_{d}[n]=\int \_{-{\frac {1}{2}}}^{\frac {1}{2}}{\frac {X'(F)}{X(F)}}e^{i2\pi F}dF}  

```

{\displaystyle ({\frac {d}{dZ}}{\widehat {X}}\_{d}(Z)={\frac {d}{dZ}}logX(Z)={\frac {X'(Z)}{X(Z)}})}  

If {\displaystyle x(n)=x\_{1}(n)\*x\_{2}(n)}  

{\displaystyle X(Z)=X\_{1}(Z)X\_{2}(Z)}  

{\displaystyle X'(Z)=X\_{1}'(Z)X\_{2}(Z)+X\_{1}(Z)X\_{2}'(Z)}  

{\displaystyle {\frac {X'(Z)}{X(Z)}}={\frac {X\_{1}'(Z)}{X\_{1}(Z)}})+{\frac {X\_{2}'(Z)}{X\_{2}(Z)}})}  

{\displaystyle \therefore {\widehat {x}}\_{d}(n)={\widehat {x}}\_{1d}(n)+{\widehat {x}}\_{2d}(n)}  

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

### 特性

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

ex: {\displaystyle y[n]=AX[n-r]}  

{\displaystyle \Rightarrow {\widehat {y}}\_{d}(n)={\begin{cases}{\widehat {x}}\_{d}(n),n\neq 1\\-r+{\widehat {x}}\_{d}(1),n=1\end{cases}}}  

(proof):  

{\displaystyle Y(z)=Az^{-r}X(z)}  

{\displaystyle Y(z)=Az^{-r}X'(z)-rAz^{-r-1}X(z)}  

{\displaystyle {\frac {Y'(z)}{Y(z)}}={\frac {X'(z)}{X(z)}}-rz^{-1}}  

(2)複數倒頻譜{\displaystyle {\widehat {C}}[n]} 與 微分倒頻譜 {\displaystyle {\widehat {x}}\_{d}[n]}和原訊號x[n]有關  

{\displaystyle {\widehat {C}}(n)={\frac {-{\widehat {x}}\_{d}(n+1)}{n}},n\neq 0} diff cepstrum  

{\displaystyle -(n-1)x(n-1)=\sum \_{k=-\infty }^{\infty }{\widehat {x}}\_{d}(n)x(n-k)} recursive formula  

\Rightarrow 複數頻譜做得到的事情, 微分倒頻譜也做得到  

(3)如果x[n]是最小相位(minimum phase),則{\displaystyle {\widehat {x}}\_{d}[n]=0},當{\displaystyle n\leq 0}  

minimum phase 意思為 no poles 或 zeros 在單位圓外  

(4)如果x[n]是最大相位(maximum phase),則{\displaystyle {\widehat {x}}\_{d}[n]=0},當n\geq 2  

maximum phase 意思為 no poles 或 zeros 在單位圓內  

(5)如果x(n)為有限區間,則{\displaystyle {\widehat {x}}\_{d}[n]}為無限區間  

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

{\displaystyle \therefore {\widehat {x}}\_{d}(n+1)=n{\widehat {c}}(n)\varpropto n{\frac {1}{n}}=1}

範例
--

* {\displaystyle x[0]=1,x[1]=0.5} ,otherwise 0 , Find its cepstrum.

{\displaystyle x[n]\quad {\stackrel {Ztransform}{\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: {\displaystyle X(Z)=1+0.5Z^{-1},pole=-0.5}  

step 2. log: {\displaystyle {\widehat {X}}(Z)=\sum \_{k=1}^{m\_{i}}log(1-(-0.5Z^{-1}))}  

step 3. reverse Z transform: {\displaystyle {\widehat {x}}[n]=\sum \_{n=0}^{N}-{\frac {-0.5^{n}}{n}},n>0}

* {\displaystyle {\widehat {x}}[0]=1} ,otherwise 0 , Find its inverse cepstrum.

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

  

step 1. Z transform: {\displaystyle {\widehat {X}}[n]=Z^{-1}}  

step 2. exp: {\displaystyle e({\frac {1}{z}})=\sum \_{n=0}^{\infty }{\frac {\frac {1}{z^{n}}}{n!}}}  

step 3. reverse Z transform: {\displaystyle x[n]={\begin{cases}{\frac {1}{n!}},n\geq 0\\0,otherwise\\\end{cases}}}  

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

{\displaystyle x[n]\quad {\stackrel {Ztransform}{\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: {\displaystyle 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: {\displaystyle {\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: {\displaystyle {\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}}}  

  

{\displaystyle }

參考文獻
----

1. 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.
2. 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.
3. Jian-Jiun Ding, Advanced Digital Signal Processing class note,the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2008