軟件搜索電臺
發布時間:2013/11/16 15:10:20 訪問次數:1702
BK1088提供了硬件搜臺(Seek)和軟件搜臺(Tune)兩種不同的搜臺方式。BU-65171 S3/S6為了顯示搜臺進度,本機選用了軟件搜臺方式。在分析軟件搜臺前,先理解兩個概念:真臺與偏臺。
真臺:DSP收音機芯片設置的頻點與電臺的頻率相同時,芯片的接收效果最好,這時在當前頻點接收到的電臺稱之為真臺。
偏臺:某一電臺的信號,除了在真臺頻點上可以接收到,在真臺頻點左右臨近的頻點上有時也可以接收到,在這些臨近頻點收到的同一電臺稱之為偏臺。偏臺的每個頻點上都Tune-次,每次Tune完成后需要讀出相關寄存器中的數據,控制軟件通過這些數據來判斷當前頻點接收到的信號是否為真臺。這樣的操作循環進行,直
至搜索完整個頻段。
在FM接收模式,軟件搜臺時,控制軟件要讀取的寄存器有:REG10 [12】,對應的數據稱之為AFCRL (AFC超界)+REG10[6:0],對應的數據稱之為RSSI(實時信號強度指示);REG9[6:0],對應的數據稱之為SNR(信噪比);REG9[15:f],對應的數據稱之為AFC值。
在某個頻點上,軟件判斷接收到的信號是否為真臺的過程需要以下5個步驟:
1 是否AFCRL=O,是,AFC未超界,可能是真臺,繼續下面的判斷,否則,AFCRL=1,AFC超界,設置到下一個頻點并返回步驟1重新判斷。
2是否RSSl>39,是,實時信號強度符合要求,可能是真臺,繼續下面的判斷,否則,設置到下一個頻點并返回步驟1重新判斷。
3是否SIxIR≥7,是,信噪比符合要求,可能是真臺,繼續下面的判斷,否則,設置到下一個頻點并返回步驟1重新判斷。
通過上面3個步驟的判斷,只能判定收到的信號可能是真臺,但偏臺也有可能會被判定為真臺,混在真臺的隊伍中,為了純潔隊伍,剔除偏臺,還需要下面2個步驟的判斷。
4 AFC值的判斷。AFC是自動搜臺頻偏判斷參數,是去掉偏臺的重要判據。若AFC值在0—60之間或者AFC值在(51 1—60)—51I之間,即AFC值小或極大,則AFC值符合要求,繼續的判斷。否則,偏臺,設置到下一個頻點并返回步驟1重新判斷。
例如,97.4MHz是北京音樂臺,如果此臺的信號較強,收音機除了在97.4MHz本頻點能接收到電臺信號外.設置頻點在97.3MHz、97.5MHz等左右臨近頻點也可以接收到97.4MHz電臺信號。此時,由于信號較強,RSSI值、SNR值也會符合真臺的據,這時如果用RSSI值、SNR值去判斷97.3MHz、97.5MHz是否是真臺肯定是沒有用的,只有靠AFC判據了。
AFC判斷的原理是(仍以接收97.4MHdE京音樂臺為例分析):當接收頻率是97.4MHz的電臺信號時,如果收音機頻點設置到97.4MHz電臺頻率后,通過芯片內部運算,真臺的AFC值一般在0—60之間或者在(511-60卜511之間,即AFG值會極小或極大,而設置頻點在97.3MHz、97.5MHz這兩個頻點的AFC值一般大于
0或小于(511 -60).即AFC值將會比較靠中,不會非常小也不會非常大,由此作為判定是否偏臺的依據。
5.Last Frequency deviation(上一個頻點的頻偏)的判斷。
軟件自動搜臺時在設置完上一個頻點時就會將上一個頻點的頻偏(即AFC值)用一個16位寄存器存儲下來。存儲這個值有什么用呢,下面還是以97.4MHz北京音樂臺為例,分析此參數的作用。
如果97.4MHz頻點的AFC值為40,根據AFC值的判斷,是真臺,并將此時的AFC值存入LastFrequency deviation寄存器。當搜到97.5MHz頻點時,一般情況下讀出來的AFC值會在60以上,根據AFC值的判斷,是偏臺。如果萬一晶體振蕩器82偏差較大,導致97.5MHz頻點讀出的AFC值剛好是59,而我們的AFC判斷范圍放到了60,用AFC值判斷97.5MHz頻點肯定也當真臺了。沒關系,這時候lastfrequency deviation就會起作用了,檢查上一個頻點即97.4MHz的AFC值只有40,對比之下,說明上一個頻點是相當“正點”的真臺,這個97.5MHz肯定是偏臺了,跳過它,設置到下一個頻點并返回步驟1童新判斷。如果不加這個判據,偏臺偶爾還是會有一兩個漏網之魚,有了這個判據,真臺左右臨近頻點的假臺就被徹底消滅了。在AM接收模式下,軟件搜臺時,控制軟件只需要對RSSI、SNR進行判斷就可以了,廠家給出的判據值是RSSl>16、SNR>21。
軟件搜臺的流程圖見圖4,讀者可參考此圖編寫針對BK1088的控制程序。
真臺:DSP收音機芯片設置的頻點與電臺的頻率相同時,芯片的接收效果最好,這時在當前頻點接收到的電臺稱之為真臺。
偏臺:某一電臺的信號,除了在真臺頻點上可以接收到,在真臺頻點左右臨近的頻點上有時也可以接收到,在這些臨近頻點收到的同一電臺稱之為偏臺。偏臺的每個頻點上都Tune-次,每次Tune完成后需要讀出相關寄存器中的數據,控制軟件通過這些數據來判斷當前頻點接收到的信號是否為真臺。這樣的操作循環進行,直
至搜索完整個頻段。
在FM接收模式,軟件搜臺時,控制軟件要讀取的寄存器有:REG10 [12】,對應的數據稱之為AFCRL (AFC超界)+REG10[6:0],對應的數據稱之為RSSI(實時信號強度指示);REG9[6:0],對應的數據稱之為SNR(信噪比);REG9[15:f],對應的數據稱之為AFC值。
在某個頻點上,軟件判斷接收到的信號是否為真臺的過程需要以下5個步驟:
1 是否AFCRL=O,是,AFC未超界,可能是真臺,繼續下面的判斷,否則,AFCRL=1,AFC超界,設置到下一個頻點并返回步驟1重新判斷。
2是否RSSl>39,是,實時信號強度符合要求,可能是真臺,繼續下面的判斷,否則,設置到下一個頻點并返回步驟1重新判斷。
3是否SIxIR≥7,是,信噪比符合要求,可能是真臺,繼續下面的判斷,否則,設置到下一個頻點并返回步驟1重新判斷。
通過上面3個步驟的判斷,只能判定收到的信號可能是真臺,但偏臺也有可能會被判定為真臺,混在真臺的隊伍中,為了純潔隊伍,剔除偏臺,還需要下面2個步驟的判斷。
4 AFC值的判斷。AFC是自動搜臺頻偏判斷參數,是去掉偏臺的重要判據。若AFC值在0—60之間或者AFC值在(51 1—60)—51I之間,即AFC值小或極大,則AFC值符合要求,繼續的判斷。否則,偏臺,設置到下一個頻點并返回步驟1重新判斷。
例如,97.4MHz是北京音樂臺,如果此臺的信號較強,收音機除了在97.4MHz本頻點能接收到電臺信號外.設置頻點在97.3MHz、97.5MHz等左右臨近頻點也可以接收到97.4MHz電臺信號。此時,由于信號較強,RSSI值、SNR值也會符合真臺的據,這時如果用RSSI值、SNR值去判斷97.3MHz、97.5MHz是否是真臺肯定是沒有用的,只有靠AFC判據了。
AFC判斷的原理是(仍以接收97.4MHdE京音樂臺為例分析):當接收頻率是97.4MHz的電臺信號時,如果收音機頻點設置到97.4MHz電臺頻率后,通過芯片內部運算,真臺的AFC值一般在0—60之間或者在(511-60卜511之間,即AFG值會極小或極大,而設置頻點在97.3MHz、97.5MHz這兩個頻點的AFC值一般大于
0或小于(511 -60).即AFC值將會比較靠中,不會非常小也不會非常大,由此作為判定是否偏臺的依據。
5.Last Frequency deviation(上一個頻點的頻偏)的判斷。
軟件自動搜臺時在設置完上一個頻點時就會將上一個頻點的頻偏(即AFC值)用一個16位寄存器存儲下來。存儲這個值有什么用呢,下面還是以97.4MHz北京音樂臺為例,分析此參數的作用。
如果97.4MHz頻點的AFC值為40,根據AFC值的判斷,是真臺,并將此時的AFC值存入LastFrequency deviation寄存器。當搜到97.5MHz頻點時,一般情況下讀出來的AFC值會在60以上,根據AFC值的判斷,是偏臺。如果萬一晶體振蕩器82偏差較大,導致97.5MHz頻點讀出的AFC值剛好是59,而我們的AFC判斷范圍放到了60,用AFC值判斷97.5MHz頻點肯定也當真臺了。沒關系,這時候lastfrequency deviation就會起作用了,檢查上一個頻點即97.4MHz的AFC值只有40,對比之下,說明上一個頻點是相當“正點”的真臺,這個97.5MHz肯定是偏臺了,跳過它,設置到下一個頻點并返回步驟1童新判斷。如果不加這個判據,偏臺偶爾還是會有一兩個漏網之魚,有了這個判據,真臺左右臨近頻點的假臺就被徹底消滅了。在AM接收模式下,軟件搜臺時,控制軟件只需要對RSSI、SNR進行判斷就可以了,廠家給出的判據值是RSSl>16、SNR>21。
軟件搜臺的流程圖見圖4,讀者可參考此圖編寫針對BK1088的控制程序。
BK1088提供了硬件搜臺(Seek)和軟件搜臺(Tune)兩種不同的搜臺方式。BU-65171 S3/S6為了顯示搜臺進度,本機選用了軟件搜臺方式。在分析軟件搜臺前,先理解兩個概念:真臺與偏臺。
真臺:DSP收音機芯片設置的頻點與電臺的頻率相同時,芯片的接收效果最好,這時在當前頻點接收到的電臺稱之為真臺。
偏臺:某一電臺的信號,除了在真臺頻點上可以接收到,在真臺頻點左右臨近的頻點上有時也可以接收到,在這些臨近頻點收到的同一電臺稱之為偏臺。偏臺的每個頻點上都Tune-次,每次Tune完成后需要讀出相關寄存器中的數據,控制軟件通過這些數據來判斷當前頻點接收到的信號是否為真臺。這樣的操作循環進行,直
至搜索完整個頻段。
在FM接收模式,軟件搜臺時,控制軟件要讀取的寄存器有:REG10 [12】,對應的數據稱之為AFCRL (AFC超界)+REG10[6:0],對應的數據稱之為RSSI(實時信號強度指示);REG9[6:0],對應的數據稱之為SNR(信噪比);REG9[15:f],對應的數據稱之為AFC值。
在某個頻點上,軟件判斷接收到的信號是否為真臺的過程需要以下5個步驟:
1 是否AFCRL=O,是,AFC未超界,可能是真臺,繼續下面的判斷,否則,AFCRL=1,AFC超界,設置到下一個頻點并返回步驟1重新判斷。
2是否RSSl>39,是,實時信號強度符合要求,可能是真臺,繼續下面的判斷,否則,設置到下一個頻點并返回步驟1重新判斷。
3是否SIxIR≥7,是,信噪比符合要求,可能是真臺,繼續下面的判斷,否則,設置到下一個頻點并返回步驟1重新判斷。
通過上面3個步驟的判斷,只能判定收到的信號可能是真臺,但偏臺也有可能會被判定為真臺,混在真臺的隊伍中,為了純潔隊伍,剔除偏臺,還需要下面2個步驟的判斷。
4 AFC值的判斷。AFC是自動搜臺頻偏判斷參數,是去掉偏臺的重要判據。若AFC值在0—60之間或者AFC值在(51 1—60)—51I之間,即AFC值小或極大,則AFC值符合要求,繼續的判斷。否則,偏臺,設置到下一個頻點并返回步驟1重新判斷。
例如,97.4MHz是北京音樂臺,如果此臺的信號較強,收音機除了在97.4MHz本頻點能接收到電臺信號外.設置頻點在97.3MHz、97.5MHz等左右臨近頻點也可以接收到97.4MHz電臺信號。此時,由于信號較強,RSSI值、SNR值也會符合真臺的據,這時如果用RSSI值、SNR值去判斷97.3MHz、97.5MHz是否是真臺肯定是沒有用的,只有靠AFC判據了。
AFC判斷的原理是(仍以接收97.4MHdE京音樂臺為例分析):當接收頻率是97.4MHz的電臺信號時,如果收音機頻點設置到97.4MHz電臺頻率后,通過芯片內部運算,真臺的AFC值一般在0—60之間或者在(511-60卜511之間,即AFG值會極小或極大,而設置頻點在97.3MHz、97.5MHz這兩個頻點的AFC值一般大于
0或小于(511 -60).即AFC值將會比較靠中,不會非常小也不會非常大,由此作為判定是否偏臺的依據。
5.Last Frequency deviation(上一個頻點的頻偏)的判斷。
軟件自動搜臺時在設置完上一個頻點時就會將上一個頻點的頻偏(即AFC值)用一個16位寄存器存儲下來。存儲這個值有什么用呢,下面還是以97.4MHz北京音樂臺為例,分析此參數的作用。
如果97.4MHz頻點的AFC值為40,根據AFC值的判斷,是真臺,并將此時的AFC值存入LastFrequency deviation寄存器。當搜到97.5MHz頻點時,一般情況下讀出來的AFC值會在60以上,根據AFC值的判斷,是偏臺。如果萬一晶體振蕩器82偏差較大,導致97.5MHz頻點讀出的AFC值剛好是59,而我們的AFC判斷范圍放到了60,用AFC值判斷97.5MHz頻點肯定也當真臺了。沒關系,這時候lastfrequency deviation就會起作用了,檢查上一個頻點即97.4MHz的AFC值只有40,對比之下,說明上一個頻點是相當“正點”的真臺,這個97.5MHz肯定是偏臺了,跳過它,設置到下一個頻點并返回步驟1童新判斷。如果不加這個判據,偏臺偶爾還是會有一兩個漏網之魚,有了這個判據,真臺左右臨近頻點的假臺就被徹底消滅了。在AM接收模式下,軟件搜臺時,控制軟件只需要對RSSI、SNR進行判斷就可以了,廠家給出的判據值是RSSl>16、SNR>21。
軟件搜臺的流程圖見圖4,讀者可參考此圖編寫針對BK1088的控制程序。
真臺:DSP收音機芯片設置的頻點與電臺的頻率相同時,芯片的接收效果最好,這時在當前頻點接收到的電臺稱之為真臺。
偏臺:某一電臺的信號,除了在真臺頻點上可以接收到,在真臺頻點左右臨近的頻點上有時也可以接收到,在這些臨近頻點收到的同一電臺稱之為偏臺。偏臺的每個頻點上都Tune-次,每次Tune完成后需要讀出相關寄存器中的數據,控制軟件通過這些數據來判斷當前頻點接收到的信號是否為真臺。這樣的操作循環進行,直
至搜索完整個頻段。
在FM接收模式,軟件搜臺時,控制軟件要讀取的寄存器有:REG10 [12】,對應的數據稱之為AFCRL (AFC超界)+REG10[6:0],對應的數據稱之為RSSI(實時信號強度指示);REG9[6:0],對應的數據稱之為SNR(信噪比);REG9[15:f],對應的數據稱之為AFC值。
在某個頻點上,軟件判斷接收到的信號是否為真臺的過程需要以下5個步驟:
1 是否AFCRL=O,是,AFC未超界,可能是真臺,繼續下面的判斷,否則,AFCRL=1,AFC超界,設置到下一個頻點并返回步驟1重新判斷。
2是否RSSl>39,是,實時信號強度符合要求,可能是真臺,繼續下面的判斷,否則,設置到下一個頻點并返回步驟1重新判斷。
3是否SIxIR≥7,是,信噪比符合要求,可能是真臺,繼續下面的判斷,否則,設置到下一個頻點并返回步驟1重新判斷。
通過上面3個步驟的判斷,只能判定收到的信號可能是真臺,但偏臺也有可能會被判定為真臺,混在真臺的隊伍中,為了純潔隊伍,剔除偏臺,還需要下面2個步驟的判斷。
4 AFC值的判斷。AFC是自動搜臺頻偏判斷參數,是去掉偏臺的重要判據。若AFC值在0—60之間或者AFC值在(51 1—60)—51I之間,即AFC值小或極大,則AFC值符合要求,繼續的判斷。否則,偏臺,設置到下一個頻點并返回步驟1重新判斷。
例如,97.4MHz是北京音樂臺,如果此臺的信號較強,收音機除了在97.4MHz本頻點能接收到電臺信號外.設置頻點在97.3MHz、97.5MHz等左右臨近頻點也可以接收到97.4MHz電臺信號。此時,由于信號較強,RSSI值、SNR值也會符合真臺的據,這時如果用RSSI值、SNR值去判斷97.3MHz、97.5MHz是否是真臺肯定是沒有用的,只有靠AFC判據了。
AFC判斷的原理是(仍以接收97.4MHdE京音樂臺為例分析):當接收頻率是97.4MHz的電臺信號時,如果收音機頻點設置到97.4MHz電臺頻率后,通過芯片內部運算,真臺的AFC值一般在0—60之間或者在(511-60卜511之間,即AFG值會極小或極大,而設置頻點在97.3MHz、97.5MHz這兩個頻點的AFC值一般大于
0或小于(511 -60).即AFC值將會比較靠中,不會非常小也不會非常大,由此作為判定是否偏臺的依據。
5.Last Frequency deviation(上一個頻點的頻偏)的判斷。
軟件自動搜臺時在設置完上一個頻點時就會將上一個頻點的頻偏(即AFC值)用一個16位寄存器存儲下來。存儲這個值有什么用呢,下面還是以97.4MHz北京音樂臺為例,分析此參數的作用。
如果97.4MHz頻點的AFC值為40,根據AFC值的判斷,是真臺,并將此時的AFC值存入LastFrequency deviation寄存器。當搜到97.5MHz頻點時,一般情況下讀出來的AFC值會在60以上,根據AFC值的判斷,是偏臺。如果萬一晶體振蕩器82偏差較大,導致97.5MHz頻點讀出的AFC值剛好是59,而我們的AFC判斷范圍放到了60,用AFC值判斷97.5MHz頻點肯定也當真臺了。沒關系,這時候lastfrequency deviation就會起作用了,檢查上一個頻點即97.4MHz的AFC值只有40,對比之下,說明上一個頻點是相當“正點”的真臺,這個97.5MHz肯定是偏臺了,跳過它,設置到下一個頻點并返回步驟1童新判斷。如果不加這個判據,偏臺偶爾還是會有一兩個漏網之魚,有了這個判據,真臺左右臨近頻點的假臺就被徹底消滅了。在AM接收模式下,軟件搜臺時,控制軟件只需要對RSSI、SNR進行判斷就可以了,廠家給出的判據值是RSSl>16、SNR>21。
軟件搜臺的流程圖見圖4,讀者可參考此圖編寫針對BK1088的控制程序。
上一篇:芯片的接收模式
上一篇:用BK1088制作的DSP收音機