JPH09266448A - ビタビ復号化装置およびビタビ復号化方法 - Google Patents

ビタビ復号化装置およびビタビ復号化方法

Info

Publication number
JPH09266448A
JPH09266448A JP8073847A JP7384796A JPH09266448A JP H09266448 A JPH09266448 A JP H09266448A JP 8073847 A JP8073847 A JP 8073847A JP 7384796 A JP7384796 A JP 7384796A JP H09266448 A JPH09266448 A JP H09266448A
Authority
JP
Japan
Prior art keywords
clock
output
circuit
terminal
phase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8073847A
Other languages
English (en)
Inventor
Masataka Wakamatsu
正孝 若松
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP8073847A priority Critical patent/JPH09266448A/ja
Priority to US08/822,501 priority patent/US5878060A/en
Priority to EP97302112A priority patent/EP0798867A3/en
Priority to KR1019970012141A priority patent/KR970068192A/ko
Publication of JPH09266448A publication Critical patent/JPH09266448A/ja
Pending legal-status Critical Current

Links

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
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3961Arrangements of methods for branch or transition metric calculation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management

Landscapes

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

Abstract

(57)【要約】 【課題】 トレースバック法を用いた高速ビタビ復号化
装置を実現する。 【解決手段】 生き残りパスの情報が入力DinとしてR
AM61−1とRAM61−2に供給される。RAM6
1−1とRAM61−2は、それぞれ、クロックCK1
と、クロックCK1とは位相の半周期異なるクロックC
K2に対応して、生き残りパスの情報を交互に、インタ
リーブ動作を行い記憶する。書き込み動作からトレース
バックの動作に切り替わる時点においては、クロックC
K1とクロックCK2の位相が半周期分遅延し、それに
対応して適切な順序でデータがセレクタ62に出力され
る。トレースバックされたデータは端子Aと端子Bから
セレクタ62に入力され、所定のタイミングでいずれか
一方のデータが選択された後、端子Xより出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ビタビ復号化装置
およびビタビ復号化方法に関し、特に、生き残りパスの
情報の書き込み処理と読み出し処理を、2つのパスメモ
リに対し、交互に行うようにしたトレースバック方式の
高速ビタビ復号を実現するビタビ復号化装置およびビタ
ビ復号化方法に関する。
【0002】
【従来の技術】従来より、データの伝送過程において発
生するノイズによるエラーを訂正することを目的とし
て、データ信号を符号化して伝送することが行われてき
た。
【0003】図14は、拘束長3、符号化率1/2の畳み
込み符号化を行う符号化装置1の一例の構成を示してい
る。
【0004】符号化装置1は、レジスタR1乃至レジス
タR3により構成される3ビットのシフトレジスタと2
つの排他的論理和回路(排他的論理和回路E1と排他的
論理和回路E2)とで構成されている。
【0005】排他的論理和回路E1は、レジスタR1乃
至レジスタR3の情報ビットについて排他的論理和を計
算し、値X1として出力するようになされている。排他
的論理和回路E2は、レジスタR1とレジスタR3の情
報ビットについて排他的論理和を計算し、値X2として
出力するようになされている。
【0006】レジスタR1に、1ビットの情報が入力さ
れると、レジスタR1に蓄積されていた情報ビットはレ
ジスタR2に、レジスタR2に蓄積されていた情報ビッ
トはレジスタR3に、それぞれシフトするようになされ
ている。
【0007】いま、レジスタR1に蓄積されている情報
ビットの値がaであり、レジスタR2に蓄積されている
情報ビットの値がbであるとき、レジスタR1に1ビッ
トの情報ビットが入力され、値X1と値X2が出力された
ものとする。
【0008】このときのレジスタR1乃至R3に蓄積さ
れる情報ビットの値は、それぞれ、入力された情報ビッ
トの値、値a、および値bである。従って、1ビットの
情報ビットが入力されたときの符号化装置1の状態数
は、(a,b)の組み合わせで決まる。すなわち、いまの
場合、(0,0),(0,1),(1,0),および(1,1)の4種類の状態
が存在する。一般に、レジスタの数がn個(拘束長が
n)であるときの状態数は、2^(n-1)(^はべき乗を示
す)で表すことができる。
【0009】図15は、符号化装置1に対応するトレリ
ス線図である。
【0010】図15には、符号化装置1の取り得る状態
が状態0乃至状態3で示されており、その各状態のとき
に入力される情報ビットに対応して出力される値X1と
値X2が(X1 X2)として示されている。また、情報ビッ
トとして0が入力されたときの状態遷移を実線で、1が入
力されたときの状態遷移を点線で、それぞれ示してあ
る。
【0011】例えば、状態0(a=b=0)のとき、情報
ビットとして0が入力されると、(0 0)(X1=0とX2=0)
が出力され、状態0に遷移する(状態は変わらない)。
また、状態0(a=b=0)のとき、情報ビットとして1が
入力されると、(1 1)(X1=1とX2=1)が出力され、状
態1に遷移する。
【0012】このようにして符号化されたデータは、ラ
ンダムエラーの訂正能力が優れており、例えば、ビタビ
復号により最も確からしいパスを決定して復号データに
変換することで信頼性の高いデータを取得することがで
きる。
【0013】ここで、ビタビ復号のより具体的な例を、
図16と図17を参照して説明する。
【0014】いま、符号化装置1の状態が初期値として
の状態0(a=b=0)にあるとき、(0,1,0,0)の順で情報
ビットが符号化装置1に入力されたものとする。また、
この直後に入力データの終わりを意味するためのデータ
(0,0)が符号化装置1に入力されたものとする。つま
り、いまの場合、(0,1,0,0,0,0)の順でデータが符号化
装置1に入力され、この入力に対する符号データ(00,1
1,10,11,00,00)が出力される。
【0015】この符号データに対し、第2ビット目と第
5ビット目にエラーが発生し、(01,11,00,11,00,00)の
データが伝送されてきたものとする。
【0016】図16は、このデータに対する3クロック
目までのトレリス線図を示している。
【0017】ビタビ復号においては、(0段、状態0)
で、第1クロックで(01)が伝送されたとき、その状態か
ら遷移可能な(1段、状態0)と(1段、状態1)につ
いて、確からしさを示す枝(ブランチ)メトリックを求
めた後、パスメトリックを計算する。具体的には、各パ
スについての符号語((00)と(11))と実際の符号語(01)
を成分ごとに比較したときの差の総和を示すハミング距
離を計算してこれらの処理を行う。
【0018】つまり、いまの場合、(0段、状態0)か
ら(1段、状態0)のパスについての枝メトリックは、
ハミング距離が1(符号語(00)と実際の符号語(01)を比
較すると、第1ビット目の差はなく、第2ビット目の差
が1であるので、0+1=1)であるため1となる。同様に、
(0段、状態0)から(1段、状態1)のパスについて
枝メトリックを求めると、1(=1+0)となる。このこと
と、(0段、状態0)のパスメトリックが0であること
から、(1段、状態0)と(1段、状態1)のパスメト
リックは、共に1(=0+1)となる。
【0019】次に、第2クロックで、(11)が伝送された
とき、各状態((1段、状態0)と(1段、状態1))
から遷移可能な状態へのパスメトリックを求める。つま
り、(1段、状態0)から(2段、状態0)への枝メト
リックは2(=1+1)であり、(1段、状態0)のパスメト
リックは1であるので、(2段、状態0)のパスメトリ
ックは、3(=1+2)となる。同様に、(2段、状態1)、
(2段、状態2)、および(2段、状態3)のパスメト
リックは、それぞれ、1,2,および2となる。
【0020】次に、第3クロックで、(00)が伝送された
ときも、第3段の各状態について、パスメトリックを求
めるが、第3段の各状態には、それぞれ、2つの状態か
らの遷移が考えられる。そこで、いまの場合には、パス
メトリックが小さい方のパスを選択するようにする。例
えば、(第3段、状態0)には(第2段、状態0)から
のパスと、(第2段、状態2)からのパスが存在する
が、(第2段、状態0)からのパスによるパスメトリッ
クを計算すると、3となり、(第2段、状態2)からの
パスによるパスメトリックを求めると4となる。従っ
て、(第2段、状態0)からのパスを生き残りパスとし
て選択するようにする。
【0021】このようにして、第6クロックまでの符号
語について、生き残りパスを求めたものを図17に示
す。
【0022】図17では、(00,00,00,00,00,00)と(00,1
1,10,11,00,00)の2つのパスが生き残りパスとして示さ
れている(入力データにデータの終了を意味する(0,0)
を入力したため、最後の状態は必ず状態0になる)。こ
こで、さらに、この2つのパスによる符号系列と実際の
符号系列についてのハミング距離を求め、小さい方のパ
スを1つ選択する。つまり、(00,00,00,00,00,00)と(0
1,11,00,11,00,00)とのハミング距離は5であり、(00,1
1,10,11,00,00)と(01,11,00,11,00,00)とのハミング距
離は2であるので、最終的な生き残りパスとして(00,11,
10,11,00,00)を選択する。この符号系列は、符号化装置
1の出力データと同じであり、エラーが除去された符号
系列となっている。
【0023】このようにして、伝送されてきた符号デー
タに含まれるエラーを訂正することができる。
【0024】実際に、このビタビ復号を行うためには、
例えば、図15に示したようなトレリス線図に対応する
構造を有する、生き残りパスを記憶させるためのパスメ
モリが必要である。
【0025】上述の例では、短い符号系列(00,11,10,1
1,00,00)の場合について説明したが、一般的な符号系列
はかなり長い。従って、ビタビ復号を厳密に行おうとす
る場合、符号系列が終了するまで生き残りパスを記憶し
ておく必要があるが、そのようにした場合、メモリセル
の数が膨大になるとともに、復号のための遅延時間も過
大となる。そこで、通常、パスメモリに所定の長さの最
新のパスを記憶しておき、新しいパスを書き込む直前
に、最も古いパスの入力時点における復号語データを決
定出力し、最も古いパスを捨てるようにする。
【0026】また、このパスメモリに記憶する生き残り
パスの情報を用いてビタビ復号を行う場合、トレースバ
ック法とRE(Register Exchange)法との2通りの復号
方法がある。RE法は、トレースバック法に較べ、消費
電力は大きいが、復号速度は速い。そこで、復号を高速
に行うためには、RE法が用いられる。
【0027】
【発明が解決しようとする課題】しかしながら、例え
ば、拘束長が7である畳み込み符号データの場合、状態
数は64となり、RE法によるパスメモリを実現しようと
すると、多くのゲートが必要となる。その結果、ゲート
を構成するCMOS LSIの消費電力が大きくなると
ともに、発生する熱が過大となるため、プラスチックパ
ッケージに入らないという問題を生じる。
【0028】そこで、比較的、消費電力が小さいトレー
スバック法を用いて、復号速度を高速にすることが考え
られる。例えば、生き残りパスを記憶するRAMを複数
のメモリバンクに分割し、生き残りパスの情報の書き込
みと、トレースバックによる復号とを、別個のメモリバ
ンクに対して並行して行うようにする。
【0029】しかしながら、このようにした場合におい
ても、復号速度は充分でなく、トレースバック法を用い
て、より高速な復号を実現することは困難である課題が
あった。
【0030】本発明はこのような状況に鑑みてなされた
ものであり、2つのRAMに対してインタリーブ動作を
行うことで、より高速に、復号を行うビタビ復号化装置
を実現するものである。
【0031】
【課題を解決するための手段】請求項1に記載のビタビ
復号化装置は、第1の位相のクロックと、第1の位相の
クロックとは位相が半周期異なる第2の位相のクロック
とを生成する生成手段と、第1の位相のクロックに対応
して生き残りパスの情報の1/2の情報を蓄積する第1の
蓄積手段と、第2の位相のクロックに対応して生き残り
パスの情報の1/2の情報を蓄積する第2の蓄積手段と、
分散して蓄積された生き残りパスの情報を、所定の順番
で抽出する抽出手段とを備えることを特徴とする。
【0032】請求項4に記載のビタビ復号化方法は、第
1の位相のクロックと、第1の位相のクロックとは位相
が半周期異なる第2の位相のクロックとを生成し、第1
の位相のクロックに対応して生き残りパスの情報の1/2
の情報を蓄積し、第2の位相のクロックに対応して生き
残りパスの情報の1/2の情報を蓄積し、分散して蓄積さ
れた生き残りパスの情報を、所定の順番で抽出すること
を特徴とする。
【0033】請求項1に記載のビタビ復号化装置におい
ては、生成手段が、第1の位相のクロックと、第1の位
相のクロックとは位相が半周期異なる第2の位相のクロ
ックとを生成し、第1の蓄積手段が、第1の位相のクロ
ックに対応して生き残りパスの情報の1/2の情報を蓄積
し、第2の蓄積手段が、第2の位相のクロックに対応し
て生き残りパスの情報の1/2の情報を蓄積し、抽出手段
が、分散して蓄積された生き残りパスの情報を、所定の
順番で抽出する。
【0034】請求項4に記載のビタビ復号化方法におい
ては、第1の位相のクロックと、第1の位相のクロック
とは位相が半周期異なる第2の位相のクロックとが生成
され、第1の位相のクロックに対応して生き残りパスの
情報の1/2の情報が蓄積され、第2の位相のクロックに
対応して生き残りパスの情報の1/2の情報が蓄積され、
分散して蓄積された生き残りパスの情報が、所定の順番
で抽出される。
【0035】
【発明の実施の形態】以下に本発明の実施例を説明する
が、特許請求の範囲に記載の各手段と以下の実施例との
対応関係を明かにするために、各手段の後の括弧内に、
対応する実施例(但し一例)を付加して本発明の特徴を
記述すると、次のようになる。但し、勿論この記載は、
各手段を記載したものに限定することを意味するもので
はない。
【0036】請求項1に記載のビタビ復号化装置は、パ
スメモリに蓄積された生き残りパスの情報をトレースバ
ックを行うことにより分析し、最尤復号データを生成す
るビタビ復号化装置において、第1の位相のクロック
と、第1の位相のクロックとは位相が半周期異なる第2
の位相のクロックとを生成する生成手段(例えば、図1
0の分周回路91)と、第1の位相のクロックに対応し
て生き残りパスの情報の1/2の情報を蓄積する第1の蓄
積手段(例えば、図4のRAM61−1)と、第2の位
相のクロックに対応して生き残りパスの情報の1/2の情
報を蓄積する第2の蓄積手段(例えば、図4のRAM6
1−2)と、第1の蓄積手段と第2の蓄積手段とに分散
して蓄積された生き残りパスの情報を、所定の順番で抽
出する抽出手段(例えば、図4のセレクタ62)とを備
えることを特徴とする。
【0037】図1は、拘束長7、符号化率1/2の畳み込
み符号を行う符号化装置11の一例の構成を示してい
る。
【0038】符号化装置11は、レジスタR11乃至レ
ジスタR17により構成される7ビットのシフトレジス
タと2つの排他的論理和回路(排他的論理和回路E11
と排他的論理和回路E12)とで構成されている。
【0039】排他的論理和回路E11は、レジスタR1
1、レジスタR13、レジスタR14、レジスタR1
6、およびレジスタR17の情報ビットについて排他的
論理和を計算し、2値信号の値Iとして出力するように
なされている。排他的論理和回路E12は、レジスタR
11乃至レジスタR14とレジスタR17の情報ビット
について排他的論理和を計算し、2値信号の値Qとして
出力するようになされている。
【0040】レジスタR11に、1ビットの情報が入力
されると、レジスタR11に蓄積されていた情報ビット
はレジスタR12にシフトするようになされている。同
様に、レジスタR12乃至レジスタR16に蓄積されて
いた情報ビットはレジスタR13乃至レジスタR17
に、それぞれシフトするようになされている。
【0041】値Iと値Qは、それぞれ、QPSK(Quadr
ature Phase Shift Keying)変調回路(図示せず)に入
力されるようになされている。
【0042】図2は、図1の符号化装置11で符号化さ
れたデータを復号する、本発明のビタビ復号化装置21
の一実施例の構成を示すブロック図である。
【0043】QPSK変調回路より伝送されてくるIチ
ャネル信号とQチャネル信号はビタビ復号化装置21の
BMC回路31に入力されるようになされている。
【0044】BMC回路31は、64(=2^(7-1))種類
の全状態について、1クロック前の状態から現状態に遷
移することができるパスの枝メトリックを計算し、AC
S(Add Compare Select)装置32に出力するようになさ
れている。
【0045】ACS装置32は、全状態に対応する64
個のACS回路(41−0乃至41−63)を内蔵して
おり、BMC回路31より入力される枝メトリックに1
クロック前の所定のパスメトリックを加えた現時点のパ
スメトリックのうち、小さい方のメトリックを現状態の
パスメトリックとした選択結果を各状態毎にパスメモリ
33に出力するようになされている。
【0046】パスメモリ33は、ACS装置32から入
力される64個の生き残りパスの情報を各状態に対応す
るメモリセルに記憶するとともに、トレースバックによ
り読み込んだ生き残りパスの情報を新しいものから古い
ものへとさかのぼり(トレースバック)、復号データを
出力するようになされている。生き残りパスの情報の書
き込みと、トレースバックによる生き残りパスの情報の
読み込みは、パスメモリ33を構成する2つのRAMを
用いたインタリーブ動作により行われるようになされて
いる。
【0047】図3は、ACS装置32に内蔵されている
ACS回路41−0の一実施例の構成を示すブロック図
である。図示は省略するが、他のACS回路(41−1
乃至41−63)も同様に構成されている。
【0048】加算回路51−01は、時刻(t-1)におけ
る状態のうち、ACS回路41−0に対応する状態に遷
移することができる所定の状態からの枝メトリックBM
1(t)(BMC回路31より入力される枝メトリック)
と、時刻(t-1)におけるその状態のパスメトリックPM
1(t-1)(所定のACS回路41−Lのフリップフロッ
プ54−Lより入力されるパスメトリック)とを加え、
比較回路52−0とセレクタ53−0に出力するように
なされている。
【0049】加算回路51−02は、時刻(t-1)におけ
る状態のうち、ACS回路41−0に対応する状態に遷
移することができる他の所定の状態からの枝メトリック
BM2(t)と、時刻(t-1)におけるその状態のパスメト
リックPM2(t-1)とを加え比較回路52−0とセレク
タ53−0に出力するようになされている。
【0050】比較回路52−0は、加算回路51−01
と加算回路51−02より入力されるメトリックを大小
比較し、比較結果をセレクタ53−0に出力するように
なされている。また、比較回路52−0は、比較結果を
生き残りパスの情報(図4のDin)として、パスメモリ
33の対応するメモリセルに出力するようになされてい
る。
【0051】セレクタ53−0は、比較回路52−0か
らの比較結果に基づき、加算回路51−01と加算回路
51−02より入力されるパスメトリックのうち、小さ
い方のパスメトリックを選択し、フリップフロップ54
−0に出力するようになされている。
【0052】フリップフロップ54−0は、マスタクロ
ックCKに対応して、所定のタイミング(1クロック遅
延させたタイミング)で、パスメトリックPM(t)を所
定のACS回路41−kの加算回路51−ki(i=1また
は2)に出力するようになされている。
【0053】図4は、パスメモリ33の一実施例の構成
を示すブロック図である。
【0054】ACS装置32(比較回路(52−0乃至
52−63))から入力される、図中、Dinで示される
生き残りパスの情報はマスタクロックに同期してRAM
61−1またはRAM61−2に供給されるようになさ
れている。また、RAM61−1とRAM61−2に対
する書き込みまたは読み出しの位置を指定するアドレス
としては、共通の信号が供給されるようになされてい
る。なお、ACS装置32からは、64個の状態に対応
する生き残りパスの情報(合計64ビットのデータ)
が、マスタクロックに同期してRAM61−1とRAM
61−2の各状態に対応するメモリセルに供給される
が、この図においては、便宜上、これを入力Dinとして
まとめ、1本の線で供給されるように表している。
【0055】RAM61−1とRAM61−2は、それ
ぞれ、6個のメモリバンクに分割されており、マスタク
ロックの1/2の周波数のクロックCK1とクロックCK
2に同期して、生き残りパスの情報の書き込み処理と、
トレースバックによる読み出し処理を、別個のメモリバ
ンクを用いて並行して行うようになされている(この点
については、図5を参照して後述する)。
【0056】RAM61−1とRAM61−2に供給さ
れるクロックCK1とクロックCK2は、互いに位相が
半周期異なるクロックである。従って、入力Din(生き
残りパスの情報)の書き込み処理とトレースバックによ
る読み込み処理は、それぞれ、RAM61−1のメモリ
バンクとRAM61−2の対応するメモリバンクにおい
て、交互に行われる(インタリーブされる)ようになさ
れている。
【0057】トレースバックにより読み出された生き残
りパスの情報は、所定のタイミングで、それぞれ、セレ
クタ62の端子Aと端子Bに入力されるようになされて
いる。セレクタ62は、端子Sより入力される選択信号
に対応して、端子Aと端子Bとから入力されるデータの
うち、いずれか一方のデータを選択して端子Xを介し、
出力するようになされている。この選択信号は、RAM
61−1のメモリバンクより読み出されたデータ(端子
Aより入力されるデータ)と、RAM61−2の対応す
るメモリバンクより読み出されたデータ(端子Bより入
力されるデータ)とを、交互に選択するマスタクロック
に同期した信号である。セレクタ62は、この信号に従
って入力データを選択することにより、データを適切な
順序で出力することができる。
【0058】図5は、RAM61−1を構成するメモリ
バンクとメモリバンクの状態の時間的な変化を示す図で
ある。なお、図示は省略するが、RAM61−2もRA
M61−1と同様に構成されている。また、図5に示す
メモリバンクは、Transaction Letters Architectual T
radeoffs For Survivor Sequence Memory Managementin
Viterbi Decoders Gennady Feygin and P.G.Guiak
P426を参考にして構成している。
【0059】図5に示すように、RAM61−1は、6
つのメモリバンク(BK0-1乃至BK5-1)から構成されてい
る。また、各メモリバンクは、状態数64に対応する幅
(64ビット)と、トレースバックを行う段数(トレー
スバック深さL)の1/4の大きさ(ハーフワード長:16
ビット)とで規定される容量を有するようになされてい
る。すなわち、パスメモリ33においては、後述するよ
うに、12個のメモリバンク(RAM61−1の6つの
メモリバンクとRAM61−2の対応する6つのメモリ
バンク)に書き込まれた生き残りパスの情報が用いられ
てビタビ復号が行われるようになされている。
【0060】図5の一番上に位置する6つのメモリバン
ク(BK0-1乃至BK5-1)は、時刻0におけるRAM61−
1を構成する各メモリバンクの状態を示している。すな
わち、メモリバンクBK0-1は、生き残りパスの情報の書
き込み処理が、メモリバンクBK1-1は、トレースバック
されたデータのうち、このメモリバンクに記憶されてい
た生き残りパス上のデータのデコード処理(dc)が、そ
れぞれ、時刻0より開始されることを示している。
【0061】同様に、メモリバンクBK2-1とメモリバン
クBK4-1は、未稼働の状態、すなわち、生き残りパスの
書き込み処理、トレースバック(読み出し処理)、また
はデコード処理のいずれの処理も行わない状態(idle)
を示しており、メモリバンクBK3-1とメモリバンクBK5-1
は、時刻0より、トレースバック(tb)が開始されるこ
とを示している。
【0062】いま、生き残りパスの情報をトレースバッ
ク深さLで示される範囲まで書き込むために要する時間
を周期Tで表すとすると、書き込みは、RAM61−1
とRAM61−2に、交互に行われるため、そのうちの
一方のRAM61−1における状態の変化を表す図5の
上から第2番目に示した6つのメモリバンクは、第1番
目に示した6つのメモリバンクの状態から半周期(T/2)
経過した状態を示している。同様に、図5の上から第3
番目乃至第8番目に示した、それぞれの6つのメモリバ
ンクは、上から第1番目に示した6つのメモリバンクの
状態から、それぞれ、T,(3T)/2,2T,(5T)/2,3T、ま
たは(7T)/2だけ経過した状態を示している。
【0063】また、各メモリバンク(BK0-1乃至BK5-1)
は、半周期(T/2)毎に、生き残りパスの情報の書き込
み、トレースバック(tb)、待ち状態(idle)、トレー
スバック(tb)、待ち状態(idle)、またはデコード
(dc)の順番で、繰り返し、処理が行われるようになさ
れている。
【0064】この図から判るように、例えば、メモリバ
ンクBK0-1とメモリバンクBK1-1の2つのメモリバンクに
ついて、時間的な処理の変化を追うと、時刻0で、この
2つのメモリバンクに対して、メモリバンクBK0-1,BK1-
1の順に、ACS装置32より供給された生き残りパス
の情報の書き込みが開始され、時刻Tで、書き込みが終
了するとともに、トレースバックが開始されて、メモリ
バンクBK1-1,BK0-1の順に、生き残りパスの情報が読み
出され、出力される。そして、時刻2Tで、トレースバ
ックが終了し、時刻(5T)/2で、メモリバンクBK0-1に記
憶されていた生き残りパス上のデータがデコードされ
る。
【0065】また、時刻(3T)/2において、メモリバン
クBK2-1への書き込みが完了するので、メモリバンクBK2
-1,BK1-1の順にトレースバックが行われ、時刻3Tで、
デコードが行われる。
【0066】このようにして、6つのメモリバンクのう
ちの4つ(この2つは順次変化する)について、生き残
りパスの情報の書き込み、トレースバック、またはデコ
ードが、順番に、繰り返し、実行されるようになされて
いる。
【0067】勿論、これらの動作は、クロックCK1ま
たはクロックCK2に対応してRAM61−1とRAM
61−2に対して交互に行われため、実際には、時刻0
で、2つのメモリバンク(RAM61−1のメモリバン
クBK0-1とRAM61−2のメモリバンクBK0-2)に対し
て、ACS装置32より供給された生き残りパスの情報
の書き込みが開始され、時刻Tで、書き込みが終了する
とともに、トレースバックが開始されて生き残りパスの
情報が読み出され、セレクタ62を介してMDL回路3
4に適切な順番で出力される。そして、時刻2Tで、ト
レースバックが終了し、時刻(5T)/2で、RAM61−
1のメモリバンクBK0-1とRAM61−2のメモリバン
クBK0-2に記憶されていた生き残りパス上のデータがM
DL回路34により、デコードされる。
【0068】これらの動作(書き込みと読み出し)が、
RAM61−1とRAM61−2の6つのメモリバンク
内で並行して、行われることにより、ビタビ復号を高速
に実行することができる。なお、上述の実施例では、R
AM61−1とRAM61−2は、それぞれ、6個のメ
モリバンクに分割されているとしたが、1つのRAMの
2個のメモリバンクに記憶された生き残りパスの情報を
基に、ビタビ復号を行うため、2の倍数の数のメモリバ
ンクで構成せれていればよい。
【0069】このようにして、上述の動作が、RAM6
1−1とRAM61−2に対して交互に行われるため、
例えば、1つのRAMを用いて図5に示す動作を行わせ
る場合と比較し、ほぼ、倍の速度でビタビ復号を行うこ
とがきる。
【0070】しかしながら、図5に示すように、このビ
タビ復号では、トレースバック深さLの書き込み終了直
後に、トレースバックが実行される。従って、通常のD
フリップフロップを用いてマスタクロックから、クロッ
クCK1とクロックCK2を生成すると、書き込みから
読み出しに移る時点でデータの読み出し順序が逆転して
しまう。このことについて、図6と図7を参照して説明
する。
【0071】例えば、図6に示すような構成の1/2分周
回路71により、マスタクロックから1/2の周波数のク
ロックを生成するものとする。
【0072】図6に示す1/2分周回路71においては、
マスタクロックCKがDフリップフロップ72の端子C
Kに、端子XQの出力が端子Dに、それぞれ入力される
ようになされている。そして、端子Qの出力が、クロッ
クCK1として、端子XQの出力がクロックCK2とし
て、それぞれ出力されるようになされている。
【0073】次に、図7のタイミングチャートを参照し
て、図6に示す1/2分周回路71を用いて生成したクロ
ックCK1とCK2を、図4のパスメモリ33のRAM
61−1とRAM61−2に供給した場合の動作につい
て説明する。
【0074】なお、生き残りパスの情報としての入力D
inは、本来、64ビットを有する入力データであるが、
この図7では、説明を簡単にするため、1ビットのデー
タ(N-5)乃至データNとして示してある。
【0075】マスタクロックCK(図7(A))を1/2
分周回路71の端子CKに供給すると、そのたち下がり
エッジのタイミングにおける端子D(XQ)の信号の論
理がラッチされ、端子Qより出力される。また、端子X
Qからは、端子Qと反対の論理の信号が出力される。こ
れにより、マスタクロックCKの1/2の周波数のクロッ
クCK1(図7(B))が、端子Qより出力される。ま
た、クロックCK1(図7(B))と位相が半周期異な
る(逆位相の)クロックCK2(図7(C))が、1/2
分周回路71の端子XQより出力される。このようにし
て生成されたクロックCK1とクロックCK2を図4の
RAM61−1とRAM61−2に、それぞれ供給す
る。
【0076】信号XWE(図7(E))がL(Low)レベ
ルの信号(書き込みモード)であるとき、RAM61−
1には、マスタクロックCK(図7(A))に同期して
供給される入力Din(図7(D))が、データ(N-5),(N
-3),(N-1)の順に、クロックCK1(図7(B))のた
ち下がりエッジのタイミングで、アドレス信号AD(図
7(H))に対応するメモリセルに書き込まれると同時
に、出力Dout1(図7(F))として読み出される。
【0077】同様に、信号XWEがL(Low)レベルの信
号であるとき、RAM61−2には、マスタクロックC
K(図7(A))に同期して供給される入力Din(図7
(D))が、データ(N-4),(N-2),Nの順に、クロックC
K2(図7(C))のたち下がりエッジのタイミング
で、アドレス信号AD(図7(H))に対応するメモリ
セルに書き込まれると同時に、出力Dout2(図7
(G))として読み出される。
【0078】信号XWE(図7(E))がH(High)レベ
ルの信号(読み出しモード)であるとき、RAM61−
1は、クロックCK1(図7(B))のたち下がりエッ
ジのタイミングで、アドレス信号AD(図7(H))に
対応するメモリセルに書き込まれているデータを、デー
タ(N-1),(N-3),(N-5)の順に、出力Dout1(図7
(F))として読み出す。
【0079】同様に、信号XWEがH(High)レベルの信
号であるとき、RAM61−2は、クロックCK2(図
7(C))のたち下がりエッジのタイミングで、アドレ
ス信号AD(図7(H))に対応するメモリセルに書き
込まれているデータを、データN,(N-2),(N-4)の順に、
出力Dout2(図7(G))として読み出す。この出力D
out1とDout2が、セレクタ62に入力され、所定のタイ
ミングで交互に出力信号Outとして出力される。
【0080】このように、マスタクロックCK(図7
(A))から生成したクロックCK1(図7(B))と
クロックCK2(図7(C))に同期して、RAM61
−1またはRAM61−2からデータDout1(図7
(F))とデータDout2(図7(G))を読み出し、セ
レクタ62で交互に選択すると、その順番は、データ(N
-1)、データN、データ(N-3)、データ(N-2)、データ(N-
5)の順となり、本来の順番(データN、データ(N-1)、デ
ータ(N-2)、データ(N-3)、データ(N-4)、データ(N-4))
からずれることになる。
【0081】トレースバックでは、64ビットの読み出し
データから1ビットを選択し、そのアドレス(状態)と
その1ビットデータとにより、1クロック前の状態を決
めるため、データの読み出し順序が適切でないと、ビタ
ビ復号が行えないことになる。
【0082】そこで、本実施例では、書き込みから読み
出しに切り替わる時点でマスタクロック1周期分のクロ
ックマスクを生成し、このクロックマスクを利用して、
クロックCK1とクロックCK2の位相を半周期分遅延
させるようにする。
【0083】図8は、書き込みから読み出しに切り替わ
る時点でマスタクロック1周期分のクロックマスクを生
成するクロックマスク生成回路81の一実施例を示す図
である。
【0084】Dフリップフロップ84の端子CKにマス
タクロックCKが入力され、端子DにXWE信号が入力
され、端子Qの出力はNOR回路83の一方の入力に供
給されるようになされている。また、XWE信号はNO
T回路82で反転された後、NOR回路83の他方の入
力に供給されている。そして、NOR回路83の出力が
クロックマスクMとして出力される。
【0085】ここで、図9のタイミングチャートを参照
して、クロックマスク生成回路81の動作について説明
する。
【0086】XWE信号(図9(B))は、NOT回路
82により反転され(図9(C))、NOR回路83に
入力される。Dフリップフロップ84は、マスタクロッ
クCK(図9(A))の立ち上がりエッジのタイミング
におけるXWE信号(図9(B))のレベルに対応した
信号(図9(D))を出力する。NOR回路83は、N
OT回路82の出力(図9(D))とDフリップフロッ
プ84の出力(図9(D))の否定論理和(図9
(E))を出力する。
【0087】図9から判るように、このクロックマスク
M(図9(E))は、書き込みから読み出しに切り替わ
るときに発生され、マスタクロックCK(図9(A))
の1周期分の信号となっている。
【0088】このクロックマスクを利用して、書き込み
から読み出しへ切り替わる時点で、クロックCK1また
はクロックCK2の位相を半周期分ずらすようにした分
周回路を図10に示す。
【0089】図10に示すイネーブル端子EN付きフリ
ップフロップ92は、書き込みから読み出しへ切り替わ
る時点で、EN端子にクロックマスクMをディセーブル
信号として印加することで、クロックCK1とクロック
CK2の位相を半周期分遅延させるようになされてい
る。
【0090】図11は、EN端子付きフリップフロップ
92の一実施例の構成を示す回路図である。
【0091】EN端子付きフリップフロップ92は、ク
リア端子CL、端子D、端子CK、および端子ENの4
つの入力端子と、端子Qと端子XQの2つの出力端子を
有しており、図10に示すように端子XQの出力が端子
Dに供給されている。
【0092】入力端子CKから入力されるマスタクロッ
クCKは、NOT回路101−1に供給されて反転さ
れ、その出力がクロックXCKIとして出力されるとと
もに、NOT回路101−2に供給され、さらに反転さ
れてマスタクロックCKと同じ波形を有するクロックC
KIとして出力されるようになされている。
【0093】入力端子ENから入力されるクロックマス
クMは、NOT回路101−3に供給されて反転され、
その出力がクロックマスクXENIとして出力されると
ともに、NOT回路101−4に供給され、さらに反転
されて、クロックマスクMと同じ波形を有するクロック
マスクENIとして出力されるようになされている。
【0094】クロックCKIは、スイッチ103−3の
負端子、スイッチ103−4の正端子、スイッチ103
−5の正端子、およびスイッチ103−6の負端子に、
それぞれ供給されるようになされている。また、クロッ
クXCKIは、スイッチ103−3の正端子、スイッチ
103−4の負端子、スイッチ103−5の負端子、お
よびスイッチ103−6の正端子に、それぞれ供給され
るようになされている。
【0095】クロックマスクENIは、スイッチ103
−1の負端子とスイッチ103−2の正端子に供給さ
れ、クロックマスクXENIは、スイッチ103−1の
正端子とスイッチ103−2の負端子に供給されるよう
になされている。
【0096】入力端子Dは、スイッチ103−1とスイ
ッチ103−3を介してNAND回路102−1の一方
の入力に接続されている。入力端子CLは、NAND回
路102−1の他方の入力に接続されるとともに、NA
ND回路102−2の一方の入力に接続されている。
【0097】NAND回路102−1の出力は、NOT
回路101−5とスイッチ103−4を介して、スイッ
チ103−3とNAND回路102−1の接続点に接続
されるとともに、スイッチ103−5を介してNOT回
路101−6の入力とNOT回路101−7の入力に接
続されている。
【0098】NOT回路101−6の出力は、NAND
回路102−2の他方の入力とNOT回路101−8の
入力に接続されるとともに、スイッチ103−2を介し
てスイッチ103−1とスイッチ103−3の接続点に
接続されている。NAND回路102−2の出力は、ス
イッチ103−6を介してスイッチ103−5とNOT
回路101−6の接続点に接続されている。
【0099】NOT回路101−7の出力は、EN端子
付きフリップフロップ92の出力端子Qに、NOT回路
101−8の出力は、EN端子付きフリップフロップ9
2の出力端子XQに、それぞれ、接続されている。
【0100】スイッチ103−1乃至103−6は、正
端子にH(High)レベルの信号が供給され、負端子にL(L
ow)レベルの信号が供給された場合にONし、逆の場合
にOFFするようになされている。例えば、信号CKI
がH(High)の場合、信号XCKIはL(Low)であり、こ
のとき、スイッチ103−5はONとなり、NAND回
路102−1の出力をNOT回路101−6とNOT回
路101−7に入力することができる。
【0101】図11に示すEN端子付きフリップフロッ
プ92においては、スイッチ103−3とスイッチ10
3−6は、クロックCKIがLのときONになり、スイ
ッチ103−4とスイッチ103−5は、クロックXC
KIがLのとき(クロックCKIがHのとき)ONにな
る。つまり、クロックCKIの半周期毎に、これらの組
み合わせのスイッチが、交互に、ONの状態になる。
【0102】従って、スイッチ103−3とスイッチ1
03−6がONであるとき(クロックCKIがLである
とき)、NAND回路102−2の出力値により、出力
端子Qと出力端子XQの出力が決定し、スイッチ103
−4とスイッチ103−5がONであるとき(クロック
CKIがHであるとき)、NAND回路102−1の出
力値により、出力端子Qと出力端子XQの出力が決定す
る。
【0103】また、分周回路91においては、端子XQ
の出力が端子Dに入力されるため、クロックCKIがL
であるとき端子XQからの出力がNAND回路102−
1に供給されることになる。従って、書き込み処理から
読み出し処理に切り替わる時点において、スイッチ10
3−1とスイッチ103−2を用いることにより、端子
XQからの出力値の反転値を、NAND回路102−1
に供給するようにする。この動作により、書き込み処理
から読み出し処理に切り替わる時点において、クロック
CKとクロックCK2を半周期分、遅延させることがで
きる。
【0104】ここで、図12のタイミングチャートを参
照して、EN端子付きフリップフロップ92に、マスタ
クロックCKとクロックマスクMを供給した場合の動作
について説明する。
【0105】最初に、書き込み処理から読み出し処理に
切り替わる時刻(t6)よりマスタクロックCKIの2ク
ロック前のさらに前の時刻t1の状態を考える。
【0106】時刻t1で、クロックCKI(図12
(A))がL、端子Qの出力(図12(D))がL、マ
スタクロックM(図12(F))がL、および端子XQ
の出力(図12(E))がHであるとする。いまの場
合、スイッチ103−3とスイッチ103−6はONで
あり、スイッチ103−4とスイッチ103−5はOF
Fである。また、スイッチ103−1はONであり、ス
イッチ103−2はOFFである。従って、NAND回
路102−1には、端子XQ(図12(E))のHとク
リア信号CLの通常の出力(図12(G))であるHが
供給され、その出力(図12(B))はLとなる。
【0107】また、端子XQの出力(図12(E))は
Hであるため、NAND回路102−2には、クリア信
号(図12(G))のHとNOT回路101−6のLが
供給されていることになり、その出力(図12(C))
はHとなる。この出力(図12(C))が、スイッチ1
03−6とNOT回路101−7を介して端子Qに供給
されるとともに、スイッチ103−6、NOT回路10
1−6、およびNOT回路101−8を介して端子XQ
に供給される。すなわち、端子Qの出力と端子XQの出
力は、NAND回路102−2より供給された信号の結
果のものであり、それぞれ、L(図12(D))とH
(図12(E))となる。
【0108】時刻t2で、クロックCKI(図12
(A))がHになると、スイッチ103−4とスイッチ
103−5はONとなり、スイッチ103−3とスイッ
チ103−6はOFFとなる。従って、NAND回路1
02−1の出力(図12(B))Lが、スイッチ103
−5とNOT回路101−7を介して端子Qに供給され
るとともに、スイッチ103−5、NOT回路101−
6、およびNOT回路101−8を介して端子XQに供
給される。すなわち、いまの場合、端子Qの出力(図1
2(D))はHとなり、端子XQの出力(図12
(E))はLとなる。また、NAND回路102−2に
は、クリア信号(図12(G))のHと、スイッチ10
3−5およびNOT回路101−6を介してHが供給さ
れ、その出力(図12(C))はLとなる。
【0109】NAND回路102−1には、NOT回路
101−5とスイッチ103−4を介して、NAND回
路102−1の出力(図12(B))Lを反転したH
と、CL端子の出力(図12(G))Hが供給されるた
め、その出力(図12(B))は、Lとなる。すなわ
ち、端子Qの出力と端子XQの出力は、NAND回路1
02−1より供給された信号の結果のものであり、それ
ぞれ、H(図12(D))とL(図12(E))とな
る。
【0110】時刻t3で、クロックCKI(図12
(A))がLになると、スイッチ103−3とスイッチ
103−6はONとなる。従って、NAND回路102
−1には、端子XQの出力(図12(E))のLとクリ
ア信号CLの出力(図12(G))であるHが供給さ
れ、その出力(図12(B))はHに変化する。
【0111】また、端子XQの出力(図12(E))は
Lであるため、NAND回路102−2には、クリア信
号(図12(G))のHとNOT回路101−6のHが
供給され、その出力(図12(C))はLとなる。すな
わち、端子Qの出力と端子XQの出力は、NAND回路
102−2より供給された信号の結果のものであり、そ
れぞれ、H(図12(D))とL(図12(E))とな
る。
【0112】時刻t4で、クロックCKI(図12
(A))がHになると、スイッチ103−4とスイッチ
103−5はONとなる。従って、NAND回路102
−1の出力(図12(B))Hにより、端子Qの出力と
端子XQの出力が決定される。すなわち、いまの場合、
端子Qの出力(図12(D))はLとなり、端子XQの
出力(図12(E))はHとなる。また、NAND回路
102−2には、クリア信号(図12(G))のHの
他、NOT回路101−6のLが供給され、その出力
(図12(C))はHとなる。
【0113】時刻t5で、クロックCKI(図12
(A))がLになると、スイッチ103−3とスイッチ
103−6はONとなる。従って、NAND回路102
−1には、端子XQの出力(図12(E))のHとクリ
ア信号CL出力(図12(G))であるHが供給され、
その出力(図12(B))はLとなる。
【0114】また、端子XQの出力(図12(E))は
Hであるため、NAND回路102−2には、クリア信
号(図12(G))のHとNOT回路101−6のLが
供給され、その出力(図12(C))はHとなる。すな
わち、いまの場合、端子Qの出力(図12(D))はL
となり、端子XQの出力(図12(E))はHとなる。
【0115】時刻t6で、クロックCKI(図12
(A))がHになると、スイッチ103−4とスイッチ
103−5はONとなる。従って、NAND回路102
−1の出力(図12(B))Lにより、端子Qの出力と
端子XQの出力が決定される。すなわち、いまの場合、
端子Qの出力(図12(D))はHとなり、端子XQの
出力(図12(E))はLとなる。また、NAND回路
102−2には、クリア信号(図12(G))のHの
他、NOT回路101−6のHが供給され、その出力
(図12(C))はLとなる。
【0116】また、時刻t6において、クロックマスク
M(ENI)がHになると、スイッチ103−1がOF
Fとなり、スイッチ103−2がONとなる。その結
果、以後、NOT回路101−6の出力が、スイッチ1
03−2を介してスイッチ103−3に供給されるよう
になる。
【0117】時刻t7で、クロックCKI(図12
(A))がLになると、スイッチ103−3とスイッチ
103−6はONとなる。また、このとき、クロックマ
スクMがHであるため、スイッチ103−1がOFFで
あり、スイッチ103−2がONである。従って、NA
ND回路102−1には、NAND回路102−2の出
力(図12(C))をNOT回路101−6で反転した
値、つまり、Hが供給されることになる。従って、NA
ND回路102−1には、NOT回路101−6の出力
値(図12(C))Hとクリア信号CLの出力(図12
(G))であるHが供給され、その出力(図12
(B))はLとなる。
【0118】また、端子XQの出力(図12(E))は
Lであるため、NAND回路102−2には、クリア信
号(図12(G))のHとNOT回路101−6のHが
供給され、その出力(図12(C))はLとなる。すな
わち、いまの場合、端子Qの出力(図12(D))はH
となり、端子XQの出力(図12(E))はLとなる。
【0119】時刻t8で、クロックCKI(図12
(A))がHになると、スイッチ103−4とスイッチ
103−5はONとなる。従って、NAND回路102
−1の出力(図12(B))Lにより、端子Qの出力と
端子XQの出力が決定される。すなわち、いまの場合、
端子Qの出力(図12(D))はHとなり、端子XQの
出力(図12(E))はLとなる。また、NAND回路
102−2には、クリア信号(図12(G))のHの
他、NOT回路101−6のHが供給され、その出力
(図12(C))はLとなる。
【0120】時刻t9で、クロックCKI(図12
(A))がLになると、スイッチ103−3とスイッチ
103−6はONとなる。また、このとき、クロックマ
スクMがLとなっているため、スイッチ103−1がO
Nである。従って、NAND回路102−1には、端子
XQの出力値(図12(E))Lが供給されることにな
る。これにより、NAND回路102−1には、端子X
QのLとクリア信号CLの出力(図12(G))である
Hが供給され、その出力(図12(B))はHとなる。
【0121】また、端子XQの出力(図12(E))は
Lであるため、NAND回路102−2には、クリア信
号(図12(G))のHとNOT回路101−6のHが
供給され、その出力(図12(C))はLとなる。すな
わち、いまの場合、端子Qの出力(図12(D))はH
となり、端子XQの出力(図12(E))はLとなる。
【0122】時刻t10で、クロックCKI(図12
(A))がHになると、スイッチ103−4とスイッチ
103−5はONとなる。従って、NAND回路102
−1の出力(図12(B))Hにより、端子Qの出力と
端子XQの出力が決定される。すなわち、いまの場合、
端子Qの出力(図12(D))はLとなり、端子XQの
出力(図12(E))はHとなる。また、NAND回路
102−2には、クリア信号(図12(G))のHの
他、NOT回路101−6のLが供給され、その出力
(図12(C))はHとなる。
【0123】このようにして、EN端子付きフリップフ
ロップ92に、マスタクロックCK(図12(A))と
クロックマスクM(図12(F))を供給することによ
り、時刻t6で、半周期分、遅延させたクロックCK1
(図12(D))とクロックCK2(図12(E))を
生成することができる。
【0124】以上のようにして、生成されたクロックC
K1とクロクCK2を、それぞれ、図4のRAM61−
1とRAM61−2に供給した場合の動作について、図
13のタイミングチャートを参照して説明する。
【0125】RAM61−1とRAM61−2は、それ
ぞれ、クロックCK1(図13(B))とクロックCK
2(図13(C))のたち下がりエッジで動作するの
で、これに同期して、図13のDout1(図13(F))
とDout2(図13(G))が出力される。この出力デー
タが、マスタクロックCK(図13(A))に同期し
て、交互にセレクタ62により選択されると、書き込み
から読み出しに切り替わり時点におけるデータの順番
は、データ(N-5)、データ(N-4)、データ(N-3)、データ
(N-2)、データ(N-1)、データN、データ(N-1)、データ(N
-2)、データ(N-3)、データ(N-4)となっており、適切な
順番で書き込みから読み出しに切り替わっている。
【0126】このようにして、生き残りパスの情報の書
き込み処理と読み込み処理とが切り替わる時点において
は、クロックCK1とクロックCK2の位相について、
半周期分の遅延を発生させるため、適切な順番でデータ
を処理することができる。
【0127】以上のようにして、2つのRAM(RAM
61−1とRAM61−2)に対し、交互に、生き残り
パスの情報の書き込みや読み出し処理を行うため、1つ
のRAMを用いる場合と比較し、ほぼ倍の速度でビタビ
復号を行うことができる。
【0128】なお、上記実施例においては、符号化デー
タは拘束長7、符号化率1/2としたが、本発明は、種々
の符号化データに適用することが可能である。また、イ
ンタリーブ動作させるRAMとして2つのRAMを用い
るようにしたが、それ以上のRAMを用いるようにして
もよい。
【0129】
【発明の効果】以上のように請求項1に記載のビタビ復
号化装置および請求項4に記載のビタビ復号化方法によ
れば、第1の位相のクロックと、第1の位相のクロック
とは位相が半周期異なる第2の位相のクロックとを生成
し、第1の位相のクロックに対応して生き残りパスの情
報の1/2の情報を蓄積し、第2の位相のクロックに対応
して生き残りパスの情報の1/2の情報を蓄積し、分散し
て蓄積された生き残りパスの情報を、所定の順番で抽出
するするようにしたので、トレースバック法を用いた高
速ビタビ復号を実現することができる。
【図面の簡単な説明】
【図1】拘束長7、符号化率1/2の畳み込み符号を行う
符号装置11の一例の構成を示す図である。
【図2】本発明のビタビ復号化装置21の一実施例の構
成を示すブロック図である。
【図3】ACS装置32に内蔵されているACS回路4
1−0の一実施例の構成を示すブロック図である。
【図4】パスメモリ33の一実施例の構成を示すブロッ
ク図である。
【図5】RAM61−1を構成するメモリバンクとその
状態の時間的変化を説明する図である。
【図6】1/2分周回路71の一例の構成を示す図であ
る。
【図7】1/2分周回路71により生成されたクロックC
K1とクロックCK2を、それぞれ、図4のRAM61
−1とRAM61−2に供給したときのタイミングチャ
ートを示す図である。
【図8】クロックマスク信号を生成するクロックマスク
生成回路81の一実施例の構成を示す図である。
【図9】図8のクロックマスク生成回路81が生成する
クロックマスクのタイミングチャートを示す図である。
【図10】分周回路91の一実施例の構成を示す図であ
る。
【図11】EN端子付きフリップフロップ92の一実施
例の構成を示す論理回路図である。
【図12】クロックマスクMとマスタクロックCKを、
分周回路91に供給した場合のタイミングチャートを示
す図である。
【図13】分周回路91の出力をRAM61−1とRA
M61−2に供給した場合のタイミングチャートを示す
図である。
【図14】拘束長3、符号化率1/2の畳み込み符号を行
う符号装置1の一例の構成を示す図である。
【図15】図14の符号装置1に対応するトレリス線図
である。
【図16】図15のトレリス線図を用いてビタビ復号の
原理を説明する第1の図である。
【図17】図15のトレリス線図を用いてビタビ復号の
原理を説明する第2の図である。
【符号の説明】
R1乃至R3,R11乃至R17 レジスタ, E1,
E2,E11,E12排他的論理和回路, 1 符号装
置, 11 符号装置, 21 ビタビ復号化装置,
31 BMC回路, 32 ACS装置, 33 パス
メモリ, 41−0 ACS回路, 51−01,51
−02 加算回路, 52−0 比較回路, 53−0
セレクタ, 54−0 フリップフロップ, 61−
1,61−2 RAM, 62 セレクタ, 71 1/
2分周回路, 72 Dフリップフロップ, 81 ク
ロックマスク生成回路, 82 NOT回路, 83N
OR回路, 84 Dフリップフロップ, 91 分周
回路, 92 EN端子付きフリップフロップ, 10
1−1乃至101−8 NOT回路, 102−1,1
02−2 NAND回路, 103−1乃至103ー6
スイッチ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 パスメモリに蓄積された生き残りパスの
    情報をトレースバックを行うことにより分析し、最尤復
    号データを生成するビタビ復号化装置において、 第1の位相のクロックと、前記第1の位相のクロックと
    は位相が半周期異なる第2の位相のクロックとを生成す
    る生成手段と、 前記第1の位相のクロックに対応して前記生き残りパス
    の情報の1/2の情報を蓄積する第1の蓄積手段と、 前記第2の位相のクロックに対応して前記生き残りパス
    の情報の1/2の情報を蓄積する第2の蓄積手段と、 前記第1の蓄積手段と前記第2の蓄積手段とに分散して
    蓄積された前記生き残りパスの情報を、所定の順番で抽
    出する抽出手段とを備えることを特徴とするビタビ復号
    化装置。
  2. 【請求項2】 前記生き残りパスの情報は、所定の数の
    メモリバンクに分割された前記第1の蓄積手段と前記第
    2の蓄積手段に蓄積されることを特徴とする請求項1に
    記載のビタビ復号化装置。
  3. 【請求項3】 前記生成手段は、前記トレースバックの
    開始時に、前記第1の位相のクロックと前記第2の位相
    のクロックを、1/2クロック分遅延させることを特徴と
    する請求項1に記載のビタビ復号化装置。
  4. 【請求項4】 パスメモリに蓄積された生き残りパスの
    情報をトレースバックを行うことにより分析し、最尤復
    号データを生成するビタビ復号化方法において、 第1の位相のクロックと、前記第1の位相のクロックと
    は位相が半周期異なる第2の位相のクロックとを生成
    し、 前記第1の位相のクロックに対応して前記生き残りパス
    の情報の1/2の情報を蓄積し、 前記第2の位相のクロックに対応して前記生き残りパス
    の情報の1/2の情報を蓄積し、 分散して蓄積された前記生き残りパスの情報を、所定の
    順番で抽出することを特徴とするビタビ復号化方法。
JP8073847A 1996-03-28 1996-03-28 ビタビ復号化装置およびビタビ復号化方法 Pending JPH09266448A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP8073847A JPH09266448A (ja) 1996-03-28 1996-03-28 ビタビ復号化装置およびビタビ復号化方法
US08/822,501 US5878060A (en) 1996-03-28 1997-03-24 Viterbi decoding apparatus and viterbe decoding method
EP97302112A EP0798867A3 (en) 1996-03-28 1997-03-26 Viterbi decoding
KR1019970012141A KR970068192A (ko) 1996-03-28 1997-03-28 비터비 복호화 장치 및 비터비 복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8073847A JPH09266448A (ja) 1996-03-28 1996-03-28 ビタビ復号化装置およびビタビ復号化方法

Publications (1)

Publication Number Publication Date
JPH09266448A true JPH09266448A (ja) 1997-10-07

Family

ID=13529957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8073847A Pending JPH09266448A (ja) 1996-03-28 1996-03-28 ビタビ復号化装置およびビタビ復号化方法

Country Status (4)

Country Link
US (1) US5878060A (ja)
EP (1) EP0798867A3 (ja)
JP (1) JPH09266448A (ja)
KR (1) KR970068192A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100584530B1 (ko) * 1998-10-01 2006-09-22 삼성전자주식회사 고배속 비터비 검출기

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3747604B2 (ja) * 1997-12-19 2006-02-22 ソニー株式会社 ビタビ復号装置
JP3900637B2 (ja) * 1997-12-19 2007-04-04 ソニー株式会社 ビタビ復号装置
JP3196835B2 (ja) * 1998-07-17 2001-08-06 日本電気株式会社 ビタビ復号法及びビタビ復号器
KR100510640B1 (ko) * 2000-03-09 2005-08-31 엘지전자 주식회사 비터비 디코더의 트래이스 백 장치
US6714599B1 (en) * 2000-09-29 2004-03-30 Qualcomm, Incorporated Method and apparatus for efficient processing of signal in a communication system
KR100532283B1 (ko) * 2002-11-15 2005-11-29 삼성전자주식회사 비터비 복호기의 가산비교선택 연산 장치 및 방법
DE102004038754A1 (de) * 2004-08-09 2006-02-23 Micronas Gmbh Decoder und Verfahren zum Durchführen eines Viterbi-Algorithmus
US8379851B2 (en) * 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
CN102376364A (zh) * 2010-08-23 2012-03-14 联咏科技股份有限公司 维特比译码器及写入与读取方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430768A (en) * 1994-09-21 1995-07-04 Seagate Technology, Inc. Maximum likelihood detector for a disc drive PRML read channel

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100584530B1 (ko) * 1998-10-01 2006-09-22 삼성전자주식회사 고배속 비터비 검출기

Also Published As

Publication number Publication date
US5878060A (en) 1999-03-02
EP0798867A3 (en) 2000-09-27
EP0798867A2 (en) 1997-10-01
KR970068192A (ko) 1997-10-13

Similar Documents

Publication Publication Date Title
JP2996615B2 (ja) ビタビ復号装置及びその方法
JPH09266448A (ja) ビタビ復号化装置およびビタビ復号化方法
RU2002113295A (ru) Высокоскоростной модуль сложения /сравнения/ выбора для декодера витерби
JP2000209106A (ja) 高速ビタビ復号器の最小量のメモリによる実現
WO2005011129A1 (ja) ビタビ復号器
JP2000036762A (ja) ビタビ復号法及びビタビ復号器
US8566683B2 (en) Power-reduced preliminary decoded bits in viterbi decoders
KR100437697B1 (ko) 다수준 격자부호변조방식의 복호 방법 및 장치
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
TW486883B (en) Viterbi decoder and viterbi decoding method
JPH09232972A (ja) ビタビ復号器
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
JP4580927B2 (ja) ビタビ復号装置、およびビタビ復号方法
US6304617B1 (en) Viterbi decoder
US7225393B2 (en) Viterbi decoder and Viterbi decoding method
JP3753822B2 (ja) ビタビ復号方法および装置
EP1024603A2 (en) Method and apparatus to increase the speed of Viterbi decoding
US7231586B2 (en) Multi-rate viterbi decoder
US5473634A (en) Signal converter and communication system
JP3235333B2 (ja) ビタビ復号方法およびビタビ復号化装置
JP2575854B2 (ja) ビタビ復号回路
JPH0361375B2 (ja)
JPH02170726A (ja) ビタビ復号回路
KR0169679B1 (ko) 비터비 복호기
JPH09247002A (ja) ビタビ復号化装置およびビタビ復号化方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050301