使用 SDR 接收音頻
# 使用 SDR 接收音頻
# 接收及解碼 FM 訊號
找到大致的中心頻率後,接著要建立一個接收和解碼的模擬系統。從程式庫模組中選擇 Variable, osomocomm Source, Low Pass Filter, WBFM Receive, Multiply Const, QT GUI Range, QT GUI Frequency Sink 及 Audio Sink 模組。將所有模組如下圖方式連接在一起:
各模組的參數依次如下:
- Sample Rate: 設定為 8 MHz。
- Variable: 設定接收的中心頻率
- Id: fc
- Value: 17241e4
- osomocomm Source: 用來接收 HackRF One 的訊號
- Device Arguments: hackrf=0
- Ch0: Frequency (Hz): fc
- Ch0: RF Gain (dB): 14
- Ch0: IF Gain (dB): 32
- Ch0: BB Gain (dB): 50
- Low Pass Filter: 低通濾波並降低抽樣頻率
- Decimation: 25
- Cutoff Freq: 200e3
- Transition Width: 40e3
- WBFM Receive: 用來解碼 FM 訊號
- Quadrature Rate: 320e3 (調變訊號頻率)
- Audio Decimation: 10 (解碼訊號的 Decimation Factor)
- QT GUI Range: 調整播放音量
- id: gain
- Default Value: 0.2
- Start: 0
- Stop: 1
- Step: 0.1
- Multiply Const: 調整播放音量
- Constant: gain
- QT GUI Frequency Sink: 用來觀察解碼訊號
- Bandwidth: 32e3
- Audio Sink: 用來播放解碼訊號
- Sample Rate: 32e3
在這個系統中,Variable 模組是用來設定變數的值,此處主要設定訊號的中心頻率。osomocomm Source 模組則用來接收軟體無線電的訊號,其中 Device Arguments 設定 hackrf=0 表示使用的是第一台連接到電腦的 HackRF one SDR,另外 RF/IF/BB 三個參數則是設定該 SDR 的訊號增益。Low Pass Filter 是將訊號做低通濾波,本例中主要保留 200 KHz 以下的訊號,過渡帶設為 40 KHz。濾波之後,同時將訊號的抽樣速度降為 1/25 (Decimation=25),也就是抽樣速度變成 8 MHz/25 = 320 KHz。接著透過 wideband 的 FM 接收模組來將訊號解碼 (Quadrature Rate = 320 KHz),同時在輸出前將訊號抽樣速度降為 1/10 (Audio Decimation = 10)。因此最後解出的訊號,其抽樣速度變成 320 KHz/10 = 32 KHz。這個最後解出的訊號,再經過一個乘法器,調整適當的輸出音量,最後透過 QT GUI Frequency Sink 觀察輸出頻率,同時也透過 Audio Sink 進行播放。以上是整個系統大致的運作過程。注意 Audio Sink 一般只能接受幾種特殊的運作頻率,此處 32 KHz 是其中可以接受的一個頻率。
接好之後,將檔案存檔,產出模型並執行,如果沒有錯誤的話,應該會看到輸出的弦波圖形,同時也會聽到播放音頻的聲音。
HackRF One 接收端的增益
HackRF One 在接收訊號時,可以調整三個增益值,分別為 RF Gain/IF Gain/Baseband Gain;而在傳送時,則只有 RF Gain/IF Gain 兩者有作用。以接收端來說, RF Gain 實際上只有 0 dB 和 14 dB 兩種選擇,其他設定值會依照最接近的值自動調整。以本例而言,設定為 10,則實際上會調整為 14 dB。應該特注意的一點:如果訊號發射的強度很強,此處增益值又設定得很大,則有可能會損壞 HackRF One 硬體,如果不是很確定接收訊號的強度,可以先從 0 開始,等發現訊號太微弱時再調成 14。IF Gain 的值可以從 0 dB 到 40 dB,調整間隔為 8 dB,這個值如果設定太大,並不會損壞硬體,但是訊號可能會產生扭曲失真的現象。最後是 Baseband Gain,可以調整的範圍是 0 dB 到 62 dB,調整間隔為 2 dB,這個增益值具有最大的調整空間。一般來說,在接收和處理無線射頻訊號的過程中,其頻率會一級一級逐次下降,而增益的調整空間也會漸次變大。
練習
- 建立如上所述的 FM 訊號接收器,並實際接收所發送的單頻訊號。
- 適當調整接收頻率,是否可以收得到 FM 電台的訊號?