重采樣常用于音頻處理。在用麥克風對音頻進行采集的時候饰序,常見的采樣率有8k(電話)领虹、44.1k(CD)、48k(視頻音軌)求豫、96k/192k(Hi-Res)塌衰,而某些系統(tǒng)會有默認固定的輸出采樣率(如Android的默認輸出采樣率為44.1k)诉稍,此時就需要對輸入音頻數(shù)據(jù)進行重采樣。
重采樣的源樣本序列為x[n]
x[n]=xc(nT)
重采樣的目標序列為x′[n]
x′[n]=xc(nT′)
如何通過x[n]得到x′[n]就是本文的討論內容最疆。
本文假設以采樣周期為T對xc(t)進行采樣滿足奈奎斯特采樣定律均唉。
減采樣(downsampling)
減小采樣率的過程被稱為減采樣,這一小節(jié)討論的是按整數(shù)倍減小采樣率肚菠。
按照我們一般的思維來說舔箭,按整數(shù)倍(倍數(shù)為M)減少采樣率應該是直接對源樣本序列每隔M個樣本提取一個值
xd[n]=x[nM]=xc(nMT)
這種提取方法被稱為采樣率壓縮器,簡稱壓縮器(compressor)蚊逢〔惴觯可以看到所得的新序列是原始連續(xù)信號的一部分,并且新序列的采樣周期為Td=MT烙荷。對于該新序列镜会,我們可以分為兩種情況進行討論:
Td符合奈奎斯特采樣定理,即新序列能通過一個低通濾波器還原為原始的連續(xù)信號
Td不符合奈奎斯特采樣定理终抽,即新序列發(fā)生混疊戳表,無法還原為原始的連續(xù)信號
如下圖假設信號在M=2時恰好滿足奈奎斯特采樣定理,那么在M=3時則會發(fā)生混疊
如果在采用了壓縮率為M的壓縮器后昼伴,離散時間信號處理序列仍然符合奈奎斯特采樣定理匾旭,我們可以直接進行使用xd[n]=x[Mn]來得到減采樣序列。而發(fā)生混疊的情況則稍微復雜一點圃郊。觀察混疊的頻譜价涝,可以發(fā)現(xiàn)只有低頻部分保持了與原始信號頻譜的一致性,而相當多的高頻由于混疊而失去了原始頻譜持舆。
頻譜丟失得越多說明信號的失真越大色瘩,因此為了減少失真,需要盡可能保留更多的原始信號頻譜逸寓。我們可以先對元素信號進行低通濾波居兆,然后再對濾波后的信號進行周期為MT的采樣即可得到失真更少的序列。按照這種思想竹伸,采樣周期固定為MT泥栖,如果一個被采樣信號的采樣周期為MT,那么采樣后不會混疊的條件就是該信號的截至頻率為πMT佩伤,因此低通濾波的截至頻率為πMT聊倔。
很明顯晦毙,先低通濾波后采樣的這種方法能最大限度地減低頻譜的丟失生巡,從而降低信號失真。
X~d(jΩ)=Xc(jΩ)HM(jΩ)
其中Xd(jΩ)就是對原始信號進行低通濾波后的信號xd(t)的傅里葉變換见妒,低通濾波器的傅里葉變換為HM(jΩ)孤荣。不過我們手中的并不是原始信號xc(t),而是序列x[n],為了進入上述流程盐股,我們需要先用x[n]重構出xc(t)钱豁,才能進行低通濾波以及后續(xù)采集
xd(t)=F?1Xd(jΩ)=F?1{Xc(jΩ)HM(jΩ)}=F?1{X(ejΩT)Hr(jΩ)HM(jΩ)}=F?1{X(ejΩT)THM(jΩ)}???????????Hr(jΩ)HM(jΩ)={T,0,|Ω|<π/Telse={1,0,|Ω|<π/MTelse=F?1{Xs(jΩ)THM(jΩ)}=xs(t)?[MT?hm(t)]/Mfourier convolution theorem={∑n=?∞∞x[n]δ(t?nT)}?{sin(πt/MT)πt/MT}/M=∑n=?∞∞x[n]sin[π(t?nT)/MT]π(t?nT)/MT/M
然后從xd(t)中以MT為周期采集得到xd[n]
xd[n]=xd(nMT)=∑k=?∞∞x[k]sin[π(t?kT)/MT]π(t?kT)/MT/M∣∣∣∣t=nMT=∑k=?∞∞x[k]sin[π(nMT?kT)/MT]π(nMT?kT)/MT/M=∑k=?∞∞x[k]sin[π(nM?k)/M]π(nM?k)/M/M
如果要從連續(xù)時間系統(tǒng)來理解的話,我們可以發(fā)現(xiàn)重建的連續(xù)信號x~d(t)是由無數(shù)個x[k]分別對相應位置的截至頻率為π/MT的sinc函數(shù)進行加權后疊加疯汁,然后對疊加得到的信號的幅度除以M得到的牲尺。
如果要從離散時間系統(tǒng)來理解x~d[n]的構造公式的話,可以發(fā)現(xiàn)上面公式中的sinc函數(shù)有如下規(guī)律(下二)
H(ejω)={M,0,|ω|<π/MelseH(ejω)={1,0,|ω|<π/Melse??h[n]=sin[πn/M]πn/Mh[n]=sin[πn/M]πn/M/M
可以發(fā)現(xiàn)該sinc函數(shù)是一個增益為1幌蚊、截至頻率為π/M的低通濾波器谤碳,該濾波器后接因子為M的壓縮器。那么溢豆,前面的公式可以理解為:用該濾波器對x[k]進行濾波后再用因子為M的壓縮器即可得到x~d[n]蜒简。這一過程又被稱為抽取(decimation)漩仙。