1、什麼是SDR?
軟體定義的無線電(Software Defined Radio,SDR) 是一種無線電廣播通信技術,它基於軟體定義的無線通信協議而非通過硬連線實現。頻帶、空中接口協議和功能可通過軟體下載和更新來升級,而不用完全更換硬體。
2、BladeRF介紹:
可以看到六款SDR設備的對比,包括HackRF One、USRP B200\USRPB210、BladeRFx40、RTL-SDR、LimeSDR。
BladeRFx40是USB3.0的一個全雙工28Mhz單通道一個無線電設備,射頻範圍在300Mhz-3.8Ghz,收發獨立的12-bit精度40MSPS正交採樣率,板載200Mhz ARM9處理器,搭載了可編程FPGA。
不像HackRF、LimeSDR、USRP還需要外部時鐘雖說LimeSDR的內部時鐘精度高,但是每次運行起來後FPGA發燙嚴重,甚至我感覺每次使用後都可以去煎一個雞蛋了。
最近小編的LimeSDR已經借給小夥伴了,所以說這次給搭建寫一篇關於BladeRF的頻譜圖成像。
當然了其實也可以利用身邊的手臺,進行這樣的操作。
3、原理介紹
首先我給大家科普一下SSTV(慢掃描電視Slow Scan Television),最初只能用來傳輸黑白圖像,現在則主要傳輸色彩圖像,慢掃描電視技術可以通過普通的3KHz話音通道傳輸畫面,所以業餘無線電愛好者的這項技術也被運用再其他領域中,稱為「靜止畫面傳輸」
再電視、傳真等技術中,自畫面左端到右端的一條水平線上的像素稱為一行。傳送像素的順序通常採用從畫面左上角開始,自左到右、自上到下的,一行一行、逐個像素的傳送,稱為掃描。這樣掃描一次得到的畫面稱為一幀。
本文所介紹的頻譜圖成像和SSTV的原理類似,只不過是將圖像轉換成射頻信號進行發射出來,先後順序不同,因為在頻譜當中,是向下傳輸的,所以順序是從圖像的下方然後向上進行發射射頻信號,來產生頻譜圖,而在這裡只是能傳輸黑白的圖像罷了。
4、動手操作
接下來我們就講解一下,如何利用BladeRF x40進行頻譜圖成像。
(1)如何安裝並修改圖像
首先git clone
https://github.com/polygon/spectrum_painter
在這裡下載完畢後直接運行的話會缺少三個依賴,click、numpy、scipy
首先切換到spectrum_painter
cd spectrum_painter
然後執行
pip install --user -e .
再切換到cd spectrum_painter
執行python img2iqstream.py --help
可以看到選項設置
-s 設置採樣-l 每行顯示時間-o輸出生成的文件名--format是輸出的格式這裡的話分別有float、bladerf、hackrf、
然後再當前目錄執行
python img2iqstream.py -s 1000000 -l 0.004 -o Eversec.bladerf --format bladerf examples/water.png
我這裡的話生成的是Eversec.bladerf文件 然後我將logo放入了examples目錄下
這裡要注意 一定要修改一下自己定義的圖像,我這裡的話使用的是水滴安全實驗室的logo圖像作為這次實驗的對象,原圖的話是彩色的,我這裡將原來的圖像用photoshop修改了一下,將要顯示出來的圖像填充成白色,然後底部圖層填充成黑色,這樣的話就可以正常生成文件了。
(2)如何使用BladeRFx40發送射頻信號
我這裡使用的是BladeRF x40
首先加載FPGA
從官網上下載
https://www.nuand.com/fpga_images/
我下載的是hostedx40.rbf
執行
bladeRF-cli -l hostedx40.rbf
這樣設備的三個黃色的燈就被點亮了,
然後進入bladerf
bladeRF-cli -i
然後輸入version
可以看到固件信息還有fpga的版本信息v0.7.3
輸入info
可以看到fpga已經加載成功了。
如果不知道set如何配置我們可以輸入
help set
當然還有tx的選項配置介紹
help tx
首先我們設置vga
Set txvga1 -20
設置帶寬
set bandwidth tx 1750000
設置頻率為433Mhz
set frequency tx 433000000
然後我們配置一下tx
tx config file=Eversec.bladerf format=bin repeat=1
這裡的話就是設置發射的文件為Eversec.bladerf 還有發射次數
在這裡如果不確定自己配置是否正常 可以運行print來查看自己的配置信息
我們要注意一下任何個人和單位不得私自佔用,幹擾無線電通訊的正常運行
(3)Gqrx查看頻譜圖
接下來我使用的是rtl2832u來看頻譜圖
運行gqrx
在gqrx的input controls選項中不要選擇Swap I/Q ,否則在頻譜圖上看到的則是翻轉的圖像了。
點擊左側那個播放按鈕
然後再bladerf中輸入tx start
這樣即可在gqrx中看到我們的logo了。
(4)視頻演示