CN101432972A - 基数-4维特比解码 - Google Patents

基数-4维特比解码 Download PDF

Info

Publication number
CN101432972A
CN101432972A CNA2007800149071A CN200780014907A CN101432972A CN 101432972 A CN101432972 A CN 101432972A CN A2007800149071 A CNA2007800149071 A CN A2007800149071A CN 200780014907 A CN200780014907 A CN 200780014907A CN 101432972 A CN101432972 A CN 101432972A
Authority
CN
China
Prior art keywords
current
path
metric
formerly
branch
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
Application number
CNA2007800149071A
Other languages
English (en)
Inventor
G·W·施
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101432972A publication Critical patent/CN101432972A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/395Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a collapsed trellis, e.g. M-step algorithm, radix-n architectures with n>2
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3961Arrangements of methods for branch or transition metric calculation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence 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
    • H03M13/4176Sequence 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 using a plurality of RAMs, e.g. for carrying out a plurality of traceback implementations simultaneously

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

包括对编码信号进行多级维特比解码的维特比解码技术。这些技术包括基数-4两级解码。编码信号可以包括软判决信号。维特比解码器可以包括分支度量发生器、网格互连、加法-比较部件、路径度量存储器、以及回溯跟踪部件。加法-比较部件可以包括多个加法-比较-选择单元,每个加法-比较-选择单元在每个时钟周期选择两个跟踪比特。回溯跟踪部件可以对所存储的跟踪比特进行写入、解码和跟踪,以便对编码信号进行解码。

Description

基数-4维特比解码
根据35 U.S.C§119的优先权要求
[0001]本专利申请要求2006年4月27日提交的题目为“Viterbi Decoder,Radix-4 for a Wireless Communication Device”的临时申请No.60/795,848的优先权,该临时申请已转让给本申请的受让人,从而清楚地将其合并于此作为参考。
技术领域
[0002]本公开一般涉及对数据信号进行解码,并且更具体地,涉及对数据信号进行维特比解码。
背景技术
[0003]在各种通信过程中,可以出于多种原因并且根据多种编码技术对所发送的信号进行编码(例如,可以将数据比特从原始信号转换到编码信号)。例如,可以将一些信号编码成压缩信号,以便减少发送数据所需的带宽。在另一个例子中,可以将一些信号编码成抗误差信号,以便减少在目的地不正确接收所发送数据比特的机会。
[0004]因为无线通信可能是易于出错的,所以典型地,无线通信使用误差减少编码方案。在无线通信中使用的一种传统并且众所周知的编码方案是卷积编码。卷积编码将一系列m比特源信号变换成n>m比特编码后的信号。对每个源比特进行编码,使得对应于一个源比特的编码后的比特基于该源比特和多个在前的源比特。典型地,使用一个源比特和在前的多个源比特按照预定的组合作为到一系列模加法器的输入,根据一组生成多项式排列所述一系列模加法器,其输出得到编码后的信号。
[0005]已知在无线通信中常用于对卷积编码后的信号进行解码的一种众所周知的算法是维特比算法。一般,维特比算法接受输入的所接收编码信号值,并且生成一序列潜在状态,当卷积编码器生成所接收的编码信号时可能处于上述一序列潜在状态。随后,可以通过以相反次序跟踪(trace)该序列状态,来生成解码后的信号。
[0006]传统的维特比解码器在每个周期接受对应于单独一个编码比特的编码后的输入信号,并且基于输入信号生成解码后的输出信号。因为在每个解码周期中对网格图中的单独一个状态转移进行处理,所以可以将这种传统的维特比解码器称为单状态维特比解码器。然而,随着数据速率增大,这种维特比解码器即使在高时钟频率上也不能对输入信号进行足够快的解码。例如,实现多输入多输出无线通信的IEEE 802.11n标准可以运行在大约每秒360兆字节的数据速率上。在大约200MHz时钟频率上,传统的单状态维特比解码器不能对输入信号进行解码以跟上这样的数据速率。
发明内容
[0007]本文公开了用于对信号进行维特比解码的技术。在本公开的一个方面中,意识到,传统的单状态维特比解码技术对于诸如IEEE 802.11n开发标准的现代技术增加的解码吞吐量来说可能是不足的。在本公开的另一个方面中,还意识到,多状态维特比解码技术能够支持增加的吞吐量并且减少传统单状态维特比解码技术的等待时间。
[0008]本公开的一个方面包括解码器装置。在一些实施例中,解码器装置包括:输入部件,用于接收多个编码输入信号;以及多级维特比解码器部件,用于对多个编码输入信号进行处理以确定可能的解码信号。
[0009]在一些实施例中,多级维特比解码器部件包括基数-4两级维特比解码器部件。在一些实施例中,多个编码输入信号包括四个软判决编码输入信号。在一些实施例中,多级维特比解码器部件包括:分支度量(metric)部件,用于确定多个分支度量;以及加法-比较部件,用于确定多个当前路径度量,并且用于输出多个当前跟踪比特对,每个跟踪比特对对应于多个当前路径度量中的一个相应的当前路径度量。
[0010]在一些实施例中,加法-比较部件基于多个分支度量和多个在先路径度量来确定多个当前路径度量。在一些实施例中,每个当前路径度量代表到一个相应的当前假设状态的最可能路径的概率,该概率对应于多个分支度量中的一个相应的分支度量和多个在先路径度量中的一个相应的在先路径度量。在一些实施例中,每个在先路径度量代表到与多个编码输入信号的在先接收值集合对应的一个相应的先前假设状态的最可能路径的概率。
[0011]在一些实施例中,加法-比较部件包括64个加法-比较单元。在一些实施例中,每个加法-比较单元对多个分支度量中的四个分支度量以及多个在先路径度量中的四个在先路径度量进行处理。在一些实施例中,每个加法-比较单元使用模算数加法和比较来确定多个当前路径度量中的一个相应的当前路径度量以及多个当前假设状态中的一个相应的当前假设状态。
[0012]在一些实施例中,多个分支度量包括用于多个编码信号的每个接收值集合的各个分支度量集合。在一些实施例中,每个相应的分支度量集合代表一个概率集合,该概率集合是四个软判决编码信号的当前接收值集合对应于相应的四个假设输入信号值的概率的集合。在一些实施例中,分支度量部件通过分别对多个编码信号的当前接收值集合中的第一个和第二个接收值和多个编码信号的当前接收值集合中的第三个和第四个接收值进行处理,并且随后将对第一个和第二个接收值进行处理的第一个结果与对第三个和第四个接收值进行处理的第二个结果进行组合,来确定每个相应的分支度量集合。
[0013]在一些实施例中,第一个结果包括四个中间分支度量,第二个结果包括四个中间分支度量,并且每个相应的分支度量集合包括16个分支度量。在一些实施例中,多个分支度量中的每个分支度量包括一个5比特值。
[0014]在一些实施例中,多级维特比解码器部件包括:网格部件,用于给加法-比较部件提供多个分支度量;以及路径度量部件,用于存储多个当前路径度量。在一些实施例中,加法-比较部件基于多个分支度量和多个在先路径度量来确定多个当前路径度量,并且其中,路径度量部件给加法-比较部件提供多个在先路径度量。在一些实施例中,路径度量部件将多个当前路径度量存储在多个八比特寄存器内。
[0015]在一些实施例中,多级维特比解码器部件包括回溯跟踪(traceback)部件,用于存储多个当前跟踪比特对和与多个输入信号的在先接收值集合对应的多个先前确定的跟踪比特对,并且用于至少部分地基于所存储的当前的和先前确定的跟踪比特来确定可能的解码信号。在一些实施例中,回溯跟踪部件至少部分地基于所存储的当前的和先前确定的假设状态值来确定假设状态序列,并且基于假设状态序列确定可能解码信号的值集合。
[0016]在一些实施例中,回溯跟踪部件通过以从最后状态到最早状态的次序选择与多个编码信号的每个相应的接收值集合对应的最可能的假设状态,来确定假设状态序列。在一些实施例中,回溯跟踪部件通过确定与假设状态序列对应的卷积算法的输入值,来确定可能解码信号的值集合。在一些实施例中,回溯跟踪部件包括四个存储部件,并且回溯跟踪部件使用四个存储部件中的每个存储部件来执行跟踪操作、空闲操作、写操作、以及解码操作中的至少一个操作。
[0017]在一些实施例中,每个编码输入信号包括卷积编码信号部分,并且可能的解码信号包括卷积编码信号的解码。在一些实施例中,输入部件从无线发射机接收多个编码输入信号。在一些实施例中,多个卷积编码信号包括以卷积编码约束为七所编码的信号。在一些实施例中,MIMO OFDM接收机装置包括解码器装置。
[0018]本公开的一个方面包括解码器。在一些实施例中,解码器包括:用于接收多个编码输入信号的输入部件,以及用于通过对多个编码输入信号进行多级维特比解码过程来确定可能解码信号的模块。
[0019]在一些实施例中,用于确定可能解码信号的模块包括:用于确定多个分支度量的模块,每个分支度量代表四个软判决编码输入信号的当前接收值对应于相应的四个假设输入信号值的概率;用于基于多个分支度量和多个在先路径度量确定多个当前路径度量的模块,每个当前路径度量代表到与四个软判决编码信号的当前接收值集合对应的一个相应的假设当前状态的最可能路径的概率;以及用于确定多个当前跟踪比特的模块,每个当前跟踪比特对应于多个当前路径度量中的一个相应的当前路径度量以及四个软判决编码信号的当前接收值集合。
[0020]在一些实施例中,用于确定可能解码信号的模块包括:用于为所述用于确定多个当前路径度量的模块提供多个分支度量的模块;用于存储多个当前路径度量的模块;以及用于为所述用于确定多个当前路径度量的模块提供多个在先路径度量的模块,每个在先路径度量代表到与多个编码输入信号的在先接收值集合对应的一个相应的先前假设状态的最可能路径的概率。
[0021]在一些实施例中,用于确定可能解码信号的模块包括:用于存储针对多个当前路径度量中每一个的当前假设状态值和与多个编码输入信号的先前接收值对应的多个先前确定的跟踪比特对的模块;以及用于至少部分地基于所存储的当前的和先前确定的跟踪比特来确定可能解码信号的模块。
[0022]在一些实施例中,用于确定可能的解码信号的模块包括:用于至少部分地基于所存储的假设状态值来确定假设状态序列的模块;以及用于基于假设状态序列来确定可能解码信号的值集合的模块。
[0023]在一些实施例中,用于确定可能解码信号的模块包括:用于通过以从最后状态到最早状态的次序选择与多个编码信号的每个相应的接收值集合对应的最可能假设状态来确定假设状态序列的模块。在一些实施例中,多级维特比解码过程包括两级基数-4维特比解码过程。在一些实施例中,多个编码输入信号包括四个软判决输入信号。
[0024]本公开的一个方面包括对编码输入进行解码的方法。在一些实施例中,该方法包括:接收多个编码输入信号;以及对多个软判决编码输入信号进行多级维特比解码,以确定可能的解码信号。
[0025]在一些实施例中,维特比解码包括:确定多个分支度量;确定多个当前路径度量;以及确定多个当前跟踪比特对,每个当前跟踪比特对对应于多个当前路径度量中的一个相应的当前路径度量。在一些实施例中,确定多个当前路径度量包括:基于多个分支度量和多个在先路径度量来确定多个当前路径度量。在一些实施例中,每个当前路径度量代表到一个相应的当前假设状态的最可能路径的概率,该概率对应于多个分支度量中的一个相应的分支度量和多个在先路径度量中的一个相应的在先路径度量。
[0026]在一些实施例中,每个在先路径度量代表到与多个编码输入信号的在先接收值集合对应的一个相应的先前假设状态的最可能路径的概率。在一些实施例中,确定多个当前路径度量包括:将多个分支度量中的至少一个第一分支度量与多个在先路径度量中的至少一个相加来确定第一个结果;将多个分支度量中的至少一个第二分支度量与多个在先路径度量中的所述至少一个相加来确定第二个结果;以及对第一个结果和第二个结果进行比较。
[0027]在一些实施例中,将多个分支度量中的至少一个第一分支度量与多个在先路径度量中的至少一个相加来确定第一个结果包括使用模算数进行相加;并且其中,将多个分支度量中的至少一个第二分支度量与多个在先路径度量中的所述至少一个相加来确定第二个结果包括使用模算数进行相加。
[0028]在一些实施例中,多个分支度量包括用于多个编码信号的每个接收值集合的各个分支度量集合。在一些实施例中,每个相应的分支度量集合代表多个编码信号的当前接收值集合对应于相应的四个假设输入信号值的概率集合。在一些实施例中,确定多个分支度量包括:通过分别对多个软判决编码信号的当前接收值集合中的第一个和第二个接收值和多个软判决编码信号的当前接收值集合中的第三个和第四个接收值进行处理,确定多个分支度量;以及将对第一个和第二个接收值进行处理的第一个结果与对第三个和第四个接收值进行处理的第二个结果进行组合。
[0029]在一些实施例中,第一个结果包括四个中间分支度量,第二个结果包括四个中间分支度量,并且每个相应的分支度量集合包括16个分支度量。在一些实施例中,多个分支度量中的每个分支度量包括一个5比特值。在一些实施例中,多级维特比解码包括:对多个当前跟踪比特对和与多个编码输入信号的多个在先值集合对应的多个先前确定的跟踪比特集合进行存储;以及至少部分地基于所存储的当前的和先前确定的跟踪比特来确定可能的解码信号。
[0030]在一些实施例中,确定可能解码信号包括:至少部分地基于所存储的当前的和先前确定的跟踪比特来确定假设状态序列;以及基于该假设状态序列确定可能的解码信号值的集合。在一些实施例中,确定假设状态序列包括:通过以从最后状态到最早状态的次序选择与多个编码输入信号的每个相应的接收值集合对应的最可能假设状态来确定假设状态序列。
[0031]在一些实施例中,确定可能解码信号的值集合包括:确定与假设状态序列对应的卷积算法的输入值。在一些实施例中,多个编码输入信号中的每个包括卷积编码信号部分,并且可能的解码信号包括卷积编码信号的解码。在一些实施例中,接收多个编码输入信号包括从无线发射机接收多个编码输入信号。在一些实施例中,卷积编码信号包括以卷积编码约束为七所编码的信号。在一些实施例中,多级维特比解码包括两级基数-4解码。在一些实施例中,多个编码输入信号包括四个软判决编码输入信号。
附图说明
[0032]附图没有按比例画出,在附图中,类似的标号代表在多个图中所示的每个相同或者几乎相同的组件。为了清楚的目的,没有在每个附图中对每个组件进行标记。在附图中:
[0033]图1根据本公开的一些实施例示出了无线通信网络中两个站的方框图;
[0034]图2根据本公开的一些实施例说明了两状态基数-4维特比解码器的方框图;
[0035]图3A和3B说明了单状态基数-2网格图和两状态基数-4网格图;
[0036]图4根据本公开的一些实施例说明了一个示例性加法-比较-选择单元的方框图;
[0037]图5根据本公开的一些实施例说明了在四个存储体(memory bank)之间的循环操作;
[0038]图6根据本公开的一些实施例说明了对多个信号进行解码的过程。
具体实施方式
[0039]本公开的实施例的应用不限制于下列详细说明中所描述的或者附图中所示出的组件和动作的构成和排列的细节。本公开可以具有其它实施例,并且可以以多种方式实现或者执行。同时,本文所使用的措词和术语是为了说明的目的,并且不应该视为限制。在本文使用“包括”、“包含”或者“具有”、“包容”、“含有”以及其变体意味着包括其后所列的项及其等价物以及附加项。
[0040]在本文使用单词“示例性”及其变体意味着“作为例子、实例或者举例说明”。不必将在本文描述为“示例性”的任何实施例或设计理解为比其它实施例或者设计是优选的或者有利的。
[0041]可以将本文所描述的维特比解码技术用于各种通信网络,例如无线广域网络(WWAN)、无线城域网络(WMAN)、诸如实现IEEE 802.11a、802.11g和/或802.11n的无线局域网络(WLAN),等等。可以交换使用术语“网络”和“系统”。还可以与诸如频分多址(FDMA)、码分多址(CDMA)、时分多址(TDMA)、空分多址(SDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)、正交频分复用(OFDM)等的各种多址方案一起使用这些技术。OFDMA网络使用正交频分复用(OFDM)。SC-FDMA网络使用单载波频分复用(SC-FDM)。OFDM和SC-FDM将系统带宽分割成多个(K个)正交子载波,可以将这些子载波称为音调(tone)和/或频段(bin)。可以将每个子载波与数据进行调制。一般,可以在频域中以OFDM并且在时域中以SC-FDM发送调制符号。
[0042]图1示出了无线通信网络105中的两个站101和103的实施例的方框图。在图1中,站101作为数据的发射机,并且站103作为数据的接收机。应该理解,在一些实施例中,单独一个站可以同时作为数据的发射机和接收机。
[0043]站101和103各自可以是接入点、基站、节点、终端、移动台、用户装置、用户单元和/或某些其它设备或其它网络实体的一部分,并且/或者可以包含它们的某些或者所有功能。
[0044]可以为图1所说明的实施例中的站101装配多个天线。也可以为图1所说明的实施例中的站103装配多个天线。将接收机站和发射机站各自具有多个输入/输出(例如,天线)的通信网络称为多输入多输出(MIMO)网络。IEEE 802.11n开发标准描述了可以在MIMO网络的一些实现中使用的通信协议。每个发射天线和每个接收天线可以是物理天线或者天线阵列。应该理解,站101和/或站103的其它实施例可以包括单独一个天线而不是多个天线。
[0045]在发射机站101处,发送数据处理器107可以从数据源109接收数据,并且对数据进行处理,以便输出为了通过通信网络105传输的编码数据信号。数据可以包括数据符号和/或导频符号。数据符号和导频符号可以是来自诸如PSK或者QAM的调制方案的调制符号。在一些实现中,发送数据处理器107可以对编码数据信号进行多路分解(demultiplex),以通过多个输出天线在多个流中进行传输。
[0046]在一些实施例中,发送数据处理器107可以使用众所周知的卷积编码技术对来自数据源109的数据进行编码。卷积编码与下面所讨论的维特比解码对应,可以减少与无线网络上的数据传输相关的错误率。简言之,卷积编码可以至少部分地基于一些先前输入比特将m个输入数据比特转换成n个编码输出比特。基于一些先前输入比特对每个输入比特进行编码。将多个先前输入比特和正在进行编码的输入比特输入到与生成多项式组一致的模加法器集合。随后,可以使用每个模加法器的输出生成一个输出编码比特。输出编码比特的集合可以构成编码数据信号。本公开的实施例可以与任何卷积编码一起使用,该卷积编码可以具有任何m值和n值并且使用任何数目的在先比特进行卷积编码。在一些实现中,m可以等于1,并且n可以等于2。在其它实现中,m可以等于2,并且n可以等于4。在一些实现中,在先比特的数目可以等于6。
[0047]在一些实施例中,可以通过接收机站103(例如,通过多个接收天线)接收编码数据信号。在接收机站103处,接收数据处理器111可以从接收天线接收编码数据信号,并且对数据进行处理,以便对编码信号进行解码,并且随后将解码信号输出到数据目的地113。
[0048]在本公开的一些实施例中,接收数据处理器111可以包括状态维特比解码器(例如,基数-4维特比解码器115)。多状态维特比解码器可以对单级网格状态图的多个状态转移进行并行处理。下面将基数-4两状态维特比解码器115描述为多状态维特比解码器的一个例子,但是本公开的实施例不限制于此。
[0049]可以使用基数-4维特比解码器115基于输入到发送数据处理器107的数据的所接收的编码表示来确定该数据的似然序列。基数-4维特比解码器115可以提供足够的解码速度,以用于诸如IEEE 802.11开发标准的现代技术。如上所述,基数-4解码器115可以根据基数-4网格对卷积编码状态进行跟踪。
[0050]图2更详细地说明了基数-4维特比解码器115的方框图。如图所示,基数-4维特比解码器115包括输入部件201和维特比解码部件203。
[0051]在一些实施例中,输入部件201可以接受具有四个软判决编码输入信号的输入。软判决编码输入信号可以包括在假设比特值(phypothesis bitvalue)中的置信度。在一些实施例中,例如,每个软判决编码输入信号的值可以包括多比特幅值(magnitude)和符号(sign)。在一些实现中,符号可以表示假设比特值(例如,1或0),并且幅值可以表示比特值是正确的置信度。例如,更高的幅值可以指示比特值的更大置信度。在一些实现中,每个幅值可以包括3个比特。然而,应该意识到,本公开不限制于软判决输入信号,并且在一些实现中,可以使用硬判决输入信号。
[0052]应该理解,由于在通常使用的1/2卷积编码中为每个输入比特在卷积编码器内生成两个编码比特,所以在所描述的例子中使用四个输入信号。由于基数-4维特比解码器可以基本上同时对与两个输入比特对应的两个网格级进行解码,所以使用四个编码比特(例如,为1个输入比特生成两倍数目的编码比特)。在其它实施例中,可以使用其它卷积编码方案,并且因此,还可以使用另一种数目的输入信号以及相应的基数次数(radix order)。
[0053]在一些实施例中,基数-4维特比解码器部件203可以对四个软判决输入信号进行处理,以便确定可能的解码信号。在一些实施例中,为了实现高数据吞吐量,基数-4解码器部件203可以基本上同时生成两个跟踪比特(例如,与两级网格中的状态转移对应的比特),而不是像在传统基数-2维特比解码器中那样分别生成两个跟踪比特。
[0054]为了帮助解释该过程,图3A和3B说明了可以提供有用说明的网格图。图3A说明了传统的单级基数-2网格图的一部分。图3A说明了卷积编码器或者维特比解码器中的3个时间周期,以及每个时间周期64种可能状态中的四种。在所说明的例子中,如果最终状态是状态301(例如,对应于比特000000的状态),那么,在单级基数-2网格中,因为如在本领域众所周知的,在基数-2网格中,在每次状态转移中仅可以改变单独一个比特,所以只有状态303和305是可能的在先状态(例如,对应于比特000001和000000的状态)。可以应用该相同的过程来执行附加步骤,以在时间上向后通过网格到达四种状态307、309、311或313(例如,对应于比特000000、000001、000010和000011的状态)中任何一个,这四种状态可以是状态303和305的在先状态。如在本领域中众所周知的,该示例网格图对应于具有k约束为7的卷积编码,但是应该意识到,可以在各种实施例中使用任何卷积编码约束,并且网格中状态的数目可以基于所选择的卷积编码约束而改变。
[0055]在本公开的一个方面中,意识到可以将单级基数-2网格压缩成两级基数-4网格,在两级基数-4网格中,两个单级基数-2转移发生在单独一个两级基数-4转移中。图3B说明了两级基数-4网格,其中,从一种状态到另一种状态的每次转移代表图3A中单级基数-2网格的两级。应该意识到,在两级基数-4网格中,因为将两个新的比特添加到每个状态,而不是如在单级基数-2网格中那样添加1个比特,所以每种状态可以具有四种可能的在先状态而不是两种。如所说明的,两级基数-4网格的状态315具有四种可能的在先状态317、319、321和323,其中,两级基数-4网格的状态315对应于单级基数-2网格的状态301并且具有比特000000,四种可能的在先状态317、319、321和323对应于单级基数-2网格的状态307、309、311和313并且具有比特000000、000001、000010和000011。
[0056]在一些实施例中,基数-4维特比解码器部件203的一般结构可以遵循与传统的基数-2维特比解码器相似的结构形式。例如,如图2中所说明的并且如下更详细所描述的,基数-4维特比解码器部件203可以包括分支度量部件205、加法-比较部件209、路径度量部件213、以及回溯跟踪部件215。
[0057]如在图2中所示,基数-4维特比解码器部件203可以包括输入和清洗(flush)部件201,如下更详细所述,部件201接受四个软判决输入信号中每个的相应输入信号值,并且在分组结束时提供清洗功能。
[0058]如在图2中所示,基数-4维特比解码器部件203可以包括分支度量部件205。分支度量部件205可以基于四个软判决输入信号的值集合生成多个分支度量。在一些实施例中,每个分支度量代表四个软判决输入信号的当前值集合对应于相应的四个假设输入信号值的概率。在一些实施例中,分支度量部件205可以为四个软判决输入信号的每个值集合和每个可能的假设输入信号值(例如,1和0的任何四比特组合)生成分支度量集合。在一些实施例中,分支度量部件205可以为四个软判决输入信号的每个值集合生成16个(即2z,其中,z是基数次数)分支度量。
[0059]在一些实施例中,分支度量部件205可以对四个软判决输入信号进行成对处理而不是对一组四个信号进行处理,以便生成分支度量。在一些实现中,分支度量部件205可以使用两对中的每对生成四个中间分支度量。在一些实现中,如上所述,一个值的符号指示假设比特值(即,0或1),四个中间分支度量中的每个可以是在符号上与假设信号值不同的每个信号值的幅值差异的总和。在一些实现中,通过以下矩阵给出针对每个中间值集合的完整的假设比特值集合:
1 - 1 1 - 1 1 1 - 1 - 1
其中,每列代表相应的一对输入信号值的假设值,1代表假设值1,而-1代表假设值0。可以将相应的一对输入值b1和b2的中间分支度量(IBM)确定为IBM=b1*h1+b2*h2,其中,h1和h2是例如来自上述矩阵各列的+/-1的假设值。在一些实现中,如果b1和h1具有相同的符号,那么可以将b1*h1的值设置为0,并且同样,如果b2和h2具有相同的符号,那么可以将b2*h2的值设置为0。
[0060]在一些实施例中,可以进一步化简分支度量计算。例如,在一些实施例中,可以将偏置量|b1|+|b2|添加到每个中间分支度量,这导致BM=b1*h1+b2*h2+|b1|+|b2|。在该实现中,如果b1和h1具有相同的符号,可以将b1*h1和|b1|设置为零,并且同样,如果b2和h2具有相同的符号,可以将b2*h2和|b2|设置为零。在该实现中,那么,中间分支度量具有可能值0,2*|b1|、2*|b2|、2*(|b1|+|b2|),并且所有中间分支度量是偶数。在该实现中,可以将中间分支度量除以2得到可能值0、|b1|、|b2|、|b1|+|b2|,消除了进行乘法以便确定中间分支度量的需求,并且对于三比特输入值b1、b2,将存储中间分支度量所需的比特数目减少到四个比特。中间分支度量的成对计算可以得到总共八个中间分支度量,每对软判决卷积编码输入信号对应于四个中间分支度量。中间分支度量可以具有在0至14范围内的二进制值。
[0061]在一些实施例中,可以对多个中间分支度量进行求和,以便为基数-4输入信号的每个假设组合生成分支度量。例如,可以对度量进行组合,以便产生最终的16个基数-4分支度量,使得每个假设与一个分支度量相关联。通过矩阵给出16个假设:
1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 1 1 1 - 1 - 1 - 1 - 1 1 1 1 1 - 1 - 1 - 1 - 1 1 1 1 1 1 1 1 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1
在一些实现中,最终的分支度量在从0至28的二进制范围中,并且可以使用5个二进制比特表示。
[0062]应该意识到,软判决编码输入信号可以包括任何数目的比特。以具有一个符号比特的三比特幅值信号给出当前例子,但是实施例不限于此。同时,可以使用任何数目的比特并且以任何形式来代表中间分支度量和分支度量。给出上述例子作为可以计算中间分支度量和分支度量的一个可能的例子,并且该例子不意味着限制于此。
[0063]在一些实施例中,基数-4维特比解码器部件203可以包括网格互连部件207,网格互连部件207将分支度量从分支度量部件205提供给加法-比较部件209。在一些实现中,网格互连部件207可以包括诸如系统总线的通信网络。
[0064]在一些实施例中,如上所述,两级基数-4网格(例如,图3B中所示的网格)中的每种状态可以具有从四种可能的先前状态而来的可能状态转移。网格互连部件207可以通过为加法-比较部件209提供根据到相应的当前状态的可能状态转移所排列的分支度量,跟随可能的状态转移进入基数-4维特比算法的相应的状态。如在本领域中众所周知的,因为对应于每种状态转移的输入信号值可能取决于卷积编码器所使用的卷积生成多项式,所以网格排列对于特定编码方案可能是专用的。
[0065]在一些实施例中,如上所述,基数-4维特比解码器部件203可以包括加法-比较部件209。加法-比较部件209可以包括64个并行的加法-比较-选择单元,将其中一些标识为211。加法-比较-选择单元211的数目可以对应于网格中可能的当前状态的数目(例如,在图3B的网格例子中是64)。应该理解,各种实施例不限制于任何特定数目的加法-比较-选择单元211。
[0066]可以将每个加法-比较-选择单元211视为确定关于两级基数-4网格图当前状态的信息。例如,一个加法-比较-选择单元可以确定关于图3B网格图的状态315的信息。该信息可以包括确定处于状态315中的概率,以及到达状态315的最可能路径。可以通过将与从四个可能在先状态而来的四个可能转移对应的分支度量中的每一个和与处于这些可能在先状态(例如,状态317、319、321和323)中一个相应的可能在先状态的概率对应的一个相应的路径度量进行求和,来确定该信息。
[0067]图4说明了一个示例加法-比较-选择单元401的方框图,可以将其用作图2中的一个加法-比较-选择单元211。在一些实现中,可以使用90纳米光刻技术来实现加法-比较-选择单元401。加法-比较-选择单元401可以对从网格互连部件209接收的四个分支度量进行处理。如上所述,通过加法-比较-选择单元401接收的四个分支度量可以对应于概率,该概率是四个软判决输入信号值的集合对应于进入基数-4网格的一个相应的当前状态的四种可能状态转移(例如,从每个状态317、319、321和323进入状态315)的概率。加法-比较-选择部件209的64个加法-比较-选择单元一起可以接受与进入64状态两级基数-4网格的可能的64种当前状态中每一个当前状态的所有可能转移对应的分支度量。
[0068]在一些实施例中,加法-比较-选择单元401还可以接收四个在先路径度量。在一些实现中,可以从在先路径度量部件215接收四个在先路径度量。四个在先路径度量中的每个可以对应于处在两级基数-4网格的四个在先状态之一中的概率。四种在先状态可以包括由特定加法-比较-选择部件所代表的当前状态的四种可能在先状态。例如,如果特定的加法-比较-选择部件代表当前状态315,那么四个路径度量可以代表与每种可能在先状态317、319、321和323相关联的概率。
[0069]在一些实施例中,加法-比较-选择单元401可以确定四个在先状态和状态转移组合中的哪个组合最有可能。可以通过对四对分支度量和路径度量中的每对分支度量和路径度量进行加法,并且对四个总和进行比较来进行该判决。在一些实施例中,可以将四个总和中最低的一个选择为最可能的组合。在一些实现中,可以使用众所周知的模算数方法对各个总和进行加法和比较,以避免最大度量搜索和归一化。在该实现中,加法-比较-选择单元401可以包括多个模加法器,每个模加法器表示为403并且对各个分支度量和路径度量对进行加法。
[0070]在一些实现中,加法-比较-选择单元401可以包括比较部件405,其可以对模加法器403输出的多个总和进行比较。在一些实现中,如本领域中已知的,比较部件405可以使用以减法器实现的比较树。在一些实施例中,比较部件405可以确定并且输出两个跟踪比特,该两个跟踪比特对应于所确定的进入由一个相应的加法-比较-选择单元所代表的当前状态(例如,状态315)的最可能的转移。两个输出跟踪比特可以对应于先前状态的两个最低有效比特。例如,用于确定关于状态315的信息的加法-比较-选择单元可以对来自状态317、319、321和323的可能转移进行比较,以便确定最可能的在先状态。在一个例子中,如果状态323是最可能的在先状态,那么可以确定与状态323的两个最低有效比特对应的跟踪比特11,并且将其作为跟踪比特输出。
[0071]在一些实现中,加法-比较-选择单元可以包括多路复用器407,将各个分支和路径度量对的四个总和输入到多路复用器407中。在该实现中,可以使用比较部件405的输出跟踪比特来选择这些总和中的一个,作为将要(例如,通过多路复用器407)输出到路径度量部件213的新的路径度量。新的路径度量代表进入一个相应的当前假设状态的最可能路径的概率,例如,为由该相应的加法-比较-选择单元所代表的当前路径所选择的一对在先路径度量和分支度量的总和(例如,状态315)。如下所述,可以将新的路径度量存储在路径度量部件213中,以便在下一周期中由维特比解码器使用(例如,用于四个软判决输入信号的下一个值集合)。
[0072]在一些实现中,如图2中所示,基数-4维特比解码器部件203可以包括路径度量部件213。路径度量部件213可以包括多个存储单元,用于对由各个加法-比较-选择单元所生成的当前路径度量进行存储。在一些实现中,路径度量部件213可以从加法-比较-选择单元接收当前路径度量,并且为相同的加法-比较-选择单元提供来自前一次计算(例如,对应于先前所接收的编码输入信号值的集合)的在先路径度量。在维特比解码器部件203的每个处理周期上,路径度量部件213可以用来自加法-比较-选择单元的最新确定的路径度量213来代替在先确定的路径度量。在一些实现中,路径度量部件可以包括用于存储路径度量的多个寄存器。在一个实现中,多个寄存器可以包括多个八比特寄存器。
[0073]在一些实施例中,基数-4维特比解码器部件203可以包括回溯跟踪部件215,回溯跟踪部件215至少部分基于所记录的跟踪比特来确定解码信号。回溯跟踪部件215可以接收由加法-比较-选择单元输出的回溯跟踪比特,对它们进行存储和处理以便确定解码比特序列。在一些实施例中,可以将回溯跟踪部件215分割成两部分,幸存回溯跟踪部分(survivor tracebacksection)217和输出重新排序部分219。
[0074]在一些实施例中,输入和清洗部件201、分支度量部件205、网格互连部件207、加法-比较部件209和/或路径度量部件213可以在每个回溯跟踪时间间隔(例如,时钟单位)对新的跟踪比特集合进行处理,并且给回溯跟踪部件215提供关于最新确定的跟踪比特的信息。
[0075]在一些实施例中,幸存路径回溯跟踪部分217可以包括多个存储体,每个表示为221。在一个实现中,幸存路径回溯跟踪部分217可以使用众所周知的k-偶数指针算法,其中,在再分的存储体上并行进行读和写操作以改善性能。在一些实现中,例如,对于给定的k值和回溯跟踪长度T,可以将所需的存储器分割成2*k个存储体。在一些实现中,可以使用k值2,这导致四个存储体。应该理解,在其它实现中,k可以包括任何值。
[0076]此外,应该理解,T可以包括任何值。在所说明的实现中,T可以是对应于128个跟踪比特的128个比特。如本领域中已知的,T的值可以指示为每个解码集合所存储的跟踪比特的数目。如本领域中已知的,增加T可以增加解码的等待时间以及最终解码的置信度。为了容纳128的T,可以使用四个单端口64×128 RAM存储体。在一些实现中,作为替代,可以使用2个双端口128×128 RAM存储体。在一些实现中,将字大小增加两倍可以使存储区加倍,而增加字深度仅可以使存储区增加约~20%,因此,增加字深度可以改善较小区域内的存储容量。
[0077]在一些实施例中,幸存路径回溯跟踪部分217可以在每个回溯跟踪时间间隔(例如,时钟单位)期间执行四个并行过程。在一些实现中,四个并行过程中的每个可以包括写、跟踪、空闲和解码之一。在一些实现中,由加法-比较-选择部件所生成的跟踪比特到达时,写过程就可以对它们进行存储。在一些实现中,跟踪过程可以对存储在存储体内的回溯跟踪长度(T)的数据块(例如跟踪比特)进行操作,该操作从数据块的最后一个条目开始,并且向回进行到第一个条目,以便得到解码过程的起始点(例如,状态)。在一些实现中,因为跟踪过程对后来输入的数据进行操作以允许对先前接收的数据进行解码,所以将以前的数据块维持在空闲过程中,直到接收到后来的输入数据为止。
[0078]在一些实现中,一旦跟踪过程完成对要确定的T(例如,128)比特完整集合的解码,就可以使用所得的起始点开始解码过程,其遵循类似的后向跟踪,并且以相反的次序生成卷积编码输入信号的解码比特。除了在两级基数-4解码过程中的状态转移可以对应于单级基数-2解码过程中的两个状态转移之外,该解码过程可以类似于单级基数-2维特比解码器的解码过程来工作。解码过程可以确定卷积编码器的输入比特序列,进而可以得到所确定的跟踪比特。在跟踪和解码过程这两个过程之后,已经对2*T个比特进行了解码,在跟踪过程期间解码T个并且在解码过程期间解码T个。如在本领域中已知的,可以对在跟踪过程期间的前T个进行解码,使得在解码过程期间解码的第一个比特至少具有对应于回溯跟踪长度T的置信度。
[0079]在一些实施例中,这四个过程可以分布在多个存储体的每个中。在一些实现中,每个存储体正在执行的过程可以在每个回溯跟踪边界上(例如,每T个时钟单位)循环。图5根据一些实现说明了在四个存储体之间的循环操作。
[0080]图5根据本公开的一些实施例说明了在四个存储体(TB RAM0、TBRAM1、TB RAM2和TB RAM3)的每个上执行的功能。如所说明的,存储体TB RAM0可以通过执行写操作开始一系列时钟周期。在正在执行写操作的时钟周期期间,可以将跟踪比特序列写入存储体TB RAM0。在下一组时钟周期上,可以使用被写入同一个存储体的跟踪比特来执行跟踪操作。跟踪操作可以确定导致了所写入的跟踪比特的似然状态序列,并且输出开始状态,将使用该开始状态对比特进行解码,然后将该比特存储在存储体TBRAM3中。
[0081]在一些实施例中,在下一组时钟周期中,存储体TB RAM0可以保持空闲,而对存储体TB RAM3中的比特进行解码并且在跟踪操作中使用TBRAM1中的比特。随后,可以将对存储体TB RAM1中的比特进行跟踪操作的结果用作在下一组时钟周期中对存储体TB RAM0中的比特进行解码的起始点。在第四组时钟周期中,可以使用存储体TB RAM0中的比特来执行解码操作,以便使用对存储体TB RAM1中的比特执行的跟踪操作的输出作为起始点来确定解码比特序列。
[0082]如上所述,在一些实施例中,解码过程生成相反次序的比特。回溯跟踪部件215可以包括输出重新排序部分219。输出重新排序部分219可以包括后进先出(LIFO)双缓存器223,以便将输出比特恢复为正常次序。在一个实现中,每个缓冲器可以是64比特×2。在一些实现中,虽然将相反次序数据写入一个缓冲器中,但是可以从第二个缓冲器中读出正常次序的解码信号。
[0083]在一些实施例中,基数-4维特比解码器部件203可以包括图2中所示的分组结束控制225,作为回溯跟踪部件215的一部分。分组结束控制225可以确定何时分组结束或者接收分组结束的指示,使得可以对维特比解码器115进行数据清洗,从而为解码下一个分组作准备。可以执行这种清洗,使得与卷积编码器的清洗匹配。在一些实现中,由于IEEE 802.11标准在每个分组中包含了分组长度标识符,所以可以在分组接收期间从分组中所标识的长度来确定分组的最后一个比特。当接收分组时可以将该长度与分组的长度进行比较,使得可以确定分组的结束。在一些实现中,由于分组的结束部分不限制于回溯跟踪时间间隔,所以分组的最后一个解码块可能不具有完整跟踪的益处,并且因此经历更少的等待时间和更少的确定性。
[0084]在一些实现中,分组结束控制225可以通过将软判决零输入提供到输入和清洗部件201中,对维特比解码器115进行清洗,以便维持初始零状态。例如,这可以通过选择多路复用器的输出来实现,该多路复用器具有设置为软判决零的一个输入以及设置为编码输入信号的另一个输入。
[0085]已经描述了示例基数-4维特比解码器115的硬件和各个功能的示例集合,可以对解码四个编码输入信号的示例过程进行描述。图6中所说明的过程600可以用于这种解码,该过程600在方框601处开始。应该理解,虽然示例过程600描述了根据两级基数-4网格的解码,但是本公开不限制于这种解码。本公开的各种实施例可以根据任何多级网格进行解码。
[0086]如方框603所示,过程600可以包括接收四个编码输入信号值的步骤。例如,可以由基数-4维特比解码器的输入部件对这些信号值进行接收。如上所述,编码输入信号的数目可以对应于卷积编码方案,但是在本文仅作为例子将该数目描述为四。
[0087]如方框605所示,可以使用四个编码输入信号值生成当前分支量度值的集合。该分支量度值可以对应于概率,该概率是这四个编码输入信号值的集合实际上是16个可能输入选项中任何一个的概率。如上所述,分支度量的生成可以是通过计算每两个输入信号值的中间分支度量、并且随后将结果合并生成总共16个分支度量,总共16个分支度量中的每个用于与可能的接收编码信号值对应的每个可能的值集合。
[0088]如方框607所示,过程600可以包括将分支度量提供给加法-比较部件的步骤。提供分支度量可以包括在通信网络(例如,系统总线)上发送每个分支度量的表示。提供分支度量可以包括将分支度量的子集提供给加法-比较部件的多个加法-比较-选择单元中的每个。可以提供分支度量,使得每个加法-比较-选择单元接收对应于四种可能状态转移的四个分支度量,该四种可能状态转移可以导致转移到由该加法-比较-选择单元所代表的当前状态。
[0089]如方框609所示,过程600可以包括将路径度量提供给加法-比较-选择部件。如上所述,可以从路径度量部件提供路径度量。每个路径度量可以代表与64状态两级基数-4网格中可能的64种在先状态之一相关联的概率。可以将路径度量提供给各个加法-比较-选择单元,使得为每个加法-比较-选择单元提供四个路径度量,该四个路径度量对应于在方框607中所提供的四个分支度量。应该意识到,对于接收的输入信号值集合,可以基本上同时进行方框607和609所表示的步骤,而不是如图6中所示的按顺序进行方框607和609所表示的步骤。
[0090]如方框611所示,过程600可以包括将分支度量和路径度量相加。在一些实现中,每个加法-比较-选择单元可以如上所述将分支度量和路径度量对进行相加。
[0091]如方框613所示,过程600可以包括为每个可能的当前状态选择在先状态。选择在先状态可以包括在每个加法-比较-选择单元内对多个相加的分支度量和路径度量对的多个总和进行比较,并且选择对应于最低总和的组合。选择在先状态可以包括生成与从所选择的在先状态到当前状态的状态转移对应的跟踪比特,并且生成与处于每个当前状态的概率对应的当前路径度量(例如,总和)。
[0092]如方框615所示,过程600可以包括存储跟踪比特和接下来的路径度量。如上所述,可以将接下来的路径度量存储在路径度量部件中。接下来的路径度量可以包括在方框611和613处所描述的由每个加法-比较-选择单元所计算的最低总和。又可以将这些接下来的路径度量用于计算接下来的路径度量集合:当将接下来的分支度量集合输入到加法-比较-选择单元时通过再次将这些接下来的路径度量输入到加法-比较-选择单元(例如,在方框609处),可以将这些接下来的路径度量用于计算接下来的路径度量集合。
[0093]如方框617所示,过程600可以包括进行跟踪和解码操作,以便确定卷积编码器(例如,发送数据处理器107)的可能的输入比特。如在本领域中已知的,所组合的跟踪和解码操作可以确定2*T个比特以便解码T个比特,其中,T是回溯跟踪长度。例如,跟踪和解码操作可以参考上一次确定的跟踪比特和上一次确定的路径度量的集合。可以选择对应于最低路径度量的当前状态作为最可能的当前状态。在跟踪操作期间,可以将状态跟踪T个状态。随后,在解码操作期间,可以跟踪另外T个状态。由于在解码操作期间对状态进行跟踪,所以可以以相反次序将对应于状态转移的跟踪比特输出到输出重新排序部分中。
[0094]可以在MIMO无线通信系统以及任何无线或者否则在其中采用一个或多个导频音调的通信系统中实现本文所描述的技术。可以通过各种方式实现本文所描述的技术,包括硬件实现、软件实现、或者其组合。对于硬件实现,可以在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、电子器件、其它设计执行本文所描述的功能的电子单元、或者其组合内实现用于为了在发射站处发射以及为了在接收站处接收而对数据进行处理的处理单元。在发射站和接收站包括多个处理器的实施例中,在每个站的处理器可以共享硬件单元。
[0095]对于软件实现,可以以执行本文所描述的功能的软件模块(例如:程序、函数等)来实现数据发送和接收技术。可以将软件代码存储在存储单元(例如,图2中的存储单元242或282)中,并且通过处理器(例如,控制器240或280)来执行该软件代码。可以在处理器内部或者处理器外部实现存储单元。
[0096]在一个或多个示例性实施例中,可以在硬件、软件、固件或者其任何组合中实现所描述的功能。如果在软件中实现,可以将功能作为一个或多个指令或代码存储在计算机可读介质上,或者在计算机可读介质上传送。计算机可读介质包括计算机存储介质以及通信介质,该通信介质包括有助于将计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是计算机可以访问的任何可用介质。通过举例并且不是限制的方式,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储器、磁盘存储器或者其它磁存储器件、或者可以用于以指令或者数据结构的形式携带或者存储期望程序代码并且可以通过计算机访问的任何其它介质。同时,将任何连接恰当地称为计算机可读介质。例如,如果从网页、服务器、或者其它远程源使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或者诸如红外、无线电和微波的无线技术发送软件,那么将同轴电缆、光纤电缆、双绞线、DSL或者诸如红外、无线电和微波的无线技术包括在介质的定义中。如本文所使用的,磁盘和光盘包括紧密光盘(CD)、激光光盘、光学学盘、数字通用光盘(DVD)、软磁盘和蓝光盘,其中,磁盘通常对数据进行磁再现,而光盘以激光对数据进行光学再现。还应该将上述的组合包括在计算机可读介质的范围内。
[0097]提供了所公开实施例的先前说明,以便使本领域的任何技术人员都能够实现或者使用本公开。这些实施例的各种修改对本领域的技术人员来说将是显而易见的,并且可以将本文定义的一般原理应用到其它实施例,而不脱离本公开的精神和范围。因此,本公开并不是要被限制于本文所示的实施例,而是要符合与本文所公开的原理和新颖特征相一致的最宽范围。

Claims (41)

1、一种解码器装置,包括:
输入部件,用于接收多个编码输入信号;以及
多级维特比解码器部件,用于对所述多个编码输入信号进行处理以确定可能的解码信号。
2、如权利要求1所述的装置,其中,所述多级维特比解码器部件包括基数-4维特比解码器部件。
3、如权利要求1所述的装置,其中,所述多级维特比解码器部件包括:
分支度量部件,用于确定多个分支度量;以及
加法-比较部件,用于确定多个当前路径度量,并且用于输出多个当前跟踪比特对,每个跟踪比特对对应于所述多个当前路径度量中的一个相应的当前路径度量。
4、如权利要求3所述的装置,其中,所述加法-比较部件基于所述多个分支度量和多个在先路径度量来确定所述多个当前路径度量。
5、如权利要求4所述的装置,其中,每个当前路径度量代表到一个相应的当前假设状态的最可能路径的概率,该概率对应于所述多个分支度量中的一个相应的分支度量和所述多个在先路径度量中的一个相应的在先路径度量。
6、如权利要求4所述的装置,其中,每个在先路径度量代表到与所述多个编码输入信号的在先接收值集合对应的一个相应的先前假设状态的最可能路径的概率。
7、如权利要求3所述的装置,其中,所述多个分支度量包括用于所述多个编码信号的每个接收值集合的相应的分支度量集合。
8、如权利要求7所述的装置,其中,每个相应的分支度量集合代表一个概率集合,该概率集合是四个软判决编码信号的当前接收值集合对应于相应的四个假设输入信号值的概率的集合。
9、如权利要求3所述的装置,其中,所述分支度量部件通过将所述多个编码信号的所述当前接收值集合中的第一个和第二个接收值与所述多个编码信号的所述当前接收值集合中的第三个和第四个接收值分开进行处理,并且随后将对所述第一个和第二个接收值进行处理的第一个结果与对所述第三个和第四个接收值进行处理的第二个结果进行组合,来确定每个相应的分支度量集合。
10、如权利要求9所述的装置,其中,所述第一个结果包括四个中间分支度量,所述第二个结果包括四个中间分支度量,并且每个相应的分支度量集合包括16个分支度量。
11、如权利要求9所述的装置,其中,所述多个分支度量中的每个分支度量包括一个5比特值。
12、如权利要求3所述的装置,其中,所述多级维特比解码器部件包括:
网格部件,用于给所述加法-比较部件提供所述多个分支度量;以及
路径度量部件,用于存储所述多个当前路径度量。
13、如权利要求12所述的装置,其中,所述加法-比较部件基于所述多个分支度量和多个在先路径度量来确定所述多个当前路径度量,并且其中,所述路径度量部件给所述加法-比较部件提供所述多个在先路径度量。
14、如权利要求3所述的装置,其中,所述多级维特比解码器部件包括回溯跟踪部件,用于存储所述多个当前跟踪比特对和与所述多个输入信号的在先接收值集合对应的多个先前确定的跟踪比特对,并且用于至少部分地基于所存储的当前的和先前确定的跟踪比特来确定所述可能的解码信号。
15、如权利要求14所述的装置,其中,所述回溯跟踪部件至少部分地基于所存储的当前的和先前确定的假设状态值来确定假设状态序列,并且基于所述假设状态序列确定所述可能的解码信号的值集合。
16、如权利要求20所述的装置,其中,所述回溯跟踪部件通过以从最后状态到最早状态的次序选择与所述多个编码信号的每个相应的接收值集合对应的最可能的假设状态,来确定所述假设状态序列。
17、如权利要求16所述的装置,其中,所述回溯跟踪部件通过确定与所述假设状态序列对应的卷积算法的输入值,来确定所述可能的解码信号的值集合。
18、如权利要求17所述的装置,其中,所述回溯跟踪部件包括四个存储部件,并且所述回溯跟踪部件使用所述四个存储部件中的每个存储部件来执行跟踪操作、空闲操作、写操作、以及解码操作中的至少一个操作。
19、如权利要求1所述的装置,其中,每个编码输入信号包括卷积编码信号的一部分,并且所述可能的解码信号包括所述卷积编码信号的解码。
20、如权利要求19所述的装置,其中,多个卷积编码信号包括以卷积编码约束为七而编码的信号。
21、一种解码器,包括:
输入部件,用于接收多个编码输入信号;以及
用于通过对所述多个编码输入信号进行多级维特比解码过程来确定可能的解码信号的模块。
22、如权利要求21所述的装置,其中,所述用于确定可能的解码信号的模块包括:
用于确定多个分支度量的模块,每个分支度量代表四个软判决编码输入信号的当前接收值对应于相应的四个假设输入信号值的概率;
用于基于所述多个分支度量和多个在先路径度量确定多个当前路径度量的模块,每个当前路径度量代表到与所述四个软判决编码信号的当前接收值集合对应的一个相应的假设当前状态的最可能路径的概率;以及
用于确定多个当前跟踪比特的模块,每个当前跟踪比特对应于所述多个当前路径度量中的一个相应的当前路径度量以及所述四个软判决编码信号的所述当前接收值集合。
23、如权利要求22所述的装置,其中,所述用于确定可能的解码信号的模块包括:
用于为所述用于确定多个当前路径度量的模块提供所述多个分支度量的模块;
用于存储所述多个当前路径度量的模块;以及
用于为所述用于确定多个当前路径度量的模块提供所述多个在先路径度量的模块,每个在先路径度量代表到与所述多个编码输入信号的在先接收值集合对应的一个相应的先前假设状态的最可能路径的概率。
24、如权利要求22所述的装置,其中,所述用于确定可能的解码信号的模块包括:
用于存储针对所述多个当前路径度量中每一个的当前假设状态值和与所述多个编码输入信号的先前接收值对应的多个先前确定的跟踪比特对的模块;以及
用于至少部分地基于所存储的当前的和先前确定的跟踪比特来确定所述可能的解码信号的模块。
25、如权利要求24所述的装置,其中,所述用于确定所述可能的解码信号的模块包括:
用于至少部分地基于所存储的假设状态值来确定假设状态序列的模块;以及
用于基于所述假设状态序列来确定所述可能的解码信号的值集合的模块。
26、如权利要求25所述的装置,其中,所述用于确定所述可能的解码信号的模块包括:用于通过以从最后状态到最早状态的次序选择与所述多个编码信号的每个相应的接收值集合对应的最可能假设状态来确定所述假设状态序列的模块。
27、如权利要求26所述的装置,其中,所述多级维特比解码过程包括两级基数-4维特比解码过程。
28、一种对编码输入进行解码的方法,所述方法包括:
接收多个编码输入信号;以及
对多个软判决编码输入信号进行多级维特比解码,以确定可能的解码信号。
29、如权利要求28所述的方法,其中,维特比解码包括:
确定多个分支度量;
确定多个当前路径度量;以及
确定多个当前跟踪比特对,每个当前跟踪比特对对应于所述多个当前路径度量中的一个相应的当前路径度量。
30、如权利要求29所述的方法,其中,确定所述多个当前路径度量包括:基于所述多个分支度量和多个在先路径度量来确定所述多个当前路径度量。
31、如权利要求30所述的方法,其中,每个当前路径度量代表到一个相应的当前假设状态的最可能路径的概率,该概率对应于所述多个分支度量中的一个相应的分支度量和所述多个在先路径度量中的一个相应的在先路径度量。
31、如权利要求30所述的方法,其中,每个在先路径度量代表到与所述多个编码输入信号的在先接收值集合对应的一个相应的先前假设状态的最可能路径的概率。
32、如权利要求30所述的方法,其中,确定所述多个当前路径度量包括:
将所述多个分支度量中的至少一个第一分支度量与所述多个在先路径度量中的至少一个相加来确定第一个结果;
将所述多个分支度量中的至少一个第二分支度量与所述多个在先路径度量中的所述至少一个相加来确定第二个结果;以及
对所述第一个结果和所述第二个结果进行比较。
33、如权利要求32所述的方法,其中,将所述多个分支度量中的所述至少一个第一分支度量与所述多个在先路径度量中的所述至少一个相加来确定所述第一个结果包括使用模算数进行相加;并且其中,将所述多个分支度量中的所述至少一个第二分支度量与所述多个在先路径度量中的所述至少一个相加来确定所述第二个结果包括使用模算数进行相加。
34、如权利要求33所述的方法,其中,所述多个分支度量包括用于所述多个编码信号的每个接收值集合的相应分支度量集合。
35、如权利要求34所述的方法,其中,每个相应的分支度量集合代表所述多个编码信号的所述当前接收值集合对应于相应的四个假设输入信号值的概率集合。
36、如权利要求32所述的方法,其中,确定所述多个分支度量包括:
通过将所述多个软判决编码信号的所述当前接收值集合中的第一个和第二个接收值与所述多个软判决编码信号的所述当前接收值集合中的第三个和第四个接收值分开进行处理,确定所述多个分支度量;以及
将对所述第一个和第二个接收值进行处理的第一个结果与对所述第三个和第四个接收值进行处理的第二个结果进行组合。
37、如权利要求36所述的方法,其中,所述第一个结果包括四个中间分支度量,所述第二个结果包括四个中间分支度量,并且每个相应的分支度量集合包括16个分支度量。
38、如权利要求37所述的方法,其中,所述多个分支度量中的每个分支度量包括一个5比特值。
39、如权利要求32所述的方法,其中,所述多级维特比解码包括:
对所述多个当前跟踪比特对和与所述多个编码输入信号的多个在先值集合对应的多个先前确定的跟踪比特集合进行存储;以及
至少部分地基于所存储的当前的和先前确定的跟踪比特来确定所述可能的解码信号。
40、如权利要求39所述的方法,其中,确定所述可能的解码信号包括:
至少部分地基于所存储的当前的和先前确定的跟踪比特来确定假设状态序列;以及
基于所述假设状态序列确定所述可能的解码信号的值集合。
CNA2007800149071A 2006-04-27 2007-04-27 基数-4维特比解码 Pending CN101432972A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US79584806P 2006-04-27 2006-04-27
US60/795,848 2006-04-27

Publications (1)

Publication Number Publication Date
CN101432972A true CN101432972A (zh) 2009-05-13

Family

ID=38515786

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800149071A Pending CN101432972A (zh) 2006-04-27 2007-04-27 基数-4维特比解码

Country Status (6)

Country Link
US (1) US20070266303A1 (zh)
EP (1) EP2011239A2 (zh)
JP (1) JP2009535939A (zh)
KR (1) KR20090009892A (zh)
CN (1) CN101432972A (zh)
WO (1) WO2007127941A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103444086A (zh) * 2011-03-29 2013-12-11 英特尔公司 用于咬尾卷积码解码的系统、方法和设备
CN103905067A (zh) * 2012-12-27 2014-07-02 中兴通讯股份有限公司 多模译码器实现方法及装置
CN104468023A (zh) * 2013-09-22 2015-03-25 中兴通讯股份有限公司 解码方法和装置
CN105162474A (zh) * 2015-09-09 2015-12-16 中国科学院自动化研究所 一种基四算法下的加比选计算方法和装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074157B2 (en) * 2008-01-22 2011-12-06 Agere Systems Inc. Methods and apparatus for reduced complexity soft-output viterbi detection
CN101247380B (zh) * 2008-03-27 2011-12-28 复旦大学 用于多带正交频分复用超宽带系统的高速维特比解码器
JP5229062B2 (ja) * 2009-03-31 2013-07-03 日本電気株式会社 超高速ターボデコーダ及び超高速ターボ検出器
TWI441181B (zh) * 2010-09-09 2014-06-11 Silicon Motion Inc 用來進行資料整形之方法以及其記憶裝置及控制器
US9112654B2 (en) 2011-08-16 2015-08-18 Harris Corporation Wireless communications device with multiple trellis decoders and related methods
KR102012686B1 (ko) * 2012-12-13 2019-08-21 삼성전자주식회사 OOK(On-Off Keying) 수신기에서 디씨 오프셋(DC Offset) 변화에 강인하게 비트 시퀀스를 검출하는 방법 및 장치
US9948427B2 (en) 2015-12-07 2018-04-17 Macom Connectivity Solutions, Llc High speed add-compare-select for Viterbi decoder
WO2019034337A1 (en) 2017-08-15 2019-02-21 Telefonaktiebolaget Lm Ericsson (Publ) ELECTRONIC TRANSCEIVER DEVICE, METHOD AND COMPUTER PROGRAM FOR DECODING CONTROL INFORMATION
GB2576534B (en) * 2018-08-22 2020-09-30 Imagination Tech Ltd GFSK detector
CN110858825B (zh) 2018-08-22 2021-08-17 畅想科技有限公司 用于调整gfsk调制信号的采样定时的系统和方法
TWI760772B (zh) * 2020-06-16 2022-04-11 瑞昱半導體股份有限公司 基於維特比演算法之解碼電路及解碼方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418795A (en) * 1991-09-13 1995-05-23 Sony Corporation Viterbi decoder with path metric comparisons for increased decoding rate and with normalization timing calculation
JPH05211447A (ja) * 1991-09-13 1993-08-20 Sony Corp ビタビ復号装置およびその方法
US5488635A (en) * 1993-10-29 1996-01-30 General Electric Company Low complexity adaptive equalizer radio receiver employing reduced complexity branch metric calculation
US5530707A (en) * 1994-03-09 1996-06-25 At&T Corp. Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes
KR0138875B1 (ko) * 1994-12-23 1998-06-15 양승택 비터비 복호기의 가지 메트릭 모듈
JP2996615B2 (ja) * 1996-01-08 2000-01-11 松下電器産業株式会社 ビタビ復号装置及びその方法
US5914988A (en) * 1996-04-09 1999-06-22 Thomson Multimedia S.A. Digital packet data trellis decoder
KR100230275B1 (ko) * 1997-02-21 1999-11-15 윤종용 고해상도 텔레비젼 수신기의 tcm 복호기 및 그 복호방법
KR19980079114A (ko) * 1997-04-30 1998-11-25 배순훈 트렐리스 코드 데이터의 디코딩방법 및 장치
US6094739A (en) * 1997-09-24 2000-07-25 Lucent Technologies, Inc. Trellis decoder for real-time video rate decoding and de-interleaving
US5974091A (en) * 1997-10-30 1999-10-26 Communication Network Systems Composite trellis system and method
US6038269A (en) * 1997-11-20 2000-03-14 National Semiconductor Corporation Detection for digital communication receivers
US6212664B1 (en) * 1998-04-15 2001-04-03 Texas Instruments Incorporated Method and system for estimating an input data sequence based on an output data sequence and hard disk drive incorporating same
US6269129B1 (en) * 1998-04-24 2001-07-31 Lsi Logic Corporation 64/256 quadrature amplitude modulation trellis coded modulation decoder
US6738949B2 (en) * 1998-05-13 2004-05-18 Matsushita Electric Industrial Co., Ltd. Error correction circuit and error correction method
JP4331371B2 (ja) * 1999-01-29 2009-09-16 テキサス インスツルメンツ インコーポレイテツド 無線応用のためのフレキシブルなビタビ・デコーダ
US6333954B1 (en) * 1999-10-21 2001-12-25 Qualcomm Incorporated High-speed ACS for Viterbi decoder implementations
JP3515720B2 (ja) * 1999-11-22 2004-04-05 松下電器産業株式会社 ビタビ復号器
US6999521B1 (en) * 1999-12-23 2006-02-14 Lucent Technologies Inc. Method and apparatus for shortening the critical path of reduced complexity sequence estimation techniques
JP3501725B2 (ja) * 2000-05-12 2004-03-02 日本電気株式会社 ビタビ復号器
US7000175B2 (en) * 2000-11-03 2006-02-14 Agere Systems Inc. Method and apparatus for pipelined joint equalization and decoding for gigabit communications
US6742158B2 (en) * 2001-05-30 2004-05-25 Telefonaktiebolaget Lm Ericsson(Publ) Low complexity convolutional decoder
KR100437697B1 (ko) * 2001-07-19 2004-06-26 스프레드텔레콤(주) 다수준 격자부호변조방식의 복호 방법 및 장치
JP2003289253A (ja) * 2002-03-28 2003-10-10 Mitsubishi Electric Corp 誤り訂正復号装置
US7185268B2 (en) * 2003-02-28 2007-02-27 Maher Amer Memory system and method for use in trellis-based decoding
JP4303548B2 (ja) * 2003-09-22 2009-07-29 富士通株式会社 準固定回路
US7380199B2 (en) * 2004-05-25 2008-05-27 Agere Systems Inc. Method and apparatus for precomputation and pipelined selection of branch metrics in a reduced-state Viterbi detector
CN101036299B (zh) * 2004-08-25 2012-11-14 阿苏克斯有限公司 用于实现可重构网格类型解码的方法和装置
KR100725931B1 (ko) * 2004-12-17 2007-06-11 한국전자통신연구원 하이브리드 역추적 장치 및 그를 이용한 고속 비터비 복호시스템
US7506239B2 (en) * 2004-12-23 2009-03-17 Raghavan Sudhakar Scalable traceback technique for channel decoder
US20070113161A1 (en) * 2005-11-14 2007-05-17 Texas Instruments Incorporated Cascaded radix architecture for high-speed viterbi decoder
US7561641B2 (en) * 2006-02-06 2009-07-14 Tatung Company Method of Viterbi decoding with reduced butterfly operation

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103444086A (zh) * 2011-03-29 2013-12-11 英特尔公司 用于咬尾卷积码解码的系统、方法和设备
CN103905067A (zh) * 2012-12-27 2014-07-02 中兴通讯股份有限公司 多模译码器实现方法及装置
CN103905067B (zh) * 2012-12-27 2018-05-11 中兴通讯股份有限公司 多模译码器实现方法及装置
CN104468023A (zh) * 2013-09-22 2015-03-25 中兴通讯股份有限公司 解码方法和装置
WO2015039521A1 (zh) * 2013-09-22 2015-03-26 中兴通讯股份有限公司 解码方法和装置
CN104468023B (zh) * 2013-09-22 2019-11-05 南京中兴软件有限责任公司 解码方法和装置
CN105162474A (zh) * 2015-09-09 2015-12-16 中国科学院自动化研究所 一种基四算法下的加比选计算方法和装置
CN105162474B (zh) * 2015-09-09 2018-11-27 北京思朗科技有限责任公司 一种基四算法下的加比选计算方法和装置

Also Published As

Publication number Publication date
WO2007127941A3 (en) 2007-12-13
KR20090009892A (ko) 2009-01-23
US20070266303A1 (en) 2007-11-15
JP2009535939A (ja) 2009-10-01
EP2011239A2 (en) 2009-01-07
WO2007127941A2 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
CN101432972A (zh) 基数-4维特比解码
CN102694625B (zh) 一种循环冗余校验辅助的极化码译码方法
CN1099165C (zh) 维特比译码器
US4606027A (en) Error correction apparatus using a Viterbi decoder
CN110235374A (zh) 非正则极化编码
CN1171869A (zh) 利用可变判决深度译码数字数据的系统
CN100517984C (zh) 用于移动通信系统的维特比/涡轮联合译码器
US20070180352A1 (en) Memory system and method for use in trellis-based decoding
WO1996017439A1 (en) Cyclic trellis coded modulation
CN101635611B (zh) 一种信道译码方法和装置
US8037396B2 (en) Cyclic trellis coded modulation
CN109257140B (zh) 一种极化信道可靠度排序的方法、极化码编码方法及装置
CN110100403A (zh) 使用极化编码数据传输的通信系统中的错误检测
JPH07221655A (ja) 通信システムおよび情報処理方法
KR100779782B1 (ko) 비터비 디코더 용 고속 acs 유닛
EP3996285A1 (en) Parallel backtracking in viterbi decoder
US6760385B1 (en) Universal parallel processing decoder
CN100433836C (zh) 使用冗余对视/音频和语音数据进行解码的方法和系统
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
CN101145790A (zh) 译码器、相加-比较-选择单元和其方法
CN1309471A (zh) 在支路度量计算处理中具有减少的位数的维特比解码器
US7248637B2 (en) Viterbi decoder utilizing partial backtracing
JP4213286B2 (ja) ビタビ復号器
CN105721104A (zh) 一种维特比译码实现方法
CN101316154A (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: 20090513