# 通訊系統筆記 本文檔僅提供個人學習使用,嚴禁用於商業用途,並請於下載後24小時內刪除。 **特別銘謝: 羅兆富 提供課堂筆記資料** ## 更新日誌 本篇暫時為類比通訊上課的內容,之後若有修數位,通訊系統(二)時再補上去 此由HackMd產生:[好讀版網址](https://hackmd.io/@MIN69/SJXuJFmBh) #### 23/05/18 開始編輯 #### 06/04 因應考試需求,先從VSB開始寫 #### 06/09 撰寫AM與DSB ## Basic concept 阿宗師教的不錯,挺推的。 為什麼要做調變?因為欲傳輸訊號的頻率太低了,假設要傳輸一段語音訊息$m(t)$,其頻率最高約1Khz(人聲大概300Hz),其在真空中的波長大概是$\frac{3*10^8}{1*10^3}=3*10^5$公尺,要具有效輻射的天線大概要半波長,也就是150公里。 實際上根本不可能做到這種尺寸的電路,所以要把訊號做"調變",就是把它放到一個**高頻的訊號上**,讓這個訊號變成高頻而能顯著的縮減電路尺寸。 而把$m(t)$放在載波$C(t)$不同的位置而有不同的調變方式。 ## 屬性以及有用的性質 有幾個參數可以拿來度量一個調變技術包括了 1. 複雜度(成本) 2. 效率 3. 頻寬利用率 其中複雜度的意思是電路與實作的複雜度,其與製造成本高度相關。 #### 效率 效率即為$m(t)$的功率與調變後傳送的訊號$S(t)$的功率之比,寫成數學: $Efficiency=\frac{P(m(t))}{P(S(t))}$ 其中$P(m(t))=\frac{1}{2T}\int^T_{-T}|m(t)|^2dt$ $P(S(t))=\frac{1}{2T}\int^T_{-T}|S(t)|^2dt$ 算起來會挺複雜的。 #### 頻寬利用率的計算 定義為$m(t)$之頻寬與調製後訊號頻寬之比: 利用率$=\frac{m(t)之頻寬}{S(t)之頻寬}$ #### 升頻定理 眾所周知(應該吧?),摺積定理說:兩線性訊號在時域相乘為其在頻域摺積(convolution) 所以當一個$m(t)$乘$cos(\omega_ct)$後會變成,$M(j\omega)*F(cos(\omega_ct))$,圖解: ![](https://hackmd.io/_uploads/BJNo0_Hr2.png) 數學描述: $\mathscr{F}(m(t)cos(\omega_ct))=\mathscr{F}(\frac{1}{2}m(t)(e^{-j\omega_ct}+e^{j\omega_ct}))$,歐拉公式把cos換掉 當$m(t)$乘上$e^{j\omega_ct}$或$e^{-j\omega_ct}$再做傅立葉轉換時,可視$m(t)$的頻譜在頻率域上平移([傅立葉轉換基本性質](https://zh.wikipedia.org/zh-tw/%E5%82%85%E9%87%8C%E5%8F%B6%E5%8F%98%E6%8D%A2#%E5%B9%B3%E7%A7%BB%E6%80%A7%E8%B4%A8)),所以會等於$M(j\omega)$跑到 $\pm\omega_c$的地方,各一塊。 **用數學寫真沒意思,還不如用圖解好懂==** ## Amplitude Modulation(振幅調變) 無線類比通最基本的形式,使用最簡單的振幅檢測就能接收。 它把訊號$m(t)$放在$S(t)$的**振幅上**,故稱為振幅調變。 #### 發射端: ![](https://hackmd.io/_uploads/S1em4trr3.png) 人如其名,AM發射訊號$S(t)$的樣子應該$cos(\omega_ct)$在$\pm |m(t)+Dc|$間擺動: *DC值需要足夠大,使得m(t)+Dc恆大於零,否則會有半週的訊號丟失* 舉個例子$m(t)=sin(x),Dc=1$,這個Dc足夠大了 ![](https://hackmd.io/_uploads/ryaQHFHSn.png) 調製出來: ![](https://hackmd.io/_uploads/B1Z2BFrrh.png) ![](https://hackmd.io/_uploads/B10g8FBSh.png) 可以看出$S(t)$被上下兩條線分別為$sin(x)+1$以及$-sin(x)-1$所包絡, 而振幅檢測器所收到的值會是$|S(t)|$,就會剛剛好是$m(t)+Dc=sin(x)+1$(上包絡線) 如果DC不夠大的話: ![](https://hackmd.io/_uploads/BJF2PtBH2.png) 可以看出來收到的R(t)跟原始訊息$m(t)$少掉一半: ![](https://hackmd.io/_uploads/SkxlOYHH2.png) 它下半週的訊號都不見了,所以需要加上足夠大的$Dc$值,否則負半週的訊號會丟失。 #### 效率、頻寬利用率 假設$m(t)=sin(\omega_mt)$,其中$\omega_m$<<$\omega_c$,那麼能夠使訊息不失真的最小$Dc=1$,調變後的結果為$S(t)=(sin(\omega_mt)+1)cos(\omega_ct)$乘開後透過積化和差得到: $S(t)=\frac{sin((\omega_c+\omega_m)t)+sin((\omega_c-\omega_m)t)}{2}+cos(\omega_ct)$,總功率是三個弦波的功率和。 假設弦波作用於電阻$R$上,其功率為$P=\frac{V_{p}^2}{2R}$ 所以$S(t)$的總公率為$2*\frac{0.5^2}{2R}+\frac{1}{2R}=\frac{0.75}{R}$,其中$m(t)$的功率為$2*\frac{0.5^2}{2R}$,其最大效率為$\frac{0.25}{0.75}=\frac{1}{3}$。 頻寬利用率的定義為$\frac{訊息頻寬}{發射頻寬}$,已知m(t)被乘上$cos(\omega_ct)$升頻後會被頻移,寬度不變: ![](https://hackmd.io/_uploads/SkyV7wlP2.png) 所以頻寬利用率為$\frac{1KHz}{2KHz}=0.5$ #### 接收端 ![](https://hackmd.io/_uploads/r19VtFSHh.png) 把$S(t)$接近來之後,透過振幅檢測器即可把|m(t)+Dc|取出來,由於它恆正,可以直接去掉絕對值,在透過電容去除$Dc$項後,即可還原回$m(t)$訊號。 ## DSB 由於AM傳輸時不時需要一個$DC$項,會浪費額外的功率,故使用此方法來改善其效率的問題。 *以電路複雜度換取效率。* #### 發射端 把AM的發射去除掉DC項即可。 ![](https://hackmd.io/_uploads/ryQsNdxvn.png) 其頻譜表現跟AM長的一樣: ![](https://hackmd.io/_uploads/SyMLHOgv2.png) 頻寬利用率跟AM一樣是0.5,但效率能夠$\approx 1$ #### 接收端 接收端有一點複雜,因為電磁波傳輸有延遲,接收端的的所收到的訊號是 $S(t-\tau)=m((t-\tau))cos(\omega_c(t-\tau))$ 我們只需要把它乘上一個**相位一模一樣**的$cos(\omega_c(t-\tau))$, 再通過一個LPF即可還原訊號,數學操作如下: $m((t-\tau))cos(\omega_c(t-\tau))*cos(\omega_c(t-\tau))$,*使用cos半角公式* $=m(t-\tau)\frac{1}{2}(1+cos(2\omega_c(t-\tau)))$ $=\frac{1}{2}m(t-\tau)+\frac{1}{2}m(t-\tau)cos(2\omega_c(t-\tau))$ 通過LPF把2倍頻去除,即可得到$m(t-\tau)$。 ![](https://hackmd.io/_uploads/S10ehOlwn.png) **能否解調的關鍵,在於能否得到正確的相位延遲**,若本地震盪端與接收訊號的$cos$有一咪咪的相位差,就不能順利解調。 至於如何取得正確的相位差請參照[這裡](####處理相位延遲) ## VSB VSB的全名為殘留邊帶調變(**V**estigial **S**ide **B**and),(記憶法: 影片**V**ideo,**V**SB) 這種技術是為了改善DSB或AM中頻寬利用率的問題,而衍生出來的技術。 AM或DSB通常是傳送語音,頻寬約落在數Khz左右。 但當需要傳送影片資料時,其頻寬暴增至數Mhz,使得服務用戶數下降(頻寬是有限資源), **故消除傳送頻寬是有其必要性的。** 分成兩種 1. 同步式 2. 非同步(主流) ### 同步式VSB傳送端 ![](https://hackmd.io/_uploads/Bk9AM2KL2.png) 因為時域處理不太重要(過於繁瑣與複雜),我們採用頻域來了解他的動作原理: ![](https://hackmd.io/_uploads/S1cP_hFLh.png) 根據升頻定理,$m(t)$與$cos(\omega_ct)$相乘的結果會產生兩塊左右對稱的頻譜(正負$\omega_c$處)。 其中小塊的又是以$\omega_c$左右對稱,故不需要傳送完整頻段,只需取**一半**來送即可即可。 這是類比通訊的極限,就是**至少**需要傳送一半的頻譜,否則解不出來。 大白話,其實就是DSB再加上BPF,把其中一塊對稱的頻譜給去除。 如果是保留上半部的頻譜稱為**U**pper **S**ide**B**and,反之稱為**L**ower **S**ide**B**and。 $-2\omega_c$ 所以它最大頻寬利用率可以達到$1$。 但是BPF不見得都是長方形的,他可能是怪怪的弧形像是: ![](https://hackmd.io/_uploads/Sy7GOatL3.png) 然後他其實會**殘留**一段頻譜(藍色處): ![](https://hackmd.io/_uploads/BJDEuptI2.png) 這就是它的名稱中**V**estigial的來源。 為了要在有殘留的情況下依舊能夠解出原始訊息,其BPF必須有所限制: 數學描述的條件為,假設BPF的頻譜為$H(j\omega)$ 他必須滿足:$H(\omega-\omega_c)+H(\omega+\omega_c)=1$ 意味著他左右平移後在低頻時要對稱: ![](https://hackmd.io/_uploads/HJtCi6Y8n.png) $H(j\omega)$藍色的部分,綠色部分為左右平移後的結果,只要能滿足上面那個條件 那這就是一個足夠好的BPF,就算他長得不是長方形依舊能用! #### 接收端 ![](https://hackmd.io/_uploads/S1p02pF82.png) ![](https://hackmd.io/_uploads/SyFnxCF8h.png) 他收到$S(t)$的會是兩塊,乘上$cos(\omega_ct)$後把自己整個平移到$\pm\omega_c$處相加。得到第二張圖中間的的結果,然後再透過LPF把高頻的地方$(2\omega_c)$去除,即可留下$m(t)$。 #### 處理相位延遲 當接收端解調變時,必須要乘上一個與調變時相同的$cos(\omega_ct)$否則它升頻後會壞掉,沒辦法解回原來的訊息。 但在實際傳輸的過程中$S(t)$到接收端時會有一個時間上的延遲$S(t-\tau)$,那麼解調要用的弦波必須變成$cos(\omega_c(t-\tau))$,兩者需要有相同的時延。 ##### 同步法 有一種做法是在BPF濾除多於頻寬後,在加入一個Clock讓傳送訊號變成:$S(t)=m(t)cos(\omega_ct)+\hat{m(t)}sin(\omega_ct)+COS(\omega_st)$ ![](https://hackmd.io/_uploads/r1cJ4e9Lh.png) 然後透過鑒相器產生一個相等相移的$cos(\omega_c(t-\tau))$去解調。 ##### 主流做法(非同步) 另一種是給他加一個**很大**的直流項在$m(t)$上面,他就會變成 $S(t)=(m(t)+DC)cos(\omega_ct)\pm$(去除頻寬部分)。 因為DC項很大,所以它的振幅會近似於$DCcos(\omega_ct)$,透過振幅檢測器能夠把這部分給摳出來。在送進去鑒相器中得到時延後的cos解調。 *拿效率去換複雜度* ## FM 這東西是碩果僅存的類比通訊方式。 他具有效率高、品質佳(要用頻寬換)、接收簡單的優勢。 FM是現今語音傳送的首選,AM已經死透了。 #### 數學基礎 人如其名,他是把$m(t)$給調製在頻率上面,它所傳遞的訊號形式為:$S(t)=Cos(2\pi (f_c+k_f\int_0^t m(u)du))$, 其震幅在傳輸期間保持不變。 基本上$S(t)$的頻率$f$與$m(t)$成正比,$m(t)$變大等於$S(t)$的頻率變高: $S(t)=Cos(\theta(t))$,其中$\theta(t)=2\pi (f_c+k_f\int_0^t m(u)du)$ $S(t)$的頻率會是$\frac{1}{2\pi}\frac{d\theta(t)}{dt}=f_c+k_fm(t)$,繪製出來: ![](https://hackmd.io/_uploads/ByVdql98n.png) ##### 估算頻寬(使用卡森法則) 如果你想知道FM的頻寬大小,使用傳統的傅立葉分析當然可以!不過提醒你一點,FM的函數**是不可積函數**,所以路途中必須要使用級數解,最終會變成使用Bessel function來描述。 使用卡森法則可以比較快的得到頻寬的大小,~~這才是工程師該學的~~。 卡森法則:估算的頻寬會是頻率變化量加上m(t)的頻寬的兩倍。 $CBR=2(\Delta_f+f_m)$ 假想的S頻譜分布: $S(j\omega)$是: ![](https://hackmd.io/_uploads/S1QV0lq8n.png) $f_m$就是$m(t)$的頻寬,若是語音就1kHz。$S(t)$的頻率$f=f_c+k_fm(t)$,會造成頻率產生變化的那項係數為$k_fm(t)=\Delta_t$,所以若語音的品質越高,頻寬會加大同時,FM的頻寬也會變大。 #### 發射端 有兩種方式能產生FM訊號: 1. 透過VCO(電壓控制震盪器voltage-controlled oscillator)**直接產生** 2. 透過倍頻器,**間接產生** ##### VCO 直接由VCO來產生一個電壓與頻率相關訊號,由於震盪器很容易受外部因素引響(如溫度與濕度),效果比較不穩定,並不推薦。 ![](https://hackmd.io/_uploads/H1-RQ-qI2.png) #### 間接式 先產生出$cos(\frac{\theta(t)}{N})$,倍N頻後就變成FM訊號了,通常N會很大。 ![](https://hackmd.io/_uploads/H1kdMGqI2.png) 當N很大時可以把$cos(\frac{\theta(t)}{N})=cos(\frac{2\pi(f_ct+k_f\int m(u)du)}{N})$近似成: $S(t)\approx cos(\frac{2\pi f_ct}{N})-sin(\frac{2\pi f_c t}{N})\frac{2\pi k_f\int m(u)du}{N}$ $S(t)$能簡化成: ![](https://hackmd.io/_uploads/rkfOdG9L2.png) 再把它串進去N倍頻器中: #### N倍頻 數學上可利用cos的N次冪轉N倍角公式: ![](https://hackmd.io/_uploads/SkbeFz983.png) 當$cos^N(\frac{\theta(t)}{N})$時它會爆出一堆高頻的諧波,包含了我們要的$cos(\theta(t))$以及$cos(\frac{\theta(t)}{N}(N-1))$,$cos(\frac{\theta(t)}{N}(N-2))$等等的成分。 **但是,只有剛好是N倍頻的成分它的中心頻會是$f_c$**,其他的成分會是$\frac{f_c}{N-1}、\frac{f_c}{N-2}$等成分,只要透過一個BPF把$f_c$給框住就行。 至於如何做出N倍冪的cos,只需要使用非線性電路即可。 舉個簡單的例子,二極體輸入電流與電壓成指數關係,大概長這樣$I=e^V$, 泰勒展開後:$e^V=1+\frac{V}{1!}+\frac{V^2}{2!}+\frac{V^3}{3!}...$ 只要$V=cos$,就能拿到cos的多次冪值。 #### 接收端 我們只要對收到的$S(t)$作微分: $\frac{dS(t)}{dt}=\frac{dCos(\theta(t))}{d\theta}\frac{d\theta(t)}{dt}=-2\pi (f_c+k_fm(t))sin(\theta(t)$ 就會發現$-2\pi (f_c+k_fm(t))$這坨東西是sin的振幅,沒錯! 只要使用一個振幅檢測器,再濾除直流即可: ![](https://hackmd.io/_uploads/SJr3gXqIh.png) #### AM/FM系統 既然振幅檢測可以共用,那不如就做在一起吧: ![](https://hackmd.io/_uploads/rJDpb75In.png) ###### 若有錯誤請:mailbox:Email至 : Wowhuglisme.mi@gmail.com 不勝感激 ###### tags: 通訊系統