FM RDS

RDS(Radio Data System)是利用FM副載波頻率傳送一些資料和控制命令的規格,在美國叫做RBDS(Radio Broadcast Data System)。在歐美基本上這算是電台的標準配備,不過國內因為法令沒有規定的關係,所以大多的電台都沒有,一直到台灣開始有TMC服務,才有電台支援RDS。

RDS的raw data throughput為1187.5bit/s,一個封包是104bit/s,一秒鐘大約可以傳11.4個封包。一個封包扣除checksum後的有效資料是64bit,而扣除header之後的payload為32~40bits。這樣有多快?換算成一般的單位就是0.0456KB/s。

這麼慢的傳輸,可以做什麼呢?可以做的事很多,RDS定義了0A/0B一直到15A/15B共32種不同的應用。我們只挑幾個比較常見(其實是我只玩過這幾個)的來介紹:
PS(Program Service): 電台名稱,一共八個字元
AF(Alternative frequency): 替換頻率,在長途移動的時候可以自動幫你跳頻
RT(Radiotext): 電報訊息,最多可以到64個字元,一般會用來顯示目前的音樂名稱
CT(Clock-time and date): 包含日期、時間、時區,每分鐘發送一次。精度在+-0.1秒。
TMC(Traffic Message Channel): 即時路況
另外還有像ODA(Open Data Application),基本上你愛怎麼定義裡面的東西都不會有人管你。

目前在台北可以收得到PS的電台有
1. 警廣 94.3 = RDSIOT12
2. 警廣104.9 = RDSIOT11(前幾個月104.9收不到,原因不明)
3. ICRT 100.7 = ICRT(前幾個月看,是FM100.7)
4. 漢聲 106.5 = V.H.B.N.
漢聲都一直很容易收到,而警廣次之,ICRT通常要等很久,有時候訊號不佳就根本收不到。

AF不曉得狀況,像94.3他就只有一個94.3而沒有第二個頻率可選,而且「聽說」台灣有些電台RDS會亂送,結果車用音響導致頻率亂跳。
RT目前沒看到有人用的,再來TMC方面,目前有兩個系統,一是警廣(Garmin有在用),二是台北之音、ICRT、亞洲廣播網、雲嘉電台(Mio),不過除了ICRT以外好像只有專心在送TMC。

最後要提的是CT(校時),看起來只有漢聲有發。它的格式還滿特殊的,因為日期是Julian date,所以要用一串我根本看不懂的公式(註)去轉出來。再來會有UTC時刻和時區,就可以算出目前的時間。前兩天寫了手機上的FM校時程式(不必和我要,這個沒辦法通用所有的手機)。只要聽漢聲電台就會自動校正手機的時間,還滿好玩的:D

補充一下,五月份來到上海出差,發現上海這邊也收得到三台FM RDS電台資訊。有91.4(顯示SH91.4)、101.7(顯示101.7)、107.7(顯示SHANGHAI)。

根據測試,三個電台都有打開RDS校時的功能,不過和台灣漢聲的精準度(誤差在一秒以內)相比,只能算是聊勝於無,91.4/101.7和正確時間有二十秒左右的差異,而107.7的校時資訊則根本就是大錯特錯,比UTC+8快110分鐘左右,這...還不如不開對吧?


註:
Julian data的公式...我數學不好看嘸
//Convert Julian date to standard time
//EN50067:1998 Annex G
int Y, M, D, K;
Y = (int)(((double)jul_date - 15078.2)/365.25);
M = (int)(((jul_date - 14956.1)-(int)(Y*365.25))/30.6001);
D = jul_date - 14956 - (int)(Y*365.25) - (int)(M * 30.6001);
if ((M == 14)||(M == 15)) K=1; else K=0;
Y = Y + K + 1900;
M = M - 1 - (K*12);

留言

  1. 你好,
    方便跟您請教一下您是如何接收到RDS的?
    是RDS會存放在某個地方嗎?

    謝謝。

    回覆刪除
  2. 我是用之前案子的手機去做的,純屬個人興趣,基本上首先你要有一個支援RDS的FM chip,然後你再去讀取RDS的封包。

    回覆刪除
  3. [...] COPY FROM http://priv.tw/blog/archives/406: [...]

    回覆刪除
  4. 你好
    請問RDS RAW data 解析會很複雜嗎?
    因為我也想測試RDS ,所以想知道RDS資料是長怎麼樣的!!
    謝謝

    回覆刪除
  5. 並不會很複雜,就封包組合後做bit operation而已。我之前是看這一份文件: ftp://ftp.rds.org.uk/pub/acrobat/rbds1998.pdf

    rds forum後來還有一些新文章是可以參考的,不過我就沒有在看了,畢竟這純興趣而且在台灣沒有什麼應用,你可以在 http://www.rds.org.uk/2010/Publications.htm 這邊找到

    回覆刪除
  6. Sony Ericsson MW600 藍芽耳機的FM接收功能就可以顯示PS,
    另外有些內建收音機功能的手機也有.

    回覆刪除
  7. 你好, 請問兩個問題
    1. 目前台灣有電台支援 AF的嗎? 如果有,實際的跳頻環境在哪裡?
    2. 日前有看到 106.5 除了有出現 "V.H.B.N" - PS, 還有看到 "SPORT", 請問"SPORT"是 RT嗎?

    回覆刪除
  8. SPORT 應該是 PTY (Program Type).

    回覆刪除

張貼留言

這個網誌中的熱門文章

文言文

談談台灣人使用統傳漢字的優越心態

台灣工程師常唸錯的英文單字