呂宗武
一種用于無線列調信令軟件解碼的算法
呂宗武
摘 要:介紹了一種對無線列調信令解碼的獨特算法。通過分析傳統的信號處理方法,找到了一種簡便、快速而又實用的方法,取名“三點法”,并用數字信號處理器DSP加以實現,在實際應用中得到很好驗證。
關鍵詞:無線列調;三點法;數字信號處理器
在2000年左右,鐵路列調產品上使用的亞音頻信號 (300Hz以下)及音頻信號 (300~3400Hz),其檢測是通過硬件芯片來完成的。近年來隨著使用標準要求的提高,該檢測方法已難以適應。比如:①要求被檢測信號要在1%(或可變)范圍內才有效;②要求解碼混在一起的多種信號。這樣原來的硬件解碼就存在穩定性差、可靠性不高,適應性差,無法應對多種需求等不足。就需考慮一種好的軟件解碼算法,依靠數字信號處理器DSP芯片強大的運算能力,完成信號解碼。
亞音頻信號軟件解碼算法很多,大體上可分為2類:一類是時域的,一類是頻域的。但不一定能滿足某些特別要求。
對于干凈的單一信號,時域的處理方法可以對低頻信號測周期,對高頻信號測頻率,還能保證精度。但如果信號里混有各種噪聲,且噪聲比信號還大,時域的處理方法就有問題了,雖說可以濾波,但效果并不理想。特別要檢測混在一起的幾種信號,就不大可能了。
頻域的處理方法可以用離散傅里葉變換DFT。圖1是186.2 Hz的信號,以1200 Hz頻率采樣,分別用DFT計算采樣點數N為200(上圖)和1200(下圖)的頻譜。

圖1 186.2Hz信號頻譜圖
很明顯,計算的采樣點越多,分辨率越高。如果用DFT計算200個采樣點,分辨率為1200/200=6 Hz;如果計算1200個采樣點,分辨率為1200/1200=1 Hz。如果要求能準確檢測1%的信號,則分辨率要能達到0.2%以下才能正常應用。比如對186.2 Hz的信令,分辨率需要在0.4 Hz以下,才能在1%的范圍內準確判斷有無一個極大值點。如果用 DFT計算頻譜,采樣頻率為 fS=1200 Hz,那么至少需要采1200/0.4=3000點,采樣持續時間要2 s多,且所需要乘法運算量至少超過3000×3000=9×106的量級,總的反應太慢。即使用FFT能減少一些計算量,但要達到要求的指標,仍需2 s多的采樣時間,沒有質的變化。
假設信號里含有某一頻率Acos(ω0t+φ)的信號,則只需用一相同頻率的信號cos(ω0t)就可將其提取出來:

要完成亞音頻信令的解碼,實際就是要準確地檢測某一信令在允許的范圍內是否存在一個信號強度的極大值點。用DFT需要那么多的采樣點就是為了在某種分辨率下找到相應的極大值點,從而判定其解碼或非解碼。這里有一種方法很巧妙地解決了這一問題。
如果要在1%范圍內解碼186.2 Hz的信令,設想如果算出186.2Hz及186.2(1+2%) =189.924 Hz和186.2(1-2%) =182.476 Hz 3個頻點的信號強度值,且186.2 Hz的信號強度比其兩邊點的信號強度都強,并達到一定的幅度,則可斷定在1%范圍內有極大值點,也就是有滿足要求的信號,信令可解碼,否則非解碼,這就是“三點法”。用這種方法對頻率分辨率的要求大為降低,采樣點數要求也少了,原來要3000點,現在只需200點。這樣完成單一頻率的解碼只需3×200=600次乘法,而用DFT要600萬次。三點法運算量僅為DFT的萬分之一。并且精度可以隨意指定,如要在0.5%范圍內解碼186.2 Hz的信號,只需將計算的 3點改為186.2 Hz,186.2(1+1%) =188.062 Hz和186.2(1-1%) =184.338 Hz 3個頻點即可,非常簡單、方便。
現在將信令的解碼算法作一歸納。
1.如果要解碼的信號頻率為f0,允許偏差為±δ%,那么需要計算3個頻點的信號強度:f0,f0(1+2δ%),f0(1 - 2δ%) 。
2.每個頻點的信號強度計算如下:生成2個與該頻點頻率一樣的本地余弦函數,且二者剛好相位差90°。用這2個信號分別與原始信號作乘累加,采樣點數作適當選取,最后將2個累加值平方后相加。亞音頻信號200個采樣點足夠,音頻信號可用300個采樣點。
3.有無檢測到該信號的判定規則為:如果f0的信號強度達到一定幅度要求 (這可以成為一個門限,太小信號不理睬),且f0的信號強度比旁邊2個點的信號強度都大,則認為在f0±δ%f0范圍內檢測到該信號,否則認為沒有。
在實際應用中,要對亞音頻信號解碼,采樣頻率可取1200Hz,用三點法只需200個采樣點,采樣時長200/1200約160 ms,運算量600次乘法運算。如果要對音頻信號解碼也很簡單,采樣頻率可取12000 Hz,用三點法只需300個采樣點,采樣時長300/12000約25 ms,運算量900次乘法運算。
在鐵路無線列調車臺和站臺上,運用三點法取得了很好的效果。解碼非常穩定,隨溫度變化也小,而且這種算法運算量少,一個TI 2000系列的DSP芯片都能很輕松完成幾十個頻率的亞音頻、音頻的單一及混合解碼。
本算法對信令解碼有獨到之處,信令的允許頻率偏差和幅度要求都可以用軟件精確設定門限,優于硬件檢測,有廣闊的應用前景。
Abstract:A special algorithm to decode command signal on radio train dispatching by software is introduced in this paper.After analyzing various traditional algorithm,we found a simple,fast and useful algorithm ,called Three-Point Algorithm.It was realized on DSP,and verified in many applications.
Key words:Radio Train Dispatching;Three-Point Algorithm;DSP
呂宗武:深圳科安達電子科技股份有限公司研究所 助理工程師518034 深圳
2012-03-12
(責任編輯:溫志紅)