基于声卡的调制解调方法和系统的制作方法

文档序号:6420106阅读:580来源:国知局
专利名称:基于声卡的调制解调方法和系统的制作方法
技术领域
本发明涉及数字通信调制解调领域,具体涉及基于声卡的调制解调技术。

背景技术
如今数字通信已得到广泛的应用,在数字通信中,信息采用量化的数字信号来表示,信息代码由二进制数0、1构成,为了使数字信号在信道中传输,实现数字通信,必须要先将数字信号通过调制解调技术转换成模拟的音频信号,再送入信道进行传输,现有的调制解调技术通常都是通过针对不同的应用采用专用的处理芯片来实现的一种专用的硬件设备,也即是我们通常所说的调制解调器(MODEM),针对不同的传输信道需要使用不同的调制解调器,比如通过有线电话线传输数字信号所使用的Modem,根据调制解调通信协议的不同就包括V.34、V.90、V.92等系列的Modem,还有配合短波、超短波电台使用的专用Modem等,使用起来很不方便,而且使得数字信号传输成本过高。
目前广泛应用的短波、超短波电台、手持对讲机,通常都只支持话音通信,不能进行数字通信。而声卡一般也只单纯地用于话音信号的A/D、D/A变换和输入输出,没有应用于数字信号的输入输出。


发明内容
本发明的目的是提供一种基于声卡的调制解调方法和系统,利用声卡完成数字信号的A/D、D/A变换和输入输出,调制与解调算法采用计算机软件实现,可以根据当前通信使用的信道类型,调用不同的调制与解调算法模块来实现调制解调,可以非常灵活、廉价地实现数字信号传输,并且可以通过短波、超短波电台来实现数据的无线数字通信。
为了达到上述目的,本发明采用以下技术方案来实现 基于计算机声卡的调制解调系统,由软件和硬件组成,硬件用于传输数据,软件用于对数据进行调制解调,硬件包括CPU、发送缓存器、接收缓存器、声卡、接口控制匹配模块;CPU通过发送缓冲器及接收缓冲器与声卡互连,声卡的接口通过接口控制匹配模块与信道互连; 通过CPU调用调制子程序和解调子程序,实现对音频信号逐帧的实时调制/解调;发送缓存器用于存贮经调制的待发送数据;接收缓存器用于存贮收到的待解调数据;声卡实现音频信号的输入、输出;接口控制匹配模块实现声卡和信道设备之间接口阻抗和信号电平的匹配,并控制电台的PTT信号。
基于计算机声卡的调制解调方法,包括调制过程和解调过程,在发送缓存器空、接收缓存器满时通过回调函数机制来分别调用调制子程序和解调子程序,实现对音频信号逐帧的实时调制/解调; 调制过程包括以下步骤将待处理数据信号按帧插入同步头,首先发送同步头,然后将待传输的数据比特流对基带载波进行调制形成音频信号,写入发送缓冲器,再通过声卡进行D/A变换,然后按帧输出到信道上; 解调过程包括以下步骤将收到的信号经声卡进行A/D变换后,送入接收缓冲器,当接收缓冲器满时通过回调函数机制调用解调子程序,逐帧地从数据中搜索同步头,并在同步建立后从中逐帧地解调出数据流。
本发明利用通用个人计算机+声卡作为数据通信的传输终端,无需其它硬件投资。用声卡完成数据信号的A/D、D/A变换和音频信号的输入输出,因此可将本系统与具有话音通信功能的通信设备配合使用,利用话音传输通道(如目前广泛应用的短波、超短波电台等)来实现数据通信;并扩展了声卡用于传输数据信号的应用;本发明中信号的调制与解调采用计算机软件实现,可以根据通信信道的类型,设计不同调制解调算法软件来进行通信,加上PC机上友好的人机操作界面,可以非常方便、灵活、廉价地实现数字信号的传输;接口控制匹配硬件模块,体积小、成本非常低、无需外接电源。



图1是基于声卡的调制解制系统的结构方框图 图2是接口控制匹配模块中匹配电路的电路原理图 图3是接口控制匹配模块中控制PPT电路的电路原理图 图4是调制程序流程图 图5是解调程序流程图 图6是图5中搜索同步头程序流程图
具体实施例方式 下面结合附图详细说明本发明的实现方法 个人计算机CPU具有强大运算处理能力,足以应付对数字信号的实时处理。目前声卡已经是PC中的标准配置,广泛使用的Windows操作系统提供了多媒体功能支持,因此通过PC机中集成的声卡即可以方便地实现音频流的输入输出。本系统就是利用PC机中的声卡和CPU处理器来实现音频信号的输入输出和对信号的实时调制解调处理,最终构成一个数据通信终端。通常声卡支持左右两个声道的立体声放音和录音,因此我们可以将左声道用于连接信道机,右声道用于连接用户的耳麦系统,当用户需要传输话音业务时,可以直接将来自右声道的信号送到左声道输出即可,系统的构成如图1所示CPU通过发送缓存器和接收缓存器与声卡互连,声卡的左声道接口通过接口控制匹配模块与电台互连,声卡的右声道通过接口控制匹配模块与用户话音接口互连。
声卡实现信号的D/A、A/D变换和音频信号的输入输出,在Windows系统下通过声卡实现音频信号输入/输出的方法有很多,我们通过Windows操作系统提供的音频控制软件接口调用mmsystem函数,设计了CwaveIn、CwaveOut两个类来实现音频信号逐帧输入/输出。
  CWaveIn∷CWaveIn(   PWaveCallBack pWaveCallBack, //回调函数指针   int nBufferSize, //输入缓冲器大小   int nSampleRate, //采样频率   int nSampleBitsLen //量化精度   )  CWaveOut∷CWaveOut(   PWaveCallBack pWaveCallBack,//回调函数指针   int nBufferSize,//输出缓冲器大小   int nSampleRate,//采样频率   int nSampleBitsLen //量化精度   ) 经过声卡输入/输出的数据是音频信号经过线性PCM编码后的样点序列,采样频率为8kHz,量化精度16bit,输入和输出的信号分别送入接收缓冲器和发送缓冲器,当输入/输出一定数量的样点(一帧)后,就会分别自动调用回调函数,在回调函数中完成信号调制/解调的处理。
CPU中的数字信号处理模块包括调制子程序和解调子程序,他们分别在发送缓存器空、接收缓存器满时通过回调函数机制来调用,实现对音频信号逐帧的实时调制/解调。
调制子程序发送时,首先发送同步头,然后将待传输的数据比特流对基带载波进行调制形成音频信号,再逐帧地由声卡播放输出到信道上传输,调制波形可以采用PSK或FSK方式,考虑到通信中可能会出现误码,应用软件中还应该采用FEC、ARQ等纠错编码通信技术,以降低数字信号的误码率,提高信号传输的可靠性,调制程序流程图如图4所示,首先启动数据的发送(步骤101),先发送一M序列做为同步头,判断同步头序列是否发送完毕(步骤102),如果没有则继续发送同步头序列(步骤103),并对同步头序列进行调制(步骤106),如果同步头序列发送完毕,则开始发送数据(步骤104),并对数据进行纠错编码(步骤105),然后对编码后的数据进行调制(步骤106),将调制(步骤106)后的数据送入发送缓存器(步骤107),判断数据是否发送结束(步骤108),如果未发送完,则回到步骤102继续发送,如果数据发送结束,则插入另一M序列做为数据报尾,判断报尾是否发送完毕(步骤109),未发送完则继续发送报尾序列(步骤110),并对报尾序列进行调制(步骤106),报尾发送完成则结束调制过程。
解调子程序逐帧地从声卡采集到的数据中搜索同步信号,并在同步建立之后从中逐帧地解调出数据流,解调程序的流程如图5所示,首先判断接收缓存器是否满(步骤201),如果未满则继续将声卡采集到的数据读入接收缓存器,如果已满则判断是否收到同步头(步骤202),没有收到同步头,则继续从数据中搜索同步头(步骤203),收到同步头后,则对数据进解调(步骤204),并进行纠错编码的解码(205),将解码后的数据输出(步骤206),判断是否收到报尾序列(207),如果没有,则回到步骤201继续对数据进行处理,如果收到报尾,则结束解调过程。
上述解调程序中搜索同步头(步骤203)的程序流程如图6所示,开始后解调收到的信号(步骤301),对解调后的数据进行M序列相关计算(步骤302),判断是否达到相关门限(步骤303)如果达到则置同步成功标志(步骤304),如果未达到相关门限,则继续重新开始搜索同步头过程,直至达到相关门限为止。
接口匹配控制模块包括匹配电路和控制PPT电路,声卡的耳麦接口与电台的麦克风、扬声器接口通常是不匹配的,为了系统能更有效的工作,需要在声卡和信道设备之间增加一个匹配电路,完成声卡和信道设备之间接口阻抗和信号电平的匹配;电台设备在发送信号时需要先控制电台的PTT信号,PTT信号的使用特点是,在发送时需要将PTT信号与地信号短接起来,空闲时断开,我们设计了控制PTT电路来完成此功能。
其中匹配电路采用无源的电阻网络来实现,电路原理图如图2所示,输入信号经电阻R1接地,并经可调电阻R2输出,电阻R1为输入匹配电阻,通常选用600Ω或1000Ω的表贴电阻,电阻R2为衰减电阻,通常选用150KΩ的表贴可调电阻,为了防止无线信道设备对系统的干扰,可以在输出信号端增加一个表贴的三端滤波器。
控制PTT电路的原理图如图3所示,来自计算机串口的控制信号RTS经电阻R1连在三极管的基极b,三极管的发射极e接地,集电极c接电台的PTT信号,其中电阻R1采用12KΩ的电阻,三极管采用2N2222,当RTS为高电平时,为允许电台发送。
目前广泛应用的短波、超短波电台、手持对讲机,通常都支持基带的话音通信,具有连接耳机、麦克风的插孔,将本系统声卡信号线与电台的耳机、麦克风信号线相连,即可实现无线数据通信;可以应用本系统实现以下的应用功能移动电台用户之间的短消息、电子文件传输;移动电台用户向中心台发送GPS定位信息;通过电台实现远程无线自动化控制等。
权利要求
1、一种基于计算机声卡的调制解调系统,由软件和硬件组成,硬件用于传输数据,软件用于对数据进行调制解调,其特征在于,硬件包括CPU、发送缓存器、接收缓存器、声卡、接口控制匹配模块;CPU通过发送缓存器及接收缓存器与声卡互连,声卡的接口通过接口控制匹配模块与信道互连;
通过CPU调用调制子程序和解调子程序,实现对音频信号逐帧的实时调制/解调;
发送缓存器用于存贮经调制的待发送数据;
接收缓存器用于存贮收到的待解调数据;
声卡实现信号的D/A、A/D变换和音频信号的输入、输出;
接口控制匹配模块实现声卡和信道设备之间接口阻抗和信号电平的匹配,并控制电台的PTT信号。
2、根据权利要求1所述的基于计算机声卡的调制解调系统,其特征在于,接口控制匹配模块包括匹配电路和控制PTT电路;
匹配电路采用无源的电阻网络来实现,输入信号经电阻R1接地,并经可变电阻R2输出;
控制PTT电路实现控制电台PTT信号的功能,来自计算机串口的控制信号RTS经电阻R1连在三极管的基极b,三极管的发射极e接地,集电极c接电台的PTT信号。
3、一种基于计算机声卡的调制解调方法,包括调制过程和解调过程,其特征在于,在发送缓存器空、接收缓存器满时通过回调函数机制来分别调用调制子程序和解调子程序,实现对音频信号逐帧的实时调制/解调;
调制过程包括以下步骤将待发送数据信号按帧插入同步头,然后对基带载波进行调制形成音频信号,写入发送缓存器,再通过声卡进行D/A变换,逐帧输出到信道上;
解调过程包括以下步骤将收到的信号经声卡进行A/D变换后,逐帧送入接收缓存器,当接收缓存器满时通过回调函数机制调用解调子程序,逐帧地从数据中搜索同步头,并在同步建立后从中逐帧地解调出数据流。
4、根据权利要求3所述的调制解调方法,其特征在于,其中用声卡实现音频信号逐帧输入/输出的方法是通过Windows操作系统提供的音频控制软件接口调用mmsystem函数,并设计了C waveIn、C waveOut两个类来实现音频信号的逐帧输入/输出;CWaveIn::CWaveIn(
PWaveCallBack pWaveCallBack,//回调函数指针<!-- SIPO <DP n="1"> --><dp n="c1"/>   int nBufferSize, //输入缓冲器大小   int nSampleRate, //采样频率   int nSampleBitsLen //量化精度   )   CWaveOut::CWaveOut(   PWaveCallBack pWaveCallBack,//回调函数指针   int nBufferSize,//输出缓冲器大小   int nSampleRate,//采样频率   int nSampleBitsLen //量化精度
5、根据权利要求3所述的调制解调方法,其特征在于,调制过程中当发送数据结束时,插入M序列作为报尾;
6、根据权利要求3所述的调制解调方法,其特征在于,在调制解调过程中采用纠错编码技术,以提高信号传输的可靠性。
全文摘要
基于声卡的调制解调方法和系统,提供一种用于数字通信的调制解调方法和系统,利用计算机CPU完成对信号的实时调制与解调,用声卡完成A/D、D/A变换及信号的输入输出;扩大了声卡的用途;信号的调制与解调算法采用计算机软件实现,可以根据当前通信使用的信道类型,调用不同的调制与解调算法模块来通信,可以非常灵活、方便、廉价地实现数字信号传输,并且可以通过短波、超短波电台来实现数据的无线数字通信。
文档编号G06F13/38GK1635468SQ200310104160
公开日2005年7月6日 申请日期2003年12月29日 优先权日2003年12月29日
发明者朱红琛 申请人:中国电子科技集团公司第三十研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1