一種車載收音機的搜臺濾波方法
【技術領域】
[0001]本發(fā)明涉及一種車載收音機的搜臺濾波方法,屬于移動通訊設備技術領域。
【背景技術】
[0002]隨著汽車電子技術的發(fā)展,收音機已經成為汽車上常用功能,但由于汽車上有車速信號漂移、車身信號干擾和外部環(huán)境干擾等因素,在不同時間、不同地點、甚至不同收音機天線等硬件參數情況下,如何使得車主收聽到信號好的收音機電臺,已經成為車載收音機的一大技術難題。目前國內前裝和后裝車載收音機很多都是通過配置收音機模塊的參數,設定一個強度門限值,在搜臺時,只要讀取電臺頻點的信號強度大于門限值,都會被認為是好的電臺,門限值高了,導致很多好的電臺搜不到,門限值低了,導致搜到很多信號不好的電臺。
【發(fā)明內容】
[0003]為了解決現有技術的不足,本發(fā)明提供了一種車載收音機的搜臺濾波方法,在初始化時設置一個低的強度門限值,啟動收音機模塊,先全波段自動掃臺,選取一組信號強度值最大的頻點存入數組隊列中。在自動向上或向下搜臺時,會在數組隊列中查找和比較,來判斷搜臺的結果。在掃臺時,根據最新頻點數據更新一組信號強度最大的頻點數組隊列,再從其中選取信號強度最大的頻點存入存臺列表。車載收音機主要波段有兩類,調頻(FM)和調幅(AM),由于國內一般都是收聽FM波段電臺,所以本方法主要圍繞FM波段搜臺展開,但此方法同樣適合AM波段搜臺。
[0004]本發(fā)明為解決其技術問題所采用的技術方案是:提供了一種車載收音機的搜臺濾波方法,包括以下步驟:
[0005](I)對收音機模塊初始化,所述初始化包括存臺列表初始化、數組隊列初始化、信號門限值設置、偏移量設置、搜臺頻點設置、步頻設置以及全波段范圍設置;所述存臺列表為用于存儲I個以上波段數據的清單,各波段數據包括I個以上電臺數據,每個電臺數據包括電臺的頻點和信號強度值;所述數組隊列為用于存儲η個電臺數據的線性數組;
[0006](2)啟動收音機FM模塊,在全波段范圍內進行自動掃臺得到一組電臺,按信號強度值從大到小選取其中η個電臺,將η個電臺的電臺數據存入數組隊列;
[0007](3)選擇FM向上或向下搜臺,或者FM掃臺;
[0008]若選擇FM向上或向下搜臺,則進行步驟(al)至步驟(a3):
[0009](al)從當前搜臺頻點開始,以步頻為搜臺間隔進行向上搜臺或向下搜臺,設置頻占.V,
[0010](a2)讀取當前電臺的信號強度值,并查詢該信號強度值是否在數組隊列中,如果在,則停止搜臺,播放當前電臺;否則進入步驟(a3);
[0011](a3)如果當前電臺的信號強度值大于門限值加上偏移量的和,則停止搜臺,播放當前電臺;否則進入步驟(a4);
[0012](a4)檢查是否搜臺一圈,若已搜臺一圈,則結束搜臺;否則增加或減少步頻,返回步驟(a2);
[0013]若選擇FM掃臺,則進行步驟(bl)至步驟(b4):
[0014](bl)從全波段范圍的最小頻點開始以步頻為搜臺間隔向上搜臺,進行步驟(b2)至(b4);
[0015](b2)讀取當前電臺的信號強度值,如果大于信號門限值,則判斷數組隊列是否存滿,如果未存滿則將當前電臺的電臺數據存入數組隊列;如果數組隊列存滿,則依次比較數組隊列中各電臺數據的信號強度值,查找其中最小信號強度值對應的電臺數據,將該電臺數據跟當前電臺數據比較,如果強度值比當前電臺數據小,則從數組隊列中刪除,將該刪除的電臺數據以后的各電臺數據依次向前移動一個存儲位置,把當前電臺數據存入數組隊列最后位置;如果強度值比當前電臺數據大,則放棄當前電臺數據;
[0016](b3)檢查當前電臺的頻點是否是全波段范圍的最大頻點,若不是,則增加步頻,重新設置搜臺頻點,返回步驟(b2);否則停止搜臺,進入步驟(b4)
[0017](b4)根據電臺數據的信號強度值對數組隊列進行排序,按信號強度值從大到小選取一組電臺,將該組電臺的電臺數據存入存臺列表中,用于播放。
[0018]步驟(I)所述的全波段范圍設置為87.5MHz?108.0MHzο
[0019]步驟(I)所述的信號門限值設置為+23dB以下。
[0020]步驟(I)所述的偏移量設置為+8?+15dB。
[0021]步驟(I)所述存臺列表為用于存儲2?3個波段數據的清單,其中各波段數據包括5?10個電臺數據,每個電臺數據包括電臺的頻點和信號強度值。
[0022]步驟⑴所述數組隊列為用于存儲20?30個電臺數據的線性數組。
[0023]步驟(3)中,利用按下向上或向下搜臺按鍵以選擇FM向上或向下搜臺,利用按下掃臺按鍵以選擇FM掃臺。
[0024]本發(fā)明基于其技術方案所具有的有益效果在于:
[0025](I)本發(fā)明設置有向上或向下搜臺以及FM掃臺兩種模式,向上或向下搜臺滿足用戶搜到好臺即開始搜聽的需求,FM掃臺滿足用戶對好臺進行存儲,待需要使選擇收聽指定電臺的需求;
[0026](2)本發(fā)明初始化后,首先進行快速的全波段自動掃臺,通過預先選擇比較好的頻點存入數組隊列中,該數組隊列利用線性數組來存儲電臺數據,便于快速存儲和修改,在自動向上或向下搜臺時,通過跟數組隊列比較,選出來的好臺是最好的頻點之一,有效規(guī)避了頻繁停臺的難題;
[0027](3)本發(fā)明的方法直接對掃到的電臺進行比對,有效的規(guī)避了車載收音機內部和外部環(huán)境等因素的干擾,同時有效的規(guī)避了鄰臺的信號判斷;
[0028](4)本發(fā)明在搜臺和掃臺的過程中,采集和記錄收音機電臺的強度信號值,根據電臺信號強度,自動進行查找排序,選擇好的信號電臺,淘汰差的信號電臺,有效的解決了汽車上收音機搜臺的難題,大大提升了搜臺結果的一致性。
【附圖說明】
[0029]圖1是本發(fā)明的電臺數據的數據結構示意圖。
[0030]圖2是本發(fā)明的數組隊列數據結構示意圖。
[0031]圖3是本發(fā)明的存臺列表數據結構示意圖。
[0032]圖4是本發(fā)明的排序算法流程示意圖。
[0033]圖5是本發(fā)明的搜臺流程示意圖。
【具體實施方式】
[0034]下面結合附圖和實施例對本發(fā)明作進一步說明。
[0035]參照圖5,本發(fā)明提供了一種車載收音機的搜臺濾波方法,包括以下步驟:
[0036](I)對收音機模塊初始化,所述初始化包括存臺列表初始化、數組隊列初始化、信號門限值設置、偏移量設置、搜臺頻點設置、步頻設置以及全波段范圍設置;其中信號門限值盡量設置低一點,可以設置為+23dB以下;不同收音機芯片數據不一樣,可以將偏移量對應的信號強度值設為+8?+15dB之間的數據;國內FM的波段范圍為87.5MHz?108.0MHz,可以將此作設置為波段范圍;
[0037]所述數組隊列為用于存儲一組電臺數據的線性數組,如圖2所示,可以存儲25個電