利用USRP探索软件无线电(2)
1、引言
上次我們已經(jīng)完成了USRP X310和SDR軟件的安裝,這一篇的主要任務(wù)是利用GQRX進行查看頻譜和記錄數(shù)據(jù)。
利用GQRX和USRP研究SDR的主要流程如下:先通過查看頻譜確定感興趣的信號所在頻率;然后在GQRX主界面上將目標頻率設(shè)置為設(shè)備的中心頻率;對于AM、FM、CW等模擬信號,GQRX可直接解調(diào)并播放聲音;對于無法直接解調(diào)的信號,利用GQRX的IQ記錄工具將原始信號保存成文件,以便后續(xù)的離線分析。
2、查看頻譜
2.1 頻譜概念
時域(波形)和頻域(頻譜)是最常見的兩種表征信號的方式,大多數(shù)信號處理也都在發(fā)生在這兩個領(lǐng)域內(nèi)。傅里葉變換是溝通時域和頻域的工具:
利用傅里葉變換,可以從信號隨時間的變化f(t),得到信號在頻域的分布F(w),反之亦然。
頻譜是將F(w)可視化后的結(jié)果,準確的說應(yīng)該是功率譜P(w),反映了在哪個頻率上有多大能量的信號在發(fā)射。
常見的顯示方式有二維頻譜(頻譜圖,spectrum)和三維頻譜(瀑布圖,waterfall)。頻譜圖的橫坐標是頻率,單位一般為MHz,kHz,Hz,縱坐標是表示信號能量大小,單位一般為dBFS(滿量程分貝)。瀑布圖的橫坐標為頻率,縱坐標為時間,用顏色表征信號強度。
大部分頻譜監(jiān)視軟件包括GQRX都具有這兩種模式。
2.2 GQRX頻譜設(shè)置參數(shù)
2.2.1 FFT點數(shù)
每次參與FFT計算的樣本數(shù),一般為2的整數(shù)次冪,如256,512,1024...,65536等。FFT點數(shù)決定了生成頻譜的頻率分辨率。對于寬帶數(shù)據(jù),FFT點數(shù)越多,生成的頻譜越清晰細致。但對于窄帶信號,過大的FFT點數(shù)反而會讓生成頻譜模糊。這是因為功率譜計算(即短時傅里葉變換)基于信號的周期性,如果設(shè)置的FFT點數(shù)與實際信號不一致,就會導致頻譜的模糊。
例如用Adobe Audition分析一個44.1kHz的音頻文件,人發(fā)音的一個音節(jié)持續(xù)時間約為20毫秒,那么FFT點數(shù)應(yīng)當與44100*20/1000=882相當。
另外FFT點數(shù)越多,計算壓力越大,對機器配置要求越高。
2.2.2 FFT速率
也叫FFT幀速率,即每秒鐘進行運算FFT的次數(shù),GQRX下一般為設(shè)置為30Hz至50Hz。RTSA模式下的幀速率成千上萬,一般由硬件實現(xiàn)。
FFT速率決定了生成頻譜的時間分辨率,FFT速率越高,單位時間內(nèi)的幀越多,時間軸的分辨率越清晰。但是過高的FFT速率會讓一個本來只出現(xiàn)在一幀中的事件拉長至若干幀之中,產(chǎn)生時間擴散效應(yīng),造成信號時間軸邊緣模糊,見泰克公司的圖片和文章解讀頻譜分析中100%POI的誤區(qū)。
?2.2.3 其他參數(shù)
其他調(diào)節(jié)頻譜顯示的參數(shù)還有:窗函數(shù)類型,功率譜的基準和范圍、曲線平滑、最大最小保持、縮放平移等,運行GQRX時可隨時更改這些參數(shù)并查看效果。
2.3 實際接收效果
利用GQRX接收FM廣播和航空頻段:
https://www.bilibili.com/video/BV1AL4y1z7hf/https://www.bilibili.com/video/BV1AL4y1z7hf/https://www.bilibili.com/video/BV1AL4y1z7hf/
3、復信號
3.1 引入復信號
現(xiàn)有的絕大部分SDR設(shè)備輸出的原始信號數(shù)據(jù)為IQ數(shù)據(jù),即復信號。這里對復信號這一概念進行簡單說明。關(guān)于復信號理論的詳細了解可參考Richard G. Lyons的《Understanding Digital Signal Processing》第8章,以及John G.Proakis《數(shù)字通信》第二章。
信號處理中為什么要使用復信號?在直角坐標系下,復數(shù)同時具有實部和虛部,在極坐標系下,同時具有幅度和相位。因此,復數(shù)天然的適合描述與振動和波相關(guān)的物理現(xiàn)象。信號處理正屬于這種理論。復數(shù)早就存在于信號處理理論中,只不過在數(shù)字電路發(fā)明之前實現(xiàn)起來較為復雜。而在集成電路和DSP發(fā)明之后,信號處理的工程師們可以更加直接的、徹底的來實現(xiàn)這些理論。
復數(shù)在電路分析和電氣工程中應(yīng)用的更早。斯泰因梅茨(Charles Proteus Steinmetz)在1893年7月美國電氣工程師學會會議上發(fā)表了開創(chuàng)性論文《復數(shù)及其在電氣工程中的應(yīng)用》,使交流電路理論和分析發(fā)生了革命性的變化。他系統(tǒng)化地使用復數(shù)相量表示在電氣工程教育文本中,其中小寫字母“j”用于指定交流系統(tǒng)分析中的90度旋轉(zhuǎn)算子。他的開創(chuàng)性著作和許多其他論文“教了整整一代工程師如何處理交流現(xiàn)象”。復數(shù)在強電上好使,自然也能用在弱電上了。
https://en.wikipedia.org/wiki/Charles_Proteus_Steinmetzhttps://en.wikipedia.org/wiki/Charles_Proteus_Steinmetz
有的說法認為實信號是“實際上”存在的信號,復信號不是。這是誤解。實數(shù)和復數(shù)都是數(shù)學概念,不存在一個比另一個更“實際”。如果說“實際”是指能夠傳輸,那么你可以用兩根同軸線,將一個基帶信號的實部和虛部同時從一樓傳到二樓,這樣看復信號也很“實際”。其實對于OFDM信號,我認為就是在直接傳輸復信號,而且是多路并行的復信號。
3.2 一些名詞
通信系統(tǒng)歷史悠久,隨著技術(shù)的發(fā)展,一些名詞和術(shù)語在不同場合經(jīng)常具有不同含義,例如調(diào)制和解調(diào)。模擬時代的調(diào)制其實同時包含兩項工作:一是映射,即根據(jù)消息信號改變載波的幅度、相位、頻率其中一種或幾種屬性;二是實現(xiàn)頻譜搬移,以適應(yīng)無線信道特性。在數(shù)字信號處理廣泛應(yīng)用后,這兩部分被明確的分開了。頻譜搬移主要由射頻部分在ADC之前完成(根據(jù)架構(gòu)的不同,ADC之后也可能會有一點),調(diào)制解調(diào)等信息處理主要由DSP以數(shù)字形式完成。具體過程如下,在發(fā)送端,DSP實現(xiàn)信號處理算法,將消息信號(低頻實信號)映射為已調(diào)信號(基帶復信號),然后經(jīng)DAC和射頻部分轉(zhuǎn)換為射頻信號,再經(jīng)過天線發(fā)射到空中;在接收端,天線接收的射頻信號由射頻部分和ADC完成下變頻,得到基帶信號,然后送入DSP解調(diào),得到消息信號。
本系列中,消息信號和已調(diào)信號這兩個名詞主要關(guān)注消息映射的過程,而基帶信號和射頻信號主要關(guān)注頻譜搬移。以發(fā)送端為例,說明下列名詞的含義:
- 消息/調(diào)制信號(message/modulating signal):在模擬時代,通信終端直接面向人,包含具體信息的信號(如聲音和圖像)可以直接作為消息信號,或者經(jīng)過簡單處理即可作為消息信號。在數(shù)字時代,通信終端直接面向計算機,聲音、圖像、文字等信息需要在計算機中經(jīng)過采樣編碼、應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層等過程,然后輸入通信終端完成物理層處理,人已經(jīng)無法直接理解和產(chǎn)生這些消息信號。
- 已調(diào)信號(modulated signal):使用消息改變載波某些屬性后的結(jié)果。在模擬時代,產(chǎn)生的已調(diào)信號一般是通帶實信號。在數(shù)字時代,已調(diào)信號主要由DSP產(chǎn)生,一般是基帶復信號。
- 基帶信號(baseband signal):零頻附近的信號。在模擬時代,基帶信號一般就指消息,是實信號。在數(shù)字時代,基帶信號一般指DSP輸出的已調(diào)信號,是復信號。
- 通帶/射頻信號(passband/RF signal):在空中傳播的信號、天線發(fā)送和接收的信號。在模擬時代,已調(diào)信號已經(jīng)是通帶信號。在數(shù)字時代,DSP輸出的已調(diào)信號由DAC完成轉(zhuǎn)換,得到通帶信號。
3.3 復信號的產(chǎn)生
下圖是一個中心頻率為的通帶信號的頻域表征,其中實線表示幅度譜,虛線表示相位譜。由于通帶信號是實信號,其頻譜具有厄米特對稱性,也就是幅度譜關(guān)于縱軸偶對稱,相位譜關(guān)于縱軸奇對稱。
那么從通帶信號到基帶信號總共分幾步?——兩步。?
第一步,把通帶信號的位于縱軸左側(cè)的那一半頻譜濾除,得到一個新的頻譜,如下圖所示。很明顯,這個頻譜不再具有對稱性,因此是一個復信號。這個信號稱為通帶信號的解析信號(analytic signal),也叫預包絡(luò)(pre-envelope)。
第二步,將解析信號進行混頻,將頻譜向左移動,就得到了基帶信號,如下圖所示。
4、記錄IQ數(shù)據(jù)
通過GQRX的存儲的信號文件只包含原始數(shù)據(jù),沒有任何元數(shù)據(jù)信息。記錄時間、中心頻率、采樣率等元數(shù)據(jù)都寫到文件名中。默認的文件名格式為gqrx_日期_UTC時間_中心頻率_采樣率_fc.raw。例如:
gqrx_20211013_064329_94500000_250000_fc.raw
文件名中的fc表示float complex,與gnuradio的cf32(complex float 32bits)格式相同。其他常見的格式還有cs16(complex signed 16bits),cs8(complex signed 8bits),cu8(complex unsigned 8bits)等。每個復信號樣本包含實部(也叫同相In-phase)和虛部(也叫正交Quadrature),實部和虛部各自是一個32bits的浮點數(shù),所以一個樣本的長度為64bits。文件中樣本的存儲格式類似雙聲道wav文件:
I0 Q0 I1 Q1 I2 Q2 ......
得到IQ原始數(shù)據(jù)后,后續(xù)的主要工作便是圍繞這些數(shù)據(jù)開展。下一篇將錄制和分析最簡單的AM和FM模擬信號。
總結(jié)
以上是生活随笔為你收集整理的利用USRP探索软件无线电(2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息搜集有妙招
- 下一篇: 电脑连接了网络却打不开网页