# 關於
ej2πf(nTs)=ej2π(f+kfs)(nTs) 的物理意義
對弦波 ej2πf(nTs)裡面的參數f⋅nTs而言,這個部分的週期是1,但是我們如果先針對 Ts作歸一化,那麼參數f⋅n的週期便是1/Ts,也就是fs,此時可以直接把f視為是索引 n 必須乘上的取樣間隔,如此一來就可以用前一節的圖解釋:
如此一來便能說明在取樣間隔為 Ts 的情況下,頻率相差取樣頻率的整數倍之弦波們之間彼此等價。
原先 (CTFT) 的理論是說連續弦波是由各種不同頻率弦波的加權總和而成,到了離散時域 (DTFT),它根本分不清兩個彼此頻率僅相差fs的整數倍之連續弦波的差別,所以如果以fs=4 Hz為例,那對離散時軸來說頻率為 0 Hz、4 Hz、8 Hz 等的弦波都是一樣的,而 1 Hz、5 Hz、9 Hz 等的弦波也是一樣,剩下除以 4 的其他餘數頻率也能依此類推;也就是說在 DTFT 的頻譜裡面,問你頻率 0 Hz 的成分,其實也就是在問 4 Hz、8 Hz等的成分有多少,問你頻率 1 Hz 的成分,其實也就是在問 5 Hz、9 Hz等的成分有多少,因為這些頻率看似不同但實際上等價的弦波們已經分不開了,自然我每次詢問成分大小所得到的答案都會是這些弦波們已經疊加起來的結果。下圖是頻譜的變化:
我們發現到左上角的圖是fs=4 Hz的情形,誠如上面所說,每隔 4 Hz 的頻譜會自動疊在一起,這邊的示意圖是讓它們集中到最中央[−2,2] Hz的頻段,而為什麼右上角的圖也會自己將最中央的頻譜週期性展延到其他地方,這其實上面也解釋過,因為離散時域並分不出兩個相差 fs整數倍的頻率之間的差異,既然對它來說兩個波一模一樣,頻率成分當然也要一模一樣,是很虛擬地衍伸出去的結果。
有了整體的概念之後再來看數學的證明手法就會比較清楚:(也會順便導出合成端)
\displaystyle \begin{alignat*}{2} x(nT_s) &= \int_{-\infty}^{\infty}X(f)\ e^{j2\pi f(nT_s)}\\&= \sum_{k=-\infty}^\infty \int_{(k-0.5)f_s}^{(k+0.5)f_s} X(f)\ e^{j2\pi f(nT_s)}\ df\quad\quad//\ 根據左上圖每\ f_s\ 的頻率長度作一個切割\\&= \sum_{k=-\infty}^\infty \int_{-0.5f_s}^{0.5f_s} X\Big(f+kf_s\Big)\ e^{j2\pi (f+kf_s)(nT_s)}\ df\quad\quad//\ f\to f+kf_s \\&= \sum_{k=-\infty}^\infty \int_{-0.5f_s}^{0.5f_s} X\Big(f+kf_s\Big)\ e^{j2\pi f(nT_s)}\ df\quad\quad//\ f_sT_s=1\implies e^{j2\pi(kf_s)(nT_s)}=1 \\&= \int_{-0.5f_s}^{0.5f_s} \underline{\sum_{k=-\infty}^\infty X\Big(f+kf_s\Big)}\ e^{j2\pi f(nT_s)}\ df \\&= \int_{-0.5f_s}^{0.5f_s} \underline{\ddot X(f)}\ e^{j2\pi f(nT_s)}\ df\end{alignat*}
於是結論和我們原先所猜想的 (上面的兩張圖) 一樣,離散時域所屬的頻譜 (畫底線的部分) 可以是連續時域所屬的頻譜以取樣頻率為週期平移疊加:X¨(f)=k=−∞∑∞X(f+kfs),這邊再給一個實際的例子 [4] 以加深印象。
這邊又再度驗證前面所說,DTFT頻譜週期性展延其實只是因為其他週期有著和中心週期[−0.5fs,0.5fs]一樣的值才衍伸出去的結果,它實際上包含的「資訊量」就還是僅一個週期那麼多,其他的部分完全是可以無視的。可以注意到時域和頻域的「資訊量」會呈正相關,這是在很多小地方都能幫助我們釐清思維的重要概念。另外,推導合成式的時候它的積分範圍雖然仍是[−0.5fs,0.5fs],讀者可以自行驗證它能推廣到任何一個週期。
合成端的推導告訴我們每點訊號都能表示成x(nTs)=∫−0.5fs+0.5fsX¨(f) ej2πf(nTs) df,但現在問題來了,這個X¨(f)究竟該怎麼求比較好呢?回顧一下之前 CTFS 的結論,我們其實心裡有個底。
在第二章第二節推導 CTFS 係數的手法主要利用了「三角函數積分的正交性」,這邊也要使用這個技巧,對於每個指數函數都得乘以一個與之幅角相反的另一個指數函數,再積分一個週期。若合成端出現∑,分析端就使用∫;若合成端出現∫,分析端就使用∑,觀察一下 DTFT 合成端是∫,所以我們至少知道分析端應該要採用∑,而這個符號恰好可以把每個取樣點串起來,因此答案至少形如:
i=−∞∑∞x(iTs) e−j2πf(iTs)
這個式子對於某個特定的時間點訊號 x(nTs) 而言,包含了⎩⎨⎧想要的項 x(nTs) e−j2πf(nTs)不想要的項i=n∑x(iTs) e−j2πf(iTs):
(*) i=n,∫fsx(nTs) e−j2πf(nTs) ej2πf(nTs) df=x(nTs)⋅∫fse−j2πf⋅0 df=x(nTs)⋅fs
(*) i=n,∫fsx(iTs) e−j2πf(iTs) ej2πf(nTs) df=x(iTs)⋅∫fse−j2πf(i−n)Ts df=0
所以我們發現了∫fs(i=−∞∑∞x(iTs) e−j2πf(iTs)) ej2πf(nTs) df=x(nTs)⋅fs,和原本的合成端訊號比起來還多了fs倍,於是要把它除掉。
給定一個連續訊號 x(t)及其頻譜 X(f),以 Ts為取樣間隔會得到離散訊號 x(nTs),其:
新頻譜為舊頻譜以取樣頻率 fs為週期性疊加,而且能僅從取樣點計算出來:
X¨(f)=k=−∞∑∞X(f+kfs)=Ts⋅n=−∞∑∞x(nTs) e−j2πf(nTs)
x(nTs)=∫fsX¨(f) ej2πf(nTs) df
雖然取樣這個動作實務上需要 Ts與 fs的參數設定,然而一般來說程式語言為了方便處理離散訊號,它並不會管你實際的取樣間隔是多少,換句話說 (在訊號不變的情況之下) DTFT 的取樣間隔必須歸一化成 1,也因此取樣頻率 (和頻譜形狀) 會跟著一起歸一化,如此一來必須對合成端作變數變換(f→ffs)就得到:
x(nTs)=∫fs k=−∞∑∞X(f+kfs) ej2πf(nTs) dfx(nTs)x(nTs)=∫1 fs⋅k=−∞∑∞X((f+k)fs) ej2πfn dfx(nTs)x(nTs)=∫1 X¨(f) ej2πfn df=x[n]
也就是說歸一化之後的頻譜必須是未歸一化之前的頻率值先壓縮為1/fs倍,振幅再乘以 fs倍而來。
此時 x[n]=∫1X¨(F) ej2πFn dF,用前一段的方法可以再度得到X¨(F)=n=−∞∑∞x[n] e−j2πFn。
給定一個離散訊號 x[n],其 ⎩⎨⎧分析端:X¨(F)=n=−∞∑∞x[n] e−j2πFn合成端:x[n]=∫1X¨(F) ej2πFn dF
註 1:此歸一化頻譜是由未歸一化頻譜的頻率值先壓縮為1/fs倍,振幅再乘以fs倍而來。
註 2:一般訊號與系統課本所介紹的 DTFT 都是已歸一化的版本。
CTFT 週期性疊加到 DTFT 的過程 (fs = 4 Hz)
x(t)=sinc2(t) X(f)=max {0, 1−∣f∣} Ts=(1/3) s fs=3 Hz v¨(t)=k=−∞∑∞Vk ej2πT0kt x(nTs)=∫fsX¨(f) ej2πf(nTs) df Vk=T01∫T0v¨(t) e−j2πT0kt dt