倒頻譜
当前條目的内容正在依照其他语言维基百科的内容进行翻译。(2018年6月16日) 如果您熟知條目内容并擅长翻译,欢迎协助改善或校对此條目,长期闲置的非中文内容可能会被移除。 |
倒頻譜(cepstrum),顧名思義,就是將頻譜(spectrum)的英文前四個字母反過來寫。倒頻譜是為了某些時候,為了計算方便,將原來信號的頻譜先轉成類似分貝的單位,再作逆傅里叶变换,把它視為一種新的訊號做處理。倒頻譜有複數倒頻譜,及實數倒頻譜。
倒頻譜被定義在1963的論文(Bogert等)。定義如下:
- 字義:倒頻譜(信號)是信號頻譜取對數的傅立葉變換後的新頻譜(信號),有時候會稱頻譜的倒頻譜。
- 數學上:信號的倒頻譜 = IFT ( log ( | FT (信号) | ) + j2πm )(m為實數)
- 演算法:信号 -> 傅立叶变换 -> 取绝对值 -> 取对数 -> 相位展开 -> 逆傅立叶变换 -> 倒频谱
複數倒頻譜擁有頻譜大小跟相位的資訊,實數倒頻譜只有頻譜大小的資訊,各有各的不同應用。
目录
1 複數倒頻譜與實數倒頻譜
1.1 複數倒頻譜
1.2 實數倒頻譜
2 應用
3 倒頻譜觀念
4 倒濾波器
5 計算倒頻譜的方法
5.1 直接計算IDTFT(反離散時間傅立葉變換)
5.2 利用Z轉換的零點與極點
5.3 利用Z轉換與微分
6 特性
7 梅爾頻率倒頻譜
8 梅爾頻率倒頻譜應用
9 雜訊敏感性
10 梅爾頻率倒頻譜優點
11 卷積
12 微分倒頻譜(differential cepstrum)
12.1 定義
12.2 特性
13 範例
14 參考文獻
複數倒頻譜與實數倒頻譜
複數倒頻譜
x^[n]=∫−1212X^(F)ej2πFdFdisplaystyle widehat xleft[nright]=int _-frac 12^frac 12widehat Xleft(Fright)e^j2pi FdF
其中X^[F]=log|X(F)|+jarg[X(F)]X(F)
可能遭遇的問題
1. log0=−∞displaystyle log 0=-infty
2. arg[X[n]]displaystyle arg[X[n]]有無限多的解
當輸入是實數時,因為log|X(F)|X(F)偶對稱,arg[X(F)]displaystyle arg[X(F)]奇對稱,所以複數倒頻譜的值為實數
實數倒頻譜
C[n]=∫−1212log|X(F)|ej2πFndFe^j2pi FndF
可能遭遇的問題
1. log0=−∞displaystyle log 0=-infty
應用
- 倒頻譜可以被視為在不同頻帶上變化速率的資訊,倒頻譜一開始被發明在地震或炸彈產生的地震回音,現今也被使用在分析雷達訊號,以及訊號處理等問題。
- 自相關倒頻譜(autocepstrum)被定義為倒頻譜的自相關性,自相關倒頻譜有時在分析處理回傳訊號時比倒頻譜還準確。
- 倒頻譜在處理人聲訊號以及音樂訊號有非常好的效果,例如梅爾頻率倒頻譜(Mel-Frequency Cepstrum),用來做聲音的辨認,偵測音高等。近年來梅耳倒頻譜也被應用在音樂資訊的回覆。
- 倒頻譜在聲學中可以將聲帶震動的影響去除。
- 倒頻譜用在處理多路徑問題時(如聲波的迴音、電磁波的折、反射等),如果將其他路徑干擾視為雜訊,為了消除雜訊,利用倒頻譜,不需測量每條多路徑的延遲時間,可以利用傳送多次信號,觀察其他路徑在倒頻譜上的效果,並且加以濾除。
- 語音大致上是由音高、聲帶脈衝、聲門波形所組成,我們可以利用倒頻譜將這三種元素在倒頻域上分開,以利於做語音訊號的分析。
- 倒頻譜的微分適用於影像處理上的圖形辨認(pattern recognition)。
- 倒頻譜與同型聲音理論(hormomorphic sound theory)有關。
倒頻譜觀念
頻譜圖上的獨立變數是頻率,而倒頻譜圖上的獨立變數為倒頻率(quefrency),倒頻率是一種時間的度量單位。舉個例子,聲音訊號取樣速率等於44100赫茲,在倒頻譜上有個很大的值在倒頻率等於100,代表實際上在44100/100=441赫茲有很大的值,這值出現在倒頻譜上因為頻譜上週期性出現,而頻譜上出現的週期與倒頻譜很大的值出現的位置有關。
倒濾波器
濾波器(filter)常使用在頻譜上,用來保存或刪除我們所要或不要的資訊,經過上面的許多討論,不難猜到,倒濾波器(lifter)就是在倒頻譜上所使用的濾波器。低通的倒濾波器跟低通濾波器有點類似,它可以藉由在倒頻譜上乘以一個window係數,使倒頻譜上的高倒頻率被壓抑,如此依來,當信號轉回時域空間時會變成一個較平滑的信號。
計算倒頻譜的方法
直接計算IDTFT(反離散時間傅立葉變換)
x^[n]=∫−1212X^(F)ej2πFdFdisplaystyle widehat xleft[nright]=int _-frac 12^frac 12widehat Xleft(Fright)e^j2pi FdF
問題: X^(F)displaystyle widehat Xleft(Fright) 可能會無限大, 且對於arg(x[n])有無限多個解
利用Z轉換的零點與極點
先對信號做Z轉換, 並整理一下係數, 讓他變成下面的形式
X(Z)=AZr∏k=1mi(1−akZ−1)∏k=1m0(1−bkZ)∏k=1Pi(1−ckZ−1)∏k=1P0(1−dkZ)displaystyle Xleft(Zright)=cfrac AZ^rprod _k=1^m_i(1-a_kZ^-1)prod _k=1^m_0(1-b_kZ)prod _k=1^P_i(1-c_kZ^-1)prod _k=1^P_0(1-d_kZ)
其中|ak|,|bk|,|ck|,|dk|≤1c_kright
分子:
第一項A是係數
第二項Zrdisplaystyle Z^r是延遲
第三項是位於單位圓內的零點
第四項是位於單位圓外的零點
分母:
第一項是位於單位圓內的極點
第二項是位於單位圓外的極點
對X(Z)displaystyle Xleft(Zright)取log變成X^(Z)displaystyle widehat Xleft(Zright)
X^(Z)=logX(Z)=logA+rlogZ+∑k=1milog(1−akZ−1)+∑k=1m0log(1−bkZ)−∑k=1Pilog(1−ckZ−1)−∑k=1P0log(1−dkZ)displaystyle widehat Xleft(Zright)=logXleft(Zright)=log A+rlog Z+sum _k=1^m_ilog(1-a_kZ^-1)+sum _k=1^m_0log(1-b_kZ)-sum _k=1^P_ilog(1-c_kZ^-1)-sum _k=1^P_0log(1-d_kZ)
假設r=0, 因為這只是延遲, 並不會破壞波形
根據Z轉換所得到的系數, 我們可以利用泰勒展開得到Z的反轉換
x^[n]={logAif n=0−∑k=1miaknn+∑k=1Picknnif n>0∑k=1m0bk−nn−∑k=1P0dk−nnif n<0displaystyle widehat xleft[nright]=begincaseslog A&mboxif n=0\-sum _k=1^m_icfrac a_k^nn+sum _k=1^P_icfrac c_k^nn&mboxif n>0\sum _k=1^m_0cfrac b_k^-nn-sum _k=1^P_0cfrac d_k^-nn&mboxif n<0endcases
注意事項
1.x^[n]displaystyle widehat xleft[nright]總是IIR(無限脈衝響應)
2.對於FIR(有限脈衝響應)的情況, ck=0,dk=0displaystyle c_k=0,d_k=0
利用Z轉換與微分
Z⋅X^′(Z)=Z⋅X′(Z)X(Z)displaystyle Zcdot widehat X'left(Zright)=Zcdot cfrac X'left(Zright)Xleft(Zright)
ZX′(Z)=ZX^′(Z)⋅X(Z)displaystyle ZX'left(Zright)=Zwidehat X'left(Zright)cdot Xleft(Zright)
對其做Z的反轉換
nx[n]=∑k=−∞∞kx^[k]x[n−k]displaystyle nx[n]=sum _k=-infty ^infty kwidehat xleft[kright]x[n-k]
故
x[n]=∑k=−∞∞knx^[k]x[n−k]for n≠0displaystyle x[n]=sum _k=-infty ^infty frac knwidehat xleft[kright]x[n-k]quad for nneq 0
分別對於x[n]的四種不同的狀況做延伸
1.對於x[n]是因果(causal)和最小相位(minimum phase) i.e. x[n]=x^[n]=0,n<0displaystyle x[n]=widehat xleft[nright]=0,n<0
對於x[n]=∑k=−∞∞knx^[k]x[n−k]for n≠0displaystyle x[n]=sum _k=-infty ^infty frac knwidehat xleft[kright]x[n-k]quad for nneq 0
可得出
x[n]=∑k=0∞knx^[k]x[n−k]for n>0displaystyle x[n]=sum _k=0^infty frac knwidehat xleft[kright]x[n-k]quad for n>0
故
x[n]=x^[n]x[0]+∑k=0n−1knx^[k]x[n−k]displaystyle x[n]=widehat xleft[nright]x[0]+sum _k=0^n-1frac knwidehat xleft[kright]x[n-k]
2.對於x[n]是最小相位(minimum phase)
x^[n]={0if n<0x[n]x[0]−∑k=0n−1knx^[k]x[n−k]x[0]if n>0logAif n=0displaystyle widehat xleft[nright]=begincases0&mboxif n<0\cfrac x[n]x[0]-sum _k=0^n-1cfrac knwidehat xleft[kright]cfrac x[n-k]x[0]&mboxif n>0\log A&mboxif n=0endcases
3.對於x[n]是反因果(anti-causal)且最大相位(maximum phase) i.e. x[n]=x^[n]=0,n>0displaystyle x[n]=widehat xleft[nright]=0,n>0
x[n]=∑k=n0knx^[k]x[n−k]for n<0=x^[n]x[0]+∑k=n+10knx^[k]x[n−k]displaystyle beginalignedx[n]&=sum _k=n^0cfrac knwidehat xleft[kright]x[n-k]quad for n<0\&=widehat xleft[nright]x[0]+sum _k=n+1^0cfrac knwidehat xleft[kright]x[n-k]\endaligned
4.對於x[n]是最大相位(maximum phase)
x^[n]={0if n>0x[n]x[0]−∑k=n+10knx^[k]x[n−k]x[0]if n<0logAif n=0displaystyle widehat xleft[nright]=begincases0&mboxif n>0\cfrac x[n]x[0]-sum _k=n+1^0cfrac knwidehat xleft[kright]cfrac x[n-k]x[0]&mboxif n<0\log A&mboxif n=0endcases
特性
1. 複數倒頻譜至少以1ndisplaystyle frac 1n的速度衰退
|x^[n]|=c|αnn|−∞<n<∞=c
其中 α=max(ak,bk,ck,dk)displaystyle alpha =max(a_k,b_k,c_k,d_k)
2. 如果X(Z)沒有在單位圓以外的零點和極點, 則
x^[n]=0for all n<0displaystyle widehat xleft[nright]=0quad for all n<0
因為bk,dk=0displaystyle b_k,d_k=0
3. 如果X(Z)沒有在單位圓以內的零點和極點, 則
x^[n]=0for all n>0displaystyle widehat xleft[nright]=0quad for all n>0
因為ak,ck=0displaystyle a_k,c_k=0
4. 如果x[n]是有限長度, 則x^[n]displaystyle widehat xleft[nright]是無限長度
梅爾頻率倒頻譜
梅爾頻率倒頻譜是倒頻譜的一種應用,梅爾頻率倒頻譜常應用在聲音訊號處理,對於聲音訊號處理比倒頻譜更接近人耳對聲音的分析特性,而梅爾頻率倒頻譜與倒頻譜的差別在於:
- 梅爾頻率倒頻譜的頻帶分析是根據人耳聽覺特性所設計,人耳對於頻率的分辨能力,是由頻率的"比值"決定,也就是說,人耳對200赫茲和300赫茲之間的差別與2000赫茲和3000赫茲之間的差別是相同的。
- 梅爾頻率倒頻譜是針對訊號的能量取對數,而倒頻譜是針對訊號原始在頻譜上的值取對數。
- 梅爾頻率倒頻譜是使用離散餘弦轉換,倒頻譜是用離散傅立葉變換。
- 梅爾頻率倒頻譜係數足夠描述語音的特徵。
梅爾頻率倒頻譜係數(MFCCs)的推導步驟:
- 將信號做傅立葉變換
- 頻譜上的值取絕對值再平方成為能量,在乘上頻譜上對應的梅爾頻率倒頻譜三角重疊窗(window)的係數。
- 對每個梅爾頻率取對數。
- 作離散餘弦轉換。
- 求得梅爾頻率倒頻譜係數。
梅爾頻率倒頻譜應用
- 梅爾頻率倒頻譜係數常利用在辨認語音技術上,例如辨認電話中說話的人的身份。
- 利用每種樂風、或樂器在梅爾頻域上有不同特性來分析音樂的種類與類型,並且可以加以分類。
雜訊敏感性
梅爾頻率倒頻譜係數很容易被外來的雜訊所破壞,因此有些研究結果指出,在求梅爾頻率倒頻譜係數時,在作離散餘弦轉換前,提升適當的能量(大約2或3倍),以減少雜訊在低能量成份的影響。
梅爾頻率倒頻譜優點
相較於原始的倒頻譜
- 有絕對值平方
卷積
倒頻譜領域上的一項重要的特性為二信號卷積之產生,其產生之程序為二倒頻譜值(cepstra)之相加:
x1∗x2→x1′+x2′displaystyle x_1*x_2rightarrow x'_1+x'_2
微分倒頻譜(differential cepstrum)
定義
x^d(n)=Z−1X′(Z)X(Z)displaystyle widehat x_d(n)=Z^-1frac X'(Z)X(Z) 或 x^d[n]=∫−1212X′(F)X(F)ei2πFdFdisplaystyle widehat x_d[n]=int _-frac 12^frac 12frac X'(F)X(F)e^i2pi FdF
(ddZX^d(Z)=ddZlogX(Z)=X′(Z)X(Z))displaystyle (frac ddZwidehat X_d(Z)=frac ddZlogX(Z)=frac X'(Z)X(Z))
If x(n)=x1(n)∗x2(n)displaystyle x(n)=x_1(n)*x_2(n)
X(Z)=X1(Z)X2(Z)displaystyle X(Z)=X_1(Z)X_2(Z)
X′(Z)=X1′(Z)X2(Z)+X1(Z)X2′(Z)displaystyle X'(Z)=X_1'(Z)X_2(Z)+X_1(Z)X_2'(Z)
X′(Z)X(Z)=X1′(Z)X1(Z))+X2′(Z)X2(Z))displaystyle frac X'(Z)X(Z)=frac X_1'(Z)X_1(Z))+frac X_2'(Z)X_2(Z))
∴x^d(n)=x^1d(n)+x^2d(n)displaystyle therefore widehat x_d(n)=widehat x_1d(n)+widehat x_2d(n)
優點:
(a)沒有模糊的相位
(b)可以處理延遲問題
特性
(1)微分倒頻譜在shift和scaling時,結果不改變。
ex: y[n]=AX[n−r]displaystyle y[n]=AX[n-r]
⇒y^d(n)={x^d(n),n≠1−r+x^d(1),n=1displaystyle Rightarrow widehat y_d(n)=begincaseswidehat x_d(n),nneq 1\-r+widehat x_d(1),n=1endcases
(proof):
Y(z)=Az−rX(z)displaystyle Y(z)=Az^-rX(z)
Y(z)=Az−rX′(z)−rAz−r−1X(z)displaystyle Y(z)=Az^-rX'(z)-rAz^-r-1X(z)
Y′(z)Y(z)=X′(z)X(z)−rz−1displaystyle frac Y'(z)Y(z)=frac X'(z)X(z)-rz^-1
(2)複數倒頻譜C^[n]displaystyle widehat C[n] 與 微分倒頻譜 x^d[n]displaystyle widehat x_d[n]和原訊號x[n]有關
C^(n)=−x^d(n+1)n,n≠0displaystyle widehat C(n)=frac -widehat x_d(n+1)n,nneq 0 diff cepstrum
−(n−1)x(n−1)=∑k=−∞∞x^d(n)x(n−k)displaystyle -(n-1)x(n-1)=sum _k=-infty ^infty widehat x_d(n)x(n-k) recursive formula
⇒displaystyle Rightarrow 複數頻譜做得到的事情, 微分倒頻譜也做得到
(3)如果x[n]是最小相位(minimum phase),則x^d[n]=0displaystyle widehat x_d[n]=0,當n≤0displaystyle nleq 0
minimum phase 意思為 no poles 或 zeros 在單位圓外
(4)如果x[n]是最大相位(maximum phase),則x^d[n]=0displaystyle widehat x_d[n]=0,當n≥2displaystyle ngeq 2
maximum phase 意思為 no poles 或 zeros 在單位圓內
(5)如果x(n)為有限區間,則x^d[n]displaystyle widehat x_d[n]為無限區間
- 複數倒頻譜的衰減率反比於n
- 微分倒頻譜的衰減率下降
∴x^d(n+1)=nc^(n)∝n1n=1displaystyle therefore widehat x_d(n+1)=nwidehat c(n)varpropto nfrac 1n=1
範例
x[0]=1,x[1]=0.5displaystyle x[0]=1,x[1]=0.5 ,otherwise 0 , Find its cepstrum.
x[n]⟶ZtransformX(Z)⟶logX^(Z)⟶Z−1x^[n]displaystyle x[n]quad stackrel Ztransformlongrightarrow quad X(Z)quad stackrel loglongrightarrow quad widehat X(Z)quad stackrel Z^-1longrightarrow quad widehat x[n]
step 1. Z transform: X(Z)=1+0.5Z−1,pole=−0.5displaystyle X(Z)=1+0.5Z^-1,pole=-0.5
step 2. log: X^(Z)=∑k=1milog(1−(−0.5Z−1))displaystyle widehat X(Z)=sum _k=1^m_ilog(1-(-0.5Z^-1))
step 3. reverse Z transform: x^[n]=∑n=0N−−0.5nn,n>0displaystyle widehat x[n]=sum _n=0^N-frac -0.5^nn,n>0
x^[0]=1displaystyle widehat x[0]=1 ,otherwise 0 , Find its inverse cepstrum.
x^[n]⟶ZtransformX^(Z)⟶expX(Z)⟶Z−1x[n]displaystyle widehat x[n]quad stackrel Ztransformlongrightarrow quad widehat X(Z)quad stackrel explongrightarrow quad X(Z)quad stackrel Z^-1longrightarrow quad x[n]
step 1. Z transform: X^[n]=Z−1displaystyle widehat X[n]=Z^-1
step 2. exp: e(1z)=∑n=0∞1znn!displaystyle e(frac 1z)=sum _n=0^infty frac frac 1z^nn!
step 3. reverse Z transform: x[n]={1n!,n≥00,otherwisedisplaystyle x[n]=begincasesfrac 1n!,ngeq 0\0,otherwise\endcases
- Suppose that an IIR filter is H(Z)=2z3−4z2−z+22z2−2z+1displaystyle H(Z)=frac 2z^3-4z^2-z+22z^2-2z+1
x[n]⟶ZtransformX(Z)⟶logX^(Z)⟶Z−1x^[n]displaystyle x[n]quad stackrel Ztransformlongrightarrow quad X(Z)quad stackrel loglongrightarrow quad widehat X(Z)quad stackrel Z^-1longrightarrow quad widehat x[n]
step 1. Z transform: H(Z)=(−2)(z)(z−22z−1)(z+22z−1)(1−12z)(1−1+j2z−1)(1−1−j2z−1)displaystyle H(Z)=frac (-2)(z)(z-frac sqrt 22z^-1)(z+frac sqrt 22z^-1)(1-frac 12z)(1-frac 1+j2z^-1)(1-frac 1-j2z^-1)
step 2. log: H^(Z)=log(−2)+3log(z)+log(1±22z−1)+log(1−12z)−log(1−1±j2z−1)displaystyle widehat H(Z)=log(-2)+3log(z)+log(1pm frac sqrt 22z^-1)+log(1-frac 12z)-log(1-frac 1pm j2z^-1)
step 3. reverse Z transform: h^[n]={log(−2),n=0−(22)n+(−22)nn+(1+j2)n+(1−j2)nn,n>0(12)−nn,n<0displaystyle widehat h[n]=begincaseslog(-2),n=0\displaystyle -frac (frac sqrt 22)^n+(frac -sqrt 22)^nn+frac (frac 1+j2)^n+(frac 1-j2)^nn,n>0\displaystyle frac (frac 12)^-nn,n<0\endcases
參考文獻
- 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