題:
如何在gqrx中播放用rtl_sdr製作的頻譜錄音?
Paul
2014-09-05 16:59:58 UTC
view on stackexchange narkive permalink

我在Linux計算機上有一個R820T DVB加密狗和rtl_sdr軟件。

我可以使用gqrx軟件收聽各種頻率,該軟件使用rtl_sdr庫作為USB連接的加密狗的設備驅動程序。我(顯然)還得到了相鄰通道的頻譜範圍和瀑布顯示。因此,硬件和軟件在某種程度上可以正常工作。

現在我注意到rtl_sdr捆綁包中還有一個單獨的程序,也稱為“ rtl_sdr”,可以將一段頻譜記錄到硬盤上。

p>

以下是不帶參數運行rtl_sdr生成的使用情況提醒的摘錄:

  rtl_sdr,用於基於RTL2832的DVB-T接收器的I / Q記錄器用法:-ffrequency_to_tune_to Hz] [-s採樣率(默認:2048000 Hz)] [-d device_index(默認:0)] [-g增益(默認:auto為0)] [-p ppm_error(默認:0)] [-b output_block_size(默認值:16 * 16384)] [-n讀取的樣本數(默認值:0,無限)] [-S強制同步輸出(默認值:異步)]文件名('-'將樣本轉儲到stdout) 

為了進行測試,我想要一個響亮的連續窄帶FM語音信號,因此我嘗試使用

  rtl_sdr -f在162.55 Mhz上記錄本地國家氣象服務發射機162550000 -g35 -s 1000000 test1.dat  

我注意到這也記錄了162.55 Mhz附近的1 Mhz樣本。大文件可以快速製作。幾分鐘就淨賺了約300 MB。我注意到他的R820T很挑剔,不會總是設置低採樣率,這再次只是為了生成測試文件。如果我想讓它在其他某個頻率範圍上整夜運行,我會考慮找到一個較小的採樣率。

一旦錄製,什麼程序將播放這些文件?儘管gqrx可以播放I / Q樣本文件,但似乎無法播放rtl_sdr製作的文件。嘗試在gqrx中播放文件時,出現空白瀑布並且沒有音頻。

有什麼想法嗎?

相關:http://stackoverflow.com/questions/25587959/bin-to-cfile-flowgraph-for-grc-3-7-2-1/25655984#comment41364278_25655984
二 答案:
jcoppens
2014-09-06 03:54:29 UTC
view on stackexchange narkive permalink

我還沒有真正嘗試過,所以要當心!

我認為記錄在文件中的輸出實際上是某種格式的樣本。因此,我嘗試查找它,並找到了以下頁面:

http://sdr.osmocom.org/trac/wiki/rtl-sdr#rtl_sdr

頁面底部是gnu-radio的流程圖,該流程圖獲取檔案的內容並對其進行去隔行處理(隔行掃描是rtl_sdr記錄器用來交替記錄I和Q的技巧)。

顯然,樣本以無符號字節的形式存儲在原始文件中,並且此流程圖還可以將一個字節發送到頂部鍊或底部鏈。首先將它們轉換為浮點數,然後添加-127將其轉換為帶符號的值。最後,經過一定的縮放後,它們會重新組合成一個複雜的信號,這很可能是您最初從加密狗接收到的信號。

在流程圖中,它們保存了複雜的輸出轉換為* .cfile格式,但我認為您實際上可以將復雜信號輸入到原始接收器中以再次對其進行解碼。

enter image description here

如果您的原始想法是錄製音頻,將接收器音頻發送到wav_file接收器可能會更有用。這樣,您只需將其記錄為音頻即可。

編輯:縮放比例('8m')將-128到+127的樣本乘以-1.0到+1.0之間的標準化浮點值。 8m表示0.008,即(大約1/128)

感謝您發送給我。因此,問題在於該流程圖是一個可以在半小時左右的時間內用gnu無線電伴侶編寫的程序。 capture.bin是流程圖的輸入文件(由rtl_sdr製造),吐出的capture.cfile是輸出文件。該.cfile可以輸入gqrx,並且可以正常工作。而且不是。發出的音頻gqrx的頻率下移且非常慢。將該gqrx音頻記錄到.wav中,然後讓音頻播放器以正常速率的3倍播放該音頻。
是的...儘管您也可以將gnuradio用作命令行實用程序(並且這樣做可能會更快),但是作為臨時用戶,使用圖形方式當然更容易。
Paul
2014-10-14 10:02:25 UTC
view on stackexchange narkive permalink

可以仔細地按照以下步驟在rtl_sdr中的記錄在gqrx中播放:

  1. A B (A)使用上面@jcoppens發布的流程圖創建一個gnu廣播程序。可以在rtl-sdr站點上找到一個副本,但是正如Stack Overflow上的所述,rtl-sdr .grc文件使用了過時的模塊,必須在新的gnu廣播伴侶中重寫( 1小時的工作) OR (B)編譯並使用我為rtlsdr到gqrx轉換編寫的 Linux GCC程序
  2. 使用rtl_sdr進行SDR記錄,並記錄實際採樣率
  3. 運行步驟1中提到的轉換。注意:輸出.cfile的大小將是輸入.raw文件的4倍以上。
  4. 啟動gqrx,轉到“配置I / O設備”對話框
  5. 設置“設備字符串”以讀取在步驟3中生成的.c文件,並從步驟#中設置速率2
  6. 重要:將設備字符串正下方的“採樣率”框設置為步驟2中的速率。這似乎是多餘的(該速率也在設備字符串中),但顯然沒有(截至2014年10月)。如果留為空白,則採樣率將設置為您可能不需要的值(我懷疑是96k),並且即使該行顯示為空白,也會覆蓋設備字符串設置。將此行留空會導致音頻變慢。
  7. 單擊gqrx中的“電源”按鈕,將開始播放。
  8. ol>


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...