白忙一場的 ADS-B 接收器
因為辦公室位在 19 樓而且視野不錯,我總想著要架個什麼 RF 裝置來收點什麽平常不容易收的東西。前一陣子弄了個 Meshtasic 的 repeater,但因為附近玩 Meshtastic 的人不多,大部份的訊息都還是 Internet relay 來的,覺得沒什麼意思。
這次我想來搞個 ADS-B 接收器,然後順便餵資料給 FlightRadar24,貢獻一下北台灣空域的 coverage (雖然應該已經很好了)。
我去淘寶上買了個 RTL2832U 的 USB DVB-T 接收器。
以及一個 1090MHz 的小天線。
因為 ADS-B 發射的頻率是 1090MHz,但 USB 接收器原來是設計給 DVB-T 用的,那根天線的頻段不會到這麼高,需要另外弄一根為 1090MHz 設計的天線。
東西到了之後,我就用 Raspberry Pi 裝了 FlightRadar24 的 Pi24 起來,然後把天線放到辦公室邊邊靠窗的位置。我想說就算松山機場方向被信義區的大樓擋住,但松山機場走 07 跑道起飛、KE1 離場程序的飛機在台北盆地東側時,跟我辦公室所在的位置很有機會有 LOS,所以一天收個十幾台的 ADS-B 應該不是問題。
但很奇怪的是,我把整套裝備放了兩天之後,一台飛機的訊號都沒收到。
我記得我在同樣的位置用 RTL-SDR 搭配之前買的 SDR 盒子,可以輕易收到松山塔台 118.1MHz 的對話,台北近場台 119.7MHz 也聽得到,怎麼 ADS-B 卻收不到呢?難道 1GHz 真的比較容易被擋住,一定要 LOS 才能收到?
我把 USB 接收器拔到 Mac 上,跑了 SDR#,頻率先調到 99.7MHz,解調模式用 WFM,確定我可以清楚聽到台北愛樂電台的聲音,這樣我就知道 USB 接收器的硬體沒有問題了。但天線有沒有問題其實很難說,因為 FM 廣播是在竹子山用超~大的功率發射的,在這個高度大概拉根曬衣繩都收得到。我再把頻率調到幾個航空通訊的頻道上,不管是松山塔台還是台北近場台,都可以聽到地面端的聲音,但飛機那一邊的訊號聽起來就有點弱。不過這可能是因為我用的天線不是 VHF band 的。
我決定在 Mac 上面裝一下 Cocoa1090,一個 ADS-B 的解碼器軟體。就在我把軟體都弄好,RTL-SDR 的 library 也設定好之後,打開 Cocoa1090,畫面上還是一台飛機都沒有,而且我非常確定 RTL2832U 的無線電有在運作,因為我看到 RTL-SDR 的 TCP server 有收到來自 Cocoa1090 的連線請求,而且照著需求設定了無線電相關的參數。
但就在我看著畫面上 RTL-SDR 吐出來的 log 時,我注意到了一行字。
上面寫著:[FC0012] No valid PLL combination found for 1090000000Hz。
我其實在 Raspberry Pi 上的 log 看過這行字,但我沒有去細究它。現在覺得越看越不對。我查了一下,原來前面那個 [FC0012] 是 tuner 晶片 Fitipower FC0012 的意思。
根據我多年前做 RF 系統的經驗,這行字看起來的意思是這個 USB 接收器裡面的 tuner 調不到 1090MHz 這個目標頻率。有這麼瞎的事嗎?
欸等一下,我記得我買 USB dongle 的時候,商品標題是 RTL2832U+R820T2 呀,那個 R820T2 就是 silicon tuner 的晶片型號,怎麼變成了 FC0012?
我用 silicon tuner 的型號去搜尋 ADS-B 相關的討論,果然看到一大堆人在說 FC0012 沒辦法收 ADS-B… 然後也找到了各 tuner 晶片的比較:
FC0012 真的只能到 948.6MHz =_=
可是賣家的商品頁上面寫的是 R820T2 啊?!我馬上到淘寶上去跟賣家抱怨…
結果講沒兩句,他就很乾脆的要我退款了…
我只好再去買一支確定裡面是 R820T2 silicon tuner 的 dongle,擇日再戰。
好啦,其實也不算白忙一場,我至少知道了這些 slilcon tuner 之間的差異。
820T2居然停產了?!
他鬼扯