1. 程式人生 > >用HackRF和Gqrx來聽FM廣播

用HackRF和Gqrx來聽FM廣播


本文內容、開發板及配件僅限用於學校或科研院所開展科研實驗!

由於有客戶拿到HackRF後用Gqrx來聽FM廣播的時候,一開始可能會碰到無法聽到聲音的情況,因此,本文將簡單明瞭的介紹一下用HackRF來聽FM的操作步驟。

前提假設您已經在電腦中安裝配置好了HackRF的host以及Gqrx。如果在這方面碰到無法解決的問題的可以留言,或者如果想用作者配置好的映象的可以進入作者淘寶店鋪聯絡店主即可。

步驟1:用USB線,連線HackRF至電腦,在命令列下輸入hackrf_info檢視HackRF基本資訊。注意下圖中紅框中的這個序列號在接下來的Gqrx中會用到。


步驟2:命令列輸入gqrx,啟動gqrx介面如下,你會發現我的gqrx因為之前執行過這個HackRF板子,所以下圖中的紅框中已經顯示了Gqrx 2.5.3 - hackrf=3d72cf。


但是,如果你是第一次執行gqrx的話,需要你點選一下上圖的藍框按鈕,開啟如下對話方塊介面:點選左邊圖片中的Device選項下拉列表,選擇HackRF HackRF One。。。後介面會變成右邊的樣子,注意觀察左右兩圖的紅框中的變化。完成後點選OK。


步驟3:設定好如下圖所示的頻率103.9MHz後,並按照下圖右邊的Receiver Options中所示的來設定。

Filter Width:Normal,

Filter Shape:Normal,

Mode:WFM(Mono),

AGC:Fast

點選藍色框中的開始按鈕開始接收訊號。這時候你可能什麼也聽不到,不要著急。接下來你需要做的是調節Squelch的值。


步驟4:慢慢調整Squelch的值,當你看到如下圖紅框中所示的變化時,就應該能聽到吱吱的聲音了,但是不要高興的太早,這時候的聲音是雜音,還不是我們想要的FM廣播聲音。


步驟5:在聽到吱吱雜音之後,我們需要通過調整Input controls選項來實現聽清的效果。當你把Hardware AGC前的框中的對號取消後,你就可以隨便調整RF、IF和BB Gain了。通過加大這三者的值,你就可以清楚的聽到103.9MHz北京交通廣播的聲音啦!

相關推薦

HackRFGqrxFM廣播

本文內容、開發板及配件僅限用於學校或科研院所開展科研實驗! 由於有客戶拿到HackRF後用Gqrx來聽FM廣播的時候,一開始可能會碰到無法聽到聲音的情況,因此,本文將簡單明瞭的介紹一下用HackRF來聽FM的操作步驟。 前提假設您已經在電腦中安裝配置好了HackRF的h

LimeSDR USB 使用gqrx收聽FM廣播

   使用SDR收聽FM是檢測SDR裝置簡單的辦法,limeSDR到手了,也要看看能不能收聽FM廣播。 首先是確定自己的limeSDR驅動是安裝好的,SoapySDR驅動也是OK的。 可以看到Soapy是支援lime的,當然我把大部分市面上的SDR支援包都裝了,

擴充套件包含構造例 - Structuring Use Cases with Extend and Include

什麼是用例圖? 用例描述了一個演員和感興趣的系統之間的一系列互動,以達到某種特定目標,並由某種觸發事件引發。用例滿足需求或為演員解決問題。用例圖包含一組用例,可以通過從每個角色的不同角度講述系統將如何使用的“故事”來開發。 用例圖指南 確保每個用例都能滿足可觀察的使用者目標 用例圖沒

一個Brogrammer啤酒杯子詮釋資料結構

最近網上有一組比較火的圖片,它是由一個Brogrammer(什麼是Brogrammer)使用啤酒和杯子的擺放來介紹一系列典型的資料結構,非常的形象。 一般來說,程式設計師喝酒是大忌,因為程式設計需要用腦子,要邏輯清晰。但就像前面介紹Brogrammer所說的,凡事都在進化,一方面,程式設計環境、程式

localStoragesessionStorage儲存資料

在HTML5中,新加入了一個localStorage特性,這個特性主要是用來作為本地儲存來使用的,解決了cookie儲存空間不足的問題(cookie中每條cookie的儲存空間為4k),localStorage中一般瀏覽器支援的是5M大小,這個在不同的瀏覽器中localStorage會有所不同。

MarkdownLandslide寫PPT

之前寫了一篇《Markdown:讓書寫更美好》來介紹Markdown的豐富工具鏈。今天為了給公司分享Markdown,實驗了一把用Markdown來寫PPT。本文介紹如何使用Landslide來製作一個極客範兒的PPT。 效果演示圖:

教你認知人性做最棒的程序員

清晰 公共函數 最重要的 財報 易懂 one 很好 測試的 phone 不久前,在團隊內部和大家做了一次分享,內容就是這次要講的“用認知和人性來提升自己的技術水平”,大家反響不錯,所以這次整理一下也分享給大家。最初我是想用“借優秀的產品經理思維來做最棒程序員”的這個標題,但

【騰訊TMQ】【測試左移專欄】PowermockMockito做安卓單元測試

作者:ZeusL 團隊:騰訊移動品質中心TMQ 一、單元測試及Android單元測試簡介 慣例,先簡單介紹下理論知識,懂得的可以跳過。 1、單元測試定義和特性 單測定義: 在計算機程式設計中,單元測試(Unit Testing)又稱為模組測試,

大數據DDos檢測——DDos攻擊本質上是時間序列數據,t+1時刻的數據特點t時刻強相關,因此HMM或者CRF做檢測是必然! 一個句子的分詞算法CRF沒有區別!

科學 設計 區別 背景 file 最優化 model 安全 學習 DDos攻擊本質上是時間序列數據,t+1時刻的數據特點和t時刻強相關,因此用HMM或者CRF來做檢測是必然!——和一個句子的分詞算法CRF沒有區別!註:傳統DDos檢測直接基於IP數據發送流量來識別,通過硬件

看看Google出品的Protocol Buffer,別僅僅會JsonXML了

println 輸出流 基本數據類型 下一個 ebr sid 官網 序列 reg 前言 習慣用 Json、XML 數據存儲格式的你們,相信大多都沒聽過Protocol Buffer Protocol Buffer 事實上 是 Google出品的一種輕

作業題:輸入4個整數,找出其中最大的數。一個函數實現. 分別使用結構化方法函數嵌套的方法。

system 是否 進行 如果 div 使用 clu 函數 整型 之前在main()函數中的思路是: #include <iostream> using namespace std; int main(){ //求四個數中最大的數? /

通過FTP服務端實現匿名基本戶的訪問,可以實現文件上傳下載。通過web網站瀏覽內容

ges 用戶 分享圖片 size 下載 mark col term http 通過FTP服務端來實現匿名用戶和基本用戶的訪問,可以實現文件上傳和下載。通過web網站來瀏覽內容

以太坊開發DApp實戰教程——區塊鏈、星際文件系統(IPFS)、Node.jsMongoDB構建電商平臺

IPFS 區塊鏈電商 區塊鏈開發 以太坊開發 以太坊dapp 以太坊教程 智能合約 以太坊 星際文件系統 區塊鏈 第一節 簡介 歡迎和我們一起來用以太坊開發構建一個去中心化電商DApp!我們將用區塊鏈、星際文件系統(IPFS)、Node.js和Mong

算法:兩個棧實現一個隊列,完成隊列的PushPop操作。 隊列中的元素為int類型。《劍指offer》

pack 代碼 exception 隊列 imp scrip 入棧 return tro 算法:用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。《劍指offer》 利用棧來進行操作,代碼註釋寫的比較清楚:首先判斷兩個棧是否是空的:

面試題9-兩個棧實現一個隊列,完成隊列的PushPop操作

ati import str highlight print row pty 用兩個棧 div 題目 用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。 思路: 一個棧壓入元素,而另一個棧作為緩沖,將棧1的元素出棧後壓入棧2中

面試題9-兩個棧實現一個佇列,完成佇列的PushPop操作

題目 用兩個棧來實現一個佇列,完成佇列的Push和Pop操作。 佇列中的元素為int型別。 思路: 一個棧壓入元素,而另一個棧作為緩衝,將棧1的元素出棧後壓入棧2中 程式碼  import java.util.Stack;

ThinkPHP5.0下,利用CookieSession存儲戶信息

gin rect 開啟 cookie con _id session func Nid 利用tp5框架封裝好的Cookie類和Session類。若發現過期時間沒有生效,可以試試清除緩存。 登錄頁面Login.php <?php/** * Created by PhpS

兩個棧實現一個佇列,完成佇列的PushPop操作。

劍指offer程式設計題 用兩個棧來實現一個佇列,完成佇列的Push和Pop操作。 思路:由於佇列是先進先出的,而棧是先進後出的,所以要用2個棧來實現佇列的入隊出隊功能,佇列的入隊功能與棧的一樣,出隊時,先將第一個棧中的元素全部彈出,並倒入到第二個棧中,將第二個棧中棧頂元素彈出,

什麽樣的策略方法實現系統緩存?

服務器 耗時 緩存服務器 time 緩存策略 自定義緩存 情況下 直接 集群 在ASP.NET 中緩存有頁面緩存,數據源緩存,和一些自己定義的緩存! 對於那些整個頁面不經常變化的我們可以使用頁面緩存,而對於那些執行非常耗時的SQL 語句並且數據的及時性要求不高的我們可以使用

兩個棧實現一個佇列,完成佇列的PushPop操作。 佇列中的元素為int型別。

class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(