ipi是什么意思| 为什么嘴唇会发紫| ppt是什么意思| 三七和田七有什么区别| 帆船像什么| 左脸长痣代表什么| 男士感染霉菌用什么药| 月经期间吃什么最好| 脸上长闭口是什么原因导致的| 胃不舒服恶心想吐吃什么药| p是什么面料| 宁静致远是什么意思| eicu是什么意思| 三宫六院是什么意思| 筋膜炎用什么药| 宫颈多发纳囊什么意思| bottle什么意思| 想吃甜食是什么原因| 子宫腺肌症是什么| 女人每天喝豆浆有什么好处| 拉肚子恶心想吐吃什么药| 黄鼠狼的天敌是什么动物| 冠带是什么意思| 梦见穿裤子是什么意思| 儿茶是什么中药| pick是什么意思| 抑郁症是什么| 为什么空腹血糖比餐后血糖高| 失聪是什么意思| 红色连衣裙配什么鞋子好看| 耳鸣是什么原因造成的| 什么是烟雾病| 账单日是什么意思| 血糖高的人吃什么水果好| 女龙配什么属相最好| 尿的颜色有点红褐色是什么原因| gson是什么牌子| 毛豆烧什么好吃| 低血压高吃什么药| sop是什么意思| 麦芽糖是什么做的| 自强不息的息是什么意思| 剥皮实草是什么意思| 9.22什么星座| 什么是放疗| 武松的绰号是什么| 吃什么药可以延长性功能| 什么是气血不足| 小孩吃牛肉有什么好处| 为什么很困却睡不着| 狗牯脑茶属于什么茶| 支气管舒张试验阳性说明什么| 喉咙痛可以吃什么水果| 喉咙痛上火吃什么药效果最好| 什么的原始森林| 十月十六号是什么星座| 男性支原体感染什么症状| 小限是什么意思| 杀青是什么意思| 鼻子痒用什么药好| 年轻人为什么会低血压| 蛀牙挂什么科| 谷氨酸高是什么原因| 肛瘘是什么症状| 湿疹和荨麻疹有什么区别| 感冒有黄痰是什么原因| 头晕喝什么饮料| 什么食物补锌| cpb是什么意思| 身份证x代表什么意思| 妈妈最大的愿望是什么| 血崩是什么意思| 甸是什么意思| 白莲子和红莲子有什么区别| 柠檬什么时候开花结果| 肾结石喝酒有什么影响| rs是什么意思| 提踵是什么意思| 角膜塑形镜是什么| 做tct检查前要注意什么| 头皮一阵一阵发麻是什么原因| 签证和护照有什么区别| 气血虚吃什么中成药| 血压低会出现什么症状| 慢性胆囊炎是什么原因引起的| pn是什么| 治便秘什么药最好| 123是什么意思| 不打狂犬疫苗会有什么后果| 胜利在什么| 弯是什么意思| 遗精是什么原因| 胃气上逆是什么原因造成的| 胆囊肌腺症是什么病| 水逆是什么| 尿蛋白阳性是什么意思| 哎呀是什么意思| 临床医学是什么| 一阵一阵的胃疼是什么原因| 舌头有麻木感什么原因| 双鱼座什么性格| 没经验开什么店最简单| 三无是什么意思| 沉香茶属于什么茶| 三级综合医院是什么意思| 血光之灾是什么意思| 10.22是什么星座| camper是什么牌子| 什么的野鸡| 潘驴邓小闲什么意思| 裸官是什么意思| 重庆东站什么时候通车| 血糖高是什么症状| 凤凰长什么样子| 易孕期是什么意思| 甲骨文是写在什么上面的| 大什么小什么| 什么病需要透析| 脚气病缺什么维生素| 什么眼霜比较好用| 梨的功效与作用是什么| roger是什么意思| 美商是什么意思| 什么样的长城| 喝什么降血压| 猫的胡须有什么用处| 什么食物去湿气| 术后恢复吃什么好| 干旱是什么意思| 双子座是什么星象| 益气固表是什么意思| 卵圆孔未闭是什么意思| 属鼠的幸运色是什么颜色| 溢脂性皮炎用什么药| 吃什么食物补钙| 开业需要准备什么东西| 教学相长是什么意思| 胃胀气是什么原因| 大便有粘液什么原因| 菊花什么时候种植| 反式脂肪是什么| 一个月来两次大姨妈是什么原因| 宾格是什么意思| 克勤克俭的克是什么意思| 10.1什么星座| 绿茶不能和什么一起吃| 为什么会感染幽门螺杆菌| 牛和什么属相最配| 穆斯林是什么| 什么是树莓| 梦见邻居是什么意思| hpv不能吃什么食物| 含蓄是什么意思| 211大学什么意思| 阴湿是什么意思| 厄警失痣是什么意思| 人发胖的原因是什么引起的| 农历12月18日是什么星座| 利是是什么意思| 西罗手表什么档次| 大宗商品是什么意思| 神经元是什么| 坐月子能吃什么蔬菜| menu是什么意思| proof什么意思| 洄游是什么意思| 水泻拉肚子是什么原因| 最近老坏东西暗示什么| 抗巨细胞病毒抗体igg高是什么意思| 踩奶是什么意思| 尿酸高看什么科室最好| 什么的竹叶| 车迟国的三个妖怪分别是什么| 4月23是什么星座| 裸钻是什么| 烟酰胺有什么作用| 遐龄是什么意思| 多尔衮是什么意思| 蒲公英有什么作用和功效| 禄蠹是什么意思| 意味深长是什么意思| 三点水一个四读什么| 烂苹果气味的是什么病| 树敌是什么意思| 头顶痛吃什么药| 梦见蘑菇是什么预兆| 检车需要什么手续| 月经不调吃什么药调理最好| 舌头变黑是什么原因| 白色代表什么| 粤语点解什么意思| 分贝是什么意思| 什么的沙滩| 痤疮是什么样子的| 起风疹了用什么快速方法能解决| 太阳光是什么颜色| 容易长痣是什么原因| 良人是什么意思| 脚底板脱皮是什么原因| 月经每个月都推迟是什么原因| 什么化痰效果最好最快| 喜悦之情溢于言表什么意思| 右脸突然肿了是什么原因| 脸黄是什么原因| 伸筋草主治什么病| 为什么手臂上有很多很小的点| 甲申日是什么意思| 卫校有什么专业| 粉色裤子搭什么上衣| 六安瓜片属于什么茶| 衣冠禽兽是什么意思| Continental什么牌子| 欺骗餐是什么意思| 什么是疣体| 鼠的五行属什么| 唏嘘什么意思| 皮蛋是什么蛋做的| 什么植物驱蚊效果最好| 胃肠感冒发烧吃什么药| 手背有痣代表什么| 晚睡早起是什么原因| 什么是全脂奶粉| 黄忠字什么| 爱钻牛角尖是什么意思| 一什么眉毛填量词| 什么是低保户| 武夷水仙茶属于什么茶| 夏令时是什么| 什么叫做t| 吃斋是什么意思| tga是什么意思| 缺少雌激素的女性会有什么症状| 棺材中禁止放什么东西| 梦见婴儿是什么预兆| 头发容易油是什么原因| 一什么草坪| 报仇是什么意思| 镁低了是什么原因| 脑血栓不能吃什么水果| 打鸡血是什么意思| 屁股尾骨疼是什么原因| 肌肉萎缩什么症状| 法西斯战争是什么意思| 金风送爽是什么意思| 贝字旁的字和什么有关| 甲状腺结节不能吃什么| 雌激素是什么意思| 长高吃什么钙片| 讲义气是什么意思| 舌苔厚有齿痕吃什么药| 耍无赖是什么意思| 什么人| 眼球发黄是什么原因| sale是什么牌子| 掌勺是什么意思| 慢性胃炎是什么原因引起的| 40年属什么| 西酞普兰为什么早晨吃| 吃什么补肝养肝最有效| 素饺子什么馅儿的好吃| 全身痒是什么原因| 小黄人是什么意思| 胎儿左侧侧脑室增宽的原因是什么| 韩国的思密达是什么意思| 百度

吃什么能降铁蛋白

Decoding apparatus, decoding method, and non-transitory computer readable medium Download PDF

Info

Publication number
US11336306B2
US11336306B2 US16/972,957 US201816972957A US11336306B2 US 11336306 B2 US11336306 B2 US 11336306B2 US 201816972957 A US201816972957 A US 201816972957A US 11336306 B2 US11336306 B2 US 11336306B2
Authority
US
United States
Prior art keywords
path
time point
state
metric
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.)
Active
Application number
US16/972,957
Other versions
US20210250052A1 (en
Inventor
Norifumi Kamiya
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of US20210250052A1 publication Critical patent/US20210250052A1/en
Assigned to NEC CORPORATION reassignment NEC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KAMIYA, NORIFUMI
Application granted granted Critical
Publication of US11336306B2 publication Critical patent/US11336306B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/4115Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors list output Viterbi decoding
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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
    • 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation

Definitions

  • the present disclosure relates to a decoding apparatus, a decoding method, and a program.
  • the error correction encoding technique is composed of an encoding process (encoding) for generating a transmission signal sequence while adding redundant data to information data on the transmitting side, and a decoding process (decoding) for inferring a transmission signal sequence from a reception signal sequence containing noises received on the receiving side.
  • encoding for generating a transmission signal sequence while adding redundant data to information data on the transmitting side
  • decoding for inferring a transmission signal sequence from a reception signal sequence containing noises received on the receiving side.
  • the decoding process requires a larger amount of calculation than that in the encoding process. Therefore, improving the efficiency of the calculation of the decoding process together with how to realize this improvement is often considered to be a problem to be solved.
  • a Viterbi decoder using a Viterbi algorithm As an ordinary decoding processing method, a Viterbi decoder using a Viterbi algorithm is well known. In this method, a transmission signal sequence is regarded as a path in a graph called a trellis diagram, and a Viterbi algorithm is used as means for efficiently selecting a path having the highest likelihood for a given reception sequence.
  • the Viterbi decoder adopts a method for inferring a transmission signal sequence by using the Viterbi algorithm.
  • Patent Literature 2 and Non-patent Literature 1 disclose a list output Viterbi decoder that selects and outputs a predetermined number of paths in descending order of their likelihoods for a reception sequence, rather than selecting only one path having the highest likelihood therefor.
  • Patent Literature 3 discloses a soft-output Viterbi decoder that, instead of outputting a path having a high likelihood, calculates and outputs a reliability (a posterior probability) for each bit of a transmission signal sequence determined by the path. It has been known that all of these methods are useful as a decoding processing method for a concatenated encoding scheme in which a plurality of error correction codes are used in combination as shown in Patent Literature 1.
  • Patent Literature 4 discloses a configuration of a Viterbi decoder in a MIMO (Multiple-Input Multiple-Output) transmission system including a plurality of transmission antennas and a plurality of reception antennas.
  • the Viterbi decoder disclosed in Patent Literature 4 calculates a transmission signal sequence from one reception signal sequence received from the plurality of reception antennas.
  • Patent Literature 1 U.S. Pat. No. 5,446,747
  • Patent Literature 2 U.S. Pat. No. 5,537,444
  • Patent Literature 3 U.S. Pat. No. 5,933,462
  • Patent Literature 4 Japanese Unexamined Patent Application Publication No. 2011-239107
  • Non-patent Literature 1 N. Seshadri and C.-E. W. Sundberg, “List Viterbi decoding algorithms with applications,” IEEE Transactions on Communications, vol. 42, no. 2/3/4, February/March/April 1994.
  • Non-patent Literature 2 E. Arikan, “Channel polarization: A method for constructing capacity-aligning codes for symmetric binary-input memoryless channels,” IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051 -3073, July 2009.
  • Non-patent Literature 3 I. Tal and A. Vardy, “List decoding of polar codes,” IEEE Transactions on Information Theory, vpl. 61, no. 5, pp. 2213 -2226, May 2015.
  • all of the ordinary Viterbi decoders and their improved versions calculate, for one given reception signal sequence, a transmission signal sequence corresponding to the reception signal sequence, a list of candidates of the transmission signal sequence, or a reliability thereof. That is, the purpose of the ordinary Viterbi decoders and their improved versions is to improve the accuracy of the result of the decoding processing by increasing the amount of information related to the transmission signal sequence corresponding to the one given reception signal sequence. As an advanced form of this technique, it has been required to, when a plurality of reception signal sequences, i.e., inputs, are given, calculate a list of transmission signal sequences having high likelihoods for at least one of the reception signal sequences.
  • An object of the present disclosure is to provide a decoding apparatus, a decoding method, and a program capable of, when a plurality of reception signal sequences, i.e., inputs, are given, calculating a list of transmission signal sequences having high likelihoods for at least one of the reception signal sequences.
  • a decoding apparatus includes: a multi-input branch metric calculation unit configured to calculate, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S; a path metric calculation unit configured to calculate a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N ? 1, each of which forms a path with the state S at the time point N; and a surviving path list memory configured to store path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics, in which the path metric calculation unit generates a path label in the state S at the time point N by combining the branch label with a path label in each
  • a decoding method includes: calculating, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S; calculating a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N ? 1, each of which forms a path with the state S at the time point N; storing path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics; generating a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N ? 1, each of which forms a path with the state S at the time point N; and outputting, as a transmission signal sequence
  • a program causes a computer to: calculate, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S; calculate a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N ? 1, each of which forms a path with the state S at the time point N; store path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics; generate a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N ? 1, each of which forms a path with the state S at the time point N; and output, as a transmission signal sequence, path labels
  • a decoding apparatus capable of, when a plurality of reception signal sequences, i.e., inputs, are given, calculating a list of transmission signal sequences having high likelihoods for at least one of the reception signal sequences.
  • FIG. 1 is a flowchart of a multi-input/list output Viterbi decoding method according to a second example embodiment
  • FIG. 2 shows an example of a trellis diagram according to the second example embodiment
  • FIG. 3 is a configuration diagram of a multi-input/list output Viterbi decoder according to the second example embodiment
  • FIG. 4 is a flowchart of a multi-input/list output Viterbi decoding method according to a third example embodiment
  • FIG. 5 is a configuration diagram of a multi-input/list output Viterbi decoder according to the third example embodiment
  • FIG. 6 is a configuration diagram of a decoder according to a fourth example embodiment
  • FIG. 7 is a graph showing an error rate characteristic obtained by performing decoding processing by using a list decoder of Polar code according to the fourth example embodiment
  • FIG. 8 shows specific operations performed by the multi-input/list output Viterbi decoder according to the second example embodiment
  • FIG. 9 shows surviving paths according to the second example embodiment
  • FIG. 10 is a configuration diagram of a decoding apparatus according to a first example embodiment.
  • FIG. 11 is a configuration diagram of a decoder according to each of the example embodiments.
  • the decoding apparatus 10 may be a computer apparatus that operates as a processor executes a program stored in a memory.
  • the decoding apparatus 10 includes a multi-input branch metric calculation unit 11 , a path metric calculation unit 12 , and a surviving path list memory 13 .
  • the multi-input branch metric calculation unit 11 , the path metric calculation unit 12 , and the surviving path list memory 13 may be software or modules by which processing is performed as the processor executes a program stored in the memory.
  • the multi-input branch metric calculation unit 11 , the path metric calculation unit 12 , and the surviving path list memory 13 may be hardware such as a circuit(s) or a computer chip(s).
  • the multi-input branch metric calculation unit 11 calculates, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S at the time point N.
  • the branch label is expressed by using, for example, a bit string.
  • the branch metric indicates a distance between a reception signal sequence and a branch label. The smaller the numerical value of the branch metric is, the higher the likelihood of the branch label for the reception signal sequence is.
  • the path metric calculation unit 12 calculates a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N ? 1, each of which forms a path with the state S at the time point N. That is, the path metric is expressed as cumulative additions of branch metrics.
  • the path metric calculation unit 12 generates a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N ? 1, each of which forms a path with the state S at the time point N.
  • the path label has a value that is obtained by combining branch labels associated with a path that passes from a time point 0 to a time point N.
  • the path label may also be expressed as a transmission signal sequence.
  • the surviving path list memory 13 stores path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics. Further, the surviving path list memory 13 outputs, as a transmission signal sequence, path labels corresponding to L path metrics selected at the end point in the trellis diagram. Further, the surviving path list memory 13 may store path labels corresponding to L path metrics in ascending order of their values among the plurality of calculated path metrics.
  • the surviving path list memory 13 stores path labels corresponding to L path metrics associated with a path extending toward at least one state present at the end point in the trellis diagram.
  • the decoding apparatus 10 shown in FIG. 10 can calculate L transmission signal sequences having high likelihoods for at least one of a plurality of reception signal sequences.
  • the L transmission signal sequences having high likelihoods are output in the form of a list of transmission signal sequences.
  • the flowchart shown in FIG. 1 includes an initialization method ( 101 ), a successive calculation method ( 102 ), and a termination method ( 103 ).
  • M is an integer no less than two; N is a positive number
  • ? t (l,i) and c 0 t ? 1 (l,i) represent a path metric and a path label related to a lth surviving path in a state I at each time point t.
  • m t ? 1 (l,i) represents an index specifying a reception signal sequence
  • a path metric ? t (l,i) is calculated from a path label c 0 t ? 1 (l,i) and a reception signal sequence r 0 t ? 1 (m t ? 1 (l,i)). The method for calculating a path metric will be described later.
  • FIG. 2 shows an example of the trellis diagram.
  • Nodes indicated by black circles represent states.
  • a bit string is assigned to that branch. Further, it is called a branch label and expressed as c t [i;j].
  • a branch metric between a reception signal r t (m) and a branch label c t [i;j] is represented as ? t (m) [i;j].
  • An example of the method for calculating a branch metric is shown below.
  • the reception signal r t (m) can be expressed by B real values y 0 , y 1 , . . . , y B ? 1 .
  • the branch metric ? t (m) [i;j] is determined by the below-shown Expression 1.
  • the path metric is cumulative additions of branch metrics.
  • the path label is a sequence of branch labels, i.e., a transmission signal sequence. Therefore, the path metric is a numerical value representing a distance between a reception signal sequence and a transmission signal sequence. Further, it can be said that the smaller the path metric is, the higher the likelihood is.
  • FIG. 3 is a block diagram showing a configuration example of a multi-input/list output Viterbi decoder according to the present disclosure.
  • the multi-input/list output Viterbi decoder shown in FIG. 3 includes a multi-input branch metric calculation unit 301 that calculates the branch metric shown by the Expression 1 from each of the M reception signal sequences. Further, the multi-input/list output Viterbi decoder includes a path metric calculation unit 302 that calculates a path metric. Further, the multi-input/list output Viterbi decoder includes a path metric memory 303 that stores path metrics of surviving paths.
  • the multi-input/list output Viterbi decoder includes an index memory 304 that stores indexes of reception signal sequences corresponding to the surviving paths.
  • the index memory 304 further generates a selection signal of a selector 306 that selects a branch metric necessary to calculate a path metric from an output of the multi-input branch metric calculation unit 301 .
  • the multi-input/list output Viterbi decoder includes a surviving path list memory 305 that stores a list of surviving paths.
  • M is assumed that M is equal to or smaller than a list size L of transmission signal sequences to be output (M ? L).
  • the multi-input ranch metric calculation unit 301 sets an initial value of a path metric at a time point 0 in FIG. 2 and an initial value of an index for specifying a reception signal sequence corresponding to the path metric.
  • the initial value is set to 0 for simplicity.
  • a maximum numerical value (expressed as ? ) is assigned to path metrics ? 0 (l,j) at the time point 0 in the states other than the above-described state.
  • the multi-input branch metric calculation unit 301 calculates surviving path labels and the like at a time point t+1 by using path labels and the like of the surviving paths at the time point t.
  • Each of the path labels or the like of the surviving paths includes a path label of the surviving path, a path metric thereof, and an index for specifying a reception signal sequence for calculating the path metric.
  • the multi-input branch metric calculation unit 301 first calculates a branch metric ? t (m) [i;j] by using a reception signal r t (m), a branch label c t [i;j] between the state i at the time point t and the state j at the time point t+1, and the Expression 1. It is assumed that the branch metric is calculated for all the cases expressed by 0 ? m ? M, 0 ? i, j ? S.
  • the Expression 2 is a path metric of a path that reaches the state j at the time point t+1 through the state i at the time point t.
  • the values of the Expression 2 are calculated over all the cases expressed by 0 ? k ? L, 0 ? i ? S, and a lth path metric (0 ? l ? L) counted from the smallest one is expressed as ? t+1 (l,j) as the path metric of a lth surviving path in the state j at the time point t+1.
  • a path label representing a lth surviving path in the state j at the time point t+1 is represented as c 0 t (l,j).
  • the path label c 0 t (l,j) is expressed, by using the aforementioned k* and i*, as a combination of a path label c 0 t ? 1 (k*,i*) of a k*th surviving path in a state i* at the time point t with a branch label c t [i*;j] between the state i* at the time point t and a state j at the time point t+1.
  • the successive calculation method ( 102 ) the above-described processes are repeated from the time point 1 to the time point N ? 1.
  • a path label of a surviving path, a path metric thereof, and an index for specifying a reception signal sequence for calculating the path metric at the end point N are calculated.
  • the operations are similar to those in the successive calculation method ( 102 ) except that only the path that reaches the state 0 is taken into consideration.
  • the multi-input branch metric calculation unit 301 calculates the aforementioned branch metrics ? t (m) [i;j] in the successive calculation method ( 102 ) and the termination method ( 103 ) shown in FIG. 1 .
  • the branch metric calculated by the multi-input branch metric calculation unit 301 is output to the path metric calculation unit 302 through the selector 306 .
  • the path metric calculation unit 302 calculates a path metric by using the Expression 2. Note that the path metric ? t (k,i) in the Expression 2 is held in the path metric memory 303 .
  • the index m t (k,i) is held in the index memory 304 .
  • the path metric calculation unit 302 adds a branch metric specified by m t (k,i) received through the selector 306 to ? t (k,i).
  • a newly selected path metric ? t+1 (l,j) is stored in the path metric memory 303 .
  • the index m t+1 (l,j) is held in the index memory 304 .
  • the path label c 0 t ? 1 (l,j) is stored in the surviving path list memory 305 .
  • FIG. 8 shows a trellis diagram which is used to explain specific operations.
  • a 4-bit branch label is assigned to each branch in the trellis diagram shown in FIG. 8 .
  • Path metric and initial values of indexes for specifying reception signal sequences are set as described above in the initial setting method ( 101 ) shown in FIG. 1 .
  • the calculation process is shown hereinafter for each time point and each state.
  • FIG. 8 shows that there are four patterns (0000, 1111, 0011, 1100) of branch labels in total between a time point 0 and a time point 1.
  • the total of 16 branch metrics can be calculated according to the Expression 1 as follows.
  • FIG. 9 shows four surviving paths at the end point in the trellis diagram shown in FIG. 8 .
  • the solid line corresponds to a 16-bit sequence of c 0 3 (0,0), and the broken line corresponds to that of c 0 3 (1,0). Further, the dashed line corresponds to that of c 0 3 (2,0), and the double-dashed line corresponds to that of c 0 3 (3,0).
  • the multi-input/list output Viterbi decoder shown in FIG. 3 can calculate a plurality of transmission signal sequences having high likelihoods for at least one of a plurality of reception signal sequences.
  • FIG. 4 is a flowchart of the multi-input/list output Viterbi decoding method according to the third example embodiment.
  • the flowchart shown in FIG. 4 includes a list output Viterbi decoding method ( 401 ) and a selection method ( 402 ).
  • a list output Viterbi decoding method ( 401 ) a list of L transmission signal sequences having high likelihoods is output for one given reception signal sequence.
  • L transmission signal sequences are selected from M ? L transmission signal sequences in descending order of the likelihood.
  • FIG. 5 is a block diagram showing an example of a configuration of the multi-input/list output Viterbi decoder according to the third example embodiment.
  • the multi-input/list output Viterbi decoder includes a plurality of list output Viterbi decoders 501 and a selection apparatus 502 .
  • the multi-input/list output Viterbi decoder shown in FIG. 5 includes M list output Viterbi decoders 501 that output a list of L transmission signal sequences having high likelihoods for one given reception signal sequence. Further, the multi-input/list output Viterbi decoder shown in FIG. 5 includes the selection apparatus 502 that selects, from a total of M ? L transmission signal sequences output by these list output Viterbi decoders 501 , L transmission signal sequences in descending order of the likelihood.
  • the multi-input/list output Viterbi decoder performs the list output Viterbi decoding method ( 401 ) M times by using the M list output Viterbi decoders 501 . As a result, a total of M ? L transmission signal sequences are obtained.
  • the output of the multi-input/list output Viterbi decoder shown in FIG. 5 it is possible to calculate L transmission signal sequences from transmission signal sequences having the highest likelihoods for at least one of the M given reception signal sequences. Further, the output of the multi-input/list output Viterbi decoder described above with reference to FIGS. 4 and 5 is similar to the output result of the multi-input/list output Viterbi decoder described above with reference to FIG. 8 .
  • the multi-input/list output Viterbi decoder shown in FIG. 5 requires an amount of calculation and a scale of an apparatus equivalent to those of M times of a single list Viterbi decoder scheme.
  • the multi-input/list output Viterbi decoder shown in FIG. 3 described in the second example embodiment may have an amount of calculation and a scale of an apparatus equivalent to those of a single list Viterbi decoder scheme.
  • the multi-input/list output Viterbi decoder shown in FIG. 3 may not always provide a list of L transmission signal sequences in descending order of the likelihood from the one having the highest likelihood for at least one of the M given reception signal sequences.
  • the output of the multi-input/list output Viterbi decoder described in the third example embodiment is a list of L transmission signal sequences arranged in descending order of the likelihood from the one having the highest likelihood.
  • a list decoding calculation unit 601 includes L SC (Successive Cancelation) units each of which performs decoding processing of a Polar code having a length N 1 .
  • the decoder shown in FIG. 6 includes N 2 list decoding calculation units 601 .
  • a multi-input/list output Viterbi decoder 602 outputs a list of L transmission signal sequences having high likelihoods for at least one of M given reception signal sequences (M is a positive number no greater than L) having a length N 2 .
  • the multi-input/list output Viterbi decoder 602 is the multi-input/list output Viterbi decoder shown in FIG. 3 or FIG. 5 .
  • a selection apparatus 603 selects one transmission signal sequence from a list output from the multi-input/list output Viterbi decoder 602 .
  • the list decoder receives a reception signal sequence r 0 N ? 1 for a Polar-encoded transmission signal sequence having a length N.
  • This reception signal sequence r 0 N ? 1 having the length N is divided into N 2 reception signal sequences each having a length N 1 and hence becomes sequences r 0 N1 ? 1 , r N1 2N1 ? 1 , . . . , r N ? N1 N ? 1 .
  • Each of the divided reception signal sequences is input to a respective one of the list decoding calculation units 601 each of which has L SC (Successive Cancellation) units each of which performs SC decoding processing for the Polar code having the length N 1 .
  • SC Successessive Cancellation
  • the number of list decoding calculation units 601 is N 2 in total. Numbers 0 to N 2 ? 1 are assigned to the N 2 list decoding operation units 601 .
  • a kth list decoding calculation unit 601 processes a reception signal sequence r kN1 (k+1)N1 ? 1 having a length N 1 according to an SC algorithm. Further, the kth list decoding calculation unit 601 successively outputs candidates for likelihood information about each bit, starting from the head bit, of the transmission bit string having the length N 1 , i.e., outputs r k (0), r k (1), . . . , r k (L ? 1) for L patterns.
  • the list decoding calculation unit 601 has performed calculation and obtained candidates, for an ith bit (i is an integer no greater than N 1 ? 1), for likelihood information for L patterns.
  • i is an integer no greater than N 1 ? 1
  • L sequences r 0 N2 ? 1 (m) are obtained.
  • m 0, 1, . . . , L ? 1 each having a length N 2 are obtained.
  • the multi-input/list output Viterbi decoder 602 regards them as L reception signal sequences, and thereby receives the L reception signal sequences.
  • the information multi-input/list output Viterbi decoder 602 feeds back c k (0), c k (1), . . . , c k (L ? 1) to the list decoding calculation units 601 as hard decision information corresponding to likelihood information r k (0), r k (1), . . . , r k (L ? 1) for L patterns.
  • the list decoding calculation units 601 calculate candidates for likelihood information about the next (i+1)th bit for L patterns in a similar manner.
  • a CRC Cyclic Redundancy Check
  • the multi-input/list output Viterbi decoder the difference between the configuration shown in FIG. 3 and that shown in FIG. 5 is shown, and it can be understood that there is substantially no difference between them, though the configuration shown in FIG. 5 is slightly superior to that in FIG. 3 .
  • FIG. 11 is a block diagram showing an example of a configuration of a decoder.
  • the decoder includes a network interface 110 , a processor 111 , and a memory 112 .
  • the network interface 110 is used to communicate with other network node apparatuses included in the communication system.
  • the network interface 110 may include, for example, a network interface card (NIC) in conformity with IEEE 802.3 series.
  • NIC network interface card
  • the processor 111 loads software (a computer program) from the memory 112 and executes the loaded software, and thereby performs the processing of the decoder described in the above-described example embodiments with reference to the flowchart.
  • the processor 111 may be, for example, a microprocessor, an MPU (Micro Processing Unit), or a CPU (Central Processing Unit).
  • the processor 111 may include a plurality of processors.
  • the memory 112 is formed by, for example, a combination of a volatile memory and a nonvolatile memory.
  • the memory 112 may include a storage remotely disposed from the processor 111 .
  • the processor 111 may access the memory 112 through an I/O interface (not shown).
  • the memory 112 is used to store a group of software modules.
  • the processor 111 loads the group of software modules from the memory 112 and executes the loaded software modules, and thereby performs the processing of the decoder described in the above-described example embodiments.
  • each of processors included in the decoder executes one or a plurality of programs including a group of instructions for causing a computer to perform the algorithms described above with reference to the drawings.
  • Non-transitory computer readable media include any type of tangible storage media.
  • Examples of non-transitory computer readable media include magnetic storage media, optical magnetic storage media, CD-ROM (compact disc read only memory), CD-R, CD-R/W, and semiconductor memories.
  • Examples of the magnetic storage media include flexible disks, magnetic tapes, and hard disk drives.
  • Examples of the optical magnetic storage media include magneto-optical disks.
  • Examples of the semiconductor memories include mask ROM, PROM (programmable ROM), EPROM (Erasable PROM), flash ROM, and RAM (random access memory).
  • the program may be given to a computer using any type of transitory computer readable media.
  • Examples of transitory computer readable media include electric signals, optical signals, and electromagnetic waves.
  • Transitory computer readable media can provide the program to a computer via a wired communication line (e.g. electric wires, and optical fibers) or a wireless communication line.
  • a decoding apparatus comprising:
  • a multi-input branch metric calculation unit configured to calculate, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S;
  • a path metric calculation unit configured to calculate a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N ? 1, each of which forms a path with the state S at the time point N;
  • a surviving path list memory configured to store path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics, wherein
  • the path metric calculation unit generates a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N ? 1, each of which forms a path with the state S at the time point N, and
  • the surviving path list memory outputs, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram.
  • the decoding apparatus described in Supplementary note 2 further comprising a path metric memory configured to store the calculated path metric, wherein
  • the path metric calculation unit adds the branch metric calculated by using the reception signal sequence indicated by the index to a path metric in each of states at the time point N ? 1 stored in the path metric memory.
  • the number of states is one
  • the path metric calculation unit calculates a path metric corresponding to a path extending toward one state at the end point in the trellis diagram, and generates a path label.
  • the multi-input branch metric calculation unit calculates the branch metric by using L reception signal sequences each having a length of N 2 bits and the branch label, the L reception signal sequences being ones output from N 2 calculation units (N 2 is an integer no less than one).
  • a decoding apparatus comprising:
  • a list output Viterbi decoder configured to select L transmission signal sequences (L is an integer no less than one) in descending order of their likelihoods among a plurality of transmission signal sequences calculated from one reception signal sequence by using a Viterbi algorithm;
  • a selection unit configured to output L transmission signal sequences selected in descending order of their likelihoods among M ? L transmission signal sequences output from M list output Viterbi decoders (M is an integer no less than one).
  • each of the SC units being configured to perform decoding processing of a Polar code having a length of N 1 bits (N 1 is an integer no less than one), each of the SC units having a list size of 1, wherein
  • the list output Viterbi decoder calculates a plurality of transmission signal sequences from reception signal sequences having a length of N 2 bits (N 2 is an integer no less than one) output from N 2 calculation units.
  • a decoding method comprising:
  • calculating a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N ? 1, each of which forms a path with the state S at the time point N;
  • path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics
  • a decoding method comprising:
  • L is an integer no less than one
  • path metrics L is an integer no less than one
  • L is an integer no less than one

Landscapes

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

Abstract

A decoding apparatus includes a multi-input branch metric calculation unit configured to calculate, by using a branch label corresponding to a path extending toward a state S at a time point N in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S, a path metric calculation unit configured to calculate a path metric in the state S at the time point N, and a surviving path list memory configured to store path labels corresponding to L path metrics among a plurality of calculated path metrics. The path metric calculation unit generates a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1 and the surviving path list memory outputs path labels corresponding to L path metrics.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
This application is a National Stage of International Application No. PCT/JP2018/021970 filed Jun. 8, 2018.
TECHNICAL FIELD
The present disclosure relates to a decoding apparatus, a decoding method, and a program.
BACKGROUND ART
In the operations of digital data communication systems and storage systems, countermeasures against bit errors, which may be caused by various factors, are taken. Among typical examples of such countermeasures, an error correction encoding technique is known, in which redundant data is added, so that bit errors can be corrected.
The error correction encoding technique is composed of an encoding process (encoding) for generating a transmission signal sequence while adding redundant data to information data on the transmitting side, and a decoding process (decoding) for inferring a transmission signal sequence from a reception signal sequence containing noises received on the receiving side. In general, the decoding process requires a larger amount of calculation than that in the encoding process. Therefore, improving the efficiency of the calculation of the decoding process together with how to realize this improvement is often considered to be a problem to be solved.
As an ordinary decoding processing method, a Viterbi decoder using a Viterbi algorithm is well known. In this method, a transmission signal sequence is regarded as a path in a graph called a trellis diagram, and a Viterbi algorithm is used as means for efficiently selecting a path having the highest likelihood for a given reception sequence. The Viterbi decoder adopts a method for inferring a transmission signal sequence by using the Viterbi algorithm.
Several methods for improving such a Viterbi decoder in order to improve the error correction performance thereof have been known. Each of Patent Literature 2 and Non-patent Literature 1 discloses a list output Viterbi decoder that selects and outputs a predetermined number of paths in descending order of their likelihoods for a reception sequence, rather than selecting only one path having the highest likelihood therefor. Further, Patent Literature 3 discloses a soft-output Viterbi decoder that, instead of outputting a path having a high likelihood, calculates and outputs a reliability (a posterior probability) for each bit of a transmission signal sequence determined by the path. It has been known that all of these methods are useful as a decoding processing method for a concatenated encoding scheme in which a plurality of error correction codes are used in combination as shown in Patent Literature 1.
Further, Patent Literature 4 discloses a configuration of a Viterbi decoder in a MIMO (Multiple-Input Multiple-Output) transmission system including a plurality of transmission antennas and a plurality of reception antennas. The Viterbi decoder disclosed in Patent Literature 4 calculates a transmission signal sequence from one reception signal sequence received from the plurality of reception antennas.
CITATION LIST Patent Literature
Patent Literature 1: U.S. Pat. No. 5,446,747
Patent Literature 2: U.S. Pat. No. 5,537,444
Patent Literature 3: U.S. Pat. No. 5,933,462
Patent Literature 4: Japanese Unexamined Patent Application Publication No. 2011-239107
Non Patent Literature
Non-patent Literature 1: N. Seshadri and C.-E. W. Sundberg, “List Viterbi decoding algorithms with applications,” IEEE Transactions on Communications, vol. 42, no. 2/3/4, February/March/April 1994.
Non-patent Literature 2: E. Arikan, “Channel polarization: A method for constructing capacity-aligning codes for symmetric binary-input memoryless channels,” IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051 -3073, July 2009.
Non-patent Literature 3: I. Tal and A. Vardy, “List decoding of polar codes,” IEEE Transactions on Information Theory, vpl. 61, no. 5, pp. 2213 -2226, May 2015.
SUMMARY OF INVENTION Technical Problem
As described above, all of the ordinary Viterbi decoders and their improved versions calculate, for one given reception signal sequence, a transmission signal sequence corresponding to the reception signal sequence, a list of candidates of the transmission signal sequence, or a reliability thereof. That is, the purpose of the ordinary Viterbi decoders and their improved versions is to improve the accuracy of the result of the decoding processing by increasing the amount of information related to the transmission signal sequence corresponding to the one given reception signal sequence. As an advanced form of this technique, it has been required to, when a plurality of reception signal sequences, i.e., inputs, are given, calculate a list of transmission signal sequences having high likelihoods for at least one of the reception signal sequences.
An object of the present disclosure is to provide a decoding apparatus, a decoding method, and a program capable of, when a plurality of reception signal sequences, i.e., inputs, are given, calculating a list of transmission signal sequences having high likelihoods for at least one of the reception signal sequences.
Solution to Problem
A decoding apparatus according to a first aspect of the present disclosure includes: a multi-input branch metric calculation unit configured to calculate, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S; a path metric calculation unit configured to calculate a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N; and a surviving path list memory configured to store path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics, in which the path metric calculation unit generates a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N, and the surviving path list memory outputs, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram.
A decoding method according to a second aspect of the present disclosure includes: calculating, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S; calculating a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N; storing path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics; generating a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N; and outputting, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram.
A program according to a third aspect of the present disclosure causes a computer to: calculate, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S; calculate a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N; store path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics; generate a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N; and output, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram.
Advantageous Effects of Invention
According to the present disclosure, it is possible to provide a decoding apparatus, a decoding method, and a program capable of, when a plurality of reception signal sequences, i.e., inputs, are given, calculating a list of transmission signal sequences having high likelihoods for at least one of the reception signal sequences.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a flowchart of a multi-input/list output Viterbi decoding method according to a second example embodiment;
FIG. 2 shows an example of a trellis diagram according to the second example embodiment;
FIG. 3 is a configuration diagram of a multi-input/list output Viterbi decoder according to the second example embodiment;
FIG. 4 is a flowchart of a multi-input/list output Viterbi decoding method according to a third example embodiment;
FIG. 5 is a configuration diagram of a multi-input/list output Viterbi decoder according to the third example embodiment;
FIG. 6 is a configuration diagram of a decoder according to a fourth example embodiment;
FIG. 7 is a graph showing an error rate characteristic obtained by performing decoding processing by using a list decoder of Polar code according to the fourth example embodiment;
FIG. 8 shows specific operations performed by the multi-input/list output Viterbi decoder according to the second example embodiment;
FIG. 9 shows surviving paths according to the second example embodiment;
FIG. 10 is a configuration diagram of a decoding apparatus according to a first example embodiment; and
FIG. 11 is a configuration diagram of a decoder according to each of the example embodiments.
DESCRIPTION OF EMBODIMENTS First Example Embodiment
Example embodiments according to the present disclosure will be described hereinafter with reference to the drawings. Firstly, a configuration diagram of a decoding apparatus 10 according to a first example embodiment will be described with reference to FIG. 10. The decoding apparatus 10 may be a computer apparatus that operates as a processor executes a program stored in a memory. The decoding apparatus 10 includes a multi-input branch metric calculation unit 11, a path metric calculation unit 12, and a surviving path list memory 13. The multi-input branch metric calculation unit 11, the path metric calculation unit 12, and the surviving path list memory 13 may be software or modules by which processing is performed as the processor executes a program stored in the memory. Alternatively, the multi-input branch metric calculation unit 11, the path metric calculation unit 12, and the surviving path list memory 13 may be hardware such as a circuit(s) or a computer chip(s).
The multi-input branch metric calculation unit 11 calculates, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S at the time point N. The branch label is expressed by using, for example, a bit string. The branch metric indicates a distance between a reception signal sequence and a branch label. The smaller the numerical value of the branch metric is, the higher the likelihood of the branch label for the reception signal sequence is.
The path metric calculation unit 12 calculates a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N. That is, the path metric is expressed as cumulative additions of branch metrics.
Further, the path metric calculation unit 12 generates a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N. The path label has a value that is obtained by combining branch labels associated with a path that passes from a time point 0 to a time point N. The path label may also be expressed as a transmission signal sequence.
The surviving path list memory 13 stores path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics. Further, the surviving path list memory 13 outputs, as a transmission signal sequence, path labels corresponding to L path metrics selected at the end point in the trellis diagram. Further, the surviving path list memory 13 may store path labels corresponding to L path metrics in ascending order of their values among the plurality of calculated path metrics.
There is at least one state at the end point in the trellis diagram. The surviving path list memory 13 stores path labels corresponding to L path metrics associated with a path extending toward at least one state present at the end point in the trellis diagram.
As described above, the decoding apparatus 10 shown in FIG. 10 can calculate L transmission signal sequences having high likelihoods for at least one of a plurality of reception signal sequences. The L transmission signal sequences having high likelihoods are output in the form of a list of transmission signal sequences.
Second Example Embodiment
Next, a flowchart of a multi-input/list output Viterbi decoding method performed by the decoding apparatus according to the second example embodiment will be described with reference to FIG. 1.
The flowchart shown in FIG. 1 includes an initialization method (101), a successive calculation method (102), and a termination method (103). When the decoding apparatus performs the flowchart shown in FIG. 1, M reception signal sequences (M is an integer no less than two; N is a positive number) each of which has a length N are given as inputs. The M reception signal sequences having the length N are represented as r0 N?1(m)=(r0(m),r1(m), . . . ,rN?1(m)), m=0, 1, . . . , M?1. Further, the L transmission signal sequences output in FIG. 1 are represented as c0 N?1(l,0), l=0, 1, . . . , L?1. They are expressed as a list of L transmission signal sequences having high likelihoods for at least one of r0 N?1(m), m=0, 1, . . . , M?1. In the flowchart shown in FIG. 1, φt(l,i) and c0 t?1(l,i) represent a path metric and a path label related to a lth surviving path in a state I at each time point t. Further, mt?1(l,i) represents an index specifying a reception signal sequence, and it means that a path metric φt(l,i) is calculated from a path label c0 t?1(l,i) and a reception signal sequence r0 t?1(mt?1(l,i)). The method for calculating a path metric will be described later.
FIG. 2 shows an example of the trellis diagram. Nodes indicated by black circles represent states. There are N+1 time points from a point 0, i.e., the start point to a point N, i.e., the end point (in the horizontal direction in FIG. 2), and these states are classified according to the time point. In FIG. 2, there are S states at each time point. In the trellis diagram, when there is a branch between a state i at a time point t and a state j at a time point t+1, a bit string is assigned to that branch. Further, it is called a branch label and expressed as ct[i;j].
A branch metric between a reception signal rt(m) and a branch label ct[i;j] is represented as λt (m)[i;j]. An example of the method for calculating a branch metric is shown below. When the branch label ct[i;j] is composed of a B-bit data b0, b1, . . . , bB?1, the reception signal rt(m) can be expressed by B real values y0, y1, . . . , yB?1. Note that the branch metric λt (m)[i;j] is determined by the below-shown Expression 1.
[ Expression ? ? 1 ] λ t ( m ) ? [ i ; j ] = k = 0 B - 1 ? ? y k ? ? δ ? ( b k , y k ) ( Expression ? ? 1 )
In the Expression 1, δ(bk, yk) is a function that becomes zero when bk=1 and yk<0, or when bk=0 and yk≥0, and becomes one in all the other cases. This branch metric represents a distance between the reception signal and the transmission bit string. Further, it can be said that the smaller the branch metric value is, the higher the likelihood of the branch label for the reception signal is. Note that it is assumed that when there is no branch between the state i at the time point t and the state j at the time point t+1, λt (m)[i;j] is infinity (λt (m)[i;j]=∞. In FIG. 1, the right side of the Expression 1 is d(rt(m), ct[i;j]).
The path metric is cumulative additions of branch metrics. The path label is a sequence of branch labels, i.e., a transmission signal sequence. Therefore, the path metric is a numerical value representing a distance between a reception signal sequence and a transmission signal sequence. Further, it can be said that the smaller the path metric is, the higher the likelihood is.
FIG. 3 is a block diagram showing a configuration example of a multi-input/list output Viterbi decoder according to the present disclosure. The multi-input/list output Viterbi decoder shown in FIG. 3 includes a multi-input branch metric calculation unit 301 that calculates the branch metric shown by the Expression 1 from each of the M reception signal sequences. Further, the multi-input/list output Viterbi decoder includes a path metric calculation unit 302 that calculates a path metric. Further, the multi-input/list output Viterbi decoder includes a path metric memory 303 that stores path metrics of surviving paths. Further, the multi-input/list output Viterbi decoder includes an index memory 304 that stores indexes of reception signal sequences corresponding to the surviving paths. The index memory 304 further generates a selection signal of a selector 306 that selects a branch metric necessary to calculate a path metric from an output of the multi-input branch metric calculation unit 301. Further, the multi-input/list output Viterbi decoder includes a surviving path list memory 305 that stores a list of surviving paths.
Description of Operation
Next, operations shown in FIG. 1 according to the second example embodiment will be described with reference to the trellis diagram shown in FIG. 2. M reception signal sequences each having a length N, which are expressed as r0 N?1(m), m=0, 1, . . . , M?1, are given as inputs to the multi-input/list output Viterbi decoder. For simplicity, it is assumed that M is equal to or smaller than a list size L of transmission signal sequences to be output (M≤L).
In the initialization method (101) shown in FIG. 1, the multi-input ranch metric calculation unit 301 sets an initial value of a path metric at a time point 0 in FIG. 2 and an initial value of an index for specifying a reception signal sequence corresponding to the path metric. As described above, φ0(l, 0) represents a lth path metric at the time point 0 in the state 0, and is specified to a predefined initial value μl for l=0, 1, . . . , M?1. In the following description, the initial value is set to 0 for simplicity. Further, a maximum numerical value (expressed as ∞) is assigned to path metrics φ0(l,j) at the time point 0 in the states other than the above-described state. Further, the index of the reception signal sequence for the path metric, to which the maximum numerical value is assigned, is specified as m0(l,j)=l, 0≤l<L, 0≤j<S. Note that the index m0(l,j) may have an arbitrary value except in the case where j is zero (J=0).
In the successive calculation method (102), the multi-input branch metric calculation unit 301 calculates surviving path labels and the like at a time point t+1 by using path labels and the like of the surviving paths at the time point t. Each of the path labels or the like of the surviving paths includes a path label of the surviving path, a path metric thereof, and an index for specifying a reception signal sequence for calculating the path metric.
The multi-input branch metric calculation unit 301 first calculates a branch metric λt (m)[i;j] by using a reception signal rt(m), a branch label ct[i;j] between the state i at the time point t and the state j at the time point t+1, and the Expression 1. It is assumed that the branch metric is calculated for all the cases expressed by 0≤m<M, 0≤i, j<S.
Next, a method for calculating a path metric related to a surviving path for each state j at the time point t+1 by using a branch metric will be described. By using the path metrics of the surviving paths and the aforementioned branch metrics in the state i at the time point t, calculation expressed by the below-shown Expression 2 is performed for all the cases expressed by 0≤k<L, 0≤i<S.
[Expression 2]
?t(k,i)+λt (m t (k,i))[i;j]??(Expression 2)
Note that mt(k,i) is an index for specifying a reception signal sequence related to calculation of a path metric φt(k,i). Therefore, the Expression 2 is a path metric of a path that reaches the state j at the time point t+1 through the state i at the time point t. The values of the Expression 2 are calculated over all the cases expressed by 0≤k<L, 0≤i<S, and a lth path metric (0<l<L) counted from the smallest one is expressed as φt+1(l,j) as the path metric of a lth surviving path in the state j at the time point t+1. In the Expression 2, when a pair of k and i that give φt+1(l,j) are expressed as k* and i*, respectively, the index mt+1(l,j) of the reception signal sequence related to the calculation of the path metric φt+1(l,j) is expressed as mt(k*,i*). Note that in FIG. 1, min(l) means a lth smallest value, and argmin(l) means a value (a pair of k and i) in a domain in which it takes the lth smallest value.
A path label representing a lth surviving path in the state j at the time point t+1 is represented as c0 t(l,j). The path label c0 t(l,j) is expressed, by using the aforementioned k* and i*, as a combination of a path label c0 t?1(k*,i*) of a k*th surviving path in a state i* at the time point t with a branch label ct[i*;j] between the state i* at the time point t and a state j at the time point t+1. In the successive calculation method (102), the above-described processes are repeated from the time point 1 to the time point N?1.
In the terminating method (103), a path label of a surviving path, a path metric thereof, and an index for specifying a reception signal sequence for calculating the path metric at the end point N are calculated. There is no branch at the end point other than the state 0. Therefore, the operations are similar to those in the successive calculation method (102) except that only the path that reaches the state 0 is taken into consideration. Through the method described above, for the M reception signal sequences each having a length N, i.e., the sequences expressed as r0 N?1(m), m=0, 1, . . . , M?1, L transmission signal sequences c0 N?1(l,0), l=0, 1, . . . , L?1 having large likelihoods for at least one of them are calculated.
Operations performed by the multi-input/list output Viterbi decoder shown in FIG. 3 are similar to those described above with reference to the flowchart shown in FIG. 1. The multi-input branch metric calculation unit 301 calculates the aforementioned branch metrics λt (m)[i;j] in the successive calculation method (102) and the termination method (103) shown in FIG. 1. The branch metric calculated by the multi-input branch metric calculation unit 301 is output to the path metric calculation unit 302 through the selector 306. The path metric calculation unit 302 calculates a path metric by using the Expression 2. Note that the path metric φt(k,i) in the Expression 2 is held in the path metric memory 303. The index mt(k,i) is held in the index memory 304. The path metric calculation unit 302 adds a branch metric specified by mt(k,i) received through the selector 306 to φt(k,i). Similarly to the operations described above with reference to FIG. 1, a newly selected path metric φt+1(l,j) is stored in the path metric memory 303. The index mt+1(l,j) is held in the index memory 304. The path label c0 t?1(l,j) is stored in the surviving path list memory 305.
Specific Example of Operation
Next, a specific example of operations performed by the multi-input/list output Viterbi decoder shown in FIG. 3 will be described with reference to FIG. 8. FIG. 8 shows a trellis diagram which is used to explain specific operations. In the trellis diagram shown in FIG. 8, the number of time points N+1 is five (N+1=5) and the number of states is four (S=4). A 4-bit branch label is assigned to each branch in the trellis diagram shown in FIG. 8. A case where the number M of input reception signal sequences is four (M=4) and these reception signal sequences r0 3(m), m=0, 1, 2, 3 are given as shown below is explained.
  • r0(0)=(?4.26,?0.35,+0.47,+2.16), r1(0)=(?1.73,?0.17,+1.84,+0.94)
  • r2(0)=(+0.42,+2.69,?4.89,?1.26), r3(0)=(+1.85,+2.03,+0.04,?2.59)
  • r0(1)=(?4.26,?0.35,+0.47,+2.16), r1(1)=(?0.10,+2.01,?0.75,+0.27)
  • r2(1)=(+0.42,+2.69,?4.89,?1.26), r3(1)=(+0.06,?2.76,?1.12,+2.05)
  • r0(2)=(?0.58,+0.06,?1.80,?0.48), r1(2)=(?0.10,+2.01,?0.75,+0.27)
  • r2(2)=(+0.42,+2.69,?4.89,?1.26), r3(2)=(+1.85,+2.03,+0.04,?2.59)
  • r0(3)=(?0.58,+0.06,?1.80,?0.48), r1(3)=(?1.73,?0.17,+1.84,+0.94)
  • r2(3)=(+0.42,+2.69,?4.89,?1.26), r3(3)=(+0.06,?2.76,?1.12,+2.05)
Path metric and initial values of indexes for specifying reception signal sequences are set as described above in the initial setting method (101) shown in FIG. 1. Note that initial values of the path metrics are set as follows: μ0=6.13, μ1=8.90, μ2=11.01, and μ3=11.62, respectively. The calculation process is shown hereinafter for each time point and each state.
FIG. 8 shows that there are four patterns (0000, 1111, 0011, 1100) of branch labels in total between a time point 0 and a time point 1. The total of 16 branch metrics can be calculated according to the Expression 1 as follows.
  • λ0 (0)[0,0]=4.61, λ0 (0)[0,1]=2.63, λ0 (0)[0,2]=7.24, λ0 (0)[0,3]=0.00
  • λ0 (1)[0,0]=4.61, λ0 (1)[0,1]=2.63, λ0 (1)[0,2]=7.24, λ0 (1)[0,3]=0.00
  • λ0 (2)[0,0]=2.86, λ0 (2)[0,1]=0.06, λ0 (2)[0,2]=0.58, λ0 (2)[0,3]=2.34
  • λ0 (3)[0,0]=2.86, λ0 (3)[0,1]=0.06, λ0 (3)[0,2]=0.58, λ0 (3)[0,3]=2.34
Path metrics of surviving paths in states 0,1, 2 and 3 at the time point t=1, the indexes specifying the reception signal sequences related to the calculation of the path metrics, and the surviving path labels are calculated according to the successive calculation method (102) shown in FIG. 1 as follows.
  • φ1(0,0)=10.74, m1(0,0)=0, c0(0,0)=0000
  • φ1(1,0)=13.51, m1(1,0)=1, c0(1,0)=0000
  • φ1(2,0)=13.87, m1(2,0)=2, c0(2,0)=0000
  • φ1(3,0)=14.48, m1(3,0)=3, c0(3,0)=0000
  • φ1(0,1)=8.76, m1(0,1)=0, c0(0,1)=1111
  • φ1(1,1)=11.07, m1(1,1)=2, c0(1,1)=1111
  • φ1(2,1)=11.53, m1(2,1)=1, c0(2,1)=1111
  • φ1(3,1)=11.68, m1(3,1)=3, c0(3,1)=1111
  • φ1(0,2)=11.59, m1(0,2)=2, c0(0,2)=0011
  • φ1(1,2)=12.20, m1(1,2)=3, c0(1,2)=0011
  • φ1(2,2)=13.37, m1(2,2)=0, c0(2,2)=0011
  • φ1(3,2)=16.14, m1(3,2)=1, c0(3,2)=0011
  • φ1(0,3)=6.13, m1(0,3)=0, c0(0,3)=1100
  • φ1(1,3)=8.90, m1(1,3)=1, c0(1,3)=1100
  • φ1(2,3)=13.35, m1(2,3)=2, c0(2,3)=1100
  • φ1(3,3)=13.96, m1(3,3)=3, c0(3,3)=1100
Similarly, there are four patterns (0000, 1111, 0011, 1100) of branch labels between the time point 1 and a time point 2, and a total of 16 branch metrics can be calculated according to the Expression 1. Using this calculation, each data for the time point t=2 is calculated as follows.
  • φ2(0,0)=11.55, m2(0,0)=0, c0 1(0,0)=1111 1111
  • φ2(1,0)=12.64, m2(1,0)=0, c0 1(1,0)=0000 0000
  • φ2(2,0)=13.35, m2(2,0)=2, c0 1(2,0)=1111 1111
  • φ2(3,0)=13.85, m2(3,0)=1, c0 1(3,0)=1111 1111
  • φ2(0,1)=10.66, m2(0,1)=0, c0 1(0,1)=1111 0000
  • φ2(1,1)=11.92, m2(1,1)=2, c0 1(1,1)=1111 0000
  • φ2(2,1)=12.38, m2(2,1)=1, c0 1(2,1)=1111 0000
  • φ2(3,1)=13.52, m2(3,1)=0, c0 1(3,1)=0000 1111
  • φ2(0,2)=6.13, m2(0,2)=0, c0 1(0,2)=1100 1100
  • φ2(1,2)=11.66, m2(1,2)=1, c0 1(1,2)=1100 1100
  • φ2(2,2)=11.96, m2(2,2)=2, c0 1(2,2)=0011 0011
  • φ2(3,2)=13.97, m2(3,2)=3, c0 1(3,2)=1100 1100
  • φ2(0,3)=9.27, m2(0,3)=1, c0 1(0,3)=1100 0011
  • φ2(1,3)=10.81, m2(1,3)=0, c0 1(1,3)=1100 0011
  • φ2(2,3)=12.20, m2(2,3)=0, c0 1(2,3)=0011 1100
  • φ2(3,3)=13.37, m2(3,3)=0, c0 1(3,3)=0011 1100
The branch label between the time point 2 and a time point 3 can also be calculated in a similar manner. By using this calculation, each data for the time point t=3 is calculated as follows.
  • φ3(0,0)=13.77, m3(0,0)=0, c0 2(0,0)=1111 0000 1111
  • φ3(1,0)=15.03, m3(1,0)=2, c0 2(1,0)=1111 0000 1111
  • φ3(2,0)=15.49, m3(2,0)=1, c0 2(2,0)=1111 0000 1111
  • φ3(3,0)=16.63, m3(3,0)=0, c0 2(3,0)=0000 1111 1111
  • φ3(0,1)=14.66, m3(0,1)=0, c0 2(0,1)=1111 1111 1111
  • φ3(1,1)=15.75, m3(1,1)=0, c0 2(1,1)=0000 0000 1111
  • φ3(2,1)=16.46, m3(2,1)=2, c0 2(2,1)=1111 1111 1111
  • φ3(3,0)=16.81, m3(3,1)=1, c0 2(3,1)=1111 0000 0000
  • φ3(0,2)=6.13, m3(0,2)=2, c0 2(0,2)=1100 1100 0011
  • φ3(1,2)=11.66, m3(1,2)=1, c0 2(1,2)=1100 1100 0011
  • φ3(2,2)=11.96, m3(2,2)=2, c0 2(2,2)=0011 0011 0011
  • φ3(3,2)=13.97, m3(3,2)=3, c0 2(3,2)=1100 1100 0011
  • φ3(0,3)=9.27, m3(0,3)=1, c0 2(0,3)=1100 0011 0011
  • φ3(1,3)=10.81, m3(1,3)=0, c0 2(1,3)=1100 0011 0011
  • φ3(2,3)=12.20, m3(2,3)=3, c0 2(2,3)=0011 1100 0011
  • φ3(3,3)=13.37, m3(3,3)=0, c0 2(3,3)=0011 1100 0011
The same applies to calculation of branch labels between the time point 3 and a time point 4. By using this calculation, path metrics of surviving paths in the only state 0 at the end point t=4, indexes specifying reception signal sequences related to the calculation of the path metrics, and surviving path labels are calculated according to the terminating method (103) shown in FIG. 1, and they are calculated as follows.
  • φ4(0,0)=6.17, m4(0,0)=0, c0 3(0,0)=1100 1100 0011 0011
  • φ4(1,0)=10.45, m4(1,0)=1, c0 3(1,0)=1100 0011 0011 1100
  • φ4(2,0)=12.00, m4(2,0)=2, c0 3(2,0)=0011 0011 0011 0011
  • φ4(3,0)=13.38, m4(3,0)=3, c0 3(3,0)=0011 1100 0011 1100
FIG. 9 shows four surviving paths at the end point in the trellis diagram shown in FIG. 8. The solid line corresponds to a 16-bit sequence of c0 3(0,0), and the broken line corresponds to that of c0 3(1,0). Further, the dashed line corresponds to that of c0 3(2,0), and the double-dashed line corresponds to that of c0 3(3,0). They are four transmission signal sequences having high likelihoods (small metrics) for at least one of the four reception signal sequences r0 3(m), m=0,1,2,3. Note that in this example, one transmission signal sequence having the highest likelihood is selected for each of the four reception signal sequences. In general, however, this is not always true. That is, in some cases, four transmission signal sequences having high likelihoods are selected for one reception signal sequence.
As described above, the multi-input/list output Viterbi decoder shown in FIG. 3 can calculate a plurality of transmission signal sequences having high likelihoods for at least one of a plurality of reception signal sequences.
Third Example Embodiment
Next, a flowchart of a multi-input/list output Viterbi decoding method performed by a decoding apparatus according to a third example embodiment will be described with reference to FIG. 4.
FIG. 4 is a flowchart of the multi-input/list output Viterbi decoding method according to the third example embodiment. The flowchart shown in FIG. 4 includes a list output Viterbi decoding method (401) and a selection method (402). In the list output Viterbi decoding method (401), a list of L transmission signal sequences having high likelihoods is output for one given reception signal sequence. In the selection method (402), L transmission signal sequences are selected from M×L transmission signal sequences in descending order of the likelihood.
FIG. 5 is a block diagram showing an example of a configuration of the multi-input/list output Viterbi decoder according to the third example embodiment. The multi-input/list output Viterbi decoder includes a plurality of list output Viterbi decoders 501 and a selection apparatus 502. The multi-input/list output Viterbi decoder shown in FIG. 5 includes M list output Viterbi decoders 501 that output a list of L transmission signal sequences having high likelihoods for one given reception signal sequence. Further, the multi-input/list output Viterbi decoder shown in FIG. 5 includes the selection apparatus 502 that selects, from a total of M×L transmission signal sequences output by these list output Viterbi decoders 501, L transmission signal sequences in descending order of the likelihood.
Next, the multi-input/list output Viterbi decoding method shown in FIG. 4 will be described. Similarly to the method shown in FIG. 1, M reception signal sequences each having a length N, i.e., reception signal sequences represented as r0 N?1(m), m=0, 1, . . . , M?1, are given as inputs to the multi-input/list output Viterbi decoder.
The list output Viterbi decoders 501 select, for each reception signal sequence r0 N?1(m), L transmission signal sequences c0 N?1(l, m), l=0, 1, . . . , L?1 in descending order of the likelihood from the one having the highest likelihood by using the list output Viterbi decoding method (401). The multi-input/list output Viterbi decoder performs the list output Viterbi decoding method (401) M times by using the M list output Viterbi decoders 501. As a result, a total of M×L transmission signal sequences are obtained.
Next, in the selection method (402), the selection apparatus 502 selects L transmission signal sequences c0 N?1(l), l=0, 1, . . . , L?1 having the largest likelihoods from the M×L transmission signal sequences. Specifically, the selection apparatus 502 selects L transmission signal sequences by using the likelihood information (metrics) that is used for selecting L transmission signal sequences in the list output Viterbi decoding method (401).
Operations performed by the multi-input/list output Viterbi decoder according to the third example embodiment shown in FIG. 5 are similar to those in the multi-input/list output Viterbi decoder method shown in FIG. 4.
As described above, with the output of the multi-input/list output Viterbi decoder shown in FIG. 5, it is possible to calculate L transmission signal sequences from transmission signal sequences having the highest likelihoods for at least one of the M given reception signal sequences. Further, the output of the multi-input/list output Viterbi decoder described above with reference to FIGS. 4 and 5 is similar to the output result of the multi-input/list output Viterbi decoder described above with reference to FIG. 8.
Note that the multi-input/list output Viterbi decoder shown in FIG. 5 requires an amount of calculation and a scale of an apparatus equivalent to those of M times of a single list Viterbi decoder scheme.
In contrast to this, the multi-input/list output Viterbi decoder shown in FIG. 3 described in the second example embodiment may have an amount of calculation and a scale of an apparatus equivalent to those of a single list Viterbi decoder scheme. However, there are cases in which the multi-input/list output Viterbi decoder shown in FIG. 3 may not always provide a list of L transmission signal sequences in descending order of the likelihood from the one having the highest likelihood for at least one of the M given reception signal sequences. In contrast to this, the output of the multi-input/list output Viterbi decoder described in the third example embodiment is a list of L transmission signal sequences arranged in descending order of the likelihood from the one having the highest likelihood.
Four Example Embodiment
Next, an example of a configuration of a decoder according to a fourth example embodiment will be described with reference to FIG. 6. FIG. 6 is a block diagram showing an example of a configuration of a decoder having a list size L for Polar codes each having a length of N bits (N=N1×N2). A list decoding calculation unit 601 includes L SC (Successive Cancelation) units each of which performs decoding processing of a Polar code having a length N1. Further, the decoder shown in FIG. 6 includes N2 list decoding calculation units 601.
Further, a multi-input/list output Viterbi decoder 602 outputs a list of L transmission signal sequences having high likelihoods for at least one of M given reception signal sequences (M is a positive number no greater than L) having a length N2. The multi-input/list output Viterbi decoder 602 is the multi-input/list output Viterbi decoder shown in FIG. 3 or FIG. 5. A selection apparatus 603 selects one transmission signal sequence from a list output from the multi-input/list output Viterbi decoder 602.
Next, operations performed by a Polar-code list decoder shown in FIG. 6 will be described. The list decoder receives a reception signal sequence r0 N?1 for a Polar-encoded transmission signal sequence having a length N. This reception signal sequence r0 N?1 having the length N is divided into N2 reception signal sequences each having a length N1 and hence becomes sequences r0 N1?1, rN1 2N1?1, . . . , rN?N1 N?1. Each of the divided reception signal sequences is input to a respective one of the list decoding calculation units 601 each of which has L SC (Successive Cancellation) units each of which performs SC decoding processing for the Polar code having the length N1.
The number of list decoding calculation units 601 is N2 in total. Numbers 0 to N2?1 are assigned to the N2 list decoding operation units 601. A kth list decoding calculation unit 601 processes a reception signal sequence rkN1 (k+1)N1?1 having a length N1 according to an SC algorithm. Further, the kth list decoding calculation unit 601 successively outputs candidates for likelihood information about each bit, starting from the head bit, of the transmission bit string having the length N1, i.e., outputs rk(0), rk(1), . . . , rk(L?1) for L patterns.
It is assumed that the list decoding calculation unit 601 has performed calculation and obtained candidates, for an ith bit (i is an integer no greater than N1?1), for likelihood information for L patterns. By collecting likelihood information for L patterns over all the cases expressed by k=0, 1, . . . , N2?1, L sequences r0 N2?1(m), m=0, 1, . . . , L?1 each having a length N2 are obtained. The multi-input/list output Viterbi decoder 602 regards them as L reception signal sequences, and thereby receives the L reception signal sequences. Further, the multi-input/list output Viterbi decoder 602 calculates a list of L transmission signal sequences each having a length of N2 bits, i.e., sequences represented as c0 N2?1(m), m=0, 1, . . . , L?1.
The information multi-input/list output Viterbi decoder 602 feeds back ck(0), ck(1), . . . , ck(L?1) to the list decoding calculation units 601 as hard decision information corresponding to likelihood information rk(0), rk(1), . . . , rk(L?1) for L patterns.
By using the feedback of the hard decision information, the list decoding calculation units 601 calculate candidates for likelihood information about the next (i+1)th bit for L patterns in a similar manner. By repeating the above-described processes, i.e., repeating the execution of the multi-input/list output Viterbi decoder N1 times in total, the multi-input/list output Viterbi decoder 602 can obtain candidates uN?1(l), l=0, 1, . . . , L?1 for L transmission bit sequences for the reception signal sequence r0 N?1.
The selection apparatus 603 selects and outputs one of the candidates uN?1(l), l=0, 1, . . . , L?1 for the transmission bit sequence. As an example, there is a method in which a CRC (Cyclic Redundancy Check) bit for detecting an error is included in transmission bits in advance and a candidate in which no error is detected is selected.
Next, an effect of reducing the number of processing steps performed by the Polar-code list decoder shown in FIG. 6 will be described by using a specific example. For example, a case where a Polar code having a length N of 1,024 bits (N=1,024) is list-decoded with a list size L of eight (L=8) will be described. In the list decoder shown in FIG. 6, when N1 is 64 (N1=64) and N2 is 16 (N2=16), the number of processing steps performed by the list decoding calculation units 601 is estimated to be 126 (2N1?2=126). For the multi-input/list output Viterbi decoder having a length N2 of 16 (N2=16), as shown in the second example embodiment, a trellis diagram corresponding thereto can be expressed by using four time points, a branch label(s) having four bits, and eight states at maximum. Therefore, since the number of processing steps for one operation is four and this operation is performed N1 times, the number of processing steps becomes 256 (4×64=256). Therefore, in principle, the Polar-code list decoder shown in FIG. 6 can perform the list decoding processing in 382 steps (126+256=382) in total. In contrast to this, in an ordinary Polar-code list decoder, when processing is performed by using a list decoding unit having a length N of 1,024 bits (N=1,024) and a list size of eight, the number of processing steps is 2,046 (2N?2=2,046). Therefore, the number of steps in the Polar-code list decoder shown in FIG. 6 is greatly reduced.
FIG. 7 shows an error rate characteristic obtained by decoding Polar codes each having a length N of 1,024 bits (N=1,024) by using the Polar-code list decoder (having a list size L of eight (L=8)) shown in FIG. 6. As the multi-input/list output Viterbi decoder, the difference between the configuration shown in FIG. 3 and that shown in FIG. 5 is shown, and it can be understood that there is substantially no difference between them, though the configuration shown in FIG. 5 is slightly superior to that in FIG. 3.
Next, an example of a configuration of each of the various decoders shown in FIGS. 3, 5 and 6 described in the above-described plurality of example embodiments will be described with reference to FIG. 11. FIG. 11 is a block diagram showing an example of a configuration of a decoder. Referring to FIG. 11, the decoder includes a network interface 110, a processor 111, and a memory 112. The network interface 110 is used to communicate with other network node apparatuses included in the communication system. The network interface 110 may include, for example, a network interface card (NIC) in conformity with IEEE 802.3 series.
The processor 111 loads software (a computer program) from the memory 112 and executes the loaded software, and thereby performs the processing of the decoder described in the above-described example embodiments with reference to the flowchart. The processor 111 may be, for example, a microprocessor, an MPU (Micro Processing Unit), or a CPU (Central Processing Unit). The processor 111 may include a plurality of processors.
The memory 112 is formed by, for example, a combination of a volatile memory and a nonvolatile memory. The memory 112 may include a storage remotely disposed from the processor 111. In this case, the processor 111 may access the memory 112 through an I/O interface (not shown).
In the example shown in FIG. 11, the memory 112 is used to store a group of software modules. The processor 111 loads the group of software modules from the memory 112 and executes the loaded software modules, and thereby performs the processing of the decoder described in the above-described example embodiments.
As described above with reference to FIG. 11, each of processors included in the decoder executes one or a plurality of programs including a group of instructions for causing a computer to perform the algorithms described above with reference to the drawings.
In the above-described examples, the program can be stored and given to a computer using any type of non-transitory computer readable media. Non-transitory computer readable media include any type of tangible storage media. Examples of non-transitory computer readable media include magnetic storage media, optical magnetic storage media, CD-ROM (compact disc read only memory), CD-R, CD-R/W, and semiconductor memories. Examples of the magnetic storage media include flexible disks, magnetic tapes, and hard disk drives. Examples of the optical magnetic storage media include magneto-optical disks. Examples of the semiconductor memories include mask ROM, PROM (programmable ROM), EPROM (Erasable PROM), flash ROM, and RAM (random access memory). Further, the program may be given to a computer using any type of transitory computer readable media. Examples of transitory computer readable media include electric signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to a computer via a wired communication line (e.g. electric wires, and optical fibers) or a wireless communication line.
Note that the present disclosure is not limited to the above-described embodiments and can be modified as appropriate without departing from the spirit and scope of the present disclosure.
The whole or part of the embodiments disclosed above can be described as, but not limited to, the following supplementary notes.
Supplementary Note 1
A decoding apparatus comprising:
a multi-input branch metric calculation unit configured to calculate, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S;
a path metric calculation unit configured to calculate a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N; and
a surviving path list memory configured to store path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics, wherein
the path metric calculation unit generates a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N, and
the surviving path list memory outputs, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram.
Supplementary Note 2
The decoding apparatus described in Supplementary note 1, further comprising an index memory configured to store an index for specifying the reception signal sequence which is used to calculate the path metric.
Supplementary Note 3
The decoding apparatus described in Supplementary note 2, further comprising a path metric memory configured to store the calculated path metric, wherein
the path metric calculation unit adds the branch metric calculated by using the reception signal sequence indicated by the index to a path metric in each of states at the time point N?1 stored in the path metric memory.
Supplementary Note 4
The decoding apparatus described in any one of Supplementary notes 1 to 3, wherein the surviving path list memory stores path labels corresponding to L path metrics in ascending order of their values among the plurality of calculated path metrics.
Supplementary Note 5
The decoding apparatus described in any one of Supplementary notes 1 to 4, wherein
for an end point in the trellis diagram, the number of states is one, and
the path metric calculation unit calculates a path metric corresponding to a path extending toward one state at the end point in the trellis diagram, and generates a path label.
Supplementary Note 6
The decoding apparatus described in any one of Supplementary notes 1 to 5, further comprising calculation units each including L SC units, each of the SC units being configured to perform decoding processing of a Polar code having a length of N1 bits (N1 is an integer no less than one), each of the SC units having a list size of 1, wherein
the multi-input branch metric calculation unit calculates the branch metric by using L reception signal sequences each having a length of N2 bits and the branch label, the L reception signal sequences being ones output from N2 calculation units (N2 is an integer no less than one).
Supplementary Note 7
A decoding apparatus comprising:
a list output Viterbi decoder configured to select L transmission signal sequences (L is an integer no less than one) in descending order of their likelihoods among a plurality of transmission signal sequences calculated from one reception signal sequence by using a Viterbi algorithm; and
a selection unit configured to output L transmission signal sequences selected in descending order of their likelihoods among M×L transmission signal sequences output from M list output Viterbi decoders (M is an integer no less than one).
Supplementary Note 8
The decoding apparatus described in Supplementary note 7, further comprising calculation unit each including L SC units, each of the SC units being configured to perform decoding processing of a Polar code having a length of N1 bits (N1 is an integer no less than one), each of the SC units having a list size of 1, wherein
the list output Viterbi decoder calculates a plurality of transmission signal sequences from reception signal sequences having a length of N2 bits (N2 is an integer no less than one) output from N2 calculation units.
Supplementary Note 9
A decoding method comprising:
calculating, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S;
calculating a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N;
storing path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics;
generating a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N; and
outputting, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram.
Supplementary Note 10
A decoding method comprising:
selecting L transmission signal sequences (L is an integer no less than one) in descending order of their likelihoods among a plurality of transmission signal sequences calculated from one reception signal sequence by using a Viterbi algorithm; and
outputting L transmission signal sequences selected in descending order of their likelihoods among M×L transmission signal sequences output from M list output Viterbi decoders (M is an integer no less than one).
Supplementary Note 11
A program for causing a computer to:
calculate, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S;
calculate a path metric in the state S at the time point N by adding a branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N;
store path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics;
generate a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N; and
output, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram.
Supplementary Note 12
A program for causing a computer to:
select L transmission signal sequences (L is an integer no less than one) in descending order of their likelihoods among a plurality of transmission signal sequences calculated from one reception signal sequence by using a Viterbi algorithm; and
output L transmission signal sequences selected in descending order of their likelihoods among M×L transmission signal sequences output from M list output Viterbi decoders (M is an integer no less than one).
REFERENCE SIGNS LIST
  • 10 DECODING APPARATUS
  • 11 MULTI-INPUT BRANCH METRIC CALCULATION UNIT
  • 12 PATH METRIC CALCULATION UNIT
  • 13 SURVIVING PATH LIST MEMORY
  • 110 NETWORK INTERFACES
  • 111 PROCESSOR
  • 112 MEMORY
  • 301 MULTI-INPUT BRANCH METRIC CALCULATION UNIT
  • 302 PATH METRIC CALCULATION UNIT
  • 303 PATH METRIC MEMORY
  • 304 INDEX MEMORY
  • 305 SURVIVING PATH LIST MEMORY
  • 306 SELECTOR
  • 501 LIST OUTPUT VITERBI DECODER
  • 502 SELECTION APPARATUS
  • 601 LIST DECODE ARITHMETIC UNIT
  • 602 MULTI-INPUT/LIST OUTPUT VITERBI DECODER
  • 603 SELECTION APPARATUS

Claims (7)

The invention claimed is:
1. A decoding apparatus comprising:
at least one memory storing instructions, and
at least one processor configured to execute the instructions to;
calculate, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S;
calculate a path metric in the state S at the time point N by adding the branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N; and
store path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics,
generate a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N, and
output, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram; and
one or more hardware calculation units each including L successive cancelation (SC) units, each of the SC units is configured to perform decoding processing of a Polar code having a length of N1 bits (N1 is an integer no less than one), each of the SC units having a list size of 1,
wherein the at least one processor is further configured to execute the instructions to calculate the branch metric by using L reception signal sequences each having a length of N2 bits and the branch label, the L reception signal sequences being ones output from N2 hardware calculation units (N2 is an integer no less than one).
2. The decoding apparatus according to claim 1, wherein the at least one processor is further configured to execute the instructions to store an index specifying the reception signal sequence that is used to calculate the path metric.
3. The decoding apparatus according to claim 2, wherein the at least one processor is further configured to execute the instructions to store the calculated path metric, and
add the branch metric calculated by using the reception signal sequence indicated by the index to a path metric in each of states at the time point N?1 stored in the path metric memory.
4. The decoding apparatus according to claim 1, wherein the at least one processor is further configured to execute the instructions to store path labels corresponding to L path metrics in ascending order of their values among the plurality of calculated path metrics.
5. The decoding apparatus according to claim 1, wherein
for an end point in the trellis diagram, the number of states is one, and
the at least one processor is further configured to execute the instructions to calculate a path metric corresponding to a path extending toward one state at the end point in the trellis diagram, and generates a path label.
6. A decoding method comprising:
calculating, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S;
calculating a path metric in the state S at the time point N by adding the branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N;
storing path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics;
generating a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N; and
outputting, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram, wherein
the method further comprises:
performing, using one or more hardware calculation unit each including L successive cancelation (SC) units, decoding processing of a Polar code having a length of N1 bits (N1 is an integer no less than one), each of the SC units having a list size of 1, and
calculating the branch metric by using L reception signal sequences each having a length of N2 bits and the branch label, the L reception signal sequences being ones output from N2 hardware calculation units (N2 is an integer no less than one).
7. A non-transitory computer readable medium storing a program for causing a computer to:
calculate, by using a branch label corresponding to a path extending toward a state S (S is an integer no less than zero) at a time point N (N is an integer no less than zero) in a trellis diagram and a plurality of reception signal sequences, a branch metric in the state S;
calculate a path metric in the state S at the time point N by adding the branch metric in the state S at the time point N to a path metric in each of states at a time point N?1, each of which forms a path with the state S at the time point N;
store path labels corresponding to L path metrics (L is an integer no less than one) among a plurality of calculated path metrics;
generate a path label in the state S at the time point N by combining the branch label with a path label in each of the states at the time point N?1, each of which forms a path with the state S at the time point N; and
output, as a transmission signal sequence, path labels corresponding to L path metrics selected at an end point in the trellis diagram, wherein
the non-transitory computer readable medium is configure to further cause the computer to:
perform, using one or more hardware calculation unit each including L successive cancelation (SC) units, decoding processing of a Polar code having a length of N1 bits (N1 is an integer no less than one), each of the SC units having a list size of 1, and
calculate the branch metric by using L reception signal sequences each having a length of N2 bits and the branch label, the L reception signal sequences being ones output from N2 hardware calculation units (N2 is an integer no less than one).
US16/972,957 2025-08-08 2025-08-08 Decoding apparatus, decoding method, and non-transitory computer readable medium Active US11336306B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/021970 WO2019234903A1 (en) 2025-08-08 2025-08-08 Decoding apparatus, decoding method and non-transitory computer readable medium

Publications (2)

Publication Number Publication Date
US20210250052A1 US20210250052A1 (en) 2025-08-08
US11336306B2 true US11336306B2 (en) 2025-08-08

Family

ID=68770853

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/972,957 Active US11336306B2 (en) 2025-08-08 2025-08-08 Decoding apparatus, decoding method, and non-transitory computer readable medium

Country Status (3)

Country Link
US (1) US11336306B2 (en)
JP (1) JP7052868B2 (en)
WO (1) WO2019234903A1 (en)

Cited By (1)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US11784751B1 (en) * 2025-08-08 2025-08-08 Qualcomm Incorporated List size reduction for polar decoding

Citations (14)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US4777636A (en) * 2025-08-08 2025-08-08 Fujitsu Limited Path trace viterbi decoder
US5432803A (en) * 2025-08-08 2025-08-08 Novatel Communications, Ltd. Maximum likelihood convolutional decoder
US5440588A (en) * 2025-08-08 2025-08-08 Kabushiki Kaisha Toshiba Method and apparatus for estimating maximum likelihood sequence in digital communication receiver with reduced real time calculations
US5446747A (en) 2025-08-08 2025-08-08 France Telecom Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder
US5537444A (en) 2025-08-08 2025-08-08 At&T Corp. Extended list output and soft symbol output viterbi algorithms
US5787127A (en) * 2025-08-08 2025-08-08 Oki Electric Industry Co., Ltd. Viterbi decoding method and apparatus with balance among memory and processing requirements
JPH1131979A (en) 2025-08-08 2025-08-08 Oki Electric Ind Co Ltd Viterbi decoding method and circuit
US5933462A (en) 2025-08-08 2025-08-08 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
JPH11289258A (en) 2025-08-08 2025-08-08 Mitsubishi Electric Corp Series estimating method and series estimating device
US6125153A (en) * 2025-08-08 2025-08-08 Matsushita Electric Industrial Co., Ltd. Data processor and data processing method
JP2003198435A (en) 2025-08-08 2025-08-08 Matsushita Electric Ind Co Ltd Diversity apparatus and method
US20070079225A1 (en) * 2025-08-08 2025-08-08 Nils Graef Trace-ahead method and apparatus for determining survivor paths in a Viterbi detector
US7298798B1 (en) * 2025-08-08 2025-08-08 Mediatek, Inc. Method and system for decoding block codes
JP2011239107A (en) 2025-08-08 2025-08-08 Nippon Hoso Kyokai <Nhk> Space-time viterbi decoder

Patent Citations (14)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US4777636A (en) * 2025-08-08 2025-08-08 Fujitsu Limited Path trace viterbi decoder
US5446747A (en) 2025-08-08 2025-08-08 France Telecom Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder
US5440588A (en) * 2025-08-08 2025-08-08 Kabushiki Kaisha Toshiba Method and apparatus for estimating maximum likelihood sequence in digital communication receiver with reduced real time calculations
US5432803A (en) * 2025-08-08 2025-08-08 Novatel Communications, Ltd. Maximum likelihood convolutional decoder
US5537444A (en) 2025-08-08 2025-08-08 At&T Corp. Extended list output and soft symbol output viterbi algorithms
US5787127A (en) * 2025-08-08 2025-08-08 Oki Electric Industry Co., Ltd. Viterbi decoding method and apparatus with balance among memory and processing requirements
US5933462A (en) 2025-08-08 2025-08-08 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
US6125153A (en) * 2025-08-08 2025-08-08 Matsushita Electric Industrial Co., Ltd. Data processor and data processing method
JPH1131979A (en) 2025-08-08 2025-08-08 Oki Electric Ind Co Ltd Viterbi decoding method and circuit
JPH11289258A (en) 2025-08-08 2025-08-08 Mitsubishi Electric Corp Series estimating method and series estimating device
US7298798B1 (en) * 2025-08-08 2025-08-08 Mediatek, Inc. Method and system for decoding block codes
JP2003198435A (en) 2025-08-08 2025-08-08 Matsushita Electric Ind Co Ltd Diversity apparatus and method
US20070079225A1 (en) * 2025-08-08 2025-08-08 Nils Graef Trace-ahead method and apparatus for determining survivor paths in a Viterbi detector
JP2011239107A (en) 2025-08-08 2025-08-08 Nippon Hoso Kyokai <Nhk> Space-time viterbi decoder

Non-Patent Citations (4)

* Cited by examiner, ? Cited by third party
Title
Erdal Arikan, "Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels", IEEE Transactions on Information Theory, Jul. 2009, pp. 3051-3073, vol. 55, No. 7.
Ido Tal et al., "List Decoding of Polar Codes", IEEE Transactions Information Theory, May 2015, pp. 2213-2226, vol. 61, No. 5.
International Search Report for PCT/JP2018/021970 dated Aug. 28, 2018 (PCT/ISA/237).
Nambirajan Seshadri, "List Viterbi Decoding Algorithms with Applications", IEEE Transactions on Communications, 1994, pp. 313-323, vol. 42, No. 2/3/4.

Cited By (1)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US11784751B1 (en) * 2025-08-08 2025-08-08 Qualcomm Incorporated List size reduction for polar decoding

Also Published As

Publication number Publication date
JPWO2019234903A1 (en) 2025-08-08
WO2019234903A1 (en) 2025-08-08
US20210250052A1 (en) 2025-08-08
JP7052868B2 (en) 2025-08-08

Similar Documents

Publication Publication Date Title
JP3328093B2 (en) Error correction device
EP3364542A1 (en) Error correction coding method based on cascading of polar codes and repetition codes or multi-bit parity check codes
US10742239B2 (en) Method for decoding a polar code with inversion of unreliable bits
US20190158222A1 (en) Device and method for executing encoding
US8245116B2 (en) Method for performing soft decision decoding of Euclidean space Reed-Muller codes
US11177834B2 (en) Communication method and apparatus using polar codes
WO2022070043A1 (en) Serial concatenated codes with outer block codes and inner polarization adjusted convolutional codes
US11165438B2 (en) Error-correction encoding method and device, and decoding method and device using channel polarization
Murata et al. On design of CRC codes for polar codes with successive cancellation list decoding
Doan et al. Neural dynamic successive cancellation flip decoding of polar codes
CN111130567B (en) Belief Propagation List Decoding Method for Polar Codes with Added Noise Perturbation and Bit Flip
US11336306B2 (en) Decoding apparatus, decoding method, and non-transitory computer readable medium
KR100456474B1 (en) Method for iterative decoding of block turbo code and Recording medium for iterative decoding program of block turbo code
EP1300955A1 (en) A process for decoding signals, system and computer program product therefor
JP7251615B2 (en) ALIGNMENT PROCESSING DEVICE, ALIGNMENT PROCESSING METHOD, AND PROGRAM
EP1511178A1 (en) A method of decoding a data word
US11362679B2 (en) Method and apparatus for generating redundant bits for error detection
JPH06284018A (en) Viterbi decoding method and error correcting and decoding device
WO1995001008A1 (en) Bit error counting method and counter
JP3045197B2 (en) Codebook design method for vector quantizer
CN114978195A (en) A method and system for searching error pattern sets related to polar code serial cancellation list decoding codewords
Veresova et al. About usage of metrics in decoding of LDPC codes in Two-State channels with memory
US8156412B2 (en) Tree decoding method for decoding linear block codes
CN107852175A (en) Decoding equipment, method and signal transmission system
EP4026249A1 (en) Staircase coding based on polar codes

Legal Events

Date Code Title Description
FEPP Fee payment procedure 百度 《非均衡的中国经济》一书,就是首次对中国经济发展“非均衡经济理论”的系统阐述。

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

AS Assignment

Owner name: NEC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KAMIYA, NORIFUMI;REEL/FRAME:058865/0663

Effective date: 20201015

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

治疗阳痿早泄什么药最好 前列腺不能吃什么食物 精华液是什么 手麻吃什么药最好 蟾蜍吃什么
机体是什么意思 传度是什么意思 霉菌是什么病 应激反应是什么意思 制冰机不制冰是什么原因
炸酥肉用什么肉最好吃 7.11什么星座 史努比是什么品牌 1972年属鼠的是什么命 农村适合养殖什么
小孩子眼睛眨得很频繁是什么原因 郑和是什么族 电磁炉上可以放什么锅 排卵期一般在什么时候 小孩打嗝是什么原因
节育环嵌顿是什么意思hcv9jop6ns5r.cn 十三点是什么意思hcv9jop2ns6r.cn 淋球菌是什么病hcv8jop5ns4r.cn 肝钙化灶是什么意思hcv8jop3ns7r.cn 怀孕前壁和后壁有什么区别hcv7jop7ns4r.cn
躯体形式障碍是什么病hcv8jop9ns6r.cn 考试用什么笔hcv8jop1ns9r.cn 单侧流鼻血是什么原因hcv8jop9ns7r.cn 一年一片避孕药叫什么hcv9jop7ns1r.cn 化疗后吃什么排毒最快onlinewuye.com
真相是什么意思hcv9jop1ns4r.cn 脑内腔隙灶是什么意思hcv9jop2ns6r.cn lycra是什么面料hcv8jop5ns6r.cn 龙须菜是什么菜hcv8jop0ns6r.cn 38属什么hcv7jop6ns7r.cn
内膜增厚是什么原因hcv7jop6ns4r.cn 乳腺囊实性结节是什么意思hcv7jop6ns6r.cn 晚上尿多是什么原因hcv8jop4ns9r.cn 良辰吉日什么意思hcv9jop5ns2r.cn 什么毛什么血hcv7jop9ns0r.cn
百度