采用NI的軟件無線電(USRP)平臺,結合LabVIEW調制工具包,實現調頻收音機、遙控車鑰匙的有趣應用。
調頻收音機的實現有兩種方法,一種為反正切方法,一種為FM解調方法。兩種方法都可以接收到指定頻段的廣播。
遙控車鑰匙功能:按下配套的無線車鑰匙某個按鈕,USRP接收到脈沖信號,程序中對其進行解調并且判斷,可以自動識別你按下的是哪個鍵并顯示出來。
軟件安裝:
1、LabVIEW 2011
2、NI-USRP
3、Modulation Toolkit 4.3.2 (更低的版本不可用)
硬件連接:
1、用網線將USRP設備與PC機連接。由于調頻收音機有音頻輸出,所以要求計算機有聲卡,并且有聲音播放器。
2、在控制面板中將PC機的IP設定為192.168.10.1,網關為255.255.255.0
3、連接USRP的電源、天線。
4、在windows的開始菜單中All Programs\\National Instruments\\NI-USRP目錄下面找到NI-USRP Configuration Utility,在Change IP Address 選項卡中應該能夠看到設備(包括Device ID, IP Address, Type/revision)。如果看不到設備,請點擊Find Devices來尋找設備。如果需要,可以選定一個設備并且在右邊New IP Address欄中輸入新IP地址,點擊Change IP Address來修改USRP設備的IP地址。
操作流程
一、基于反正切(Arctangent)方法的調頻收音機
1、該Demo只能使用USRP 2920(或者USRP N210)。
2、找到Demos中的FM Radio - Arctangent Method文件夾,打開NI USRP FM Demo - ArcTan Method_LV2011.VI,會看到如下圖所示的“基于軟件無線電的調頻收音機”前面板。
3、USRP參數配置:USRP IP地址設為當前設備的IP,“正交采樣率” 設定為某適合的值(例如200k,具體參閱該頻段廣播的說明),“載波頻率”設定為某個調頻收音機的頻段(例如94.7M,或者101.7M,103.7M),“有效天線”設定為RX1,“增益”設定為25左右。“采樣數設為20000。
4、聲卡參數配置:“聲卡采樣率”必須設為44100
5、運行VI,能夠聽到調頻收音機接收到的信號聲音(PC機要求帶有聲卡),可以根據個人喜好調節音量(右下角)。
6、程序框圖解釋。整體程序框圖如下圖所示。包含USRP編程,反正切處理,以及聲卡編程三部分。
USRP編程部分在下圖紅色框出,包括打開USRP接收通道,參數配置,開始采集,連續獲取下變頻后的基帶波形數據,將讀出的波形數據存入右邊框出的基帶IQ移位寄存器中,While循環左邊對移位寄存器初始化。最后停止并關閉USRP,釋放資源。
基帶波形的反正切處理在下圖中間紅色框出,首先將基帶復數波形向極坐標轉化,然后展開相位,對相位求導。求導后的波形存入右邊的移位寄存器,左邊小框中對移位寄存器初始化。
聲卡的編程在下圖紅色框出,包括聲卡參數配置,音量調節,連續向聲卡緩存寫入聲音數據,最后對聲音輸出清零。
二、基于Modulation Toolkit的調頻收音機
1、該Demo只能使用USRP 2920(或者USRP N210)。
2、找到Demos中的FM Radio - Modulation Toolkit文件夾,打開FM Radio - Modulation Toolkit.vi,可以看到如下圖所示的“基于軟件無線電的調頻收音機”的前面板。
3、聲卡參數配置:“聲卡ID”為0,“采樣率”必須為44100S/s,“通道數”為2,“每采樣比特數”為16。
4、USRP參數配置:“設備IP地址”為當前USRP 2920(或者USRP N210)的IP地址,“正交采樣率” 設定為200kS/s,“載波頻率” 設定為某個FM收音機的頻段(例如94.7M,或者101.7M,103.7M),“有效天線” 設定為RX1,“增益”設定為25dB左右, “采樣數”為200000。
5、FM解調配置:布爾控件可以選擇是否進行載波修正,“FM偏頻”設為30KHz,“載波偏頻”顯示接收到的載波頻率和估計的載波頻率之間的偏差。
6、運行VI,能夠聽到FM收音機接收到的信號聲音。
7、程序框圖解釋。整體程序框圖如下圖所示。
USRP編程部分在下圖頂部紅色框出,包括USRP接收機打開,參數配置,開始接收,連續讀取下變頻后的基帶波形數據,將讀出的波形數據存入右邊紅框中的基帶IQ移位寄存器中,左邊的小紅框是對移位寄存器的初始化。最后停止并關閉USRP,釋放資源。
下圖中間的大紅框中是對基帶波形的FM解調、重采樣和快速FFT變換。解調后的波形存入右邊小紅框的移位寄存器,左邊小紅框中對移位寄存器初始化。
下圖底部大紅框中是聲卡的編程,包括聲卡參數配置,初始化,連續向聲卡緩存寫入解調后的聲音數據,最后對聲音輸出清零。
三、基于軟件無線電的遙控車鑰匙(Key Fob Decoder – OOK)
1、該Demo只能使用USRP 2920(或者USRP N210)。
2、找到Demos中的Key Fob Decoder - OOK文件夾。這里有兩個VI,其中keyfob_decoder.vi執行OOK的解調算法,acquire_315mhz_keyfob.vi使用USRP采集315M信號、顯示波形,并調用keyfob_decoder.vi進行解調和判斷,將結果進行顯示。打開acquire_315mhz_keyfob.vi,會看到如下圖所示的前面板。
3、USRP參數配置:“設備名稱”中輸入USRP設備的IP地址,“正交采樣率”為200kHz,“載波頻率”設為315M(與所使用的無線發射器相匹配),“有效天線”為RX1或者RX2,”增益”設為合適的數值(1或者10),”刷新時間間隔”推薦為0.25s。
4、運行程序,按下無線發射器的按鈕,在前面板”按下的按鈕”中將顯示所按下的是哪個按鈕。
5、程序框圖解釋。整體程序框圖如下圖所示,包括USRP編程和基帶解調判斷兩部分。
USRP編程部分在下圖中紅線大框中,包括USRP接收機打開,參數配置,開始采集,連續讀取下變頻后的基帶波形數據,將讀出的波形數據存入右邊紅框中的基帶IQ移位寄存器中,左邊的小紅框是對移位寄存器的初始化。最后停止并關閉USRP,釋放資源。
基帶解調和判斷編程在keyfob_decoder.vi的子VI中完成,位于下圖紅色框中。該子VI執行OOK的解調算法,并判斷當前按鍵的位置。
注: 本實驗采用的無線發射器為Digi-Key 提供的315 MHz 無線車鑰匙(Digi-Key P/N: CMD-KEY5-315-ND),該無線發射器產生一個帶有同步信號、使用PWM調制的OOK信號,一長一短代表0,兩短代表1。)
總結
利用NI提供的軟件無線電USRP平臺及調制工具包,結合LabVIEW強大的圖形化編程和信號運算處理能力,我們可以輕松快捷的實現基于各種通信協議的應用。