2017年9月27日 星期三

[訊號與系統] Frequency Modulation 淺嚐:Chirp Signal

回憶一般 弦波訊號
\[
z(t) = A \cos(2 \pi f_0 t + \phi) = Re\{A e^{j (2 \pi f_0 t + \phi)}\}
\]其中 $A$ 為振幅 ,$f_0$ 為頻率,$\phi$ 為相位。由上式,我們可以定義 $z(t)$ 的 "角度" 記作
\[
\psi(t) := 2 \pi f_0 t + \phi
\]由於上式為 linear in $t$ ,我們可觀察
\[
\frac{d}{dt} \psi(t) = 2 \pi f_0 := \omega_i(t)
\] 故 $z(t)$ 的角度 隨時間的瞬時變化率 為 $2 \pi f_0$  其單位為 (rad/s) ,若我們將其除掉 $2\pi$ 即可得到 (瞬時)頻率 $f_0$ (單位為 Hz)。

上述想法可以被進一步推廣如下:

Frequency Modulation (FM) Signal
現在我們將上述 $z(t)$ 做進一步簡單的推廣:假設
\[
x(t) := A \cos(\psi (t)) = Re\{e^{j \psi(t)}\}
\]則我們可仿造前述的方法來定義 瞬時頻率 (instantaneous frequency),亦即我們先對 $\psi(t)$ 對 $t$ 微分,可得瞬時角頻率 (instantaneous angular frequency)
\[
\omega_i(t) :=  \frac{d}{dt} \psi(t)
\]若對上式兩邊同除以 $2 \pi$ ,可得瞬時頻率 (instantaneous frequency), 記作 $f_i(t)$, 如下
\[
f_i(t) :=\frac{1}{2\pi}\omega_i(t) =  \frac{1}{2 \pi} \frac{d}{dt} \psi(t)
\]單位為 Hz。

以下我們看個 FM 調頻中的一類特殊例子,假設我們想要創造一組 弦波訊號 使其 頻率可以包含一段我們感興趣頻段,比如說我們想創造一組聲音其頻率 從 300 Hz 並且一路往上到 800 Hz,一種常見的做法是採用 chirp signal 來達成,其特性如下:給定初始頻率 $f_{int}$ 與 終點頻率 $f_{end}$, chirp signal 保證訊號頻率在 $f_{int}$ 到 $f_{end}$ 之間以連續且線性方式改變(比如遞增或者遞減),故此法又稱線性調頻。

FM Signal Example: Chirp, or Linear Swept Frequency or Linear FM
以下我們考慮一類特殊的 FM 訊號,亦即我們取
\[
\psi(t) := 2\pi \mu t^2 + 2\pi f_0 t+\phi
\]則對應的瞬時頻率為
\[
f_i(t) := \frac{1}{2 \pi} \frac{d}{dt} \psi(t)  = 2 \mu t + f_0
\]亦即我們發現瞬時頻率隨時間遞增,且在 $t=0$時後我們有 起始頻率 $f_0$。讀者可使用 下列 matlab code 來聽聽看 chirp 訊號 (起始的 瞬時頻率為 300Hz 一路往上到 800Hz):

% Generate an play a chirp signal

fsamp = 11025; % sampling frequency

dur = 2;
mu = 125;
Amp = 6;
f0 = 300;

dt = 1/fsamp;
tt = 0 : dt : dur;

psi = 2*pi*(100 + f0*tt + mu*tt.*tt);
xx = real( Amp*exp(j*psi) );

soundsc( xx, fsamp );



[訊號與系統] Amplitude Modulation 淺嚐:Beat Signal

回憶一般 弦波訊號
\[
x(t) := A \cos(2 \pi f_c t + \phi)
\] 其中 $A$ 為振幅,$f_c$ 為 (載波) 頻率,$\phi$ 為相位。現在我們考慮將上述弦波做進一步簡單的推廣如下:假設 振幅 $A$ 不再是常數,而是隨時間變化的函數 比如 $A:=a(t)$ ,則我們得到\[
x(t) = a(t) \cos(2\pi f_c t +\phi)
\] 上述稱為 振幅調變 (Amplitude Modulation) 的一般形式,其中 $a(t)$ 為 依時間變化的函數 且一般而言,假設 $a(t)$ 的最高頻率 $f_a << f_c$。

Comments:
1. 震幅 $a(t)$ 隨時間變化,可看成 振幅 被 "調變"(modulation)
2. 一般實際應用上, $a(t)$ 為多半為實際帶有信息的訊號 (比如 聲音,歌聲,影像...) 且其最高頻率會遠遠低於 載子頻率 $f_c$ ,使得我們在做 AM 處理之後,$a(t)$ 訊號可被方便傳送。
3. 當然,對於 $z(t)$ 的推廣不僅僅限於頻率,我們也可以對其頻率推廣,比如說將固定 $f_c$ 改成 $f_c:=\psi(t)$ 使其成為與時間有關的函數,此法會得到所謂的 頻率調變(Frequency Modulation, FM) 我們會另外再開一篇文章描述之,在此不做贅述。

以下我們看個經典的AM例子:

AM Example: Beat Signal or Sinusoidal AM
以下我們看個特例:假設 $a(t) := A \cos(2 \pi f_a t)$ 則我們得到 AM 訊號如下
\[
x(t) = A \cos(2 \pi f_a t)  \cos(2\pi f_c t +\phi)
\]上述訊號可以透過 Inverse Euler formula 將其改寫為
\begin{align*}
  x(t) &= A\cos (2\pi {f_a}t)\cos (2\pi {f_c}t) \hfill \\
   &= A \left( \frac{{{e^{j2\pi {f_a}t}} + {e^{ - j2\pi {f_a}t}}}}{2} \right) \left( \frac{{{e^{j\left( {2\pi {f_c}t} \right)}} + {e^{ - j\left( {2\pi {f_c}t} \right)}}}}{2} \right) \hfill \\
   &= \frac{A}{4}\left( {{e^{j2\pi {f_a}t}} + {e^{ - j2\pi {f_a}t}}} \right)\left( {{e^{j\left( {2\pi {f_c}t} \right)}} + {e^{ - j\left( {2\pi {f_c}t} \right)}}} \right) \hfill \\
   &= \frac{A}{4}\left( {{e^{j2\pi \left( {{f_a} + {f_c}} \right)t}} + {e^{ - j2\pi \left( {{f_a} + {f_c}} \right)t}} + {e^{j2\pi \left( {{f_a} - {f_c}} \right)t}} + {e^{ - j2\pi \left( {{f_a} - {f_c}} \right)t}}} \right) \hfill \\
   &= \frac{A}{2}\cos \left( {2\pi \left( {{f_a} + {f_c}} \right)t} \right) + \frac{A}{2}\cos \left( {2\pi \left( {{f_a} - {f_c}} \right)t} \right) \hfill \\
\end{align*}
Comments:
1. 上述 $x(t)$ 可表為 兩弦波相加,一般又稱之為 beat signal,生活上的實際應用為比如說同時按下兩兩相鄰的鋼琴琴鍵。
2. 我們有兩種觀點看上述的 Beat Signal,首先是 $x(t)$ 可以視為是 震幅隨時間變化的弦波,故若使用 MATLAB 的 soundsc(.) 函數播放,則聲音聽起來會是漸強在接漸弱,第二種觀點則是上述 $x(t)$ 為兩個具有不同頻率 ($f_c+f_a$ 與 $f_c-f_a$)的 弦波相加,那麼聽起來便會是兩種弦波分別以不同頻率產生的聲音疊加而成。
3. 那麼該如何分辨何時只聽得到一組漸強漸弱得弦波 或者 聽到 不同頻率的弦波? 以下有一個一般性的判斷法則:令 $T$ 為 $x(t)$ 的最終持續時間,且定義 "頻寬" $B:= 2 f_a$ ,若
\[
T\cdot B <<1
\]則一般而言我們沒有辦法到底是一組弦波或者兩個不同頻率得弦波。此議題等價物理中的 Heisenberg's Uncertainty Principle。