CN101517949A - 可编程网格解码器及相关方法 - Google Patents
可编程网格解码器及相关方法 Download PDFInfo
- Publication number
- CN101517949A CN101517949A CNA2007800338270A CN200780033827A CN101517949A CN 101517949 A CN101517949 A CN 101517949A CN A2007800338270 A CNA2007800338270 A CN A2007800338270A CN 200780033827 A CN200780033827 A CN 200780033827A CN 101517949 A CN101517949 A CN 101517949A
- Authority
- CN
- China
- Prior art keywords
- trellis
- programmable
- decoder
- state
- programming
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4169—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4138—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6511—Support of multiple decoding rules, e.g. combined MAP and Viterbi decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6513—Support of multiple code types, e.g. unified decoder for LDPC and turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
可编程解码器,比如最大似然序列估计(MLSE)解码器(例如,维特比解码器)可包括用于多个可编程网格参数的编程输入和诸如FPGA之类的可编程器件,所述可编程器件与所述编程输入连接并且实现包括根据多个可编程网格参数定义的至少一个网格结构可编程解码器。所述多个可编程网格参数包括网格区间的网格连通性信息、每个网格区间的活动和不活动状态、网格分支转移数据值和网格分支转移的度量指数。另外,网格结构可包括反向状态网格结构。该可编程网格解码器能够解码卷积码、网格编码调制(TCM)、ISI信道和CPM波形。
Description
技术领域
本发明涉及数字通信领域,更具体地说,涉及网格解码和相关方法。
背景技术
新一代的UHF卫星通信标准(MIL-STD-188-181C、MIL-STD-188-182B和MIL-STD-188-183B)要求(多达)54个不同的调制解调器同时存在于SATCOM终端中。这些标准包括意图把现有卫星通信吞吐量增大2倍的DAMA/IW(按需分配多址访问/集成波形)通信标准。设计DAMA/IW标准的调制解调器需要新技术来组合调制解调器的子功能,以降低软件复杂性并减少开发和整合时间。事实上,各种卫星通信系统具有有限的程序空间、CPU计算速度和电池电量。
在许多标准通信文本,包括John G.Proakis的“DigitalCommunications”中详尽描述了前向纠错(FEC)和最大似然解码器(例如Viterbi算法)的使用。在诸如Anderson,Aulin和Sundberg的“Digital Phase Modulation”和John G.Proakis的“DigitalCommunications”之类的书籍中详细说明了连续相位调制。
在诸如蜂窝和PCS(个人通信系统)之类的数字通信系统、计算机通信系统和SATCOM(卫星通信)系统中,数字数据由调制解调器调制到将通过通信信道传送的信号上。在传输给接收器或者存储设备之前,数据通常被编码,以保护数据免于出现由有噪声的通信信道或者存储介质中的缺陷引起的错误。编码器按照纠错码处理数据符号并且产生纠错符号或者结构化冗余输出序列。当稍后接收并检索码字时,其被解码以再现数据符号,并且如果可能的话,利用纠错符号或者结构化代码的冗余纠正数据符号中的错误。
对于下面的讨论来说,卷积码字被定义成根据k个输入位的输入生成的n个输出位(即,比率k/n码)。一种解码利用卷积码编码的码字的方法通常被称为最大似然解码。一种最大似然解码器通常被称为维特比(Viterbi)解码器。概念上,维特比解码器使用解码网格,解码网格具有每个可能码字的分支,和每个可能的码字流或序列的多个分支的连接的路径。解码器实质上找出穿过最“接近于”或者最像接收的码字流的网格的路径。随后,解码器把该“最可能的”网格路径上的码字看作接收的码字,并向其分配数据值从而产生所发送数据的最佳估计。
为了确定最可能的路径,对于每个接收的码字,解码器计算一组分支度量。分支度量是接收时可能包含错误的所发送码字实际上是对应于特定分支的码字的可能性的数值表示。在一种这样的解码器中,分支度量是接收的码字和与各个分支关联的码字之间的汉明(Hamming)距离。
解码网格中的每条分支源于初始状态,所述初始状态表示在与该分支关联的码字的表达(formulation)之前,寄存器所处的状态,并通向结束状态,所述结束状态表示在码字的表达之后,寄存器所处的状态。对于二进制码,存在与每个解码等级关联的2K-1种可能状态,其中K是代码的约束长度。例如,码可具有为3的制约长度,即,存在2个寄存器,从而在每个解码等级存在4种可能的寄存器状态,即00,01,10,11。对于比率1/n码,存在源于每个初始状态的两条可能分支,即,与0数据位关联的分支,和与1数据位关联的分支。这些分支都必然通向不同的结束状态。从而对于给定解码等级中的2K-1种状态中的每种状态,通向这些状态中的每种状态的分支有两条,每条分支可代表所发送的码字。因此,为了解码该码字,解码器必须为2K-1种可能结束状态中的每种结束状态确定两个分支度量,或者说总共确定2(2K-1)个分支度量。
一旦解码器计算了这些分支度量,解码器随后确定通向结束状态的各个路径的度量。因此,解码器把适当的路径度量加入到分支度量中,它们是通向初始状态的分支的总和。解码器随后选择通向每种结束状态的最可能路径,并保存路径度量和识别这些最可能路径的信息供以后使用。这些最可能的路径也被称为“幸存路径”。解码器不保留与不太可能的或者说非幸存路径有关的信息。这样,解码器从网格中“剪除”这些路径,从而为下一级解码排除了一部分的路径度量计算。
当足够数目的码字被包括在网格路径中时,从与结束状态相关联的幸存路径中选择最可能的码字路径。解码器选择“最接近于”接收数据的码字路径,即,具有最小汉明距离度量的路径作为最可能的路径。解码器随后对该最可能路径上的码字解码,或者说沿着该路径“追溯”,从而确定相关联的数据位。
维特比算法不仅用于对卷积码解码,而且还用于产生通过具有符号间干扰(ISI)的信道发送的序列的最大似然估计。维特比解码器被分成三个功能部分。第一部分是用于计算路径度量的加-比-选(add-compare-select,ACS)单元。第二部分是管理幸存者存储器的幸存者存储器控制单元。用于保存幸存者序列的幸存者存储器是维特比解码器的最后一部分。
连续相位调制(CPM)由于其带宽效率和恒包络特性而在通信领域中得到应用。借助CPM,使调制信号相位转变变得平滑。例如,借助二进制相移键控(BPSK),逻辑1是作为调制信号的一个相位传送的,逻辑0是作为相位急剧转变180°的移动相位传送的。这种急剧的相位转变导致传送频谱的加宽。借助CPM,传送信号的相位在调制数字信号的数据位间进行平滑的相位变化。CPM的一个例子是最小频移键控(MSK)调制。
多h连续相位调制(多h的CPM)本身是一大类被调制的波形。该类型包括振幅恒定但是相位不断变化的信号。多h的CPM不同于单h格式之处在于循环地使用一组H调制指数。这导致相邻相位网格路径的合并被延迟,并且最终产生改善的误差性能。Anderson,Aulin和Sundberg的“Digital Phase Modulation”(Plenum Press,New York,1986)包括多h的CPM波形的详细描述。
San Jose,California的Xilinx有限公司提供一种具有可参数化的约束长度、卷积码和追溯长度的FPGA维特比解码器,如在来自Xilinx有限公司的数据表DS247(v1.0),2003年3月28日中所述。不过,这种FPGA维特比解码器不可编程供CPM信号使用。
在通信行业中通常使用前向纠错(FEC)码。用于FEC码的解调和解码的数字信号处理技术在本领域中是众所周知的。不过,CPM(例如,多h的CPM)和FEC码的使用的组合要求新的可编程解码器。在业界存在对能够用于解码卷积码、网格编码的调制波形、ISI信道、单h和多h的CPM的通用网格解码器的需求。
发明内容
于是,鉴于上述背景,本发明的目的是提供一种可编程网格解码器,该解码器能够解码卷积码、网格编码的调制(TCM)、ISI信道和CPM波形。
按照本发明的该目的和其它目的、特征和优点由可编程解码器,比如最大似然序列估计(MLSE)解码器(例如,维特比解码器)提供,该解码器包括用于多个可编程网格参数的至少一个编程输入,所述多个可编程网格参数包括网格区间的网格连通性信息、每个网格区间的活动和不活动状态、网格分支转移数据值和网格分支转移的度量指数。可编程器件与所述编程输入连接并且实现可编程解码器和许多基于不同网格的解码方案,比如卷积码、TCM、ISI信道和CPM,并且包括根据所述多个可编程网格参数定义的至少一个网格结构。
可编程器件包含现场可编程门阵列(FPGA)。所述多个可编程网格参数可包括网格结构的数目、每种网格结构的网格状态的数目、和每种网格状态的分支的数目。另外,网格结构可包括反向状态网格结构。
输出可与可编程器件连接,以用于输出解码比特,解码比特包括每个输出的多个比特和最佳路径的所有解码比特的完全追溯、以用于输出最佳和最差路径度量之间的差值,和/或用于输出当前最佳路径的胜出状态。
本发明的方法特征在于一种实现可编程网格解码器的方法,并且包括提供实现网格解码器(例如,连续相位调制(CPM)解码器),并且包含根据多个可编程网格参数定义的至少一种网格结构的可编程器件(例如FPGA),所述多个可编程网格参数包括网格区间的网格连通性信息、每个网格区间的活动和不活动状态、网格分支转移数据值和网格分支转移的度量指数。该方法还包括通过与网格解码器连接的至少一个编程输入,对所述多个可编程网格参数编程。
对所述多个可编程网格参数编程可包括对网格结构的数目编程、对每种网格结构的网格状态的数目编程、和对每种网格状态的分支的数目编程。该方法可包括提供与所述可编程器件连接的至少一个输出,用于输出解码比特,解码比特包括每个输出的多个比特和最佳路径的所有解码比特的完全追溯、最佳和最差路径度量之间的差值,和/或当前最佳路径的胜出状态。
为了满足各种需求,设计了基于FPGA的最大似然解码器,该解码器是可编程的,并且将支持关于任何FEC码的CPM、SOQPSK、BPSK和QPSK的解调。该解码器被设计成支持二元h,四元输出(binary-h,4-ary)的CPM。输入可编程性包括每个网格中的状态的数目、每种状态的分支的数目、网格结构的数目(例如,二元h CPM具有两个不同的网格),和反向状态网格结构本身,所述反向状态网格结构连接每种状态和在先状态的列表及与分支到当前状态的符号伴随的数据比特。解码器的输出包括解码比特(包括每个输出的多个数据位和该路径的所有解码比特的完全追溯)、最佳和最差路径度量之间的差值,和当前最佳路径的胜出状态。
附图说明
图1是包括按照本发明的可编程网格解码器的接收器的方框图。
图2是图1的接收器中的可编程网格解码器的更详细方框图。
图3是图解说明实现本发明的可编程网格解码器的方法中的步骤的流程图。
具体实施方式
下面参考附图更详细地说明本发明,附图中表示了本发明的优选实施例。不过,本发明可具体体现成许多不同的形式,不应被理解成局限于这里陈述的实施例。相反,提供这些实施例只是为了使本公开全面、完整,并向本领域的技术人员充分表达本发明的范围。遍及附图,相似的附图标记表示相似的元件,并且“′”号用于表示替代性实施例中的相似元件。
首先参见图1和2,说明了比如UHF卫星通信接收器的数据通信接收器10的实施例,其包括普通可编程网格解码器30(例如,连续相位调制(CPM)可编程解码器)。通过通信信道12发送的编码且调制的信号由接收器10接收。解调器20处理输入的信号,随后把基带解调的信号发送给可编程网格解码器30。可编程网格解码器30处理该信号,并且随后通过信道14把解码的数据和其它相关信息发送给目的地。接收器的组件,例如解调器20和可编程网格解码器30由处理器50控制。
可编程网格解码器30,比如最大似然序列估计(MLSE)解码器(例如,维特比解码器)包括用于多个可编程网格参数的至少一个编程输入34,36。所述多个可编程网格参数优选地包括网格区间(trellisstage)的网格连通信息、每个网格区间的活动状态和不活动状态、网格分支转移数据值和网格分支转移的度量指数,并且可包括多个网格结构、每个网格结构的许多网格状态,和每种网格状态的多个分支。另外,网格结构可包括反向状态网格结构和/或前向状态网格结构。
如本领域的技术人员所知,可编程最大似然解码器一般包括加-比-选(ACS)单元用于接收卷积编码比特的序列,并根据与网格状态图的每个分支关联的分支度量,计算路径度量和输出序列;用于保存输出序列的幸存者存储器;和控制幸存者存储器并且输出所保存的输出序列的解码比特的幸存者存储器控制单元。
可编程器件32与编程输入连接并且实现具有根据多个可编程网格参数定义的至少一个网格结构的可编程网格解码器(例如,连续相位调制(CPM)解码器)。可编程器件32可包含例如现场可编程门阵列(FPGA)。
FPGA是包含可编程逻辑组件和可编程互连的半导体器件。可编程逻辑组件可被编程以复制基本逻辑门(例如AND,OR,XOR,NOT)或者更复杂的组合功能,比如解码器或简单数学函数的功能性。在多数FPGA中,这些可编程逻辑组件(或者逻辑块)还包括存储元件,所述存储元件可以是简单的触发器或者更完整的存储块。
可编程互连的分层结构允许系统设计人员根据需要互连FPGA的逻辑块,有些类似单片可编程面包板。这些逻辑块和互连可在生产过程之后由客户/设计人员编程(即,“现场可编程”),使得FPGA能够完成需要的任何逻辑功能。
FPGA一般比其专用集成电路(ASIC)对应物慢,不能处理复杂的设计,并且消耗更多的电量。但是,它们具有几个优点,比如上市时间较短,能够在现场重新编程以修复程序缺陷,非重复性工程费用较低。另一种备选物是复杂可编程逻辑器件(CPLD)。
为了定义FPGA的行为,用户提供硬件描述语言(HDL)或者示意设计。常见的HDL是VHDL和Verilog。随后,通过利用电子设计自动化工具,生成技术映射网表。随后利用通常由布局布线软件执行的称为布局布线的工艺,该网表可被适配到实际的FPGA体系结构。用户将借助时序分析、仿真以及其它验证方法,验证映射、布局和布线结果。一旦完成设计和验证过程,生成的二进制文件被用于(重新)配置FPGA器件。这种二进制文件可被保存和/或经控制输入块34输入可编程器件32。
例如,可编程网格解码器30可实现CPM并且优选地是多h的CPM。借助CPM,所传送信号的相位实现调制数字信号的数据位间的平滑相位变化。CPM的一个例子是最小频移键控(MSK)调制。多h连续相位调制(多h的CPM)本身是一大类被调制波形。该类型包括振幅恒定但是相位不断变化的信号。多h的CPM不同于单h格式之处在于循环地使用一组H调制指数。这使得相邻相位网格路径的合并被延迟并且最终导致误差性能的改善。
提供可编程器件32的一个或多个输出38,40,42以用于输出解码的比特(包括每个输出的多个比特和最佳路径的所有解码的比特的完全追溯),用于输出最佳和最差路径度量之间的差值,和/或用于输出当前最佳路径的胜出状态。
普通可编程网格解码器30在解码器中提供适当的结构和灵活性,以处理所有上面提及的网格方案。通过获得起始状态和状态之间的delta增量或者活动/不活动标记,能够产生每个网格区间的活动和不活动状态。活动/不活动状态提供更高的灵活性,因为可能存在在当前活动状态和下一活动状态之间没有良好的delta增量的情况。可提供每个网格区间的不同起始状态,以避免额外的计算,不过这里活动/不活动状态也起作用。由用户基于所要求的网格区间、节点标识和分支连接提供将要用作分支度量的度量。只需要计算关于活动状态的度量。在加/比/选位置借助反向查找表,为每个网格区间包括不同的一组分支连接。
区间0的例子(如果网格具有16种状态,那么对于每个网格区间理应存在16种状态)。重复结构可以是4个网格区间长,并且对于每个区间,理应存在活动和不活动区间以及反向查找表。多h的CPM需要这种结构,不过仅仅通过改变网格反向查找表的连通性和活动/不活动状态的选择,相同的结构也可用于不太复杂的网格方案。从而,该方法产生与目前可获得的简单卷积/TCM解码器相比,能够处理更多网格方案的普通网格解码器。例如,多h的CPM波形可用普通可编程网格解码器30解调。多h意味每个CPM符号有不同的调制指数h。对于2h的情况来说,存在两个不同的h值,每隔一个符号改变一下。例如,具有h0=4/16,h1=5/16的二进制CPM。偶号码符号使用调制指数h0,奇号码符号使用调制指数h1。对于h0=4/16,网格后向连通性如下(数据0=负频率(即,数据=-1);数据1=正频率):
格式:状态编号:前一数据=0 前一数据=1
状态0:4 12
状态1:5 13
状态2:6 14
状态3:7 15
状态4:8 0
状态5:9 1
状态6:10 2
状态7:11 3
状态8:12 4
状态9:13 5
状态10:14 6
状态11:15 7
状态12:0 8
状态13:1 9
状态14:2 10
状态15:3 11
对于h1=5/16,网格后向连通性如下:
状态0:5 11
状态1:6 12
状态2:7 13
状态3:8 14
状态4:9 15
状态5:10 0
状态6:11 1
状态7:12 2
状态8:13 3
状态9:14 4
状态10:15 5
状态11:0 6
状态12:1 7
状态13:2 8
状态14:3 9
状态15:4 10
分析符号(区间)1,2,...,8的网格结构:
格式:H# 开始状态Delta状态
区间1:H0 0 2
区间2:H1 0 2
区间3:H0 1 2
区间4:H1 1 2
区间5:H0 0 2
区间6:H1 0 2
区间7:H0 1 2
区间8:H1 1 2
为了解码区间1,开始于状态0,并且到下一状态增量状态为2(即,只有偶数状态是活动的)。对于区间2,仅再次解码偶数状态。对于区间3,仅解码奇数状态,并且对于区间4,仅解码奇数状态并且随后重复上述模式。
这是普通可编程网格解码器30提供获得活动状态和不活动状态(对于最一般的情况来说)或者起始状态和delta状态(作为替代性实施例)的能力的原因。另外,为了适当地解码CPM,可能需要后向网格结构。
从而,下面将总结在用于解调波形之前,普通可编程网格解码器30的初始化过程。网格结构包括:区间N;网格连通性;活动/不活动状态;导致转移的数据值(即,分支转移数据值);和给定网格分支转移的度量指数。
首先,分析网格结构(例如,关于CPM或其它),以确定活动/不活动状态和连通性。在模式重复之前,对于必要数量的网格区间(通常对于卷积码来说仅一个区间,对于1h CPM来说两个区间,对于上面的2h CPM例子来说四个区间),把连通性信息写入解码器。(在模式重复之前)对网格解码器的每个网格区间写入活动/不活动状态(或者起始状态和delta状态)。导致网格分支转移的数据值被写入网格解码器结构中。用于网格分支转移的度量指数被写入网格解码器。
例子:网格分支结构状态0。后向网格结构包括:使用分支度量指数0经0位从状态4到状态0;使用分支度量指数1经1位从状态12到状态0;使用分支度量指数2经0位从状态5到状态1;使用分支度量指数3经1位从状态13到状态1,等等。
为了开始解调数据:分支度量阵列被写入网格解码器(这将被使用度量指数的解码器使用);对每个活动状态执行加/比/选功能;执行追溯功能以提取解码信息;和把输出数据提供给用户。
本发明的方法特征在于一种实现普通可编程网格解码器30(比如连续相位调制(CPM)解码器)的方法,并且下面参考图3的流程图说明该方法。该方法开始于方框100,包括在方框102,提供可编程器件32(例如,FPGA)以实现可编程网格解码器30,并且包括根据多个可编程网格参数定义的至少一种网格结构,所述可编程网格参数优选地包括网格区间的网格连通性信息、每个网格区间的活动和不活动状态、网格分支转移数据值和网格分支转移的度量指数。该方法还包括借助至少一个编程输入对所述多个可编程网格参数编程(方框104)。
如上所述,对多个可编程网格参数编程可包括对网格结构的数目编程、对每种网格结构的网格状态的数目编程、和对每种网格状态的分支的数目编程。该方法可包括在方框106,提供与可编程器件32连接的至少一个输出,用于输出解码的比特(包括每个输出的多个比特和最佳路径的所有解码比特的完全追溯)、最佳和最差路径度量之间的差值、和/或当前最佳路径的胜出状态。
为了满足各种需求,设计了基于FPGA的最大似然解码器,该解码器是可编程的并且将支持关于任何FEC码的CPM、SOQPSK、BPSK和QPSK的解调。该解码器用于支持二元h四元输出的(binary-h,4-ary)CPM。输入可编程性包括每个网格中的状态的数目、每种状态的分支的数目、网格结构的数目(多h的CPM具有两个不同的网格结构),和反向状态网格结构本身,所述反向状态网格结构连接每种状态和在先状态的列表及伴随分支到当前状态的符号的数据比特。解码器的输出包括解码的比特(包括每个输出的多个比特和该路径的所有解码比特的完全追溯)、最佳和最差路径度量之间的差值、和当前最佳路径的胜出状态。注意通过使用前向状态网格结构而不是反向状态网格结构,可以产生稍复杂但等价的器件。此外,代替解码比特的完全追溯,能够仅提供感兴趣的比特(即,位于遥远的追溯深度的比特(最老最可靠的比特))。
应注意对于卷积码来说,分支度量由在编码器之外的比特数目确定。例如,对于比率1/2码来说,只存在4个度量(22)(与网格状态的数目无关)。对于CPM,度量的数目大得多,因为穿过网格的每条路径将是唯一的CPM波形。通过获得与每个网格分支路径度量关联的指数,两种情况都被覆盖(以及诸如TCM和ISI信道之类的其它情况)。
完全追溯是不要求的附加特征。通过进行完全追溯,解码器输出的较新的数据可被用于相位追踪和/或符号定时循环(较小的延迟),同时把解码器输出的最老的数据位用于数据(数据越老,即,追溯越大,那么数据更可靠,不过延迟更大)。载波追踪和符号定时循环不希望具有较长的延迟,因而使用延迟较少的比特。不过,即使是用于追踪循环的延迟较小的比特也会受益于网格的一些编码增益(当与对追踪循环使用无延迟决策相比时)。
Claims (10)
1、一种可编程解码器,包括:
用于多个可编程网格参数的至少一个编程输入,所述多个可编程网格参数包括网格区间的网格连通性信息、每个网格区间的活动和不活动状态、网格分支转移数据值和网格分支转移的度量指数;和
可编程器件,所述可编程器件与所述至少一个编程输入连接并且实现包含根据所述多个可编程网格参数定义的至少一个网格结构的可编程网格解码器。
2、按照权利要求1所述的可编程解码器,其中所述可编程器件包含现场可编程门阵列(FPGA)。
3、按照权利要求1所述的可编程解码器,其中所述多个可编程网格参数还包含:
网格结构的数目;
每个网格结构的网格状态的数目;和
每个网格状态的分支的数目。
4、按照权利要求1所述的可编程解码器,还包括与所述可编程器件连接的至少一个输出,用于输出解码比特,所述解码比特包括每个输出的多个比特和最佳路径的所有解码比特的完全追溯。
5、按照权利要求1所述的可编程解码器,还包括与所述可编程器件连接的至少一个输出,用于输出最佳和最差路径度量之间的差值。
6、按照权利要求1所述的可编程解码器,还包括与所述可编程器件连接的至少一个输出,用于输出当前最佳路径的胜出状态。
7、一种实现可编程网格解码器的方法,所述方法包括:
提供用于实现可编程网格解码器并且包含根据多个可编程网格参数定义的至少一个网格结构的可编程器件,所述多个可编程网格参数包括网格区间的网格连通性信息、每个网格区间的活动和不活动状态、网格分支转移数据值和网格分支转移的度量指数;和
通过与可编程器件连接的至少一个编程输入,对所述多个可编程网格参数编程。
8、按照权利要求7所述的方法,其中提供可编程器件包括提供现场可编程门阵列(FPGA)。
9、按照权利要求7所述的方法,其中对所述多个可编程网格参数编程还包括:
对网格结构的数目编程;
对每个网格结构的网格状态的数目编程;和
对每个网格状态的分支的数目编程。
10、按照权利要求7所述的方法,还包括提供与所述可编程器件连接的至少一个输出,用于输出下述至少之一:
解码比特,其具有每个输出的多个比特和最佳路径的所有解码比特的完全追溯;
最佳和最差路径度量之间的差值;和
当前最佳路径的胜出状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/531,462 | 2006-09-13 | ||
US11/531,462 US7657825B2 (en) | 2006-09-13 | 2006-09-13 | Programmable trellis decoder and associated methods |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101517949A true CN101517949A (zh) | 2009-08-26 |
Family
ID=39047599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800338270A Pending CN101517949A (zh) | 2006-09-13 | 2007-09-12 | 可编程网格解码器及相关方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7657825B2 (zh) |
EP (1) | EP2070237A2 (zh) |
JP (1) | JP2010503351A (zh) |
CN (1) | CN101517949A (zh) |
CA (1) | CA2662928A1 (zh) |
IL (1) | IL197248A0 (zh) |
WO (1) | WO2008033915A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185688A (zh) * | 2011-04-29 | 2011-09-14 | 重庆金美通信有限责任公司 | 基于cpm调制的多符号检测符号同步方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7532676B2 (en) * | 2005-10-20 | 2009-05-12 | Trellis Phase Communications, Lp | Single sideband and quadrature multiplexed continuous phase modulation |
US8111767B2 (en) * | 2007-05-31 | 2012-02-07 | Renesas Electronics Corporation | Adaptive sliding block Viterbi decoder |
US20090147669A1 (en) * | 2007-12-10 | 2009-06-11 | Nokia Siemens Networks Oy | Continuous phase modulation encoder for wireless networks |
US7804376B2 (en) * | 2007-12-13 | 2010-09-28 | Nokia Siemens Networks Oy | Continuous phase modulation processing for wireless networks |
US8195118B2 (en) | 2008-07-15 | 2012-06-05 | Linear Signal, Inc. | Apparatus, system, and method for integrated phase shifting and amplitude control of phased array signals |
US8630364B2 (en) * | 2008-07-25 | 2014-01-14 | Nokia Siemens Networks Oy | Termination techniques for multi-index continuous phase encoders for wireless networks |
US8872719B2 (en) | 2009-11-09 | 2014-10-28 | Linear Signal, Inc. | Apparatus, system, and method for integrated modular phased array tile configuration |
US8767882B2 (en) | 2010-09-17 | 2014-07-01 | Harris Corporation | Mobile wireless communications device and receiver with demodulation and related methods |
US9112654B2 (en) | 2011-08-16 | 2015-08-18 | Harris Corporation | Wireless communications device with multiple trellis decoders and related methods |
TWI729755B (zh) * | 2020-04-01 | 2021-06-01 | 智原科技股份有限公司 | 接收器與應用在接收器中的交織碼調變解碼器及相關的解碼方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905742A (en) | 1995-12-27 | 1999-05-18 | Ericsson Inc. | Method and apparauts for symbol decoding |
WO1999023761A1 (en) | 1997-11-03 | 1999-05-14 | Harris Corporation | A field programmable radio frequency communications equipment including a configurable if circuit and method therefor |
US6205187B1 (en) * | 1997-12-12 | 2001-03-20 | General Dynamics Government Systems Corporation | Programmable signal decoder |
US6343207B1 (en) | 1998-11-03 | 2002-01-29 | Harris Corporation | Field programmable radio frequency communications equipment including a configurable if circuit, and method therefor |
US20030126545A1 (en) | 2001-10-05 | 2003-07-03 | Tan Alfred Keng Tiong | Non-linear code-division multiple access technology with improved detection algorithms and error correction coding |
US6968021B1 (en) | 2001-09-24 | 2005-11-22 | Rockwell Collins | Synchronization method and apparatus for modems based on jointly iterative turbo demodulation and decoding |
US7324614B2 (en) * | 2002-12-18 | 2008-01-29 | Texas Instruments Incorporated | High speed decoder |
US7870176B2 (en) | 2004-07-08 | 2011-01-11 | Asocs Ltd. | Method of and apparatus for implementing fast orthogonal transforms of variable size |
US7404139B2 (en) * | 2005-01-21 | 2008-07-22 | Freescale Semiconductor, Inc. | Decoder with M-AT-A-Time Traceback |
-
2006
- 2006-09-13 US US11/531,462 patent/US7657825B2/en active Active
-
2007
- 2007-09-12 JP JP2009527631A patent/JP2010503351A/ja not_active Withdrawn
- 2007-09-12 WO PCT/US2007/078261 patent/WO2008033915A2/en active Application Filing
- 2007-09-12 CN CNA2007800338270A patent/CN101517949A/zh active Pending
- 2007-09-12 CA CA002662928A patent/CA2662928A1/en not_active Abandoned
- 2007-09-12 EP EP07842318A patent/EP2070237A2/en not_active Ceased
-
2009
- 2009-02-25 IL IL197248A patent/IL197248A0/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185688A (zh) * | 2011-04-29 | 2011-09-14 | 重庆金美通信有限责任公司 | 基于cpm调制的多符号检测符号同步方法 |
CN102185688B (zh) * | 2011-04-29 | 2015-03-25 | 重庆金美通信有限责任公司 | 基于cpm调制的多符号检测符号同步方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080072126A1 (en) | 2008-03-20 |
JP2010503351A (ja) | 2010-01-28 |
EP2070237A2 (en) | 2009-06-17 |
WO2008033915A2 (en) | 2008-03-20 |
WO2008033915A3 (en) | 2008-06-19 |
US7657825B2 (en) | 2010-02-02 |
IL197248A0 (en) | 2009-12-24 |
CA2662928A1 (en) | 2008-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101517949A (zh) | 可编程网格解码器及相关方法 | |
CN101047472B (zh) | 使用搜索深度维特比算法对咬尾卷积码的解码方法 | |
US5408502A (en) | Apparatus and method for communicating digital data using trellis coded QAM with punctured convolutional codes | |
US7831892B2 (en) | Generic, reduced state, maximum likelihood decoder | |
JP3759964B2 (ja) | 時間ダイバシティを用いるマルチレベル符号化 | |
US20060029145A1 (en) | Method and apparatus for encoding interleaving and mapping data to facilitate GBPS data rates in wireless systems | |
US20080178062A1 (en) | Reduced state trellis decoder using programmable trellis parameters | |
US7224743B2 (en) | Efficient decoding of trellis coded modulation waveforms | |
CN101517901A (zh) | 可编程连续相位调制(cpm)解码器和相关方法 | |
CN101969311B (zh) | 一种高速并行分段交错维特比译码方法 | |
CN101944976A (zh) | 一种基于格雷映射的优化网格编码调制系统编码设计方法 | |
JPH114269A (ja) | デジタル伝送システムおよび方法 | |
US5930298A (en) | Viterbi decoder for decoding depunctured code | |
CN101431340B (zh) | 一种里德-所罗门码的快速自适应置信度传播译码方法 | |
CN100505557C (zh) | 基于Viterbi译码的多路并行循环块回溯方法 | |
Fang | A coded 8‐PSK system for 140 Mb/s information rate transmission over 80 MHz non‐linear transponders | |
CN103546170A (zh) | 一种低功耗状态反馈式维特比译码器及译码方法 | |
Conan | An F8 microprocessor-based breadboard for the simulation of communication links using rate 1/2 convolutional codes and Viterbi decoding | |
Zhigang et al. | DSP-based implementation of Viterbi decoder for trellis-coded 8PSK | |
Shyam et al. | High Speed Architecture Design Of Viterbi Decoder Using Verilog HDL | |
CN103731234A (zh) | 一种联合网络-信道编码方法、设备及中继节点 | |
Hosseini et al. | Hardware-efficient implementation of the SOVA for SOQPSK-TG | |
Coding et al. | 296.3: Algorithms in the Real World | |
Kumar et al. | High Speed Low Power Veterbi Decoder For TCM Decoders Using Xilinx | |
Pukkila | Source and Channel Encoder and Decoder Modeling |
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: 20090826 |