# 通訊實驗期末報告 ![](https://i.imgur.com/88Tjhsa.jpg) ## 頻域與時域 平時我們所聽的聲音,是由許多不同的訊號組成的,而有一個人叫傅立葉,告訴我們所有的訊號都可以由不同頻率的弦波函數組成,而頻域就是將這些不同頻率的弦波函數,繪製出來的平面,而連接時域與頻域的就是傅立葉分析。 ![](https://i.imgur.com/JVUJe2E.png) 圖1. 時域的訊號 ![](https://i.imgur.com/vQv4JPd.png) 圖2. 頻域的訊號 ## 向量空間、基底、正交集 向量空間:![](https://i.imgur.com/eS2fQmi.png) 基底:![](https://i.imgur.com/hyscr34.png) 正交集:![](https://i.imgur.com/HK7Jobq.png) ### 傅立葉級數(Fourier Series) 傅立葉告訴我們,任何週期性的訊號都可以由弦波函數相加而成。 用一個例子說明會比較好理解 比方說 如果要用弦波組成一個方波,直覺上很難理解,但是實際上卻是可行的。 ![](https://i.imgur.com/bHRv7pv.png) 圖3. 疊加示意圖 ![](https://i.imgur.com/NKwpPDN.png) 圖4. 疊加示意圖 ![](https://i.imgur.com/Cs4V0Jo.png) ### 歐拉公式 國中時,我們知道cos與sin函數可以用一個圓的投影來表示,分別代表x軸與y軸的值,若是拓展至複頻域,則可以代表一個在複平面不斷旋轉的圓。 也就是說,一個訊號可以看做許多不同頻率、大小在旋轉的圓疊加的結果。 ![](https://i.imgur.com/mjCuCUC.png) 圖5. 歐拉公式投影示意圖 ### 傅立葉轉換 理解了傅立葉級數,但是並不是每一種訊號都是週期性的,若是非週期性訊號就必須使用傅立葉轉換。 ![](https://i.imgur.com/oiOw2fB.png) ### 結論 傅立葉告訴我們,任何週期訊號都可以用一連串頻率、大小不同的sin與cos還有常數表示,此即為傅立葉級數 將這些sin或cos函數的頻率作為橫軸、大小作為縱軸便是頻域 但是不是每種訊號都是週期性的,處理這些非週期性函數,可以將其視作週期無限大的函數,此時的處理方法叫做傅立葉轉換。 /*---------------------------------------------------*/ ## More General Waveform Generator with Variable Frequency and Offset ![](https://i.imgur.com/ZwbcLOm.png) #### Throttle:用來限制系統模擬的頻率,避免過度消耗電腦資源 #### QT GUI Range f0:設定中心頻率f0 ![](https://i.imgur.com/emJT6P4.png) #### QT GUI Range offset:設定直流偏移的為準 ![](https://i.imgur.com/j1kDgSA.png) #### QT GUI Chooser:選擇波形Cosine、Rectangular、Triangular ![](https://i.imgur.com/90vfaI5.png) #### Signal Source:產生訊號 ![](https://i.imgur.com/RMIP6Dm.png) #### QT GUI Time Sink:輸出時域波形 ![](https://i.imgur.com/fRPEpYO.png) #### QT GUI Frequency Sink:輸出頻域波形 ![](https://i.imgur.com/61ukxZe.png) #### 實驗結果(float) ![](https://i.imgur.com/x18X99d.png) #### 實驗結果(complex) ![](https://i.imgur.com/Mo6BBai.png) ![](https://i.imgur.com/Fo8MF2p.png) ## Generating a Waveform Using a Vector Source 什麼是vector source? 根據輸入向量流式傳輸項目的源。 該塊基於輸入向量生成樣本流。 在C ++中,這是一個std :: vector <T>;在Python中,這是一個列表或元組。 數據可以無限重複,直到流程圖被其他事件終止,或者默認情況下,運行數據一次然後停止。 ### GNU RADIO DEMONSTRATION ![](https://i.imgur.com/kJz2FL6.png) #### Vector Source: Enter vector np.hstack((np.ones(int(tau*samp_rate)), np.zeros(int((0.1-tau)*samp_rate)))) ![](https://i.imgur.com/30U8pGU.png) #### QT GUI Time Sink:輸出時域波形 ![](https://i.imgur.com/1X82L1H.png) #### QT GUI Frequency Sink:輸出頻域波形 ![](https://i.imgur.com/P1DoJbx.png) #### QT GUI Range offset:設定直流偏移的為準 #### Tag Object ![](https://i.imgur.com/7GG0Ygr.png) #### Import ![](https://i.imgur.com/KEA4hK2.png) ## Using a Lowpass Filter Introducing low pass filter 容許低頻訊號通過,但減弱(或減少)頻率高於截止頻率的訊號的通過。對於不同濾波器而言,每個頻率的訊號的減弱程度不同。當使用在音頻應用時,它有時被稱為高頻剪切濾波器,或高音消除濾波器。 低通濾波器概念有許多不同的形式,其中包括電子線路(如音頻設備中使用的hiss濾波器、平滑數據的數位算法、音障(acoustic barriers)、圖像模糊處理等等)。低通濾波器在訊號處理中的作用等同於其它領域如金融領域中移動平均數(moving average)所起的作用;這兩個工具都通過剔除短期波動、保留長期發展趨勢提供了訊號的平滑形式。 ### GNU RADIO DEMONSTRATION ![](https://i.imgur.com/GlaszwT.png) #### Signal Source:產生訊號 ![](https://i.imgur.com/UV6Z89K.png) #### Low Pass Filter:低通濾波器 ![](https://i.imgur.com/TW5MPXT.png) #### QT GUI Chooser:設定輸出波型 ![](https://i.imgur.com/v0nSvID.png) #### QT GUI Time Sink:輸出時域波形 ![](https://i.imgur.com/iumgFPx.png) #### QT GUI Frequency Sink:輸出頻域波形 ![](https://i.imgur.com/pv52eSB.png) #### Result ![](https://i.imgur.com/ElVV0ad.png) ## 2 Lab Experiments ### E1. 安裝 GNU Radio #### (a) 安裝虛擬機或是 Ubuntu,並安裝GNU Radio #### (b) 嘗試開始自己的一個專案 #### (c) 比較 cos, 方波, 三角波與鋸齒波的頻域差別並使用chooser選擇比較的波,range模塊選擇offset的偏移程度 ### E2. 在 GNU Radio 產生測試波 #### (a) 用 “Vector Source” 產生正弦脈衝以及可調整的 “tau” #### (b) 產生任意兩個差120度的弦波訊號,並將其中一個相移120度,模擬出一個三項訊號。 #### (c)對弦波, 方波, 三角波,在給定取樣率,產生 PAM 訊號。 ### E3. 以 GRC Blocks 進行特徵分析的練習 #### (a) 決定頻率響應以及低通濾波器的階數。 #### (b) 產生一個方波可以頻率從0 ~ 5000Hz,以及佔空比從0 ~ 100% #### (c\) 產生一個頻率從0 ~ 5000Hz 的波,波形如下 ![](https://i.imgur.com/icdh250.jpg) ## 實驗影片 https://youtu.be/MVYyQGUdXMQ https://youtu.be/BPCz1y4ZQlk https://youtu.be/-bIDBENzBFk https://youtu.be/6zqV-78pViQ ## 參考資料 1. 傅立葉變換如何理解?美顏和變聲都是什麼原理?李永樂老師告訴你 https://www.youtube.com/watch?v=0LuyxzqI3Hk 2.如果看了此文你还不懂傅里叶变换,那就过来掐死我吧 https://zhuanlan.zhihu.com/p/149265832 3. 老師的通訊實驗教材 https://www.jywglady.org/sdr/contents/sampling/Transform/ 4. 線性代數論 程雋著 5.深入理解傅立叶变换(番外).傅里叶级数的意义 https://zhuanlan.zhihu.com/p/52977221