CN102117616A - 一种ambe-2000声码器无格式码流的实时编解码纠错方法 - Google Patents
一种ambe-2000声码器无格式码流的实时编解码纠错方法 Download PDFInfo
- Publication number
- CN102117616A CN102117616A CN2011100523994A CN201110052399A CN102117616A CN 102117616 A CN102117616 A CN 102117616A CN 2011100523994 A CN2011100523994 A CN 2011100523994A CN 201110052399 A CN201110052399 A CN 201110052399A CN 102117616 A CN102117616 A CN 102117616A
- Authority
- CN
- China
- Prior art keywords
- ambe
- vocoder
- error correction
- bit
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明的名称是一种AMBE-2000无格式码流的实时编解码纠错方法,属于通信领域。本发明提供一种对AMBE-2000声码器无格式码流在外部进行纠错优化的方法,可以纠正单比特误码,适用于随机信道。该方法的基本思想是:对无格式码流的有效位通过海明码编码算法生成监督位,并填充到相应字的冗余位;解码时先通过海明码解码算法纠正误码,再由AMBE-2000声码器还原语音输出。这种方法对AMBE-2000声码器的输出无格式码流添加了纠错功能。相对于AMBE-2000声码器的有格式纠错,能用更简单的外部器件实现,且不改变传输机制。
Description
技术领域
本发明属于通信领域,具体涉及一种对AMBE-2000声码器无格式码流在外部进行纠错优化的方法,可以纠正单比特误码。这种纠错方法对AMBE-2000声码器语音编码具有纠错能力。
背景技术
AMBE-2000是DVSI公司的新一代专用语音编解码芯片,它采用AMBE(Advanced Multi-Band Excitation)语音压缩算法,具有高度的灵活性,适应性,实时性,能以2.0kbps-9.6kbps的低速率全双工的工作方式提供优质的语音服务,且具有前向纠错(FEC)、语音激活检测(VAD)、双音多频信号检测(DTMF)和回音消除等功能。
AMBE-2000与主机的接口数据格式分为两种:一种是有格式,另一种是无格式。有格式的情况下AMBE-2000大约每20ms会生成一个数据包,该数据包具有完整的帧结构,外部器件需要微控制器对帧结构进行处理;无格式情况下只需发送数据位,与有格式相比每秒会减少50比特的数据,因此会降低语音质量,但是无格式情况下无需外部微控制器,能降低外部器件的复杂度。
无格式情况下每帧的字数与压缩率的关系为:字数=[压缩率(bps)/50(bps)]/位数。式中,选择的位数必须能被选择的压缩数据率整除。
每个字的有效位数与选择脚的关系如下表所示:
字中有效位个数 | BA_SEL1(81脚) | BA_SEL0(80脚) |
1 | 0 | 0 |
2 | 0 | 1 |
3 | 1 | 0 |
4 | 1 | 1 |
由于无格式码流每个字有12~15比特的冗余位,因此可以在无格式情况下用外部器件对冗余位填充纠错校验信息,以保证传输机制不受影响,增加系统的鲁棒性。与有格式的前向纠错(FEC)功能相比,这种纠错方式会略微降低语音质量,但是外部器件简单,易于实现。
发明内容
一种AMBE-2000声码器无格式码流的实时编解码纠错方法包含以下步骤:
1)系统复位后,根据AMBE-2000声码器输出的无格式码流有效位数控制信号(BA_SEL信号)初始化外部器件。
2)纠错编码器检测到AMBE-2000声码器的输出帧同步信号后,对该帧所有字的相应有效位进行海明编码。
3)在生成监督位后,纠错编码器将所获得的监督位填充到相应字的冗余位,完成一帧数据的处理后立即将该帧发送到通信链路。
4)纠错解码器接收到数据帧后,首先计算得出校正子,再进行查错。若有错则对相应位进行纠错,完成一帧数据的处理后立即将该帧发送到通信链路。
5)AMBE-2000声码器解码接收到纠错后的码流后,将其还原成语音输出。
1、在所述步骤1)中,需根据AMBE-2000声码器输出的有效位比特数控制信号,即BA_SEL信号初始化外部器件,包括纠错编码器和纠错解码器,对应关系如下表所示。因此需获取AMBE-2000声码器输出的BA_SEL0和BA_SEL1信号。
字中有效位个数 | BA_SEL1(81脚) | BA_SEL0(80脚) |
1 | 0 | 0 |
2 | 0 | 1 |
3 | 1 | 0 |
4 | 1 | 1 |
2、在所述步骤2)中,外部器件初始化完成后,开始检测AMBE-2000声码器EPR信号的下降沿,该信号表示AMBE-2000声码器的第一帧数据已经编码完毕;当检测到EPR信号后,编码器开始以AMBE-2000声码器的输出帧同步信号,即38脚的CHAN_TX_STRB信号作为帧同步,对每一帧所有字分别进行海明编码。根据海明码编码规则,若码长为n,信息位数为k,则监督位数r=n-k。能纠正一位错码要求的r与k须满足如下关系:
2r≥k+r+1
AMBE无格式码流的有效位即为上式中的信息位。编码流程如下:
3、在所述步骤3)中,一个字的数据完成海明编码后,编码器将所获得的监督位按由高位到低位的顺序覆盖当前字相应比特数的冗余位数据,对多出的冗余位不作处理。由于每个字编码产生得监督位最多有3比特,而冗余位至少有12比特,因此不会出现监督位溢出的情况。
4、在所述步骤4)中,纠错解码器获得接收数据后,首先按照如下规则计算校正子:
若初始化后有效位为1比特,则校正子获取关系式为:
若初始化后有效位为3比特,则校正子获取关系式为:
纠错解码器获取校正子后对校正子进行检验,校正子全为0则无误码;若校正子不全为0则可确定1比特误码的位置,从而对该位进行纠错。例如对于4比特有效位情况,纠错解码器计算后获得的监督位S2S1S0为011,则由海明码编码规则可确定a3为误码,从而可以对a3取反纠错。须注意海明码仅能纠错1比特,因此这种纠错方式适用于随机信道;而在突发信道中误码经常连续出现,这种纠错方式效果不明显。
6、纠错完成后将码流送由AMBE-2000声码器解码。由于AMBE-2000声码器解码只针对有效位,因此若不经过纠错解码器,添加海明码后的无格式码流也能直接实现解码,只是缺少了纠错过程。
7、在所述步骤1)中外部器件为Xilinx公司的Spartan 3 FPGA。
本发明提供一种对AMBE-2000声码器无格式码流在外部填充海明码进行纠错的方法,该方法能在无格式情况下能有效提高系统鲁棒性,增加查错纠错功能。相对于AMBE-2000声码器的有格式工作状态,硬件复杂度更低,易于实现。
附图说明
图1是本发明提出的纠错方法整体示意图;
图2是本发明的编码流程图;
图3是本发明的解码流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对根据本发明一个实施例的一种AMBE-2000声码器无格式码流的实时编解码纠错方法进一步详细说明。
本实施例提供一种对AMBE-2000声码器无格式码流在外部填充海明码进行纠错的方法,如附图1所示。
本实施例中设定无格式码流有效位数为4,即每个字高4位为有效位,低12位为冗余位。对应AMBE-2000输出的效位数控制信号BA_SEL0(80脚)为高电平,BA_SEL1信号(81脚)也为高电平;AMBE-2000声码器编码器输出码率为8kbps;外部器件为Xilinx公司的Spartan 3 FPGA,按照AMBE-2000用户手册推荐的标准电路与AMBE-2000声码器相连接,完成初始化配置;硬件设计采用Verilog HDL语言编写。该方法主要包括以下步骤:
1)系统复位后,根据AMBE-2000声码器无格式码流有效位数控制信号,即BA_SEL信号初始化外部器件。
2)初始化后的纠错编码器检测到AMBE-2000声码器的输出帧同步信号后,对该帧所有字的相应有效位进行海明编码。
3)纠错编码器从海明码中分离出监督位数据,并按由高位到低位的顺序填充到相应字的冗余位。
4)纠错解码器获取监督位数据,对相应位进行查错与纠错。
5)纠错后的码流由AMBE-2000声码器解码,还原成语音输出。
1、在所述步骤1)中,需根据AMBE-2000声码器输出的有效位比特数控制信号,即BA_SEL信号初始化外部器件,包括纠错编码器和纠错解码器,因此需获取AMBE-2000声码器输出的BA_SEL0和BA_SEL1信号。
2、在所述步骤2)中,外部器件初始化完成后,开始检测AMBE-2000声码器EPR信号的下降沿,该信号表示AMBE-2000声码器的第一帧数据已经编码完毕;当检测到EPR信号后,编码器开始以AMBE-2000声码器的输出帧同步信号,即38脚的CHAN_TX_STRB信号作为帧同步,对每一帧所有字分别进行海明编码。根据海明码编码规则,若码长为n,信息位数为k,则监督位数r=n-k。能纠正一位错码要求的r与k须满足如下关系:
2r≥k+r+1
AMBE无格式码流的有效位即为上式中的信息位。编码流程如下:
若初始化后有效位为1比特,则添加2比特监督位。用a2表示有效位,a1a0表示监督位,则监督位获取关系式为:
3、在所述步骤3)中,一个字的数据完成海明编码后,编码器将所获得的监督位按由高位到低位的顺序覆盖当前字相应比特数的冗余位数据,对多出的冗余位不作处理。由于每个字编码产生得监督位最多有3比特,而冗余位至少有12比特,因此不会出现监督位溢出的情况。
4、在所述步骤4)中,纠错解码器获得接收数据后,首先按照如下规则计算校正子:
纠错解码器获取校正子后对校正子进行检验,校正子全为0则无误码;若校正子不全为0则可确定1比特误码的位置,从而对该位进行纠错。例如对于4比特有效位情况,纠错解码器计算后获得的监督位S2S1S0为011,则由海明码编码规则可确定a3为误码,从而可以对a3取反纠错。
5、纠错完成后将码流送由AMBE-2000声码器解码。由于AMBE-2000声码器解码只针对有效位,因此若不经过纠错解码器,添加海明码后的无格式码流也能直接实现解码,只是缺少了纠错过程。
编码流程图如附图2所示。
系统上电复位后,外部器件开始等待EPR信号下降沿,该信号表示AMBE-2000声码器的第一帧已经准备完毕。当EPR信号下降沿来临后,FPGA开始以AMBE-2000声码器的输出帧同步信号(CHAN_TX_STRB信号,38脚)作为帧同步,对该帧所有字按照海明码编码算法完成编码;在生成监督位后,纠错编码器将所获得的监督位填充到相应字的冗余位;完成一帧数据的处理后立即将该帧发送到通信链路,并同时发送帧同步信号,再处理下一帧。
解码流程图如附图3所示。
纠错解码器接受到编码帧和帧同步信号后,首先按照海明码解码算法获取校正子,校正子全为0则无误码;若校正子不全为0则可确定1比特误码的位置,从而对该位进行纠错;确认当前帧所有字已完成查错纠错过程后,发送AMBE-2000声码器的接收帧同步信号(CHAN_RX_STRB信号,30脚)作为接收帧同步,并同时发送当前帧数据,由AMBE-2000声码器解码并最终还原语音输出。
该纠错方式系统资源占用少,实现简单,在不影响传输机制的前提下能有效提高系统鲁棒性。以上结合附图对本发明的具体实施方式作了说明,但这些说明不能被理解为限制了本发明的范围,本发明的保护范围由随附的权利要求书限定,任何在本发明权利要求基础上的改动都是本发明的保护范围。
Claims (6)
1.一种AMBE-2000声码器无格式码流的实时编解码纠错方法,其特征在于,该方法包含以下步骤:
1)系统复位后,根据AMBE-2000声码器输出的无格式码流有效位数控制信号,即BA_SEL信号初始化外部器件;
2)纠错编码器检测到AMBE-2000声码器的输出帧同步信号后,对该帧所有字的相应有效位进行海明编码;
3)在生成监督位后,纠错编码器将所获得的监督位填充到相应字的冗余位,完成一帧数据的处理后立即将该帧发送到通信链路;
4)纠错解码器接收到数据帧后,首先计算得出校正子,再进行查错。若有错则对相应位进行纠错,完成一帧数据的处理后立即将该帧发送到通信链路;
5)AMBE-2000声码器解码接收到纠错后的码流后,将其还原成语音输出。
2.根据权利要求1所述方法,其特征在于,在所述步骤1)中,需根据AMBE-2000声码器输出的有效位比特数控制信号,即BA_SEL信号初始化外部器件,包括纠错编码器和纠错解码器。
3.根据权利要求1所述方法,其特征在于,在所述步骤2)中,外部器件初始化完成后,开始检测AMBE-2000声码器EPR信号的下降沿,该信号表示AMBE-2000声码器的第一帧数据已经编码完毕;当检测到EPR信号后,编码器开始以AMBE-2000声码器的输出帧同步信号,即38脚的CHAN_TX_STRB信号作为帧同步,对每一帧所有字分别进行海明编码。
4.根据权利要求1所述方法,其特征在于,在所述步骤3)中,一个字的数据完成海明编码后,编码器将所获得的监督位按由高位到低位的顺序覆盖当前字相应比特数的冗余位数据,对多出的冗余位不作处理。
5.根据权利要求1所述方法,其特征在于,在所述步骤4)中,纠错解码器获得接收数据后,首先计算校正子;获取校正子后对校正子进行检验,校正子全为0则无误码;若校正子不全为0则可确定1比特误码的位置,从而对该位进行纠错。
6.根据权利要求1所述方法,其特征在于,在所述步骤1)中外部器件为Xilinx公司的Spartan 3 FPGA。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100523994A CN102117616A (zh) | 2011-03-04 | 2011-03-04 | 一种ambe-2000声码器无格式码流的实时编解码纠错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100523994A CN102117616A (zh) | 2011-03-04 | 2011-03-04 | 一种ambe-2000声码器无格式码流的实时编解码纠错方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102117616A true CN102117616A (zh) | 2011-07-06 |
Family
ID=44216348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100523994A Pending CN102117616A (zh) | 2011-03-04 | 2011-03-04 | 一种ambe-2000声码器无格式码流的实时编解码纠错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102117616A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103680519A (zh) * | 2012-09-07 | 2014-03-26 | 成都林海电子有限责任公司 | 卫星移动终端语音编解码器全双工语音输出功能测试方法 |
CN103684574A (zh) * | 2012-09-07 | 2014-03-26 | 成都林海电子有限责任公司 | 卫星移动通信终端的语音编解码器自闭环性能测试方法 |
CN108173619A (zh) * | 2016-12-07 | 2018-06-15 | 华为技术有限公司 | 一种信息编码方法、解码方法及装置 |
CN110233629A (zh) * | 2019-05-21 | 2019-09-13 | 中国科学院上海微系统与信息技术研究所 | 改进的汉明码纠错方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6199037B1 (en) * | 1997-12-04 | 2001-03-06 | Digital Voice Systems, Inc. | Joint quantization of speech subframe voicing metrics and fundamental frequencies |
CN1909574A (zh) * | 2006-08-09 | 2007-02-07 | 南京航空航天大学 | 多功能数字加密电话 |
CN101944363A (zh) * | 2010-09-21 | 2011-01-12 | 北京航空航天大学 | 一种ambe-2000声码器编码数据码流控制方法 |
CN101968962A (zh) * | 2010-09-19 | 2011-02-09 | 北京航空航天大学 | 一种基于faac及faad2的单声道固定比特率的音频实时编解码纠错方法 |
-
2011
- 2011-03-04 CN CN2011100523994A patent/CN102117616A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6199037B1 (en) * | 1997-12-04 | 2001-03-06 | Digital Voice Systems, Inc. | Joint quantization of speech subframe voicing metrics and fundamental frequencies |
CN1909574A (zh) * | 2006-08-09 | 2007-02-07 | 南京航空航天大学 | 多功能数字加密电话 |
CN101968962A (zh) * | 2010-09-19 | 2011-02-09 | 北京航空航天大学 | 一种基于faac及faad2的单声道固定比特率的音频实时编解码纠错方法 |
CN101944363A (zh) * | 2010-09-21 | 2011-01-12 | 北京航空航天大学 | 一种ambe-2000声码器编码数据码流控制方法 |
Non-Patent Citations (1)
Title |
---|
《国外电子元器件》 20031130 刑建泉 新型语音压缩编解码器AMBE2000 , 第11期 2 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103680519A (zh) * | 2012-09-07 | 2014-03-26 | 成都林海电子有限责任公司 | 卫星移动终端语音编解码器全双工语音输出功能测试方法 |
CN103684574A (zh) * | 2012-09-07 | 2014-03-26 | 成都林海电子有限责任公司 | 卫星移动通信终端的语音编解码器自闭环性能测试方法 |
CN108173619A (zh) * | 2016-12-07 | 2018-06-15 | 华为技术有限公司 | 一种信息编码方法、解码方法及装置 |
CN110233629A (zh) * | 2019-05-21 | 2019-09-13 | 中国科学院上海微系统与信息技术研究所 | 改进的汉明码纠错方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1130938C (zh) | 用于在自适应多速率通信系统中非连续传输和配置更改的有效带内信令 | |
KR101221915B1 (ko) | 데이터 전송방법 | |
CN102117616A (zh) | 一种ambe-2000声码器无格式码流的实时编解码纠错方法 | |
EP2599255B1 (en) | System and method for synchronization tracking in an in- band modem | |
CN102377521B (zh) | 用于执行前向纠错的系统和方法 | |
WO2013055046A3 (ko) | 통신/방송 시스템에서 데이터 송수신 장치 및 방법 | |
CN103874017B (zh) | 一种卫星定位数据传输方法 | |
KR20190066065A (ko) | 인코딩 및 디코딩 방법 및 디바이스 | |
WO2018014529A1 (zh) | 一种编码方法、相关设备及系统 | |
EP2899914B1 (en) | Upstream forward error correction codeword filling | |
US8839070B2 (en) | Error correction apparatus and error correction method | |
CN104580985A (zh) | 视频码率自适应方法及系统 | |
MX2014013560A (es) | Aparato y metodo de transmision y recepcion de paquete en sistema de radiofusion y comunicacion. | |
CN108696491B (zh) | 音频数据的发送处理方法与装置、接收处理方法与装置 | |
WO2011144112A3 (zh) | 语音信号处理方法、装置和接入网系统 | |
US10020914B2 (en) | Methods and apparatus for maximum utilization of a dynamic varying digital data channel | |
CN104221317B (zh) | 发送装置、接收装置、发送方法及接收方法 | |
CN103312458A (zh) | 混合编码方法 | |
EP4274127A1 (en) | Data transmission method and apparatus, and device, system and computer-readable storage medium | |
CN110868616A (zh) | 一种5g网络下低延时高可靠视频传输方法 | |
CN101938322B (zh) | 带宽自适应数据分级保护方法与装置 | |
CN101931492A (zh) | 数据块前向纠错算法的确定方法与装置 | |
WO2017128731A1 (zh) | 动态功耗控制的编码方法及编解码器 | |
WO2012092902A2 (zh) | 一种译码方法和译码装置 | |
CN112735450B (zh) | 基于语音通道传输数据的方法、装置、存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110706 |