JP3578736B2 - Branch metric calculation device and its calculation method - Google Patents

Branch metric calculation device and its calculation method Download PDF

Info

Publication number
JP3578736B2
JP3578736B2 JP2001239762A JP2001239762A JP3578736B2 JP 3578736 B2 JP3578736 B2 JP 3578736B2 JP 2001239762 A JP2001239762 A JP 2001239762A JP 2001239762 A JP2001239762 A JP 2001239762A JP 3578736 B2 JP3578736 B2 JP 3578736B2
Authority
JP
Japan
Prior art keywords
coordinate
tan
data
branch metric
holding element
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.)
Expired - Fee Related
Application number
JP2001239762A
Other languages
Japanese (ja)
Other versions
JP2003051749A (en
Inventor
宏彰 高橋
Original Assignee
Necマイクロシステム株式会社
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マイクロシステム株式会社 filed Critical Necマイクロシステム株式会社
Priority to JP2001239762A priority Critical patent/JP3578736B2/en
Publication of JP2003051749A publication Critical patent/JP2003051749A/en
Application granted granted Critical
Publication of JP3578736B2 publication Critical patent/JP3578736B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ブランチメトリック算出装置およびその算出方法に関する。
【0002】
【従来の技術】
デジタル放送における受信信号の復号方式として、ビタビ復号方式が衆知である。特に、ノイズマージンの大きな復号方式の場合は、ビタビ復号方式が有効に用いられる。
【0003】
ビタビ復号とは、畳み込み符号化されたデータを復号する一つの方式であり、デジタル放送サービスにおいては、畳み込み符号化と多値変調とを組み合わせた、トレリス符号化変調が適用されている。
【0004】
このようなビタビ復号方式は、例えば、特開2000−312234号公報に開示されている。
【0005】
図8は、送信機801から受信機802への信号の流れの構成例であり、図9は、トレリス符号化を図解した回路図である。
【0006】
送信機801は、送信するべきデータである情報源(10)をシリパラ変換(11)し、トレリス符号化(12)を行った後、直行変調(14)を行い、人工衛星システムを用いることにより伝送803を行う。
【0007】
受信機802は、受信データを復調(15)し、復調データ815をビタビ復号(16)を行い、復号情報17を得ることにより、もっとも確からしいデータを、受信することができる。
【0008】
送信機801は、重畳され得るノイズに対するマージンを大きく取るため、図10に示すように、送信するべき原データ(B1,B0)のユークリッド距離が大きくなるように変調信号点に割り当てるようC2,C1,C0のマッピングを行い、送信を行う。
【0009】
図10を参照すると、信号点配置は、単位円の円周にそって、45°の角度を隔てた位置に3ビットの符号化データC2,C1,C0の全ての組み合わせである8通りの座標位置として規定されている。また、配置は、ユークリッド距離を大きく取るため、例えば
(C2,C1,C0)=(0,0,1)と(C2,C1,C0)=(1,1,0)は、原点0を基準として、対称に配置されている。
【0010】
図11を参照して、復号装置1101の動作概要を述べる。
【0011】
この復号装置1101は、各復号ステップ毎のブランチメトリック(以下、BMと略記する)およびセクターナンバー(以下、SNと略記する)を算出するBM/SN算出装置40と、前述したBMをもとに、原データB0の復号を行うビタビ復号41と、復号された原データB0を再符号化する再符号化ブロック42と、再符号化されたデータとSNをディレイさせたデータより原データB1の復号を行うトレリス復号装置43と、SNをディレイさせる遅延装置44を具備する。
【0012】
次に、BM/SN算出手段40の説明を行う。BM/SNの算出には、図12に示す変換テーブルデータを記憶させたROMテーブルを、受信データ(I、Q)をROMの入力アドレスとして,BM00,BM01,BM10,BM11,SNを読み出すことが一般的である。
【0013】
【発明が解決しようとする課題】
しかしながら、このような、従来のROMテーブルを使用した、BMの生成方法では受信データが、高い多値データとなるほど、また、BM値の精度(ビット拡張)を向上させるほど、ROMサイズが膨大となり、LSIの大規模化、高価格、消費電流増大につながるという問題点があった。
【0014】
また、特開2000−312234号公報に記載のBMの生成方法では、ROMテーブルが、1/2にしか、縮小することが出来ない問題もあった。
【0015】
【課題を解決するための手段】
本発明のブランチメトリック算出装置は、トレリス符号化変調方式によって符号化された多値データを復号し、復号データのブランチメトリックを算出するブランチメトリック算出装置であって、
前記多値データは第1の受信信号である信号Iと、この信号Iに直交する第2の受信信号である信号Qの座標点として位相変換する位相変換手段と、
前記信号Iと信号Qからなる座標系の原点を中心とする円を前記中心を通るn(nは2以上の整数)個の線分で分割してn個のセクターを生成し、前記座標点のQ座標と、前記座標点のI座標*tanθ(θは前記線分とI軸とがなす角度)との大小とを比較し、前記座標点がどの前記セクターに含まれるのかを決定し、決定された前記セクターに対応する前記ブランチメトリックを参照して前記復号データのブランチメトリックを算出するブランチメトリック算出回路と、を備える構成である。
【0016】
またさらに、本発明のブランチメトリック算出装置の前記多値データは、互いに直交する第1の受信信号と第2の受信信号の構成である。
【0017】
さらにまた、本発明のブランチメトリック算出装置の前記多値データを時計回りに45度回転処理は、前記第1の受信信号から前記第2の受信信号を減ずる第1の処理をする第1処理手段と、前記第1の受信信号と前記第2の受信信号とを加算する第2の処理をする第2処理手段とを具備する構成であり、本発明のブランチメトリック算出装置の前記多値データを反時計回りに45度回転処理は、前記第1の受信信号と前記第2の受信信号とを加算する第2の処理をする第2処理手段と、前記第2の受信信号から前記第1の受信信号を減ずる第3の処理をする第3処理手段とを具備する構成であり、本発明のブランチメトリック算出装置の前記多値データを時計回りに90度回転処理は、0信号からから前記第2の受信信号を減ずる第4の処理をする第4処理手段と、前記第1の受信信号を直接入力する処理をする第5処理手段と具備する構成である。
【0018】
また、本発明のブランチメトリック算出方法は、トレリス符号化変調方式によって符号化された多値データを復号し、復号データのブランチメトリックを算出するブランチメトリック算出方法であって、前記多値データは第1の受信信号である信号Iと、この信号Iに直交する第2の受信信号である信号Qの座標点として位相変換され、前記信号Iと信号Qからなる座標系の原点を中心とする円を前記中心を通るn(nは2以上の整数)個の線分で分割してn個のセクターを生成し、前記座標点のQ座標と、前記座標点のI座標*tanθ(θは前記線分とI軸とがなす角度)との大小とを比較し、前記座標点がどの前記セクターに含まれるのかを決定し、決定された前記セクターに対応する前記ブランチメトリックを参照して前記復号データのブランチメトリックを算出することを特徴としている。
【0019】
【発明の実施の形態】
次に、図面を参照しながら、本発明の実施の形態を以下に詳述する。
【0020】
本発明の実施の形態は、ROMテーブルの対称性を利用して、ROMテーブルの縮体を行い、BM算出を演算回路をもちいて算出する構成である。
【0021】
まず、ブランチメトリックの概念を説明する。第1にBM00のBMの算出について、説明する。
【0022】
ROMテーブルのデータは全て、原点を中心として対称である。よって、受信データをI軸及びQ軸に対して、第一象限に折り返せば、図4で示す領域のみでROMテーブルを表すことが出来る。
【0023】
次に、BM値の算出を行う。
【0024】
まず、受信データI及び受信データQの領域を図5で示す、境界線4にて、上下の判定を行う。上下の判定は、Q及びI*tan(θ4)の比較を行う。
(以降、tan(θ4)とは、図で示した、境界線の番号の角度情報とする。例えば、図中、境界2表す角度情報はtan(θ2)とする。)
次に、Q>=I*tan(θ4)の場合、Q*tan(θ6)とIとの比較をし、Q<I*tan(θ4)の場合、QとI*tan(θ2)との比較を行う。
【0025】
次に、Q*tan(θ6)>=Iの場合、Q*tan(θ7)とIとの比較し、Q*tan(θ6)<Iの場合、Q*tan(θ5)とIとの比較する。
【0026】
Q*tan(θ2)>=Iの場合、QとI”*tan(θ3)との比較をし、Q*tan(θ2)<Iの場合、QとI”*tan(θ1)との比較を行う。
【0027】
以上の結果より、また過去の判定結果より、
Q*tan(θ7)>=Iの場合、ブランチメトリックの値が7となり、
Q*tan(θ7)<Iの場合、ブランチメトリックの値が6となり、
Q*tan(θ5)>=Iの場合、ブランチメトリックの値が5となり、
Q*tan(θ5)<Iの場合、ブランチメトリックの値が4となり、
Q>=I*tan(θ7)の場合、ブランチメトリックの値が3となり、
Q<I*tan(θ7)の場合、ブランチメトリックの値が2となり、
Q>=I*tan(θ5)の場合、ブランチメトリックの値が1となり、
Q<I*tan(θ5)の場合、ブランチメトリックの値が0となるように、割り当てられ、一般的に使用されている、ROMテーブルデータと同一のものが算出されたことになる。
【0028】
次に、BM01,BM10,BM11のBM算出について説明する。図12、図13で示した通り、上記3つのROMテーブルデータは、BM00のROMテーブルに対して、BM01のテーブルは、時計回りに45°回転し、BM10のテーブルは、反時計回りに45°回転し、BM11のテーブルは、時計回りに90°回転したものと同じである。
【0029】
よって、受信データI、受信データQを,それぞれ、下記の処理を行い、前述した、BM00と同一の処理を行えば、BM01,BM10,BM11それぞれのBMを算出することができる(図6を参照)。
【0030】
【数1】

Figure 0003578736
【0031】
なお、実際の処理は、I、Qの相対量のみ必要となるので、下記の簡単な計算のみ行えば、各BMのアドレスが算出される。
【0032】
【数2】
Figure 0003578736
【0033】
次に、本発明の第1の実施の形態のブランチメトリック算出装置について、説明する。
【0034】
図1は、本発明の第1の実施の形態のブランチメトリック算出装置のブロック図で、本発明の第1の実施の形態のブランチメトリック算出装置の受信データ(I,Q)は、ここでは、8bitデータの多値データとする。
【0035】
図1を参照すると、本発明の第1の実施の形態のブランチメトリック算出装置100は、各BM00,BM01,BM10,BM11のブランチメトリック値を算出するBM算出回路101〜104と、受信データ(I,Q)のそれぞれについて、回転処理をするために、(I−Q)の処理をする回路105と、回転処理をするために、(I+Q)の処理をする回路106と、回転処理をするために、(−I+Q)の処理をする回路107と、回転処理をするために、(0−Q)の処理をする回路108とを備える。
【0036】
次に、BM算出回路について、図2に示す回路の構成を説明する。
【0037】
I1,Q1は、前述した、受信データの回転処理を行ったデータ、I2,Q2はI1,Q1をそれぞれ、受信データステップ単位で1ステップ遅延を行ったデータ、I3,Q3は、同様に2ステップ遅延を行ったデータである。
【0038】
参照符号210は、第1の角度情報で、第4のBMの境界に値(以降、角度情報と表現する。)する、tanθ(ここでは、tan(θ4)で表す、)値、であり、また、本構成例では、8bitのデータであり、MSBには45°より、大きい場合は1を、小さい場合には、0を格納するものとする。
【0039】
同様に、参照符号211は第2の角度情報であり、参照符号212は第5の角度情報であり、参照符号213は第1の角度情報であり、参照符号214は第3の角度情報であり、参照符号215は第5の角度情報であり、参照符号216は第7の角度情報である。
【0040】
本発明の第1の実施の形態のブランチメトリック算出装置のBM算出回路200は、選択回路201〜208と、8bitx7bitの乗算器220〜222と、受信データステップ単位でデータ更新を行うデータ保持素子230〜235と、比較装置240〜242とを具備する。
【0041】
次に、本発明の第1の実施の形態のブランチメトリック算出装置100の動作について説明する。
【0042】
まず、図1のBM算出ブロック構成例の図において、前述したとおり、受信されたデータについて、下記の処理を行い、BM算出回路101〜104にそれぞれ入力する。
【0043】
【数3】
Figure 0003578736
【0044】
次に、BM算出回路内部(図2を参照)では、以下の処理を行う。
【0045】
受信データステップ単位時刻tにおいて選択回路201は、tan(θ4)のMSBが0ならばI1を選択し、MSBが1ならばQ1を選択する。
【0046】
同様に、選択回路202は、tan(θ4)のMSBが0ならばQ1を選択し、MSBが1ならばI1を選択する。
【0047】
次に、乗算器220は、前述の選択されたデータをもとに、つまりtan(θ4)の角度情報210のMSBが0ならば、I1*tan(θ4)を行い、tan(θ4)のMSBが1ならば、Q1*tan(θ4)を行う。
【0048】
次に、比較装置240では、前述した、乗算器220の乗算結果と、選択回路202の選択結果とのデータの大小比較を行い、比較結果をデータ保持素子230に格納する。格納するデータは、乗算結果のほうが大きい場合は1を格納し、小さい場合は0を格納する。
【0049】
次に、受信データステップ単位の時刻(t+1)において、選択回路207は、前時刻tの比較結果が0の場合、tan(θ2)の角度情報211の選択を行い、また、1の場合、tan(θ6)の角度情報212の選択を行う。
【0050】
選択回路203は、選択回路207が選択した角度情報のMSBが0ならば、I2をを選択し、1ならばQ2を選択する。
【0051】
同様に、選択回路204は、選択回路207が選択した角度情報のMSBが0ならばQ2をを選択し、1ならばI2を選択する。
【0052】
次に、乗算器221は、前述の選択されたデータをもとに、つまり、選択回路207が選択した角度情報のMSBが0ならば、I2*(選択回路207が選択した角度情報)を行い、選択回路207が選択した角度情報のMSBが1ならば、Q2*(選択回路207が選択した角度情報)を行う。
【0053】
次に、比較装置241では、前述した、乗算結果と、選択回路204との選択結果とのデータの大小比較を行い、比較結果をデータ保持素子233に格納する。格納するデータは、同様に乗算結果のほうが大きい場合は1を格納し、小さい場合は0を格納する。
【0054】
また、データ保持素子230に格納されているデータをデータ保持素子231に格納する。そしてまた、データ保持素子230には、時刻(t+1)に受信されたデータを、同様の処理を行い、新しいデータ格納している。
【0055】
次に、受信データステップ単位の時刻(t+2)において、選択回路208は,前々時刻tの比較結果(データ保持素子231)が0、及び前時刻(t+1)の比較結果(データ保持素子233)が0の場合、tan(θ1)の角度情報213を選択する。
【0056】
また、前々時刻tの比較結果(データ保持素子231)が0、及び前時刻(t+1)の比較結果(データ保持素子233)が1の場合、tan(θ3)の角度情報を214選択する。
【0057】
また、前々時刻tの比較結果(データ保持素子231)が1、及び前時刻t+1の比較結果(データ保持素子233)が0の場合、tan(θ5)の角度情報を215選択する。
【0058】
また、前々時刻tの比較結果(データ保持素子231)が1、及び前時刻t+1の比較結果(データ保持素子233)が1の場合、tan(θ7)の角度情報を216選択する。
【0059】
選択回路205は、選択回路208が選択した角度情報のMSBが0ならば、I3を選択し、選択回路208が選択した角度情報のMSBが1ならば、Q3を選択する。
【0060】
同様に、選択回路206は、前述の選択回路208が選択した角度情報のMSBが0ならばQ3を選択し、1ならばI3を選択する。
【0061】
次に、乗算器222は、前選択されたデータをもとに、つまり、選択回路208が選択した角度情報のMSBが0ならば、I3*(選択回路208が選択した角度情報)を行い、選択回路208が選択した角度情報のMSBが1ならば、Q3*(選択回路208が選択した角度情報)を行う。
【0062】
次に、比較装置242では、前述した、乗算結果と、選択回路206の選択結果とのデータの大小比較を行い、比較結果をデータ保持素子235に格納する。格納するデータは、同様に、乗算結果のほうが大きい場合は1を、小さい場合は0を格納する。
【0063】
また、データ保持素子231に格納されているデータをデータ保持素子232に格納する。そしてまた、データ保持素子233に格納されているデータをデータ保持素子234に格納する。
【0064】
次に、本発明の第2の実施の形態のブランチメトリック算出装置について、図3を参照して説明する。
【0065】
図3は、本発明の第2の実施の形態のブランチメトリック算出装置であって、BMの精度,ビタビ復号の精度を向上するため、4bit出力する場合の回路例である。
【0066】
図3で示すとおり、本発明の第2の実施の形態のブランチメトリック算出装置300のBM算出回路は、3bit出力の場合の回路250に、さらに、領域判定回路350が付加されている。
【0067】
次に、BM算出回路について、図3に示す回路の構成を説明する。
【0068】
I1,Q1は、前述した、受信データの回転処理を行ったデータ、I2,Q2はI1,Q1をそれぞれ、受信データステップ単位で1ステップ遅延を行ったデータ、I3,Q3は、同様に2ステップ遅延を行ったデータで、I4,Q4は、同様に3ステップ遅延を行ったデータである。
【0069】
参照符号210は、第8の角度情報で、第8のBMの境界に値(以降、角度情報と表現する。)する、tanθ(ここでは、tan(θ8)で表す、)値、であり、また、本構成例では、16bitのデータであり、MSBには45°より、大きい場合は1を、小さい場合には、0を格納するものとする。
【0070】
同様に、参照符号211は第4の角度情報であり、参照符号212は第12の角度情報であり、参照符号213は第2の角度情報であり、参照符号214は第6の角度情報であり、参照符号215は第10の角度情報であり、参照符号216は第14の角度情報である。
【0071】
本発明の第2の実施の形態のブランチメトリック算出装置300のBM算出回路250は、選択回路201〜208と、8bitx7bitの乗算器220〜222と、受信データステップ単位でデータ更新を行うデータ保持素子230〜235と、比較装置240〜242とを具備する。
【0072】
またさらに、本発明の第2の実施の形態のブランチメトリック算出装置300のBM算出回路350は、選択回路301、302および選択回路303と、8bitx7bitの乗算器323と、比較装置324とを具備する。
【0073】
そしてさらに、本発明の第2の実施の形態のブランチメトリック算出装置300は、受信データステップ単位でデータ更新を行うデータ保持素子232の出力を保持するデータ保持素子326と、受信データステップ単位でデータ更新を行うデータ保持素子234の出力を保持するデータ保持素子327と、受信データステップ単位でデータ更新を行うデータ保持素子235の出力を保持するデータ保持素子328と、比較装置324の出力を保持するデータ保持素子329とを具備する。
【0074】
次に、本発明の第2の実施の形態のブランチメトリック算出装置の動作について説明する。
【0075】
まず、図1のBM算出ブロック構成例の図において、前述したとおり、受信されたデータについて、本発明の第1の実施の形態のブランチメトリック算出装置100と同様の処理を行い、BM算出回路101〜104にそれぞれ入力する。
【0076】
次に、BM算出回路内部(図3を参照)では、以下の処理を行う。
【0077】
受信データステップ単位時刻tにおいて選択回路201は、tan(θ8)のMSBが0ならばI1を選択し、MSBが1ならばQ1を選択する。
【0078】
同様に、選択回路202は、tan(θ8)のMSBが0ならばQ1を選択し、MSBが1ならばI1を選択する。
【0079】
次に、乗算器220は、前述の選択されたデータをもとに、つまりtan(θ8)の角度情報210のMSBが0ならば、I1*tan(θ8)を行い、tan(θ8)のMSBが1ならば、Q1*tan(θ8)を行う。
【0080】
次に、比較装置240では、前述した、乗算器220の乗算結果と、選択回路202の選択結果とのデータの大小比較を行い、比較結果をデータ保持素子230に格納する。格納するデータは、乗算結果のほうが大きい場合は1を格納し、小さい場合は0を格納する。
【0081】
次に、受信データステップ単位の時刻(t+1)において、選択回路207は、前時刻tの比較結果が0の場合、tan(θ4)の角度情報211の選択を行い、また、1の場合、tan(θ12)の角度情報212の選択を行う。
【0082】
選択回路203は、選択回路207が選択した角度情報のMSBが0ならば、I2を選択し、選択回路207が選択した角度情報のMSBが1ならば、Q2を選択する。
【0083】
同様に、選択回路204は、選択回路207が選択した角度情報のMSBが0ならばQ2を選択し、1ならばI2を選択する。
【0084】
次に、乗算器221は、前述の選択されたデータをもとに、つまり、選択回路207が選択した角度情報のMSBが0ならば、I2*(選択回路207が選択した角度情報)を行い、選択回路207が選択した角度情報のMSBが1ならば、Q2*(選択回路207が選択した角度情報)を行う。
【0085】
次に、比較装置241では、前述した、乗算結果と、選択回路204との選択結果とのデータの大小比較を行い、比較結果をデータ保持素子233に格納する。格納するデータは、同様に、乗算結果のほうが大きい場合は1を格納し、小さい場合は0を格納する。
【0086】
また、データ保持素子230に格納されているデータをデータ保持素子231に格納する。そしてまた、データ保持素子230には、時刻(t+1)に受信されたデータを、同様の処理を行い、新しいデータ格納している。
【0087】
次に、受信データステップ単位の時刻(t+2)において、選択回路208は,前々時刻tの比較結果(データ保持素子231)が0、及び前時刻(t+1)の比較結果(データ保持素子233)が0の場合、tan(θ2)の角度情報213を選択する。
【0088】
また、前々時刻tの比較結果(データ保持素子231)が0、及び前時刻(t+1)の比較結果(データ保持素子233)が1の場合、tan(θ6)の角度情報を214選択する。
【0089】
また、前々時刻tの比較結果(データ保持素子231)が1、及び前時刻(t+1)の比較結果(データ保持素子233)が0の場合、tan(θ10)の角度情報を215選択する。
【0090】
また、前々時刻tの比較結果(データ保持素子231)が1、及び前時刻(t+1)の比較結果(データ保持素子233)が1の場合、tan(θ14)の角度情報を216選択する。
【0091】
選択回路205は、選択回路208が選択した角度情報のMSBが0ならば、I3を選択し、1ならばQ3を選択する。
【0092】
同様に、選択回路206は、前述選択回路208が選択した角度情報のMSBが0ならばQ3を選択し、1ならばI3を選択する。
【0093】
次に、乗算器222は、前選択されたデータをもとに、つまり、選択回路208が選択した角度情報のMSBが0ならば、I3*(選択回路208が選択した角度情報)を行い、選択回路208が選択した角度情報のMSBが1ならば、Q3*(選択回路208が選択した角度情報)を行う。
【0094】
次に、比較装置242では、前述した、乗算結果と、選択回路206の選択結果とのデータの大小比較を行い、比較結果をデータ保持素子232に格納する。格納するデータは、同様に、乗算結果のほうが大きい場合は1を、小さい場合は0を格納する。
【0095】
また、データ保持素子231に格納されているデータをデータ保持素子232に格納する。そしてまた、データ保持素子233に格納されているデータをデータ保持素子234に格納する。
【0096】
次に、受信データステップ単位の時刻(t+3)において、選択回路303の動作を説明する。
【0097】
すなわち、選択回路303は、前々々時刻tの比較結果(データ保持素子232)が0で、及び前々時刻(t+1)の比較結果(データ保持素子234)が0で、及び前時刻(t+2)の比較結果(データ保持素子235)が0の場合に、tan(θ1)の角度情報305を選択する。
【0098】
また、前々々時刻tの比較結果(データ保持素子232)が0で、及び前々時刻(t+1)の比較結果(データ保持素子234)が0で、及び前時刻(t+2)の比較結果(データ保持素子235)が1の場合に、tan(θ3)の角度情報306を選択する。
【0099】
そしてまた、前々々時刻tの比較結果(データ保持素子232)が0で、及び前々時刻(t+1)の比較結果(データ保持素子234)が1で、及び前時刻(t+2)の比較結果(データ保持素子235)が0の場合に、tan(θ5)の角度情報307を選択する。
【0100】
また、前々々時刻tの比較結果(データ保持素子232)が0で、及び前々時刻(t+1)の比較結果(データ保持素子234)が1で、及び前時刻(t+2)の比較結果(データ保持素子235)が1の場合に、tan(θ7)の角度情報308を選択する。
【0101】
また、前々々時刻tの比較結果(データ保持素子232)が1で、及び前々時刻(t+1)の比較結果(データ保持素子234)が0で、及び前時刻(t+2)の比較結果(データ保持素子235)が0の場合に、tan(θ15)の角度情報309を選択する。
【0102】
また、前々々時刻tの比較結果(データ保持素子232)が1で、及び前々時刻(t+1)の比較結果(データ保持素子234)が0で、及び前時刻(t+2)の比較結果(データ保持素子235)が1の場合に、tan(θ13)の角度情報310を選択する。
【0103】
また、前々々時刻tの比較結果(データ保持素子232)が1で、及び前々時刻(t+1)の比較結果(データ保持素子234)が1で、及び前時刻(t+2)の比較結果(データ保持素子235)が0の場合に、tan(θ11)の角度情報311を選択する。
【0104】
そして、前々々時刻tの比較結果(データ保持素子232)が1で、及び前々時刻(t+1)の比較結果(データ保持素子234)が1で、及び前時刻(t+2)の比較結果(データ保持素子235)が1の場合に、tan(θ9)の角度情報312を選択する。
【0105】
選択回路301は、選択回路303が選択した角度情報のMSBが0ならば、I4を選択し、選択回路303が選択した角度情報のMSBが1ならば、Q4を選択する。
【0106】
同様に、選択回路302は、前述の選択回路303が選択した角度情報のMSBが0ならば、Q4を選択し、選択回路303が選択した角度情報のMSBが1ならば、I4を選択する。
【0107】
次に、乗算器323は、前述の選択されたデータをもとに、つまり、選択回路303が選択した角度情報のMSBが0ならば、I4*(選択回路208が選択した角度情報)を行い、選択回路303が選択した角度情報のMSBが1ならば、Q4*(選択回路208が選択した角度情報)を行う。
【0108】
次に、比較装置324では、前述した、乗算結果と、選択回路302の選択結果とのデータの大小比較を行い、比較結果をデータ保持素子329に格納する。格納するデータは、同様に、乗算結果のほうが大きい場合は1を、小さい場合は0を格納する。
【0109】
また、データ保持素子232に格納されているデータをデータ保持素子326に格納する。また、データ保持素子234に格納されているデータをデータ保持素子327に格納する。そしてまた、データ保持素子235に格納されているデータをデータ保持素子328に格納する。
【0110】
なお、図2で示した、角度情報tan(θ1)〜角度情報tan(θ7)または、図3で示した角度情報tan(θ1)〜角度情報tan(θ15)は、容易に、任意に変更することが可能である。
【0111】
よって、伝送系の変更があった場合等でも、効率よく、かつ、好適に変更することが可能である。
【0112】
【発明の効果】
以上説明した通り、本発明のブランチメトリック算出装置は、BM算出を行うことにより、精度、処理速度の低下を回避しつつLSIの大きさを削減する、すなわち、ROMテーブルを1/8以にすることができ、低価格化、低消費電流を実現することができる効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のブランチメトリック算出装置のブロック図である。
【図2】本発明の第1の実施の形態のブランチメトリック算出装置のブランチメトリック算出回路の一例である。
【図3】本発明の第2の実施の形態のブランチメトリック算出装置のブランチメトリック算出回路の一例である。
【図4】ROMテーブルの縮体を示す図である。
【図5】ブランチメトリックの算出を説明する図である。
【図6】本発明の第1の実施の形態のブランチメトリック算出装置の回転処理を説明する図である。
【図7】16値の場合のブランチメトリック値算出を説明する図である。
【図8】送信機801から受信機802への信号の流れの構成例である。
【図9】トレリス符号化を図解した回路図である。
【図10】信号点の構成例を示す図である。
【図11】復号器の構成例を示す図である。
【図12】ROMの構成例を示す図である。
【図13】ROM原点座標を中心としたブランチメトリック値を示す図である。
【符号の説明】
10 情報源
11 シリパラ変換
12 畳込み符号化
13 マッピング
14 直交変調
15 復調
16 ビタビ復号
17 復号情報
20,21,22,23,24,25 遅延素子
26,27 排他的論理和
40 BM/SN算出装置
41 ビタビ復号
42 再符号化ブロック
43 トレリス復号装置
44 遅延装置
100 ブランチメトリック算出装置
101,102,103,104 BM算出回路
105,106,107,108 受信信号処理回路
200 BM算出回路[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a branch metric calculation device and a calculation method thereof.
[0002]
[Prior art]
Viterbi decoding is well known as a method for decoding received signals in digital broadcasting. In particular, in the case of a decoding method having a large noise margin, the Viterbi decoding method is effectively used.
[0003]
Viterbi decoding is one method of decoding convolutionally coded data. In digital broadcasting services, trellis coded modulation, which combines convolutional coding and multilevel modulation, is applied.
[0004]
Such a Viterbi decoding method is disclosed in, for example, JP-A-2000-313234.
[0005]
FIG. 8 is a configuration example of a signal flow from the transmitter 801 to the receiver 802, and FIG. 9 is a circuit diagram illustrating trellis coding.
[0006]
The transmitter 801 performs serial-parallel conversion (11) on an information source (10), which is data to be transmitted, performs trellis coding (12), performs orthogonal modulation (14), and uses an artificial satellite system. Transmission 803 is performed.
[0007]
The receiver 802 can receive the most probable data by demodulating the received data (15), performing Viterbi decoding (16) on the demodulated data 815, and obtaining the decoded information 17.
[0008]
Transmitter 801 assigns C2 and C1 to modulation signal points such that the Euclidean distance of original data (B1, B0) to be transmitted is increased as shown in FIG. , C0, and performs transmission.
[0009]
Referring to FIG. 10, the signal point constellation includes eight kinds of coordinates which are all combinations of the 3-bit encoded data C2, C1, and C0 at positions separated by 45 ° along the circumference of the unit circle. Defined as a location. In addition, to take a large Euclidean distance,
(C2, C1, C0) = (0, 0, 1) and (C2, C1, C0) = (1, 1, 0) are symmetrically arranged with respect to the origin 0.
[0010]
With reference to FIG. 11, an operation outline of the decoding device 1101 will be described.
[0011]
The decoding device 1101 calculates a branch metric (hereinafter abbreviated as BM) and a sector number (hereinafter abbreviated as SN) for each decoding step, and a BM / SN calculation device 40 based on the BM described above. , A Viterbi decoder 41 for decoding the original data B0, a re-encoding block 42 for re-encoding the decoded original data B0, and decoding of the original data B1 from the re-encoded data and data obtained by delaying SN. And a delay device 44 for delaying the SN.
[0012]
Next, the BM / SN calculating means 40 will be described. For the calculation of BM / SN, it is necessary to read the BM00, BM01, BM10, BM11 and SN from the ROM table storing the conversion table data shown in FIG. 12 and using the received data (I, Q) as the input address of the ROM. General.
[0013]
[Problems to be solved by the invention]
However, in such a conventional BM generation method using a ROM table, the ROM size becomes enormous as the received data becomes higher multi-valued data and the accuracy (bit extension) of the BM value is improved. However, there has been a problem that the scale of the LSI is increased, the price is increased, and the current consumption is increased.
[0014]
Further, in the BM generation method described in JP-A-2000-313234, there is a problem that the ROM table can be reduced to only 1 /.
[0015]
[Means for Solving the Problems]
The branch metric calculation device of the present invention includes:A branch metric calculation device that decodes multi-level data encoded by a trellis coding modulation scheme and calculates a branch metric of the decoded data,
Phase conversion means for performing phase conversion on the multi-valued data as coordinate points of a signal I which is a first reception signal and a signal Q which is a second reception signal orthogonal to the signal I;
A circle centered on the origin of the coordinate system composed of the signal I and the signal Q is divided by n (n is an integer of 2 or more) line segments passing through the center to generate n sectors, And the I coordinate * tanθ (θ is the angle between the line segment and the I axis) of the coordinate point to determine which sector the coordinate point is included in, and A branch metric calculation circuit that calculates a branch metric of the decoded data with reference to the branch metric corresponding to the determined sector;It is a structure provided with.
[0016]
Still further, the multi-value data of the branch metric calculation device of the present invention has a configuration of a first reception signal and a second reception signal that are orthogonal to each other.
[0017]
Still further, the processing for rotating the multi-value data clockwise by 45 degrees in the branch metric calculation device of the present invention is a first processing means for performing a first processing for subtracting the second received signal from the first received signal. And second processing means for performing a second process of adding the first received signal and the second received signal. The multi-value data of the branch metric calculation device of the present invention is The 45-degree counterclockwise rotation process includes: a second processing unit that performs a second process of adding the first reception signal and the second reception signal; and a first processing unit that performs the first processing based on the second reception signal. And a third processing means for performing a third processing for reducing the reception signal. The multi-value data of the branch metric calculation device of the present invention is rotated clockwise by 90 degrees in the branch metric calculation apparatus. Fourth processing for reducing the reception signal of the second And fourth processing means for the a configuration comprising a fifth processing means for processing for inputting the first received signal directly.
[0018]
In addition, the present inventionThe branch metric calculation method is a branch metric calculation method for decoding multi-valued data encoded by a trellis coding modulation method and calculating a branch metric of the decoded data, wherein the multi-valued data is a first received signal. The phase is converted as a coordinate point of a certain signal I and a signal Q which is a second reception signal orthogonal to the signal I, and passes through a circle centered on the origin of a coordinate system composed of the signal I and the signal Q. n (n is an integer of 2 or more) line segments are divided to generate n sectors, and the Q coordinate of the coordinate point and the I coordinate of the coordinate point * tanθ (θ is the line segment and the I axis (The angle formed by the angle) and the magnitude of the coordinate point is determined, which sector the coordinate point is included in, and the branch metric of the decoded data is referred to by referring to the branch metric corresponding to the determined sector. Calculate lickIt is characterized byare doing.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described in detail below with reference to the drawings.
[0020]
In the embodiment of the present invention, the ROM table is contracted using the symmetry of the ROM table, and the BM is calculated using an arithmetic circuit.
[0021]
First, the concept of the branch metric will be described. First, the calculation of the BM of BM00 will be described.
[0022]
All data in the ROM table is symmetric about the origin. Therefore, if the received data is folded in the first quadrant with respect to the I axis and the Q axis, the ROM table can be represented only by the area shown in FIG.
[0023]
Next, the BM value is calculated.
[0024]
First, upper and lower determinations are made on the boundary line 4 shown in FIG. 5 in the areas of the reception data I and the reception data Q. For the determination of up and down, comparison of Q and I * tan (θ4) is performed.
(Hereinafter, tan (θ4) is the angle information of the boundary line number shown in the figure. For example, in the figure, the angle information representing boundary 2 is tan (θ2).)
Next, when Q> = I * tan (θ4), Q * tan (θ6) is compared with I. When Q <I * tan (θ4), Q is compared with I * tan (θ2). Make a comparison.
[0025]
Next, when Q * tan (θ6)> = I, Q * tan (θ7) is compared with I. When Q * tan (θ6) <I, Q * tan (θ5) is compared with I. I do.
[0026]
When Q * tan (θ2)> = I, Q is compared with I ″ * tan (θ3), and when Q * tan (θ2) <I, Q is compared with I ″ * tan (θ1) I do.
[0027]
From the above results, and from the past judgment results,
When Q * tan (θ7)> = I, the value of the branch metric is 7, and
If Q * tan (θ7) <I, the value of the branch metric is 6, and
If Q * tan (θ5)> = I, the value of the branch metric is 5, and
If Q * tan (θ5) <I, the value of the branch metric is 4, and
If Q> = I * tan (θ7), the value of the branch metric is 3, and
When Q <I * tan (θ7), the value of the branch metric is 2, and
If Q> = I * tan (θ5), the value of the branch metric is 1, and
In the case of Q <I * tan (θ5), the same data as the ROM table data that is allocated and commonly used so that the value of the branch metric becomes 0 is calculated.
[0028]
Next, the BM calculation of BM01, BM10, and BM11 will be described. As shown in FIGS. 12 and 13, the three ROM table data are such that the BM01 table rotates 45 ° clockwise with respect to the BM00 ROM table, and the BM10 table rotates 45 ° counterclockwise. Rotated, the table of BM11 is the same as that rotated 90 ° clockwise.
[0029]
Therefore, if the following processing is performed on the received data I and the received data Q, respectively, and the same processing as the above-described BM00 is performed, the BM of each of the BM01, BM10, and BM11 can be calculated (see FIG. 6). ).
[0030]
(Equation 1)
Figure 0003578736
[0031]
Since the actual processing requires only the relative amounts of I and Q, the address of each BM is calculated by performing only the following simple calculation.
[0032]
(Equation 2)
Figure 0003578736
[0033]
Next, a branch metric calculation device according to the first embodiment of the present invention will be described.
[0034]
FIG. 1 is a block diagram of a branch metric calculation device according to the first embodiment of the present invention. The received data (I, Q) of the branch metric calculation device according to the first embodiment of the present invention It is assumed that the data is 8-bit data.
[0035]
Referring to FIG. 1, a branch metric calculation device 100 according to the first embodiment of the present invention includes BM calculation circuits 101 to 104 for calculating branch metric values of BM00, BM01, BM10, and BM11, and reception data (I , Q) for performing a rotation process, a circuit 105 for performing an (I−Q) process, for performing a rotation process, a circuit 106 for performing an (I + Q) process, and for performing a rotation process. The circuit 107 includes a circuit 107 for performing (−I + Q) processing and a circuit 108 for performing (0−Q) processing for performing rotation processing.
[0036]
Next, the configuration of the BM calculation circuit shown in FIG. 2 will be described.
[0037]
I1 and Q1 are data obtained by performing the above-described rotation processing of the received data, I2 and Q2 are data obtained by delaying I1 and Q1 by one step in the unit of the received data step, and I3 and Q3 are data obtained by two steps similarly. This is the delayed data.
[0038]
Reference numeral 210 denotes a first angle information, which is a tan θ (here, represented by tan (θ4)) value at the boundary of the fourth BM (hereinafter, referred to as angle information), Further, in this configuration example, the data is 8-bit data, and 1 is stored in the MSB when it is larger than 45 °, and 0 is stored when it is smaller than 45 °.
[0039]
Similarly, reference numeral 211 is second angle information, reference numeral 212 is fifth angle information, reference numeral 213 is first angle information, and reference numeral 214 is third angle information. , 215 is fifth angle information, and 216 is seventh angle information.
[0040]
The BM calculation circuit 200 of the branch metric calculation device according to the first embodiment of the present invention includes selection circuits 201 to 208, 8-bit × 7-bit multipliers 220 to 222, and a data holding element 230 for updating data in units of received data steps. 235 and comparison devices 240 to 242.
[0041]
Next, the operation of the branch metric calculation device 100 according to the first embodiment of the present invention will be described.
[0042]
First, in the diagram of the BM calculation block configuration example in FIG. 1, as described above, the following processing is performed on the received data, and the data is input to the BM calculation circuits 101 to 104, respectively.
[0043]
(Equation 3)
Figure 0003578736
[0044]
Next, the following processing is performed inside the BM calculation circuit (see FIG. 2).
[0045]
At the reception data step unit time t, the selection circuit 201 selects I1 if the MSB of tan (θ4) is 0, and selects Q1 if the MSB is 1.
[0046]
Similarly, the selection circuit 202 selects Q1 if the MSB of tan (θ4) is 0, and selects I1 if the MSB is 1.
[0047]
Next, the multiplier 220 performs I1 * tan (θ4) based on the selected data, that is, if the MSB of the angle information 210 of tan (θ4) is 0, and performs the MSB of tan (θ4). Is 1, Q1 * tan (θ4) is performed.
[0048]
Next, the comparison device 240 compares the data of the multiplication result of the multiplier 220 and the selection result of the selection circuit 202, and stores the comparison result in the data holding element 230. As data to be stored, 1 is stored if the multiplication result is larger, and 0 is stored if the multiplication result is smaller.
[0049]
Next, at the time (t + 1) in units of the received data step, the selection circuit 207 selects the angle information 211 of tan (θ2) if the comparison result at the previous time t is 0, and if it is 1, tan (θ2). The angle information 212 of (θ6) is selected.
[0050]
The selection circuit 203 selects I2 if the MSB of the angle information selected by the selection circuit 207 is 0, and selects Q2 if it is 1.
[0051]
Similarly, the selection circuit 204 selects Q2 if the MSB of the angle information selected by the selection circuit 207 is 0, and selects I2 if it is 1.
[0052]
Next, the multiplier 221 performs I2 * (angle information selected by the selection circuit 207) based on the selected data, that is, if the MSB of the angle information selected by the selection circuit 207 is 0. If the MSB of the angle information selected by the selection circuit 207 is 1, Q2 * (angle information selected by the selection circuit 207) is performed.
[0053]
Next, the comparison device 241 compares the data of the multiplication result with the selection result of the selection circuit 204, and stores the comparison result in the data holding element 233. Similarly, as the data to be stored, 1 is stored when the multiplication result is larger, and 0 is stored when the multiplication result is smaller.
[0054]
The data stored in the data holding element 230 is stored in the data holding element 231. Further, the data received at the time (t + 1) is subjected to the same processing, and new data is stored in the data holding element 230.
[0055]
Next, at the time (t + 2) in the unit of the received data step, the selection circuit 208 sets the comparison result (data holding element 231) of the time t before the previous time (data holding element 231) to 0 and the comparison result of the previous time (t + 1) (the data holding element 233). Is 0, the angle information 213 of tan (θ1) is selected.
[0056]
If the comparison result (data holding element 231) at the time t before the previous time t is 0 and the comparison result (data holding element 233) at the previous time (t + 1) is 1, the angle information 214 of tan (θ3) is selected.
[0057]
If the comparison result (data holding element 231) at the time t before the previous time t is 1 and the comparison result (data holding element 233) at the previous time t + 1 is 0, the angle information tan (θ5) is selected by 215.
[0058]
Further, when the comparison result (data holding element 231) at the time t before the previous time t is 1 and the comparison result (data holding element 233) at the previous time t + 1 is 1, the angle information tan (θ7) 216 is selected.
[0059]
The selection circuit 205 selects I3 if the MSB of the angle information selected by the selection circuit 208 is 0, and selects Q3 if the MSB of the angle information selected by the selection circuit 208 is 1.
[0060]
Similarly, the selection circuit 206 selects Q3 if the MSB of the angle information selected by the selection circuit 208 is 0, and selects I3 if the MSB is 1.
[0061]
Next, the multiplier 222 performs I3 * (the angle information selected by the selection circuit 208) based on the previously selected data, that is, if the MSB of the angle information selected by the selection circuit 208 is 0, If the MSB of the angle information selected by the selection circuit 208 is 1, Q3 * (angle information selected by the selection circuit 208) is performed.
[0062]
Next, the comparison device 242 compares the data of the multiplication result with the selection result of the selection circuit 206, and stores the comparison result in the data holding element 235. Similarly, the data to be stored is 1 if the multiplication result is larger, and 0 if it is smaller.
[0063]
Further, the data stored in the data holding element 231 is stored in the data holding element 232. Then, the data stored in the data holding element 233 is stored in the data holding element 234.
[0064]
Next, a branch metric calculation device according to a second embodiment of the present invention will be described with reference to FIG.
[0065]
FIG. 3 is a circuit example of a branch metric calculation device according to the second embodiment of the present invention, in which 4-bit output is performed in order to improve the accuracy of BM and the accuracy of Viterbi decoding.
[0066]
As shown in FIG. 3, in the BM calculation circuit of the branch metric calculation device 300 according to the second embodiment of the present invention, an area determination circuit 350 is added to the circuit 250 for 3-bit output.
[0067]
Next, the configuration of the BM calculation circuit shown in FIG. 3 will be described.
[0068]
I1 and Q1 are data obtained by performing the above-described rotation processing of the received data, I2 and Q2 are data obtained by delaying I1 and Q1 by one step in the unit of the received data step, and I3 and Q3 are data obtained by two steps similarly. The delayed data, I4 and Q4, are similarly delayed by three steps.
[0069]
Reference numeral 210 denotes eighth angle information, which is a value of tan θ (here, expressed as tan (θ8)) at the boundary of the eighth BM (hereinafter, referred to as angle information). In the present configuration example, the data is 16 bits, and 1 is stored in the MSB if it is larger than 45 °, and 0 is stored if it is smaller than 45 °.
[0070]
Similarly, reference numeral 211 is fourth angle information, reference numeral 212 is twelfth angle information, reference numeral 213 is second angle information, and reference numeral 214 is sixth angle information. , 215 is tenth angle information, and 216 is fourteenth angle information.
[0071]
The BM calculation circuit 250 of the branch metric calculation device 300 according to the second embodiment of the present invention includes selection circuits 201 to 208, 8-bit × 7-bit multipliers 220 to 222, and a data holding element for updating data in units of received data steps. 230 to 235 and comparison devices 240 to 242.
[0072]
Furthermore, the BM calculation circuit 350 of the branch metric calculation device 300 according to the second embodiment of the present invention includes the selection circuits 301, 302 and 303, an 8-bit × 7-bit multiplier 323, and a comparison device 324. .
[0073]
Further, the branch metric calculation device 300 according to the second embodiment of the present invention includes a data holding element 326 for holding the output of the data holding element 232 that performs data update in units of received data, and a data holding element 326 in units of received data steps. A data holding element 327 for holding the output of the data holding element 234 for updating, a data holding element 328 for holding the output of the data holding element 235 for updating the data in units of received data, and an output of the comparing device 324. A data holding element 329.
[0074]
Next, the operation of the branch metric calculation device according to the second embodiment of the present invention will be described.
[0075]
First, in the diagram of the BM calculation block configuration example in FIG. 1, as described above, the same processing as that of the branch metric calculation device 100 according to the first embodiment of the present invention is performed on the received data, and the BM calculation circuit 101 To 104 respectively.
[0076]
Next, the following processing is performed inside the BM calculation circuit (see FIG. 3).
[0077]
At the reception data step unit time t, the selection circuit 201 selects I1 if the MSB of tan (θ8) is 0, and selects Q1 if the MSB is 1.
[0078]
Similarly, the selection circuit 202 selects Q1 if the MSB of tan (θ8) is 0, and selects I1 if the MSB is 1.
[0079]
Next, the multiplier 220 performs I1 * tan (θ8) based on the selected data, that is, if the MSB of the angle information 210 of tan (θ8) is 0, and performs the MSB of tan (θ8). Is 1, Q1 * tan (θ8) is performed.
[0080]
Next, the comparison device 240 compares the data of the multiplication result of the multiplier 220 and the selection result of the selection circuit 202, and stores the comparison result in the data holding element 230. As data to be stored, 1 is stored if the multiplication result is larger, and 0 is stored if the multiplication result is smaller.
[0081]
Next, at the time (t + 1) in units of the received data step, the selection circuit 207 selects the angle information 211 of tan (θ4) if the comparison result at the previous time t is 0, and if it is 1, tan (θ4). The angle information 212 of (θ12) is selected.
[0082]
The selection circuit 203 selects I2 if the MSB of the angle information selected by the selection circuit 207 is 0, and selects Q2 if the MSB of the angle information selected by the selection circuit 207 is 1.
[0083]
Similarly, the selection circuit 204 selects Q2 if the MSB of the angle information selected by the selection circuit 207 is 0, and selects I2 if the MSB is 1.
[0084]
Next, the multiplier 221 performs I2 * (angle information selected by the selection circuit 207) based on the selected data, that is, if the MSB of the angle information selected by the selection circuit 207 is 0. If the MSB of the angle information selected by the selection circuit 207 is 1, Q2 * (angle information selected by the selection circuit 207) is performed.
[0085]
Next, the comparison device 241 compares the data of the multiplication result with the selection result of the selection circuit 204, and stores the comparison result in the data holding element 233. Similarly, as data to be stored, 1 is stored if the multiplication result is larger, and 0 is stored if the multiplication result is smaller.
[0086]
The data stored in the data holding element 230 is stored in the data holding element 231. Further, the data received at the time (t + 1) is subjected to the same processing, and new data is stored in the data holding element 230.
[0087]
Next, at the time (t + 2) in the unit of the received data step, the selection circuit 208 sets the comparison result (data holding element 231) of the time t before the previous time (data holding element 231) to 0 and the comparison result of the previous time (t + 1) (the data holding element 233). Is 0, the angle information 213 of tan (θ2) is selected.
[0088]
If the comparison result (data holding element 231) at time t before the time t is 0 and the comparison result (data holding element 233) at the previous time (t + 1) is 1, the angle information of tan (θ6) is selected as 214.
[0089]
When the comparison result (data holding element 231) at the time t before the previous time t is 1 and the comparison result (data holding element 233) at the previous time (t + 1) is 0, the angle information of tan (θ10) is selected by 215.
[0090]
If the comparison result (data holding element 231) at the time t before the previous time t is 1 and the comparison result (data holding element 233) at the previous time (t + 1) is 1, the angle information tan (θ14) 216 is selected.
[0091]
The selection circuit 205 selects I3 if the MSB of the angle information selected by the selection circuit 208 is 0, and selects Q3 if it is 1.
[0092]
Similarly, the selection circuit 206 selects Q3 if the MSB of the angle information selected by the selection circuit 208 is 0, and selects I3 if the MSB is 1.
[0093]
Next, the multiplier 222 performs I3 * (the angle information selected by the selection circuit 208) based on the previously selected data, that is, if the MSB of the angle information selected by the selection circuit 208 is 0, If the MSB of the angle information selected by the selection circuit 208 is 1, Q3 * (angle information selected by the selection circuit 208) is performed.
[0094]
Next, the comparison device 242 compares the data of the multiplication result with the selection result of the selection circuit 206, and stores the comparison result in the data holding element 232. Similarly, the data to be stored is 1 if the multiplication result is larger, and 0 if it is smaller.
[0095]
Further, the data stored in the data holding element 231 is stored in the data holding element 232. Then, the data stored in the data holding element 233 is stored in the data holding element 234.
[0096]
Next, the operation of the selection circuit 303 at the time (t + 3) in units of the reception data step will be described.
[0097]
That is, the selection circuit 303 determines that the comparison result (data holding element 232) at the time two before the time t (data holding element 232) is 0, the comparison result at the time (t + 1) immediately before the time (data holding element 234) is 0, and the comparison result at the previous time (t + 2). If the comparison result (data holding element 235) is 0, the tan (θ1) angle information 305 is selected.
[0098]
Further, the comparison result (data holding element 232) at the time immediately before the time t (data holding element 232) is 0, the comparison result (data holding element 234) at the time immediately before the time (t + 1) is 0, and the comparison result at the time before the time (t + 2) ( When the data holding element 235) is 1, the angle information 306 of tan (θ3) is selected.
[0099]
Further, the comparison result (data holding element 232) at the time two before the previous time t (data holding element 232) is 0, the comparison result at the time immediately before the time (t + 1) (data holding element 234) is 1, and the comparison result at the previous time (t + 2). When (data holding element 235) is 0, the angle information 307 of tan (θ5) is selected.
[0100]
In addition, the comparison result (data holding element 232) at the time immediately before the time t (data holding element 232) is 0, the comparison result at the time immediately before the time (t + 1) (data holding element 234) is 1, and the comparison result at the time (t + 2) before the time (t + 2). When the data holding element 235) is 1, the angle information 308 of tan (θ7) is selected.
[0101]
In addition, the comparison result (data holding element 232) at the time immediately before the time t (data holding element 232) is 1, the comparison result at the time immediately before the time (t + 1) (data holding element 234) is 0, and the comparison result at the time before the time (t + 2) (t + 2). When the data holding element 235) is 0, the angle information 309 of tan (θ15) is selected.
[0102]
In addition, the comparison result (data holding element 232) at the time immediately before the time t (data holding element 232) is 1, the comparison result at the time immediately before the time (t + 1) (data holding element 234) is 0, and the comparison result at the time before the time (t + 2) (t + 2). When the data holding element 235) is 1, the angle information 310 of tan (θ13) is selected.
[0103]
In addition, the comparison result (data holding element 232) at the time t2 immediately before the time (data holding element 232) is 1, the comparison result (data holding element 234) at the time immediately before the time (t + 1) is 1 and the comparison result (t + 2) at the previous time (t + 2). When the value of the data holding element 235) is 0, the angle information 311 of tan (θ11) is selected.
[0104]
Then, the comparison result (data holding element 232) at the time immediately before the time t (data holding element 232) is 1, the comparison result at the time immediately before the time (t + 1) (data holding element 234) is 1, and the comparison result at the time before the time (t + 2) ( When the data holding element 235) is 1, the angle information 312 of tan (θ9) is selected.
[0105]
The selection circuit 301 selects I4 if the MSB of the angle information selected by the selection circuit 303 is 0, and selects Q4 if the MSB of the angle information selected by the selection circuit 303 is 1.
[0106]
Similarly, the selection circuit 302 selects Q4 if the MSB of the angle information selected by the selection circuit 303 is 0, and selects I4 if the MSB of the angle information selected by the selection circuit 303 is 1.
[0107]
Next, the multiplier 323 performs I4 * (the angle information selected by the selection circuit 208) based on the selected data, that is, if the MSB of the angle information selected by the selection circuit 303 is 0. If the MSB of the angle information selected by the selection circuit 303 is 1, Q4 * (angle information selected by the selection circuit 208) is performed.
[0108]
Next, the comparison device 324 compares the data of the multiplication result with the selection result of the selection circuit 302, and stores the comparison result in the data holding element 329. Similarly, the data to be stored is 1 if the multiplication result is larger, and 0 if it is smaller.
[0109]
Further, the data stored in the data holding element 232 is stored in the data holding element 326. Further, the data stored in the data holding element 234 is stored in the data holding element 327. Then, the data stored in the data holding element 235 is stored in the data holding element 328.
[0110]
The angle information tan (θ1) to angle information tan (θ7) shown in FIG. 2 or the angle information tan (θ1) to angle information tan (θ15) shown in FIG. 3 can be easily changed arbitrarily. It is possible.
[0111]
Therefore, even when the transmission system is changed, the change can be made efficiently and suitably.
[0112]
【The invention's effect】
As described above, the branch metric calculation device of the present invention performs BM calculation to reduce the size of the LSI while avoiding a decrease in accuracy and processing speed, that is, to reduce the ROM table to 1/8 or less. Thus, there is an effect that the cost can be reduced and the current consumption can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram of a branch metric calculation device according to a first embodiment of the present invention.
FIG. 2 is an example of a branch metric calculation circuit of the branch metric calculation device according to the first embodiment of the present invention.
FIG. 3 is an example of a branch metric calculation circuit of a branch metric calculation device according to a second embodiment of the present invention.
FIG. 4 is a diagram showing a contraction of a ROM table.
FIG. 5 is a diagram illustrating calculation of a branch metric.
FIG. 6 is a diagram illustrating a rotation process of the branch metric calculation device according to the first embodiment of this invention.
FIG. 7 is a diagram illustrating calculation of a branch metric value in the case of 16 values.
FIG. 8 is a configuration example of a signal flow from a transmitter 801 to a receiver 802.
FIG. 9 is a circuit diagram illustrating trellis coding.
FIG. 10 is a diagram illustrating a configuration example of a signal point.
FIG. 11 is a diagram illustrating a configuration example of a decoder.
FIG. 12 is a diagram illustrating a configuration example of a ROM.
FIG. 13 is a diagram showing branch metric values centered on ROM origin coordinates.
[Explanation of symbols]
10 information sources
11 Transformation
12 Convolutional coding
13 Mapping
14 Quadrature modulation
15 Demodulation
16 Viterbi decoding
17 Decryption information
20, 21, 22, 23, 24, 25 delay element
26,27 Exclusive OR
40 BM / SN calculation device
41 Viterbi decoding
42 re-encoded block
43 Trellis decoding device
44 Delay device
100 branch metric calculator
101, 102, 103, 104 BM calculation circuit
105, 106, 107, 108 reception signal processing circuit
200 BM calculation circuit

Claims (1)

トレリス符号化変調方式によって符号化された多値データを復号し、復号データのブランチメトリックを算出するブランチメトリック算出方法であって、
前記多値データは第1の受信信号である信号Iと、この信号Iに直交する第2の受信信号である信号Qの座標点として位相変換され、前記信号Iと信号Qからなる座標系の原点を中心とする円を前記中心を通るn(nは2以上の整数)個の線分で分割してn個のセクターを生成し、前記座標点のQ座標と、前記座標点のI座標*tanθ(θは前記線分とI軸とがなす角度)との大小とを比較し、前記座標点がどの前記セクターに含まれるのかを決定し、決定された前記セクターに対応する前記ブランチメトリックを参照して前記復号データのブランチメトリックを算出するブランチメトリック算出方法において、前記nが8の場合であって、θnを前記I軸とn番目の前記線分とのなす角度として、前記Q座標が前記I座標*tan(θ4)以上の場合、前記Q座標*tan(θ6)と前記I座標との比較を行い、前記Q座標が前記I座標*tan(θ4)未満の場合、前記Q座標と前記I座標*tan(θ2)との比較を行い、次に、前記Q座標*tan(θ6)が前記I座標以上の場合、前記Q座標*tan(θ7)と前記I座標との比較を行い、前記Q座標*tan(θ6)が前記I座標未満の場合、前記Q座標*tan(θ5)と前記I座標との比較を行い、前記Q座標*tan(θ2)が前記I座標以上の場合、前記I座標の受信データステップ単位の時刻(t+1)(以降、この座標を前記I座標I2とする)において、前記Q座標と前記I座標I2*tan(θ3)との比較を行い、前記Q座標*tan(θ2)が前記I座標未満の場合、前記Q座標と座標I2*tan(θ1)との比較を行うことにより前記座標点がどの前記セクターに含まれるのかを決定し、決定された前記セクターに対応する前記ブランチメトリックを算出するブランチメトリック算出方法。
A branch metric calculation method for decoding multi-valued data encoded by the trellis coding modulation scheme and calculating a branch metric of the decoded data,
The multi-valued data is phase-transformed as a coordinate point between a signal I which is a first received signal and a signal Q which is a second received signal orthogonal to the signal I. A circle centered on the origin is divided by n (n is an integer of 2 or more) line segments passing through the center to generate n sectors, and the Q coordinate of the coordinate point and the I coordinate of the coordinate point * Tan θ (θ is the angle between the line segment and the I axis) is compared to determine which sector the coordinate point is included in, and the branch metric corresponding to the determined sector is determined. in reference to the branch metric calculation how to calculate the branch metric of the decoded data, said even when n is 8, the angle between the I-axis and the n-th of the line segments .theta.n, said Q Coordinate is the I coordinate * tan (θ4) In the above case, the Q coordinate * tan (θ6) is compared with the I coordinate. If the Q coordinate is smaller than the I coordinate * tan (θ4), the Q coordinate and the I coordinate * tan (θ2) Then, when the Q coordinate * tan (θ6) is equal to or larger than the I coordinate, the Q coordinate * tan (θ7) is compared with the I coordinate to obtain the Q coordinate * tan (θ6). ) Is smaller than the I coordinate, the Q coordinate * tan (θ5) is compared with the I coordinate, and if the Q coordinate * tan (θ2) is greater than or equal to the I coordinate, the received data step of the I coordinate is performed. At a unit time (t + 1) (hereinafter, this coordinate is referred to as the I coordinate I2), the Q coordinate is compared with the I coordinate I2 * tan (θ3), and the Q coordinate * tan (θ2) is If less than the I coordinate, the Q coordinate and the coordinate I2 * tan (θ Wherein to determine the coordinate points are included in which the sector determined branch metric calculation method for calculating the branch metric corresponding to the sector by comparing with).
JP2001239762A 2001-08-07 2001-08-07 Branch metric calculation device and its calculation method Expired - Fee Related JP3578736B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001239762A JP3578736B2 (en) 2001-08-07 2001-08-07 Branch metric calculation device and its calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001239762A JP3578736B2 (en) 2001-08-07 2001-08-07 Branch metric calculation device and its calculation method

Publications (2)

Publication Number Publication Date
JP2003051749A JP2003051749A (en) 2003-02-21
JP3578736B2 true JP3578736B2 (en) 2004-10-20

Family

ID=19070462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001239762A Expired - Fee Related JP3578736B2 (en) 2001-08-07 2001-08-07 Branch metric calculation device and its calculation method

Country Status (1)

Country Link
JP (1) JP3578736B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7844879B2 (en) * 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
US8892986B2 (en) * 2012-03-08 2014-11-18 Micron Technology, Inc. Apparatuses and methods for combining error coding and modulation schemes

Also Published As

Publication number Publication date
JP2003051749A (en) 2003-02-21

Similar Documents

Publication Publication Date Title
US5717706A (en) Apparatus and method for detecting signal points using signal point-mapping
JP2768169B2 (en) Data transmission method
JPH05335972A (en) Viterbi decoder
JP2000216835A (en) Receiver of soft decision decoding system of convolutional code
JP2966396B1 (en) BS digital broadcast receiver
JP3578736B2 (en) Branch metric calculation device and its calculation method
CN109861943B (en) Decoding method, decoder and receiver for multidimensional 8PSK signal
JP3403382B2 (en) Trellis decoding apparatus and method
JPH0832633A (en) Trellis decoder
KR100524379B1 (en) Pragmatic TCM Decoder and Its Method Using Coset Mapping
US6957381B2 (en) System and method for determining branch metrics using a polar indexed branch metric look-up table
EP2328313A1 (en) Method and apparatus for demodulating differential binary phase shift keying modulated signals
JP3643348B2 (en) Decoding device and decoding method
JP6633252B2 (en) Likelihood generator
JP4472132B2 (en) Bit error rate measurement method
US20060034392A1 (en) Demodulation method using soft decision for quadrature amplitude modulation and apparatus thereof
JP4082169B2 (en) Amplitude phase converter and amplitude phase conversion method
JPH05227044A (en) Method for determining shortest hamming distance in viterbi decoding process
Konkani Efficient reconfigurable architecture of baseband demodulator in sdr
JP2002164793A (en) Method and device for correcting error
JP3348303B2 (en) Viterbi decoding method and device
KR100903876B1 (en) Method for dividing received signal modulated phase shift keying using Bit Reflected Gray Code into bits, and device thereof
Hussein et al. Design and FPGA implementation of wireless baseband modem for wimax system based on SDR
KR20030002248A (en) Apparatus and method for interfacing QPSK demodulator and viterbi decoder
WO2012122249A2 (en) Soft bit metric generation

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040414

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040713

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070723

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080723

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110723

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120723

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120723

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees