索引
- 一、BASK的調製
- 1.1 曼徹斯特碼
- 1.2 增益控制
- 1.3 常量求和
- 1.4 與載波相乘
- 1.5 波形預覽
- 1.6 引數設定(參考)
- 二、BASK的解調
- 2.1 濾波
- 2.2 訊號比較
- 2.3 波形預覽
- 2.4 引數設定(參考)
- 三、常見問題
一、BASK的調製
根據BASK調製的原理,訊號處理的步驟如下:
1.1 曼徹斯特碼
曼徹斯特碼可以通過NRZ碼和時鐘訊號進行異或獲取。假設\(Manchester(t)\)為曼徹斯特碼,NRZ(t)為NRZ碼,Clock(t)為時鐘訊號,則有:
在Simulink中,我們可以使用Bernoulli Binary Geneator來隨機生成二進位制流,即NRZ碼。類似地,我們可以使用Pulse Generator來生成時鐘脈衝訊號。
上述的兩個模組,以及接下來將要使用到的模組,都可以在Library Browser中找到。
因此,我們可以建立一個生成曼徹斯特碼的模型:
1.2 增益控制
為了實現幅度變化,我們需要使用Gain對曼徹斯特碼進行增益控制。在進行增益控制前,我們需要將二進位制數字訊號轉換成浮點型(雙精度浮點型),以便更好的處理增益值。下面給出一種實現增益控制的解決方案:
1.3 常量求和
增益控制後,為了處理訊號發生器產生的訊號,避免後續過程持續出現0訊號,需要對受增益控制的訊號進行加1處理。我們可以使用Constant來生成常量。
1.4 與載波相乘
求和後,使用Product與載波進行乘法運算,即可得到BASK訊號。我們可以使用Signal Geneator來生成載波。
1.5 波形預覽
使用Scope模組,我們可以觀察到各個階段中訊號的波形。將曼徹斯特訊號和BASK調製訊號連線到示波器,我們可以觀察到下圖:
上圖中,圖例XOR表示的為曼徹斯特碼的波形圖,圖例Product表示的是BASK調製訊號的波形圖。需要注意的是,由於Bernoulli Binary Geneator產生的是隨機訊號,每次模擬所產生的波形圖也是隨機的。
1.6 引數設定(參考)
我們可以調節各模組的引數來控制BASK調製訊號的形狀,下面給出各模組的參考引數:
模組名 | 引數 | 設定值 |
---|---|---|
Pulse Generator | Period (secs) | 1 |
Pulse Width (% of period) | 50 | |
Gain | Gain | 0.5 |
Signal Generator | Frequency | 50*pi |
注:未列出的模組引數按預設處理。
二、BASK的解調
根據BASK解調的原理,訊號處理的步驟如下:
2.1 濾波
為了將高頻訊號與低頻訊號分開,我們需要使用Analog Filter Design對BASK訊號進行濾波處理。在濾波前,為了保證訊號值恆為正數,需要與載波相乘。上一章的調製電路被封裝成BASK Generator模組,用於生成BASK訊號。
特別地,低通濾波器的截止頻率需低於兩倍的載波頻率。
2.2 訊號比較
BASK通過低通濾波器後,產生的波形可大致描述解調訊號的形狀。
2.3 波形預覽
使用Scope模組,我們可以觀察到各個階段中訊號的波形。將曼徹斯特訊號和BASK解調訊號連線到示波器,我們可以觀察到下圖:
2.4 引數設定(參考)
我們可以調節各模組的引數來控制BASK調製訊號的形狀,下面給出各模組的參考引數:
模組名 | 引數 | 設定值 |
---|---|---|
Signal Generator | Frequency | 50*pi |
Constant | Constant value | 0.6 |
Analog Filter Design | Passband edge frequency (rad/s) | 50*pi |
注:未列出的模組引數按預設處理。
三、常見問題
Q:模擬過程中遇到正弦波畸變(包括幅度和形狀),該怎麼處理?
A:若在模擬過程中遇到正弦波畸變(包括幅度和形狀),可以在Simulink工程空白處右鍵,選擇Model Configuration Parameters,進入頁面後,在選項卡Solver -> Solver details中進行如下引數設定:
引數 | 設定值 |
---|---|
Max step size | 1e-5 |
Relative tolerance | 1e-5 |