CN1787386A - 一种维特比译码器路径度量存储的方法 - Google Patents
一种维特比译码器路径度量存储的方法 Download PDFInfo
- Publication number
- CN1787386A CN1787386A CN 200410052581 CN200410052581A CN1787386A CN 1787386 A CN1787386 A CN 1787386A CN 200410052581 CN200410052581 CN 200410052581 CN 200410052581 A CN200410052581 A CN 200410052581A CN 1787386 A CN1787386 A CN 1787386A
- Authority
- CN
- China
- Prior art keywords
- path
- path metric
- storage
- memory
- output
- 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
Abstract
本发明的一种维特比译码器路径度量存储的方法,所述维特比译码器包括分支度量计算单元、加比选单元、路径度量存储器、幸存路径存储及回溯单元,所述方法包括以下步骤:译码时,输入的符号经过所述分支度量计算单元得到分支度量;从所述路径度量存储器读出旧的路径度量;所述加比选单元相加、比较得到较佳的路径;向所述路径度量存储器的旧地址写入并保存新的路径度量;译码到一定深度后回溯输出译码比特。本发明方法只采用了一块路径度量存储器,计算出来的新状态度量直接覆盖旧的状态度量,从而节省了一块RAM,使维特比译码器占用的资源有了较大的减小。
Description
技术领域
本发明涉及一种通讯、电子领域的译码电路处理方法,具体地说,涉及一种维特比译码器的路径度量存储的方法。
背景技术
在无线通信系统中,卷积码是常用的前向纠错编码方案,卷积码编码把k个信息比特编成n个比特,由于k和n通常很小,特别适宜于以串行形式传输信息,延迟少。在编码器复杂性相同的情况下,卷积码的性能优于分组码,因此卷积码在移动通信、数字广播、无线局域网等领域得到了广泛的应用。
卷积码的译码方式有三种:维特比译码、序列译码和门限译码,其中维特比译码虽然硬件最复杂,但是具有最佳性能,在GSM、CDMA、WCDMA、HDTV、DVB、WLAN等产品都使用了维特比译码。
卷积码译码的理论基础是最大似然译码,对于长度为L的二进制序列进行最大似然译码,需要对可能发送的2L个不同的序列的2L条路径似然函数累加值进行比较,选取其中最大的一条。显然译码过程的计算量随L增加而呈指数增长,在实际中是难以实现的。
用网格图描述时,由于路径的汇聚消除了树状图的多余度,译码过程中只需考虑这个路径集合中哪些能使似然函数最大的路径。如果在某一节点上发现某条路径已不可能获得最大对数似然函数,那么就放弃这条路径。然后在剩下的“幸存”路径中重新选择译码路径,这样一直进行到最后第L级。由于这种方法较早地丢弃了那些不可能的路径,从而减轻了译码的工作量,维特比译码正是基于这种想法。
图1是现有技术的卷积编码状态转移示意图,也是进行加比选操作时新旧状态之间的关系图,其中(a)、(b)分别对应于编码输入与状态寄存器的LSB、MSB相连的情况,2k、2k+1为旧的状态编号,k、k+2v-1为计算出来的新状态编号,v等于约束长度-1。
维特比译码器硬件一般包含在控制单元的控制下的分支度量计算单元(BMU)、加比选单元(ACS)、路径度量存储RAM(PMRAM)、幸存路径存储及回溯单元(TraceBack),如图2所示,接收的符号经过输入缓冲存储器RAM到达分支度量计算单元,计算出分支度量后输出到加比选单元,在加比选单元中分支度量和旧的路径度量相加比较,选择出较优的路径度量保存到路径度量存储单元中,同时把路径信息保存到幸存路径存储器中,达到一定的深度后,回溯单元进行回溯输出到输出缓存,完成译码过程。
对于路径度量存储RAM,在传统的设计中状态编号和RAM的存储位置是一致的,0状态保存在地址为0的RAM空间,1状态保存在地址为1的的RAM空间,如此类推,图3为传统的路径度量存储方法在对约束长度为9的卷积码进行译码时的存储方案,进行加比选操作时,(0,1)两个状态计算得到(0,128)状态,新的128状态不能保存到同一块RAM中,因为这样会覆盖旧的编号为128的路径度量,后者在随后的计算中还会用到。因此需要另外用一块同样容量的RAM保存新的路径度量,因此路径度量存储RAM必须分为独立的两块,一块保存旧的路径度量,另一块保存新的路径度量,交替轮换。两块这样的RAM占用了较多的资源,特别在加比选单元比较少的设计情况中,其他功能模块占用的资源比较少,相比之下路径存储RAM占用的资源就更为突出了。
因此,现有技术尚存有缺陷,而有待于改进和发展。
发明内容
本发明的目的在于针对现有技术中的问题,提出一种维特比译码器路径度量存储的方法,此种新的路径存储方法使用1块RAM就可以完成路径度量的存储,由此克服现有技术中占用资源较多的缺陷。
本发明的技术方案如下:
一种维特比译码器路径度量存储的方法,所述维特比译码器包括分支度量计算单元、加比选单元、路径度量存储器、幸存路径存储及回溯单元,所述方法包括以下步骤:
a)译码时,输入的符号经过所述分支度量计算单元得到分支度量;
b)从所述路径度量存储器读出旧的路径度量;
c)所述加比选单元相加、比较得到较佳的路径;
d)向所述路径度量存储器的旧地址写入并保存新的路径度量;
e)译码到一定深度后回溯输出译码比特。
所述的方法,其中,所述步骤d)中采用了以下地址产生方法:设置一地址产生电路,其包括一用于记录当前处于网格图的哪一步的译码步骤计数,一记录期望读出的状态的编号的状态编号;以及一用于计算的移位译码器和一桶形移位寄存器,根据所述译码步骤计数和所述状态编号的输出,对所述路径度量存储器进行读写。
所述的方法,其中,对所述路径度量存储器的读写包括以下循环存储的过程:所述译码步骤计数的输出为L,所述移位译码器的输出是M=2Lmod(8),所述桶形移位寄存器把所述路径度量存储器的状态编号循环右移M位,并将对应该状态编号的路径度量在所述路径度量存储器中的地址进行存储。
本发明所提供的一种维特比译码器路径度量存储的方法,该路径度量方法的特点是只采用了一块路径度量存储器RAM,计算出来的新状态度量直接覆盖旧的状态度量,采用新的存储方法后译码过程的每一步,同一个状态在RAM的存储位置都不同,由于状态编号和RAM地址不再是简单的对应关系,而且同一个状态在不同时刻有不同的存储位置,因此本发明提供了一种专门的地址产生电路解决方案;由于新的路径度量可以直接覆盖旧的路径度量,因此新旧两种路径度量不必再分别保存在两块独立的RAM中,从而节省了一块RAM,使维特比译码器占用的资源有了较大的减小。
附图说明
图1现有技术的卷积编码的状态转移示意图;
图2是现有技术的维特比译码器的结构框图;
图3是现有技术的路径度量存储方法示意图;
图4是本发明的路径度量存储方法示意图;
图5是本发明的路径度量存储方法的地址产生方法示意图。
具体实施方式
以下将详细说明本发明的较佳实施例。
本发明所涉及的维特比译码器,其包括分支度量计算单元、加比选单元、路径度量存储器RAM、幸存路径存储及回溯单元。译码时,输入的符号经过(1)分支度量计算单元得到分支度量,(2)读出旧的路径度量,(3)加比选单元相加、比较得到较佳的路径,(4)保存新的路径度量,(5)译码到一定深度后回溯输出译码比特。本发明的改进点在于步骤(2)、(4)中采用本发明所述地址产生方法进行路径度量的存取。
图4是新的路径度量存储方法示意图,图中示例对应卷积码的约束长度为9,其中t=8*n、t=8*n+1...为译码器工作时的时间推移,大的长方形表示路径存储RAM,里面的小格表示RAM的一个存储单元,0、1...255等数字是状态编号。
在本发明方法中只采用了一块随机存储器RAM,计算出来的新状态直接覆盖旧的状态,例如最初(0,1)状态保存在RAM的0、1位置上,两者计算后得到的(0,128)也保存到RAM的0、1位置上,即覆盖了旧的(0,1)状态的度量,由于最初的(0,1)状态只用于计算(0,128)的状态度量,因此被覆盖后不影响其他状态度量的计算。采用新的存储方法后译码过程的每一步,同一个状态在RAM的存储位置都不同,但是有一定的周期,卷积码的约束长度为9时,路径度量存储RAM的存储周期为8,即译码过程中每8步的存储位置和存储内容的对应关系相同,例如t=8*n和t=8*n+8时刻,路径度量在RAM中的存储位置相同。
在新存储方法的实现中,读写地址的产生是关键。由于状态编号和RAM地址不再是简单的对应关系,而且同一个状态在不同时刻有不同的存储位置,因此需要设计专门的地址产生电路。图5为新路径度量存储方法的地址产生电路的原理框图,其中状态编号为期望读出的状态的编号,译码步骤计数用于记录当前处于网格图的哪一步,以图4为例,在t=8*n译码步骤计数的输出是0,在t=8*n+1译码步骤计数的输出是1,...,在t=8*n+7的输出是7,在t=8*(n+1)的输出是0,如此类推。假设译码步骤计数的输出为L,移位译码器的输出是M=2Lmod(8),桶形移位寄存器把状态编号循环右移M位,桶形移位寄存器的输出就是该状态编号的路径度量在RAM中的地址。因为其以8为循环次数,因此,通过上述电路中的各寄位器的配合可以依次循环在旧的地址上读写数据,从而循环将新的路径度量存储在旧的路径度量地址上。
由于新的路径度量可以直接覆盖旧的路径度量,因此本发明方法的新旧两种路径度量不必再分别保存在两块独立的RAM中,从而节省了一块RAM,使维特比译码器占用的资源有较大的减小。
应当指出的是,本发明方法的上述针对具体实施例的描述过于具体,不能因此而理解为对本发明的请求保护范围的限制,本发明的专利保护范围应以所附权利要求为准。
Claims (3)
1、一种维特比译码器路径度量存储的方法,所述维特比译码器包括分支度量计算单元、加比选单元、路径度量存储器、幸存路径存储及回溯单元,所述方法包括以下步骤:
a)译码时,输入的符号经过所述分支度量计算单元得到分支度量;
b)从所述路径度量存储器读出旧的路径度量;
c)所述加比选单元相加、比较得到较佳的路径;
d)向所述路径度量存储器的旧地址写入并保存新的路径度量;
e)译码到一定深度后回溯输出译码比特。
2、根据权利要求1所述的方法,其特征在于,所述步骤d)中采用了以下地址产生方法:设置一地址产生电路,其包括一用于记录当前处于网格图的哪一步的译码步骤计数,一记录期望读出的状态的编号的状态编号;以及一用于计算的移位译码器和一桶形移位寄存器,根据所述译码步骤计数和所述状态编号的输出,对所述路径度量存储器进行读写。
3、根据权利要求2所述的方法,其特征在于,对所述路径度量存储器的读写包括以下循环存储的过程:所述译码步骤计数的输出为L,所述移位译码器的输出是M=2Lmod(8),所述桶形移位寄存器把所述路径度量存储器的状态编号循环右移M位,并将对应该状态编号的路径度量在所述路径度量存储器中的地址进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410052581 CN1787386A (zh) | 2004-12-08 | 2004-12-08 | 一种维特比译码器路径度量存储的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410052581 CN1787386A (zh) | 2004-12-08 | 2004-12-08 | 一种维特比译码器路径度量存储的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1787386A true CN1787386A (zh) | 2006-06-14 |
Family
ID=36784728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410052581 Pending CN1787386A (zh) | 2004-12-08 | 2004-12-08 | 一种维特比译码器路径度量存储的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1787386A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106385B (zh) * | 2007-08-01 | 2010-07-21 | 北京大学深圳研究生院 | 一种维特比译码装置及方法 |
CN101826879A (zh) * | 2009-03-04 | 2010-09-08 | 索尼公司 | 解码装置和解码方法 |
CN102291198A (zh) * | 2010-06-18 | 2011-12-21 | 中兴通讯股份有限公司 | 信道译码方法和装置 |
CN101262233B (zh) * | 2008-04-17 | 2012-09-12 | 四川虹微技术有限公司 | 维特比译码方法 |
CN105589082A (zh) * | 2015-12-17 | 2016-05-18 | 湖南中森通信科技有限公司 | 一种北斗导航系统的维特比译码装置及方法 |
CN111130566A (zh) * | 2019-12-18 | 2020-05-08 | 清华大学 | Polar码译码器中寻找L个最大路径度量值的电路实现方法 |
CN112134574A (zh) * | 2020-11-23 | 2020-12-25 | 易兆微电子(杭州)股份有限公司 | 路径度量信息的存储方法、装置、电子设备及存储介质 |
WO2024061266A1 (zh) * | 2022-09-22 | 2024-03-28 | 中兴通讯股份有限公司 | Mlse均衡器的实现方法和芯片、电子设备、计算机可读介质 |
-
2004
- 2004-12-08 CN CN 200410052581 patent/CN1787386A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106385B (zh) * | 2007-08-01 | 2010-07-21 | 北京大学深圳研究生院 | 一种维特比译码装置及方法 |
CN101262233B (zh) * | 2008-04-17 | 2012-09-12 | 四川虹微技术有限公司 | 维特比译码方法 |
CN101826879A (zh) * | 2009-03-04 | 2010-09-08 | 索尼公司 | 解码装置和解码方法 |
CN101826879B (zh) * | 2009-03-04 | 2013-03-27 | 索尼公司 | 解码装置和解码方法 |
CN102291198A (zh) * | 2010-06-18 | 2011-12-21 | 中兴通讯股份有限公司 | 信道译码方法和装置 |
CN102291198B (zh) * | 2010-06-18 | 2014-08-20 | 中兴通讯股份有限公司 | 信道译码方法和装置 |
CN105589082A (zh) * | 2015-12-17 | 2016-05-18 | 湖南中森通信科技有限公司 | 一种北斗导航系统的维特比译码装置及方法 |
CN111130566A (zh) * | 2019-12-18 | 2020-05-08 | 清华大学 | Polar码译码器中寻找L个最大路径度量值的电路实现方法 |
CN111130566B (zh) * | 2019-12-18 | 2021-05-11 | 清华大学 | Polar码译码器中寻找L个最大路径度量值的电路实现方法 |
CN112134574A (zh) * | 2020-11-23 | 2020-12-25 | 易兆微电子(杭州)股份有限公司 | 路径度量信息的存储方法、装置、电子设备及存储介质 |
WO2024061266A1 (zh) * | 2022-09-22 | 2024-03-28 | 中兴通讯股份有限公司 | Mlse均衡器的实现方法和芯片、电子设备、计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1168237C (zh) | 移动通信系统中的分量解码器及其方法 | |
CN100517984C (zh) | 用于移动通信系统的维特比/涡轮联合译码器 | |
US6757865B1 (en) | Turbo-code error correcting decoder, turbo-code error correction decoding method, turbo-code decoding apparatus, and turbo-code decoding system | |
CN1808912A (zh) | 纠错译码器 | |
JP2007068155A (ja) | 並列のターボ復号機中でのインターリーブの方法およびシステム。 | |
US20060265635A1 (en) | Method of maximum a posterior probability decoding and decoding apparatus | |
US7277507B2 (en) | Viterbi decoder | |
US20130007568A1 (en) | Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program | |
US7200798B2 (en) | Unified serial/parallel concatenated convolutional code decoder architecture and method | |
JP2003198386A (ja) | インターリーブ装置及びインターリーブ方法、符号化装置及び符号化方法、並びに復号装置及び復号方法 | |
CN1254121C (zh) | 特博码的解码方法 | |
CN1787386A (zh) | 一种维特比译码器路径度量存储的方法 | |
US8401126B2 (en) | Viterbi decoding apparatus | |
KR100628201B1 (ko) | 터보 디코딩 방법 | |
JP4580927B2 (ja) | ビタビ復号装置、およびビタビ復号方法 | |
US20090249171A1 (en) | Turbo decoder, base station and decoding method | |
US20060115023A1 (en) | Apparatus and method for decoding and trace back of convolution codes using the viterbi decoding algorithm | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
JP5169771B2 (ja) | 復号器および復号方法 | |
US20070201586A1 (en) | Multi-rate viterbi decoder | |
CN1323102A (zh) | 用于特博码的解码器及其解码方法 | |
CN100505557C (zh) | 基于Viterbi译码的多路并行循环块回溯方法 | |
CN101106385A (zh) | 一种维特比译码装置及方法 | |
CN110022158B (zh) | 一种译码方法及装置 | |
JP2010206570A (ja) | 復号装置、復号方法 |
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 |
Open date: 20060614 |