專利名稱:基于聲卡的調(diào)制解調(diào)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字通信調(diào)制解調(diào)領(lǐng)域,具體涉及基于聲卡的調(diào)制解調(diào)技術(shù)。
背景技術(shù):
如今數(shù)字通信已得到廣泛的應(yīng)用,在數(shù)字通信中,信息采用量化的數(shù)字信號來表示,信息代碼由二進(jìn)制數(shù)0、1構(gòu)成,為了使數(shù)字信號在信道中傳輸,實(shí)現(xiàn)數(shù)字通信,必須要先將數(shù)字信號通過調(diào)制解調(diào)技術(shù)轉(zhuǎn)換成模擬的音頻信號,再送入信道進(jìn)行傳輸,現(xiàn)有的調(diào)制解調(diào)技術(shù)通常都是通過針對不同的應(yīng)用采用專用的處理芯片來實(shí)現(xiàn)的一種專用的硬件設(shè)備,也即是我們通常所說的調(diào)制解調(diào)器(MODEM),針對不同的傳輸信道需要使用不同的調(diào)制解調(diào)器,比如通過有線電話線傳輸數(shù)字信號所使用的Modem,根據(jù)調(diào)制解調(diào)通信協(xié)議的不同就包括V.34、V.90、V.92等系列的Modem,還有配合短波、超短波電臺使用的專用Modem等,使用起來很不方便,而且使得數(shù)字信號傳輸成本過高。
目前廣泛應(yīng)用的短波、超短波電臺、手持對講機(jī),通常都只支持話音通信,不能進(jìn)行數(shù)字通信。而聲卡一般也只單純地用于話音信號的A/D、D/A變換和輸入輸出,沒有應(yīng)用于數(shù)字信號的輸入輸出。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于聲卡的調(diào)制解調(diào)方法和系統(tǒng),利用聲卡完成數(shù)字信號的A/D、D/A變換和輸入輸出,調(diào)制與解調(diào)算法采用計(jì)算機(jī)軟件實(shí)現(xiàn),可以根據(jù)當(dāng)前通信使用的信道類型,調(diào)用不同的調(diào)制與解調(diào)算法模塊來實(shí)現(xiàn)調(diào)制解調(diào),可以非常靈活、廉價(jià)地實(shí)現(xiàn)數(shù)字信號傳輸,并且可以通過短波、超短波電臺來實(shí)現(xiàn)數(shù)據(jù)的無線數(shù)字通信。
為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案來實(shí)現(xiàn) 基于計(jì)算機(jī)聲卡的調(diào)制解調(diào)系統(tǒng),由軟件和硬件組成,硬件用于傳輸數(shù)據(jù),軟件用于對數(shù)據(jù)進(jìn)行調(diào)制解調(diào),硬件包括CPU、發(fā)送緩存器、接收緩存器、聲卡、接口控制匹配模塊;CPU通過發(fā)送緩沖器及接收緩沖器與聲卡互連,聲卡的接口通過接口控制匹配模塊與信道互連; 通過CPU調(diào)用調(diào)制子程序和解調(diào)子程序,實(shí)現(xiàn)對音頻信號逐幀的實(shí)時(shí)調(diào)制/解調(diào);發(fā)送緩存器用于存貯經(jīng)調(diào)制的待發(fā)送數(shù)據(jù);接收緩存器用于存貯收到的待解調(diào)數(shù)據(jù);聲卡實(shí)現(xiàn)音頻信號的輸入、輸出;接口控制匹配模塊實(shí)現(xiàn)聲卡和信道設(shè)備之間接口阻抗和信號電平的匹配,并控制電臺的PTT信號。
基于計(jì)算機(jī)聲卡的調(diào)制解調(diào)方法,包括調(diào)制過程和解調(diào)過程,在發(fā)送緩存器空、接收緩存器滿時(shí)通過回調(diào)函數(shù)機(jī)制來分別調(diào)用調(diào)制子程序和解調(diào)子程序,實(shí)現(xiàn)對音頻信號逐幀的實(shí)時(shí)調(diào)制/解調(diào); 調(diào)制過程包括以下步驟將待處理數(shù)據(jù)信號按幀插入同步頭,首先發(fā)送同步頭,然后將待傳輸?shù)臄?shù)據(jù)比特流對基帶載波進(jìn)行調(diào)制形成音頻信號,寫入發(fā)送緩沖器,再通過聲卡進(jìn)行D/A變換,然后按幀輸出到信道上; 解調(diào)過程包括以下步驟將收到的信號經(jīng)聲卡進(jìn)行A/D變換后,送入接收緩沖器,當(dāng)接收緩沖器滿時(shí)通過回調(diào)函數(shù)機(jī)制調(diào)用解調(diào)子程序,逐幀地從數(shù)據(jù)中搜索同步頭,并在同步建立后從中逐幀地解調(diào)出數(shù)據(jù)流。
本發(fā)明利用通用個(gè)人計(jì)算機(jī)+聲卡作為數(shù)據(jù)通信的傳輸終端,無需其它硬件投資。用聲卡完成數(shù)據(jù)信號的A/D、D/A變換和音頻信號的輸入輸出,因此可將本系統(tǒng)與具有話音通信功能的通信設(shè)備配合使用,利用話音傳輸通道(如目前廣泛應(yīng)用的短波、超短波電臺等)來實(shí)現(xiàn)數(shù)據(jù)通信;并擴(kuò)展了聲卡用于傳輸數(shù)據(jù)信號的應(yīng)用;本發(fā)明中信號的調(diào)制與解調(diào)采用計(jì)算機(jī)軟件實(shí)現(xiàn),可以根據(jù)通信信道的類型,設(shè)計(jì)不同調(diào)制解調(diào)算法軟件來進(jìn)行通信,加上PC機(jī)上友好的人機(jī)操作界面,可以非常方便、靈活、廉價(jià)地實(shí)現(xiàn)數(shù)字信號的傳輸;接口控制匹配硬件模塊,體積小、成本非常低、無需外接電源。
圖1是基于聲卡的調(diào)制解制系統(tǒng)的結(jié)構(gòu)方框圖 圖2是接口控制匹配模塊中匹配電路的電路原理圖 圖3是接口控制匹配模塊中控制PPT電路的電路原理圖 圖4是調(diào)制程序流程圖 圖5是解調(diào)程序流程圖 圖6是圖5中搜索同步頭程序流程圖
具體實(shí)施例方式 下面結(jié)合附圖詳細(xì)說明本發(fā)明的實(shí)現(xiàn)方法 個(gè)人計(jì)算機(jī)CPU具有強(qiáng)大運(yùn)算處理能力,足以應(yīng)付對數(shù)字信號的實(shí)時(shí)處理。目前聲卡已經(jīng)是PC中的標(biāo)準(zhǔn)配置,廣泛使用的Windows操作系統(tǒng)提供了多媒體功能支持,因此通過PC機(jī)中集成的聲卡即可以方便地實(shí)現(xiàn)音頻流的輸入輸出。本系統(tǒng)就是利用PC機(jī)中的聲卡和CPU處理器來實(shí)現(xiàn)音頻信號的輸入輸出和對信號的實(shí)時(shí)調(diào)制解調(diào)處理,最終構(gòu)成一個(gè)數(shù)據(jù)通信終端。通常聲卡支持左右兩個(gè)聲道的立體聲放音和錄音,因此我們可以將左聲道用于連接信道機(jī),右聲道用于連接用戶的耳麥系統(tǒng),當(dāng)用戶需要傳輸話音業(yè)務(wù)時(shí),可以直接將來自右聲道的信號送到左聲道輸出即可,系統(tǒng)的構(gòu)成如圖1所示CPU通過發(fā)送緩存器和接收緩存器與聲卡互連,聲卡的左聲道接口通過接口控制匹配模塊與電臺互連,聲卡的右聲道通過接口控制匹配模塊與用戶話音接口互連。
聲卡實(shí)現(xiàn)信號的D/A、A/D變換和音頻信號的輸入輸出,在Windows系統(tǒng)下通過聲卡實(shí)現(xiàn)音頻信號輸入/輸出的方法有很多,我們通過Windows操作系統(tǒng)提供的音頻控制軟件接口調(diào)用mmsystem函數(shù),設(shè)計(jì)了CwaveIn、CwaveOut兩個(gè)類來實(shí)現(xiàn)音頻信號逐幀輸入/輸出。
CWaveIn∷CWaveIn( PWaveCallBack pWaveCallBack, //回調(diào)函數(shù)指針 int nBufferSize, //輸入緩沖器大小 int nSampleRate, //采樣頻率 int nSampleBitsLen //量化精度 ) CWaveOut∷CWaveOut( PWaveCallBack pWaveCallBack,//回調(diào)函數(shù)指針 int nBufferSize,//輸出緩沖器大小 int nSampleRate,//采樣頻率 int nSampleBitsLen //量化精度 ) 經(jīng)過聲卡輸入/輸出的數(shù)據(jù)是音頻信號經(jīng)過線性PCM編碼后的樣點(diǎn)序列,采樣頻率為8kHz,量化精度16bit,輸入和輸出的信號分別送入接收緩沖器和發(fā)送緩沖器,當(dāng)輸入/輸出一定數(shù)量的樣點(diǎn)(一幀)后,就會分別自動調(diào)用回調(diào)函數(shù),在回調(diào)函數(shù)中完成信號調(diào)制/解調(diào)的處理。
CPU中的數(shù)字信號處理模塊包括調(diào)制子程序和解調(diào)子程序,他們分別在發(fā)送緩存器空、接收緩存器滿時(shí)通過回調(diào)函數(shù)機(jī)制來調(diào)用,實(shí)現(xiàn)對音頻信號逐幀的實(shí)時(shí)調(diào)制/解調(diào)。
調(diào)制子程序發(fā)送時(shí),首先發(fā)送同步頭,然后將待傳輸?shù)臄?shù)據(jù)比特流對基帶載波進(jìn)行調(diào)制形成音頻信號,再逐幀地由聲卡播放輸出到信道上傳輸,調(diào)制波形可以采用PSK或FSK方式,考慮到通信中可能會出現(xiàn)誤碼,應(yīng)用軟件中還應(yīng)該采用FEC、ARQ等糾錯編碼通信技術(shù),以降低數(shù)字信號的誤碼率,提高信號傳輸?shù)目煽啃裕{(diào)制程序流程圖如圖4所示,首先啟動數(shù)據(jù)的發(fā)送(步驟101),先發(fā)送一M序列做為同步頭,判斷同步頭序列是否發(fā)送完畢(步驟102),如果沒有則繼續(xù)發(fā)送同步頭序列(步驟103),并對同步頭序列進(jìn)行調(diào)制(步驟106),如果同步頭序列發(fā)送完畢,則開始發(fā)送數(shù)據(jù)(步驟104),并對數(shù)據(jù)進(jìn)行糾錯編碼(步驟105),然后對編碼后的數(shù)據(jù)進(jìn)行調(diào)制(步驟106),將調(diào)制(步驟106)后的數(shù)據(jù)送入發(fā)送緩存器(步驟107),判斷數(shù)據(jù)是否發(fā)送結(jié)束(步驟108),如果未發(fā)送完,則回到步驟102繼續(xù)發(fā)送,如果數(shù)據(jù)發(fā)送結(jié)束,則插入另一M序列做為數(shù)據(jù)報(bào)尾,判斷報(bào)尾是否發(fā)送完畢(步驟109),未發(fā)送完則繼續(xù)發(fā)送報(bào)尾序列(步驟110),并對報(bào)尾序列進(jìn)行調(diào)制(步驟106),報(bào)尾發(fā)送完成則結(jié)束調(diào)制過程。
解調(diào)子程序逐幀地從聲卡采集到的數(shù)據(jù)中搜索同步信號,并在同步建立之后從中逐幀地解調(diào)出數(shù)據(jù)流,解調(diào)程序的流程如圖5所示,首先判斷接收緩存器是否滿(步驟201),如果未滿則繼續(xù)將聲卡采集到的數(shù)據(jù)讀入接收緩存器,如果已滿則判斷是否收到同步頭(步驟202),沒有收到同步頭,則繼續(xù)從數(shù)據(jù)中搜索同步頭(步驟203),收到同步頭后,則對數(shù)據(jù)進(jìn)解調(diào)(步驟204),并進(jìn)行糾錯編碼的解碼(205),將解碼后的數(shù)據(jù)輸出(步驟206),判斷是否收到報(bào)尾序列(207),如果沒有,則回到步驟201繼續(xù)對數(shù)據(jù)進(jìn)行處理,如果收到報(bào)尾,則結(jié)束解調(diào)過程。
上述解調(diào)程序中搜索同步頭(步驟203)的程序流程如圖6所示,開始后解調(diào)收到的信號(步驟301),對解調(diào)后的數(shù)據(jù)進(jìn)行M序列相關(guān)計(jì)算(步驟302),判斷是否達(dá)到相關(guān)門限(步驟303)如果達(dá)到則置同步成功標(biāo)志(步驟304),如果未達(dá)到相關(guān)門限,則繼續(xù)重新開始搜索同步頭過程,直至達(dá)到相關(guān)門限為止。
接口匹配控制模塊包括匹配電路和控制PPT電路,聲卡的耳麥接口與電臺的麥克風(fēng)、揚(yáng)聲器接口通常是不匹配的,為了系統(tǒng)能更有效的工作,需要在聲卡和信道設(shè)備之間增加一個(gè)匹配電路,完成聲卡和信道設(shè)備之間接口阻抗和信號電平的匹配;電臺設(shè)備在發(fā)送信號時(shí)需要先控制電臺的PTT信號,PTT信號的使用特點(diǎn)是,在發(fā)送時(shí)需要將PTT信號與地信號短接起來,空閑時(shí)斷開,我們設(shè)計(jì)了控制PTT電路來完成此功能。
其中匹配電路采用無源的電阻網(wǎng)絡(luò)來實(shí)現(xiàn),電路原理圖如圖2所示,輸入信號經(jīng)電阻R1接地,并經(jīng)可調(diào)電阻R2輸出,電阻R1為輸入匹配電阻,通常選用600Ω或1000Ω的表貼電阻,電阻R2為衰減電阻,通常選用150KΩ的表貼可調(diào)電阻,為了防止無線信道設(shè)備對系統(tǒng)的干擾,可以在輸出信號端增加一個(gè)表貼的三端濾波器。
控制PTT電路的原理圖如圖3所示,來自計(jì)算機(jī)串口的控制信號RTS經(jīng)電阻R1連在三極管的基極b,三極管的發(fā)射極e接地,集電極c接電臺的PTT信號,其中電阻R1采用12KΩ的電阻,三極管采用2N2222,當(dāng)RTS為高電平時(shí),為允許電臺發(fā)送。
目前廣泛應(yīng)用的短波、超短波電臺、手持對講機(jī),通常都支持基帶的話音通信,具有連接耳機(jī)、麥克風(fēng)的插孔,將本系統(tǒng)聲卡信號線與電臺的耳機(jī)、麥克風(fēng)信號線相連,即可實(shí)現(xiàn)無線數(shù)據(jù)通信;可以應(yīng)用本系統(tǒng)實(shí)現(xiàn)以下的應(yīng)用功能移動電臺用戶之間的短消息、電子文件傳輸;移動電臺用戶向中心臺發(fā)送GPS定位信息;通過電臺實(shí)現(xiàn)遠(yuǎn)程無線自動化控制等。
權(quán)利要求
1、一種基于計(jì)算機(jī)聲卡的調(diào)制解調(diào)系統(tǒng),由軟件和硬件組成,硬件用于傳輸數(shù)據(jù),軟件用于對數(shù)據(jù)進(jìn)行調(diào)制解調(diào),其特征在于,硬件包括CPU、發(fā)送緩存器、接收緩存器、聲卡、接口控制匹配模塊;CPU通過發(fā)送緩存器及接收緩存器與聲卡互連,聲卡的接口通過接口控制匹配模塊與信道互連;
通過CPU調(diào)用調(diào)制子程序和解調(diào)子程序,實(shí)現(xiàn)對音頻信號逐幀的實(shí)時(shí)調(diào)制/解調(diào);
發(fā)送緩存器用于存貯經(jīng)調(diào)制的待發(fā)送數(shù)據(jù);
接收緩存器用于存貯收到的待解調(diào)數(shù)據(jù);
聲卡實(shí)現(xiàn)信號的D/A、A/D變換和音頻信號的輸入、輸出;
接口控制匹配模塊實(shí)現(xiàn)聲卡和信道設(shè)備之間接口阻抗和信號電平的匹配,并控制電臺的PTT信號。
2、根據(jù)權(quán)利要求1所述的基于計(jì)算機(jī)聲卡的調(diào)制解調(diào)系統(tǒng),其特征在于,接口控制匹配模塊包括匹配電路和控制PTT電路;
匹配電路采用無源的電阻網(wǎng)絡(luò)來實(shí)現(xiàn),輸入信號經(jīng)電阻R1接地,并經(jīng)可變電阻R2輸出;
控制PTT電路實(shí)現(xiàn)控制電臺PTT信號的功能,來自計(jì)算機(jī)串口的控制信號RTS經(jīng)電阻R1連在三極管的基極b,三極管的發(fā)射極e接地,集電極c接電臺的PTT信號。
3、一種基于計(jì)算機(jī)聲卡的調(diào)制解調(diào)方法,包括調(diào)制過程和解調(diào)過程,其特征在于,在發(fā)送緩存器空、接收緩存器滿時(shí)通過回調(diào)函數(shù)機(jī)制來分別調(diào)用調(diào)制子程序和解調(diào)子程序,實(shí)現(xiàn)對音頻信號逐幀的實(shí)時(shí)調(diào)制/解調(diào);
調(diào)制過程包括以下步驟將待發(fā)送數(shù)據(jù)信號按幀插入同步頭,然后對基帶載波進(jìn)行調(diào)制形成音頻信號,寫入發(fā)送緩存器,再通過聲卡進(jìn)行D/A變換,逐幀輸出到信道上;
解調(diào)過程包括以下步驟將收到的信號經(jīng)聲卡進(jìn)行A/D變換后,逐幀送入接收緩存器,當(dāng)接收緩存器滿時(shí)通過回調(diào)函數(shù)機(jī)制調(diào)用解調(diào)子程序,逐幀地從數(shù)據(jù)中搜索同步頭,并在同步建立后從中逐幀地解調(diào)出數(shù)據(jù)流。
4、根據(jù)權(quán)利要求3所述的調(diào)制解調(diào)方法,其特征在于,其中用聲卡實(shí)現(xiàn)音頻信號逐幀輸入/輸出的方法是通過Windows操作系統(tǒng)提供的音頻控制軟件接口調(diào)用mmsystem函數(shù),并設(shè)計(jì)了C waveIn、C waveOut兩個(gè)類來實(shí)現(xiàn)音頻信號的逐幀輸入/輸出;CWaveIn::CWaveIn(
PWaveCallBack pWaveCallBack,//回調(diào)函數(shù)指針<!-- SIPO <DP n="1"> --><dp n="c1"/> int nBufferSize, //輸入緩沖器大小 int nSampleRate, //采樣頻率 int nSampleBitsLen //量化精度 ) CWaveOut::CWaveOut( PWaveCallBack pWaveCallBack,//回調(diào)函數(shù)指針 int nBufferSize,//輸出緩沖器大小 int nSampleRate,//采樣頻率 int nSampleBitsLen //量化精度
5、根據(jù)權(quán)利要求3所述的調(diào)制解調(diào)方法,其特征在于,調(diào)制過程中當(dāng)發(fā)送數(shù)據(jù)結(jié)束時(shí),插入M序列作為報(bào)尾;
6、根據(jù)權(quán)利要求3所述的調(diào)制解調(diào)方法,其特征在于,在調(diào)制解調(diào)過程中采用糾錯編碼技術(shù),以提高信號傳輸?shù)目煽啃浴?br>
全文摘要
基于聲卡的調(diào)制解調(diào)方法和系統(tǒng),提供一種用于數(shù)字通信的調(diào)制解調(diào)方法和系統(tǒng),利用計(jì)算機(jī)CPU完成對信號的實(shí)時(shí)調(diào)制與解調(diào),用聲卡完成A/D、D/A變換及信號的輸入輸出;擴(kuò)大了聲卡的用途;信號的調(diào)制與解調(diào)算法采用計(jì)算機(jī)軟件實(shí)現(xiàn),可以根據(jù)當(dāng)前通信使用的信道類型,調(diào)用不同的調(diào)制與解調(diào)算法模塊來通信,可以非常靈活、方便、廉價(jià)地實(shí)現(xiàn)數(shù)字信號傳輸,并且可以通過短波、超短波電臺來實(shí)現(xiàn)數(shù)據(jù)的無線數(shù)字通信。
文檔編號G06F13/38GK1635468SQ200310104160
公開日2005年7月6日 申請日期2003年12月29日 優(yōu)先權(quán)日2003年12月29日
發(fā)明者朱紅琛 申請人:中國電子科技集團(tuán)公司第三十研究所