專利名稱:電話pos fsk通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電話POS通信領(lǐng)域,特別是一種電話POS FSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法。
背景技術(shù):
目前,電話POS的FSK通信解決方案包括以下幾點(diǎn)
1)多為專用芯片CMX865實(shí)現(xiàn),采用中斷信號或查詢方式,與CPU同步。2) DTMF音的軟件解調(diào),當(dāng)前主要采用DFT、FFT或Goertzel算法計算時域信號的頻譜,經(jīng)比較分別得出高頻組和低頻組的最相似頻率,從而得到兩個高低頻組的頻率值,繼而得到DTMF碼。3)FSK的軟件解調(diào),目前有移位相關(guān)、2點(diǎn)DFT、跳變沿統(tǒng)計等解調(diào)方案。這些方案, 對處理器的外圍器件資源(定時器)和運(yùn)算能力要求也不一,性能也各有差異。4)一般的DTMF、FSK軟解調(diào)技術(shù),多采用數(shù)字信號處理方法在DSP上運(yùn)行,在STM32 (72MHz主頻)上運(yùn)行比較吃力。采用專用調(diào)制解調(diào)芯片CMX865解決方案,有以下缺點(diǎn)
1)該芯片無數(shù)據(jù)緩沖區(qū)。CPU驅(qū)動它時,一般采用中斷信號與其同步。每次接收或發(fā)送一個字節(jié)時,CPU都必須進(jìn)入中斷程序,對軟件系統(tǒng)的實(shí)時性要求較高。2)該芯片對信道質(zhì)量適應(yīng)性較差。對較差的線路,需要通過設(shè)置靈敏度來解決,即需要用戶在通信失敗時,進(jìn)行靈敏度設(shè)置。這就可能導(dǎo)致客戶對我司電話POS產(chǎn)生反感情緒,甚至影響市場業(yè)務(wù)的進(jìn)行;同時還增加了研發(fā)人員出差的費(fèi)用支出。3)該芯片成本較高。一塊CMX865芯片需要大約12元錢,如果每年電話POS銷量在30萬臺左右,那么在這種芯片解碼方案上的成本就達(dá)到360萬,如果使用軟解碼,那么這部分的成本就可以節(jié)省下來。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種電話POS FSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法, 改變了現(xiàn)有依靠專用芯片實(shí)現(xiàn)調(diào)制解調(diào)的方案,不僅節(jié)省了成本,而且縮小了設(shè)備的體積, 提高了通信的可靠性。本發(fā)明采用以下技術(shù)方案實(shí)現(xiàn)一種電話POS FSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法,其特征在于通過電話POS的CPU、直接內(nèi)存存儲器DMA、ADC、DAC以及后臺定時器配合完成軟件調(diào)制和軟件解調(diào)
所述的軟件調(diào)制是通過所述CPU經(jīng)調(diào)制算法實(shí)時計算FSK、DTMF、CAS音數(shù)據(jù),放置直接內(nèi)存存儲器DMA的緩沖區(qū);所述定時器按照固定采樣頻率觸發(fā)DAC,該DAC觸發(fā)直接內(nèi)存存儲器DMA,將數(shù)據(jù)傳輸?shù)紻AC輸出寄存器,輸出模擬信號,實(shí)現(xiàn)軟件調(diào)制;
所述的軟件解調(diào)是通過所述定時器按照固定采樣頻率觸發(fā)ADC,該ADC觸發(fā)直接內(nèi)存存儲器DMA將采樣數(shù)據(jù)從ADC數(shù)據(jù)寄存器傳輸至指定的緩沖區(qū);然后所述CPU按照FSK、DTMF、CAS音、信號音數(shù)據(jù)的特征,經(jīng)解調(diào)算法,實(shí)時計算緩沖區(qū)的數(shù)據(jù),實(shí)現(xiàn)軟件解調(diào);
在本發(fā)明一較佳實(shí)施例中,所述軟件調(diào)制中直接內(nèi)存存儲器DMA傳值個數(shù)到一半或全部時,觸發(fā)相應(yīng)的調(diào)制中斷,在中斷服務(wù)程序中,調(diào)用調(diào)制算法,進(jìn)行軟件調(diào)制計算。在本發(fā)明一較佳實(shí)施例中,所述的調(diào)制算法包括FSK調(diào)制、DTMF調(diào)制和CAS音調(diào)制;
所述的FSK調(diào)制支持bell202和v23兩種FSK協(xié)議,在初始化時,根據(jù)不同的協(xié)議設(shè)置, 將頻率變量因子初始化為不同的頻率值。FSK計算公式為 A^cos ( Φ+2* π * (fc 士 fm)*t)
式中,A為輸出幅值,Φ為上一比特結(jié)束時的相位,fc為載波頻率,fm為調(diào)制頻率, 如bell202協(xié)議,fc=1700Hz, fm=500Hz ;士的取法為當(dāng)輸出比特1時,取減號;輸出比特 O時,取加號;中斷時調(diào)用調(diào)制接口,計算對應(yīng)空閑半緩沖區(qū)的值;調(diào)制計算時,某相位的余弦值,通過查表法獲取;
所述DTMF調(diào)制,其流程和上述FSK調(diào)制相似,DTMF計算公式為
A氺(cos (2氺 π氺fl氺t)+cos (2氺pi氺f2氺t))/2
式中,A為輸出幅值,fl為低頻,f2為高頻;其取值視要發(fā)送的字符而定,具體參見標(biāo)準(zhǔn)文檔DTMF頻率表;
所述CAS調(diào)制,與DTMF —樣,不同的是f 1和f2的取值固定,分別為2130Hz和2750Hz。在本發(fā)明一較佳實(shí)施例中,所述軟件解調(diào)中直接內(nèi)存存儲器DMA傳值個數(shù)到一半或全部時,觸發(fā)相應(yīng)的解調(diào)中斷,在中斷服務(wù)程序中,調(diào)用解調(diào)算法,進(jìn)行軟件解調(diào)計算。在本發(fā)明一較佳實(shí)施例中,所述的調(diào)制算法包括FSK解調(diào)、DTMF解調(diào)、CAS解調(diào)和信號音解調(diào);
所述的FSK解調(diào)步驟如下
步驟11,將原始ADC采樣數(shù)據(jù),通過一個UR帶通濾波器,濾除FSK頻帶以外的噪聲,得到初步處理后的信號數(shù)據(jù);
步驟12,根據(jù)所述信號數(shù)據(jù),計算信號數(shù)據(jù)中兩頻率點(diǎn)(fc+fm)和(fc-fm)的能量差; fc及fm的值,根據(jù)不同的協(xié)議進(jìn)行設(shè)置,對算得的能量差,將其作為基帶信號;
步驟13,對所述的基帶信號,按照采樣率和波特率的比例關(guān)系,進(jìn)行抽樣判決,得出比特流;
步驟14,根據(jù)所述的比特流,進(jìn)行尋找同步碼、字節(jié)合成、CRC校驗處理,按照FSK鏈路協(xié)議進(jìn)行字節(jié)合成,完成后進(jìn)行CRC校驗,若校驗通過,則提取出消息字節(jié),送往應(yīng)用層;若校驗錯誤,則進(jìn)行錯誤處理;
所述DTMF解調(diào)包括以下步驟
步驟21,DTMF是兩組頻率信號的疊加,低頻組頻率為697、770、852、941,高頻組為 1209、1336、1477、1633,單位Hz,根據(jù)ADC采樣數(shù)據(jù),計算DTMF信號總能量值及以上8頻點(diǎn)能量值,查找各組能量最大頻率點(diǎn),計算其所占總能量比例;同時計算各頻點(diǎn)二次諧波能量及帶通濾波后的總能量,供后續(xù)判決使用;
步驟22,對所述比例,進(jìn)行判決;若二者均大于所設(shè)定閾值,則認(rèn)為是DTMF字符;若不滿足,則認(rèn)為是靜音;判決后將形成字符流和靜音流;
步驟23,將所述的字符流或靜音流,進(jìn)行重復(fù)確認(rèn);重復(fù)次數(shù)依據(jù)計算所使用的采樣
5數(shù)據(jù)時長及時間間隔設(shè)置;然后判決所得字符,送往應(yīng)用層;
所述CAS音解調(diào)CAS音,是頻率為2130Hz、2750Hz的合成音,其實(shí)就是特殊的DTMF音, 解調(diào)技術(shù)和上述DTMF —樣;
所述信號音解調(diào)包括以下步驟
步驟31,將ADC原始數(shù)據(jù),通過一個UR低通濾波器,濾除高頻噪聲及其可能存在的高次諧波分量;
步驟32,根據(jù)步驟31的結(jié)果,分別計算頻率430、440、450、460、470Hz的能量,取其最大值,作為信號音的能量;計算信號總能量;計算信號音能量與總能量的比值;
步驟33,根據(jù)所述的比值進(jìn)行閾值判決,若大于60%,則認(rèn)為是信號音,若小于60%,則認(rèn)為不是信號音。本發(fā)明采用軟調(diào)制解調(diào)方案,替代現(xiàn)有CMX865方案。這不僅能更好地適應(yīng)各種線路環(huán)境,無須用戶手動設(shè)置解調(diào)靈敏度,用SoftFsk相比CMX865,加了特殊濾波算法,更適宜中國眾多非標(biāo)準(zhǔn)電話交換機(jī)導(dǎo)致的復(fù)雜線路環(huán)境;而且本發(fā)明采用軟解碼替代原有的專用芯片,每個電話POS可以節(jié)省大約12元錢的成本,為我司在電話POS領(lǐng)域的市場競爭上提供更好的支持。
圖1是本發(fā)明實(shí)施例DAC、DMA調(diào)制輸出示意圖。圖2是本發(fā)明實(shí)施例ADC、DMA解調(diào)輸入示意圖。圖3是本發(fā)明外圍接口調(diào)制部分電路原理示意圖。圖4是本發(fā)明外圍接口解調(diào)部分電路原理示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供一種電話POS FSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法,其特征在于 通過電話POS的CPU、直接內(nèi)存存儲器DMA、ADC、DAC以及后臺定時器配合完成軟件調(diào)制和軟件解調(diào)所述的軟件調(diào)制是通過所述CPU經(jīng)調(diào)制算法實(shí)時計算FSK、DTMF、CAS音數(shù)據(jù),放置直接內(nèi)存存儲器DMA的緩沖區(qū);所述定時器按照固定采樣頻率觸發(fā)DAC,該DAC觸發(fā)直接內(nèi)存存儲器DMA,將數(shù)據(jù)傳輸?shù)紻AC輸出寄存器,輸出模擬信號,實(shí)現(xiàn)軟件調(diào)制;為了支持實(shí)時調(diào)制,當(dāng)DMA傳輸輸出數(shù)據(jù)到一半或全部時,即啟動中斷服務(wù),調(diào)用調(diào)制算法,為對應(yīng)空閑半緩沖補(bǔ)充數(shù)據(jù);如圖1所示。所述的軟件解調(diào)是通過所述定時器按照固定采樣頻率觸發(fā)ADC,該ADC觸發(fā)直接內(nèi)存存儲器DMA將采樣數(shù)據(jù)從ADC數(shù)據(jù)寄存器傳輸至指定的緩沖區(qū);然后所述CPU按照 FSK、DTMF、CAS音、信號音數(shù)據(jù)的特征,經(jīng)解調(diào)算法,實(shí)時計算緩沖區(qū)的數(shù)據(jù),實(shí)現(xiàn)軟件解調(diào); 為了支持實(shí)時解調(diào),當(dāng)DMA傳輸采樣數(shù)據(jù)到一半或全部時,即啟動中斷服務(wù),調(diào)用解調(diào)算法,計算對應(yīng)半緩沖的采樣數(shù)據(jù);如圖2所示。具體的,調(diào)制過程中,直接內(nèi)存存儲器DMA將數(shù)據(jù)傳輸?shù)紻AC輸出寄存器,當(dāng)傳值個數(shù)到一半或全部時,系統(tǒng)觸發(fā)相應(yīng)的調(diào)制中斷,在中斷服務(wù)程序中,根據(jù)當(dāng)前的調(diào)制模式,調(diào)用相應(yīng)的功能調(diào)制算法;利用相應(yīng)的調(diào)制算法,為輸出緩沖區(qū)補(bǔ)充數(shù)據(jù)。本實(shí)施例 POS的FSK通信軟件調(diào)制子系統(tǒng),其信息流向依次為應(yīng)用層、調(diào)制器(FSK/DTMF/CAS)、DAC輸出數(shù)據(jù)、DAC 口線信號、信道信號。其中,調(diào)制器為軟件調(diào)制系統(tǒng)的核心。為滿足電話POS 的FSK通信需求,調(diào)制器應(yīng)能支持以下幾種模式FSK調(diào)制(支持bell202和v2!3),DTMF調(diào)制,CAS調(diào)制。FSK調(diào)制,為了支持bell202和v23兩種FSK協(xié)議,在初始化時,根據(jù)不同的協(xié)議設(shè)置,將頻率變量因子初始化為不同的頻率值。FSK計算公式為
A^cos ( Φ+2* π * (fc 士 fm)*t)
式中,A為輸出幅值,t表示采樣時間,A為幅值,Φ為上一比特結(jié)束時的相位,fc為載波頻率,fm為調(diào)制頻率,如bell202協(xié)議,fc=1700Hz, fm=500Hz。士的取法為,當(dāng)輸出比特 1時,取減號;輸出比特O時,取加號。當(dāng)輸出DMA傳輸一半或全部數(shù)據(jù)時,觸發(fā)中斷服務(wù), 調(diào)用調(diào)制接口,計算對應(yīng)空閑半緩沖區(qū)的值。調(diào)制計算時,某相位的余弦值,通過查表法獲取。DTMF調(diào)制,流程和上述FSK調(diào)制相似。DTMF計算公式為
A氺(cos (2氺 π氺fl氺t)+cos (2氺pi氺f2氺t))/2
式中,A為輸出幅值,fl為低頻,f2為高頻。其取值視要發(fā)送的字符而定,具體參見標(biāo)準(zhǔn)文檔DTMF頻率表。CAS調(diào)制,與DTMF—樣。不同的是fl和f2的取值固定,分別為2130Hz和2750Hz。在解調(diào)過程中,從ADC數(shù)據(jù)寄存器傳輸數(shù)據(jù)至DMA的采樣緩沖區(qū),當(dāng)傳值個數(shù)到一半或全部時,觸發(fā)相應(yīng)的解調(diào)中斷,在中斷服務(wù)程序中,調(diào)用解調(diào)算法,進(jìn)行軟件解調(diào)計算。 本實(shí)施例POS的FSK通信軟解調(diào)子系統(tǒng),其信息流向依次為信道信號、ADC 口線信號、AD采樣數(shù)據(jù)、解調(diào)(FSK/DTMF/CAS/信號音)、應(yīng)用層。為滿足電話POS的FSK通信需求,解調(diào)器有以下幾種模式FSK解調(diào)(支持bell202和v2!3),DTMF解調(diào),CAS解調(diào),信號音解調(diào)。以下分述各解調(diào)模式的原理及步驟 FSK解調(diào)
對于R5K軟解調(diào),該技術(shù)有移位相關(guān)運(yùn)算、2點(diǎn)DFT運(yùn)算、跳變沿統(tǒng)計等解調(diào)方法,各有優(yōu)缺點(diǎn)。其中移位相關(guān)運(yùn)算較快,但不夠精確,對小信號的相位造成模糊。跳變沿統(tǒng)計法最快,但也不夠精確。2點(diǎn)DFT運(yùn)算,運(yùn)算量最大,需對每個采樣點(diǎn)附近采樣值都計算能量信息,但其解調(diào)效果較好,對大信號失真和小信號都不敏感。本實(shí)施例采用2點(diǎn)DFT算法,對FSK信號進(jìn)行解調(diào)。步驟如下
1.將原始ADC采樣數(shù)據(jù),通過一個UR帶通濾波器,濾除FSK頻帶以外的噪聲,得到初步處理后的信號數(shù)據(jù),送往下步。2.根據(jù)上步的計算結(jié)果,計算兩頻率點(diǎn)(f。+fm)和(f。_fm)的能量差。f。及乙的值,根據(jù)不同的協(xié)議進(jìn)行設(shè)置,如bell202協(xié)議規(guī)范規(guī)定,fc = 1700Hz, fm = 500Hz。對算得的能量差,可將其作為基帶信號,送往下步;
3.對上步所算得的基帶信號,按照采樣率和波特率的比例關(guān)系,進(jìn)行抽樣判決,得出比特信息,送往下步;
4.根據(jù)上步送來的比特流,進(jìn)行尋找同步碼、字節(jié)合成、CRC校驗處理。按照FSK鏈路協(xié)議進(jìn)行字節(jié)合成,完成后進(jìn)行CRC校驗。若校驗通過,則提取出消息字節(jié),送往應(yīng)用層。若校驗錯誤,則進(jìn)行錯誤處理。DTMF 解調(diào)1. DTMF音是兩組頻率信號的疊加。低頻組頻率為697、770、852、941,高頻組為1209、 1336、1477、1633,單位Hz。故可根據(jù)ADC采樣數(shù)據(jù),計算信號總能量值及以上8頻點(diǎn)能量值,查找各組能量最大頻率點(diǎn),計算其所占總能量比例,送往下步。根據(jù)配置,還可計算各頻點(diǎn)二次諧波能量,及帶通濾波后的總能量,供下步判決使用。2.對于上步算得的兩個最大值比例,進(jìn)行判決。若二者均大于所設(shè)定閾值(如 40%),則認(rèn)為是DTMF字符;若不滿足,則認(rèn)為是靜音。根據(jù)配置,可進(jìn)行諧波判決及帶內(nèi)帶外能量判決,可減少誤判。判決所得的字符流或靜音流,送往下步;
3.對2步送來的字符流或靜音流,進(jìn)行重復(fù)確認(rèn)。重復(fù)次數(shù)依據(jù)1步計算所使用采樣數(shù)據(jù)的時長及時間間隔設(shè)置。然后判決所得字符,送往應(yīng)用層。CAS 解調(diào)
CAS音,是頻率為2130Hz、2750Hz的合成音,其實(shí)就是特殊的DTMF音,解調(diào)技術(shù)和上述 DTMF—樣,不再贅述。信號音解調(diào)
在和電信交換機(jī)通信過程中,交換機(jī)可能發(fā)出不同的信號音,時長不同,其含義也不同,如撥號音、回鈴音、忙音等。信號音,是425-475HZ的單音信號。對于信號音的解調(diào),主要有以下步驟
1.將ADC原始數(shù)據(jù),通過一個HR低通濾波器,濾除高頻噪聲及其可能存在的高次諧波分量;
2.根據(jù)1步的結(jié)果,分別計算頻率430、440、450、460、470Hz的能量,取其最大值,作為信號音的能量;計算信號總能量;計算信號音能量與總能量的比值,送往下步;
對上步所得比值進(jìn)行閾值判決,若大于60%,則認(rèn)為是信號音,若小于60%,則認(rèn)為不是
信號音。這里要說明的是,本發(fā)明軟件調(diào)制解調(diào),對硬件只關(guān)心到DAC和ADC 口線為止。DAC 及ADC 口線至電話線接口之間的調(diào)理電路,原理圖如圖3和圖4所示。調(diào)制部分,CPU的DAC器件,將信號輸出至DAC 口線(S卩TXOUT引腳)。TXOUT信號經(jīng)三極管放大后,輸出至電話電路總線TEL_LINE上,最終送入實(shí)際電話線上。解調(diào)部分,電話線信號耦合至TIP_IN,TIP_IN信號,經(jīng)過濾波、運(yùn)算放大電路放大后送往CPU的ADC 口線。以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種電話POS FSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法,其特征在于通過電話POS的 CPU、直接內(nèi)存存儲器DMA、ADC、DAC以及后臺定時器配合完成軟件調(diào)制和軟件解調(diào)所述的軟件調(diào)制是通過所述CPU經(jīng)調(diào)制算法實(shí)時計算FSK、DTMF、CAS音數(shù)據(jù),放置于直接內(nèi)存存儲器DMA的緩沖區(qū);所述定時器按照固定采樣頻率觸發(fā)DAC,該DAC觸發(fā)直接內(nèi)存存儲器DMA,將數(shù)據(jù)傳輸?shù)紻AC輸出寄存器,輸出模擬信號,實(shí)現(xiàn)軟件調(diào)制;所述的軟件解調(diào)是通過所述定時器按照固定采樣頻率觸發(fā)ADC,該ADC觸發(fā)直接內(nèi)存存儲器DMA將采樣數(shù)據(jù)從ADC數(shù)據(jù)寄存器傳輸至指定的緩沖區(qū);然后所述CPU按照FSK、 DTMF, CAS音、信號音數(shù)據(jù)的特征,經(jīng)解調(diào)算法,實(shí)時計算緩沖區(qū)的數(shù)據(jù),實(shí)現(xiàn)軟件解調(diào)。
2.根據(jù)權(quán)利要求1所述的電話POSFSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法,其特征在于 為支持實(shí)時調(diào)制,所述軟件調(diào)制中直接內(nèi)存存儲器DMA傳值個數(shù)到一半或全部時,觸發(fā)相應(yīng)的調(diào)制中斷,在中斷服務(wù)程序中,調(diào)用調(diào)制算法,為DMA對應(yīng)空閑半緩沖補(bǔ)充數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的電話POSFSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法,其特征在于 所述的調(diào)制算法包括FSK調(diào)制、DTMF調(diào)制和CAS音調(diào)制;所述的FSK調(diào)制支持bell202和v23兩種FSK協(xié)議,在初始化時,根據(jù)不同的協(xié)議設(shè)置, 將頻率變量因子初始化為不同的頻率值。
4.FSK計算公式為 式中,A為幅值,Φ為上一比特結(jié)束時的相位,fc為載波頻率,fm為調(diào)制頻率;士的取法為當(dāng)輸出比特1時,取減號;輸出比特O時,取加號;DMA傳輸一半或全部時,觸發(fā)中斷服務(wù)程序,調(diào)用調(diào)制接口,計算對應(yīng)空閑半緩沖區(qū)的值;調(diào)制計算時,某相位的余弦值,通過查表法獲??;所述DTMF調(diào)制,其流程和上述FSK調(diào)制相似,DTMF計算公式為A氺(cos (2氺 π氺fl氺t)+cos (2氺pi氺f2氺t))/2式中,A為輸出幅值,fl為低頻,f2為高頻;其取值視要發(fā)送的字符而定,具體參見標(biāo)準(zhǔn)文檔DTMF頻率表;所述CAS調(diào)制,與DTMF —樣,不同的是f 1和f2的取值固定,分別為2130Hz和2750Hz。
5.根據(jù)權(quán)利要求1所述的電話POSFSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法,其特征在于 為支持實(shí)時解調(diào),所述軟件解調(diào)中直接內(nèi)存存儲器DMA傳值個數(shù)到一半或全部時,觸發(fā)相應(yīng)的解調(diào)中斷,在中斷服務(wù)程序中,調(diào)用解調(diào)算法,計算DMA對應(yīng)半緩沖的采樣數(shù)據(jù)。
6.根據(jù)權(quán)利要求4所述的電話POSFSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法,其特征在于 所述的調(diào)制算法包括FSK解調(diào)、DTMF解調(diào)、CAS解調(diào)和信號音解調(diào);所述的FSK解調(diào)步驟如下步驟11,將原始ADC采樣數(shù)據(jù),通過一個IIR帶通濾波器,濾除FSK頻帶以外的噪聲,得到初步處理后的信號數(shù)據(jù);步驟12,根據(jù)所述信號數(shù)據(jù),計算信號數(shù)據(jù)中兩頻率點(diǎn)(fc+fm)和(fc-fm)的能量差; fc及fm的值,根據(jù)不同的協(xié)議進(jìn)行設(shè)置,對算得的能量差,將其作為基帶信號;步驟13,對所述的基帶信號,按照采樣率和波特率的比例關(guān)系,進(jìn)行抽樣判決,得出比特流;步驟14,根據(jù)所述的比特流,進(jìn)行尋找同步碼、字節(jié)合成、CRC校驗處理,按照FSK鏈路協(xié)議進(jìn)行字節(jié)合成,完成后進(jìn)行CRC校驗,若校驗通過,則提取出消息字節(jié),送往應(yīng)用層;若校驗錯誤,則進(jìn)行錯誤處理;所述DTMF解調(diào)包括以下步驟步驟21,DTMF是兩組頻率信號的疊加,低頻組頻率為697、770、852、941,高頻組為 1209、1336、1477、1633,單位Hz,根據(jù)ADC采樣數(shù)據(jù),計算DTMF信號總能量值及以上8頻點(diǎn)能量值,查找各組能量最大頻率點(diǎn),計算其所占總能量比例;同時計算各頻點(diǎn)二次諧波能量及帶通濾波后的總能量,供后續(xù)判決使用;步驟22,對所述比例,進(jìn)行判決;若二者均大于所設(shè)定閾值,則認(rèn)為是DTMF字符;若不滿足,則認(rèn)為是靜音;判決后將形成字符流和靜音流;步驟23,將所述的字符流或靜音流,進(jìn)行重復(fù)確認(rèn);重復(fù)次數(shù)依據(jù)步驟21所使用的采樣數(shù)據(jù)時長及時間間隔設(shè)置;然后判決所得字符,送往應(yīng)用層;所述CAS音解調(diào)CAS音,是頻率為2130Hz、2750Hz的合成音,其實(shí)就是特殊的DTMF音, 解調(diào)技術(shù)和上述DTMF —樣;所述信號音解調(diào)包括以下步驟步驟31,將ADC原始數(shù)據(jù),通過一個UR低通濾波器,濾除高頻噪聲及其可能存在的高次諧波分量;步驟32,根據(jù)步驟31的結(jié)果,分別計算頻率430、440、450、460、470Hz的能量,取其最大值,作為信號音的能量;計算信號總能量;計算信號音能量與總能量的比值;步驟33,根據(jù)所述的比值進(jìn)行閾值判決,若大于60%,則認(rèn)為是信號音,若小于60%,則認(rèn)為不是信號音。
全文摘要
本發(fā)明涉及一種電話POSFSK通信軟件調(diào)制解調(diào)的實(shí)現(xiàn)方法,通過電話POS的CPU、DMA、ADC、DAC以及后臺定時器配合完成其軟件調(diào)制是通過所述CPU經(jīng)調(diào)制算法實(shí)時計算FSK、DTMF、CAS音數(shù)據(jù),定時器按照固定采樣頻率觸發(fā)DAC,該DAC觸發(fā)直接內(nèi)存存儲器DMA,將數(shù)據(jù)傳輸?shù)紻AC輸出寄存器,輸出模擬信號,實(shí)現(xiàn)軟件調(diào)制;其軟件解調(diào)是通過所述定時器按照固定采樣頻率觸發(fā)ADC,該ADC觸發(fā)DMA將采樣數(shù)據(jù)從ADC數(shù)據(jù)寄存器傳輸至指定的緩沖區(qū);然后經(jīng)解調(diào)算法,實(shí)時計算緩沖區(qū)的數(shù)據(jù),實(shí)現(xiàn)軟件解調(diào)。本發(fā)明改變了現(xiàn)有依靠專用芯片實(shí)現(xiàn)調(diào)制解調(diào)的方案,不僅節(jié)省了成本,而且縮小了設(shè)備的體積,穩(wěn)定性高,具有較好的實(shí)用價值。
文檔編號H04M1/253GK102447660SQ20111034920
公開日2012年5月9日 申請日期2011年11月8日 優(yōu)先權(quán)日2011年11月8日
發(fā)明者張熾成, 程環(huán), 顏恒 申請人:福建聯(lián)迪商用設(shè)備有限公司