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