JPH0738449A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH0738449A
JPH0738449A JP6062653A JP6265394A JPH0738449A JP H0738449 A JPH0738449 A JP H0738449A JP 6062653 A JP6062653 A JP 6062653A JP 6265394 A JP6265394 A JP 6265394A JP H0738449 A JPH0738449 A JP H0738449A
Authority
JP
Japan
Prior art keywords
data
path
register
addition
memory
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.)
Granted
Application number
JP6062653A
Other languages
English (en)
Other versions
JP3250363B2 (ja
Inventor
Hidetoshi Suzuki
秀俊 鈴木
Toshihiro Ishikawa
利広 石川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP06265394A priority Critical patent/JP3250363B2/ja
Priority to US08/382,576 priority patent/US5517439A/en
Priority to GB9502358A priority patent/GB2286471B/en
Publication of JPH0738449A publication Critical patent/JPH0738449A/ja
Priority to DE19504864A priority patent/DE19504864C2/de
Application granted granted Critical
Publication of JP3250363B2 publication Critical patent/JP3250363B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Dc Digital Transmission (AREA)

Abstract

(57)【要約】 【目的】 DSPを用いてビタビ復号を行う際に、パス
選択信号の記憶とパスメトリックの選択を効率的に行
う。 【構成】 メモリ1にnビットの累積計量データ及び生
き残りパスの選択データを記憶する。メモリ2に受信系
列の値に対して各パスがとるハミング距離のnビットの
データを記憶する。算術論理演算回路5はある1つのパ
スにおける累積計量及びハミング距離の第1の加算、並
びに他の1つのパスにおける累積計量及びハミング距離
の第2の加算を行い、加算結果の減算を行う。算術論理
演算回路5による加算結果を第1、第2のレジスタ6、
7に一時記憶する。算術論理演算回路5により第1、第
2の加算結果の減算を行って得られたパスの選択データ
のnビット分をシフトレジスタ9に一時的に記憶する。
マルチプレクサ10により選択データの符号に応じて第
1又は第2の加算結果のいずれかを新たな累積計量とし
てメモリ1に出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、誤り訂正用畳み込み符
号のビタビ復号(Viterbi decoding)
を行うディジタル信号処理プロセッサ内部の演算装置に
関するものである。
【0002】
【従来の技術】近年、ディジタル信号処理プロセッサ
(以下、DSPと略称する)は、移動体通信分野へのデ
ィジタルシステム導入の動きに合わせて、携帯電話等へ
の機器組み込み用途のプロセッサとして注目されてい
る。このようなディジタル移動通信用音声符号化装置を
実現するためのDSPにおいては、音声の符号化処理等
の演算のほかに、誤り訂正処理を行う必要がある。誤り
訂正の手法にはビタビ復号を使用するものがある。
【0003】ビタビアルゴリズムは、加算、比較、選択
という単純な処理の繰り返しで畳込み符号の最尤復号
(maximal likelihood decod
ing)を実現するものである。このビタビ復号では、
情報ビット1ビットに対応する符号化データ(受信系
列)を得るごとに、その時点での各状態の生き残りパス
の累積計量(以下、パスメトリックと称する)を計算
し、更新する。
【0004】図3は拘束長Kの畳込み符号器において、
ある時点における状態S2m(mは正整数)と状態S2m+
1に対し、一つ前の状態Smと状態S(m+2)k-2からそれ
ぞれ状態遷移を表す2本のパスが伸びている様子を示し
ている。A2m、B2mは状態S2mに入力するパスの出力シ
ンボルと受信系列とのハミング距離(以下、ブランチメ
トリックと称する)である。C2m+1、D2m+1は状態S
2m+1に入力するパスのブランチメトリックである。パ
スの選択は、以下のようにして行われる。
【0005】あらかじめ計算された各ブランチメトリッ
クの値と、一つ前の時点の生き残りパスのパスメトリッ
クの値をそれぞれ加えることにより、各パスの総合のメ
トリックを算出する。状態S2mに入力する2本のパスの
パスメトリックを比較し、ハミング距離の合計が小さい
パスを残し、他は捨てる。ビタビアルゴリズムによる畳
み込み符号の復号は、以上のように、ブランチメトリッ
クと1つ前の時点までの入力に対するパスメトリックと
の加算、加算結果の比較、最適パスの選択、という加
算、比較、選択演算及びパスメトリックの記憶を、各時
系列ごとに2k-1個の状態に対して行う必要がある。
【0006】以下、従来のビタビ復号を行う演算装置の
一例について図4に示す概略ブロック図を参照しながら
説明する。
【0007】図4において、101はメモリであり、プ
ロセッサの命令語やビタビ復号における各状態のパスの
メトリック(累積計量)、情報ビット1ビットに対応す
る符号化データ(受信系列)の値に対して各パスがとる
ブランチメトリックの値のテーブル、各状態における生
き残りパスの選択結果などを記憶する。102はメモリ
101に接続され、データの供給や演算結果の格納等を
行うバス、103は算術論理演算を行う算術論理演算回
路、104と105は算術論理演算回路103の左側入
力の値と右側入力の値をそれぞれ一時記憶するラッチ回
路、106と107はそれぞれ演算結果を一時記憶する
レジスタである。
【0008】以上のように構成された演算装置におい
て、1つの受信系列に対してビタビ復号の加算、比較、
選択演算により、図3の状態S2mにおけるパスメトリッ
クを更新する動作とパス選択信号の記憶の動作につい
て、以下のような6つのステップに分けて説明する。 (1)パスメトリックとブランチメトリックの第1の加
算ステップ 図3に示した状態Smにおけるパスメトリックの値をメ
モリ101からバス102を介してラッチ回路104に
格納し、ブランチメトリックA2mの値を同様にメモリ1
01からバス102を介してラッチ回路105に格納す
る。算術論理演算回路103はラッチ回路104と10
5の内容の加算を行い、レジスタ106に格納する。 (2)パスメトリックとブランチメトリックの第2の加
算ステップ 図3に示した状態S(m+2)k-2におけるパスメトリック
の値をメモリ101からバス102を介してラッチ回路
104に格納し、ブランチトリックB2mの値を同様にメ
モリ101からバス102を介してラッチ回路105に
格納する。算術論理演算回路103はラッチ回路104
と105の内容の加算を行い、レジスタ107に格納す
る。 (3)2個の加算結果の減算(大小比較)ステップ レジスタ106と107の内容をそれぞれラッチ回路1
04と105に格納する。算術論理演算回路103はラ
ッチ回路104と105の演算を行う。減算結果は格納
しない。 (4)減算結果の符号判定(選択)ステップ 制御部(図示せず)は上記ステップ(3)の減算結果の
符号を判定し、以下の(5)、(6)のステップのプロ
グラム制御(分岐)を行う。 (5)小であると判定された加算結果の格納(パスメト
リックの更新)ステップ 上記ステップ(4)の結果により上記ステップ(3)の
減算結果が負であれば、レジスタ106の内容をメモリ
101に格納する。上記ステップ(3)の減算結果が正
であれば、レジスタ107の内容をメモリ101に格納
する。(6)バス選択信号の記憶ステップ 上記ステップ(4)の結果により上記ステップ(3)の
減算結果が負であれば、値′0′をメモリ101に格納
する。ステップ(3)の減算結果が正であれば、値′
1′をメモリ101に格納する。
【0009】以上の6ステップを2k-1回繰り返して全
状態のパスメトリックを更新する。このように上記従来
の演算装置では、算術論理演算回路103において、ビ
タビ復号における加算と比較を行い、この比較結果によ
ってプログラム制御を行うことにより、ビタビ復号処理
を行うことができる。
【0010】以下、引き放し法を用い、所定の複数ビッ
トであるnビットのデータをnビットのデータで除算す
る従来の演算装置(例えば、DSP56116Digi
tal Signal Processor Use
r′s Manual,MOTOROLA INC、1
990)について図5に示す概略ブロック図を参照しな
がら説明する。
【0011】図5において、201はnのビット長を持
つレジスタであり、除数を保持している。202は2n
のビット長を持つレジスタであり、上位のnビットに0
を保持し、下位のnビットに被除数を保持している。2
03はレジスタ202のデータ1を1ビット左シフトす
るシフタであり、シフト時、最下位ビットには最初0が
挿入され、以降、後述する算術論理演算回路204での
一つ前の演算結果の正負の信号を反転させたものが挿入
される。つまり、一つ前の演算結果が非負であれば、1
を挿入する。一方、一つ前の演算結果が負であれば、0
を挿入する。上位nビットは算術論理演算回路204に
出力する。下位nビットはレジスタ202の下位に出力
する。算術論理演算回路204はレジスタ201および
シフタ203に接続され、nのビット長を持ち、レジス
タ202の正負を示す信号に従って加算、若しくは減算
を行う。すなわち、レジスタ202の保持するデータが
負であれば加算を行い、レジスタ202の保持するデー
タが非負であれば減算を行い、演算結果をレジスタ20
2の上位nビットに出力する。
【0012】以上のように構成された演算装置におい
て、以下、その除算動作について説明する。 (1)レジスタ202の保持するデータの正負を判定す
る。 (2)レジスタ202の保持するデータをシフタ203
で1ビット左にシフトする。このとき、最下位ビットに
は最初0が挿入され、以降、演算結果の正負の信号を反
転させたものが挿入される。つまり、一つ前の算術論理
演算回路204での演算結果が非負であれば、1を挿入
する。一方、一つ前の演算結果が負であれば、0を挿入
する。シフト結果の上位nビットは算術論理演算回路2
04に出力する。シフト結果の下位nビットはレジスタ
202に出力する。 (3)上記ステップ(1)で判定したレジスタ202の
値が負であれば、レジスタ201の値とシフタ203の
出力とを算術論理演算回路204で加算する。上記ステ
ップ(1)で判定したレジスタ202の値が非負であれ
ば、レジスタ201の値とシフタ203の出力とを算術
論理演算回路204で減算する。 (4)上記ステップ(1)、(2)、(3)を(n−
1)回繰り返す。 (5)最後にレジスタ202の正負を判定し、負の場合
にはレジスタ202の最下位に0をセットし、非負の場
合には1をセットする。
【0013】この結果、商はレジスタ202の下位nビ
ットに収められる。
【0014】
【発明が解決しようとする課題】しかしながら、上記従
来例のうち、前者の演算装置では、1回の加算、比較、
選択演算に要する演算ステップ数が多く、また、パス選
択信号1ビットをメモリの1ワードに記憶するため、大
きいメモリ量を必要とするなどの問題があった。
【0015】一方、後者の演算装置では、シフタ203
として2nのビット長が必要となり、また、シフタ20
3からレジスタ202へのパスが必要になるため、ハー
ドウェアが大きくなる。この大きなハードウェアは、D
SPを高価にし、動作する部分が多いので、消費電力が
大きいという問題を引き起こす。また、算術論理演算回
路204で加算を行うか減算を行うのかをレジスタ20
2の保持するデータの正負を示す信号により制御するの
で、制御が複雑である。この複雑な制御を実現するため
には大きなハードウェアを要し、大きなハードウェア
は、DSPを高価にし、動作する部分が多いので、消費
電力が大きいという問題を引き起こす。
【0016】本発明は、このような従来の問題を解決す
るものであり、少ない演算ステップ数と少ないメモリ量
でビタビ復号を行うことができるようにした演算装置を
提供し、また、上記目的に加え、少ないハードウェアで
引き放し法の除算を実行することができ、したがって、
低コストで、低消費電力の演算装置を提供することを目
的をするものである。
【0017】
【課題を解決するための手段】上記目的を達成するため
の本発明の請求項1の技術的手段は、受信系列に最尤復
号法を行い、最新の過去の状態から現在の状態に遷移す
る最適パルスの累積計量を更新してこの受信系列に最も
近い伝送系列を選び出すディジタル信号処理プロセッサ
内部の演算装置であって、所定の複数ビットであるnビ
ットの上記累積計量データ及び生き残りパスの選択デー
タを記憶する第1のメモリと、上記受信系列の値に対し
て各パスがとるハミング距離のnビットのデータを記憶
する第2のメモリと、1つのパスにおける累積計量及び
ハミング距離の第1の加算、並びに他の1つのパスにお
ける累積計量及びハミング距離の第2の加算を行う演算
手段と、上記第1及び第2の加算結果を一時記憶する第
1及び第2のレジスタと、上記演算手段により上記第1
及び第2のレジスタに記憶された上記第1及び第2の加
算結果の減算を行って得られたパスの選択データのnビ
ット分を一時的に記憶するシフトレジスタと、上記選択
データの符号に応じて上記第1と第2の加算結果のいず
れかを選択して新たな累積計量として上記第1のメモリ
に出力する選択手段とを備えたものである。
【0018】上記目的を達成するための本発明の請求項
2の技術的手段は、所定の複数ビットであるnビットの
累積計量データ及び生き残りパスの選択データを記憶す
る第1のメモリと、受信系列の値に対して各パスがとる
ハミング距離のnビットのデータを記憶する第2のメモ
リと、ビタビ復号においては1つのパスにおける累積計
量及びハミング距離の第1の加算、並びに他の1つのパ
スにおける累積計量及びハミング距離の第2の加算を行
い、これらの加算結果の減算を行い、引き放し法除算に
おいては所定の複数ビットであるnビットの加算を行う
演算手段と、この演算手段の演算結果を一時記憶する第
1及び第2のレジスタと、引き離し法除算において上記
演算手段の出力データを一時記憶する第3のレジスタ
と、ビタビ復号においては上記演算手段により上記第1
及び第2のレジスタに記憶された上記第1及び第2の加
算結果の減算を行って得られたパスの選択データのnビ
ット分を一時的に記憶し、引き放し法除算においては上
記演算手段の演算結果の正負を示す信号を順次記憶する
シフトレジスタと、ビタビ復号においては上記選択デー
タの符号に応じて上記第1と第2の加算結果のいずれか
を選択して新たな累積計量として上記第1のメモリに出
力する選択手段と、ビタビ復号においてはデータを上記
演算手段に対してパスさせ、引き放し法除算においては
上記第3のレジスタのデータを1ビット左シフトし、最
下位ビットに上記シフトレジスタの最上位ビットのデー
タを挿入して上記演算手段に出力するシフタとを備えた
ものである。
【0019】
【作用】上記のように構成された請求項1の発明によれ
ば、シフトレジスタが演算手段から出力するパス選択信
号を順に記憶し、選択手段がパス選択信号により2つの
加算結果を選択することにより、ビタビ復号における生
き残りパスの累積計量の加算、比較、選択演算とパス選
択信号の記憶を少ないステップ数で、しかも、小さいメ
モリ量で行うことができる。
【0020】上記のように構成された請求項2の発明に
よれば、ビタビ復号実行時には、シフトレジスタが演算
手段から出力するパス選択信号を順に記憶し、選択手段
がパス選択信号により2つの加算結果を選択することに
より、ビタビ復号における生き残りパスの累積計量の加
算、比較、選択演算とパス選択信号の記憶を少ないステ
ップ数で、しかも小さいメモリ量で行うことができる。
一方、除算の実行時には、シフトレジスタが演算手段か
ら出力する正負のデータを順に記憶し、最上位ビットの
データをシフタの最下位のビットに挿入するので、従来
2nのビット長を持つシフタをnのビット長を持つシフ
タと、nのビット長を持つシフトレジスタとに置き換え
ることができる。これによりシフタの大きさを小さく
し、シフタからレジスタへのパスをなくすことができ
る。また、2つのレジスタの片側に除数を格納し、残り
側に除数の2の補数を格納することにより、演算手段は
常に加算のみを行い、供給するデータを選択手段が演算
結果の正負を示す符号により選択する。これにより演算
手段は常に同一の動作となり、制御が容易となる。ま
た、これらのビタビ復号と除算において、演算結果の正
負を示す符号により供給するデータを選択する選択回路
とシフトレジスタとを共用することができる。
【0021】
【実施例】以下、本発明の第1の実施例について図面を
参照しながら説明する。図1は本発明の第1の実施例に
おける演算装置を示す概略ブロック図である。
【0022】図1において、1はビタビ復号における各
状態の生き残りのパスの累積計量(パスメトリック)や
各状態における生き残りパスの選択結果(パス選択信
号)などを記憶する第1のメモリ、2は情報ビット1ビ
ットに対応する符号化データ(受信系列)の値に対して
各パスがとるハミング距離(ブランチメトリック)の値
のテーブルをあらかじめ記憶した第2のメモリ、3はメ
モリ1と、後述する算術論理演算回路5の一方の左側入
力5aと、レジスタ6に接続され、メモリ1とレジスタ
6のデータを算術論理演算回路5の左側入力5aに与え
るバス、4はメモリ2と、後述する算術論理演算回路5
の他方の右側入力5bと、レジスタ7に接続され、メモ
リ2とレジスタ6のデータを算術論理演算回路5の右側
入力5bに与えるバス、5はバス3及びバス4から与え
られたデータに対して算術演算並びに論理演算を行う演
算手段である算術論理演算回路、6と7はそれぞれ算術
論理演算回路5の演算結果を一時記憶するレジスタ、8
は演算結果の最上位ビットであり、パス選択信号に相当
するサインビット、9はサインビット8を記憶するシフ
トレジスタ、10はサインビット8が′0′の時、レジ
スタ6を選択し、サインビット8が′1′の時、レジス
タ7を選択してバス3、4に出力する選択手段としての
マルチプレクサである。なお、本実施例では、メモリ
1、メモリ2、バス3、シフトレジスタ9の所定のビッ
ト数は、nビットとする。
【0023】以上のように構成された演算装置につい
て、以下、図1、図3を用いてその動作を説明する。
【0024】以下、図3に示したある時点における状態
S2mの生き残りパスの累積計量(パスメトリック)を計
算して更新するための加算、比較、選択演算とパスセレ
クト信号の記憶の動作について、(1)状態S2mに向か
うパスに対するパスメトリックとブランチメトリックの
第1の加算のステップ、(2)状態S2mに向かうパスに
対する第2の加算のステップ、(3)第1の加算結果と
第2の加算結果を比較するステップ、(4)比較結果を
メモリに転送するステップの4つのステップに分けて説
明する。この4ステップをmの値を1ずつ更新しながら
繰り返して実行していく。状態S2m+1への生き残りパ
スの累積計量についても同様に計算する。 (1)状態S2mに向かうパスに対するパスメトリックと
ブランチメトリックの第1の加算のステップ 図3に示した状態Smにおけるパスメトリックの値Mmを
メモリ1から読み出し、バス3を介して、算術論理演算
回路5の左側入力5aに与える。同時に、受信系列の値
に対応してブランチメトリックA2mの値をメモリ2から
読み出し、バス4を介して、算術論理演算回路5の右側
入力5bに与える。算術論理演算回路5は右側入力5b
のデータと左側入力5aのデータの加算を行い、レジス
タ6に格納する。 (2)状態S2mに向かうパスに対するパスメトリックと
ブランチメトリックの第2の加算のステップ 図3に示した状態S(m+2)k-2におけるパスメトリック
の値M(m+2)k-2をメモリ1から読み出し、バス3を介
して、算術論理演算回路5の左側入力5aにデータを与
える。同時に、受信系列の値に対応してブランチメトリ
ックB2mの値をメモリ2から読み出し、バス4を介し
て、算術論理演算回路5の右側入力5bにデータを与え
る。算術論理演算回路5は右側入力5bのデータと左側
入力5aのデータの加算を行い、レジスタ7に格納す
る。 (3)第1の加算結果と第2の加算結果を比較するステ
ップ 第1の加算結果の格納されているレジスタ6のデータを
読み出し、バス3を介して、算術論理演算回路5の左側
入力5aに与える。同時に、第2の加算結果の格納され
ているレジスタ7のデータを読み出し、バス4を介し
て、算術論理演算回路5の右側入力5bに与える。算術
論理演算回路5は、右側入力5bのデータから左側入力
5aのデータを減算し、減算結果のサインビット8を、
パス選択信号として、シフトレジスタ9に格納する。同
時に、このパス選択信号をマルチプレクサ10に与え
る。 (4)比較結果をメモリに転送するステップ 生き残りパスのパスメトリックとして、マルチプレクサ
10により、レジスタ6、若しくはレジスタ7を選択
し、バス3を介して、メモリ1に記憶する。
【0025】以上のように、上記4ステップの処理を、
mの値を0から1ずつ増加させながら2k-1回繰り返すこ
とにより、ある時点における2k-1個の状態の生き残りパ
スのパスメトリックを計算して更新することができる。
また、上記4ステップをn回繰り返すたびにシフトレジ
スタ9の値をバス3を介してメモリ1に格納する。
【0026】本実施例によれば、従来例では1回につき
6ステップで行っていた加算、比較、選択の演算を、上
記の4ステップで実行することができる。
【0027】また、従来例ではメモリの1ワードに記憶
していた1ビットのパス選択信号を、シフトレジスタ9
にnビット記憶した時点でメモリ1に格納することによ
り、従来例のn分の1という小さいメモリワード数でパ
ス選択信号の記憶を行うことができる。
【0028】更に、本実施例の構成要素である算術論理
演算回路5、レジスタ6、レジスタ7は、ディジタル信
号処理プロセッサ等には数値演算用としてあらかじめ設
置されているのが普通であるので、シフトレジスタ9や
マルチプレクサ10等のわずかなハードウェアの追加の
みで演算装置を実現することができるという利点をも有
する。
【0029】以下、ビタビ復号と除算を実行する本発明
の第2の実施例について、図面を参照しながら説明す
る。図2は本発明の第2の実施例における演算装置を示
す概略ブロック図である。
【0030】図2において、21はビタビ復号における
各状態の生き残りのパスの累積計量(パスメトリック)
や各状態における生き残りパスの選択結果(パス選択信
号)などを保存する第1のメモリ、22は情報ビット1
に対応する符号化データ(受信系列)の値に対して各パ
スがとるハミング距離(ブランチメトリック)の値のテ
ーブルをあらかじめ記憶した第2のメモリ、23はメモ
リ21、22と、後述する算術論理演算回路25の一方
の左側入力25aと、後述するレジスタ26と、後述す
るシフトレジスタ29と、後述するマルチプレクサ30
に接続され、算術論理演算回路25の左側入力25a、
若しくはシフトレジスタ29にデータを与えるバス、2
4はメモリ21、22と、後述するレジスタ27と、後
述するレジスタ31と、後述するシフタ32に接続さ
れ、シフタ31の入力にデータを与えるバスである。
【0031】25はバス23およびバス24から与えれ
たデータに対して算術演算並びに論理演算を行う演算手
段である算術論理演算回路、26、27はそれぞれ算術
論理演算回路25の演算結果を一時記憶するレジスタ、
28は演算結果の最上位ビットであり、パス選択信号に
相当し、また、除算においてはビットごとの商に相当す
るサインビット、29はビタビ復号時にはサインビット
28を記憶し、引き放し法除算実行時には被除数を記憶
するシフトレジスタ、30はサインビット28が′0′
の時、レジスタ26を選択し、サインビット28が′
1′の時、レジスタ27を選択してバス23に出力する
選択手段としてのマルチプレクサ、31は除算実行時の
除数と算術論理演算回路25の演算結果を一時記憶する
レジスタ、32はバス24からのデータを入力とし、算
術論理演算回路25の右側入力25bを出力とする1ビ
ットの左シフト、またはデータの通過とを選択すること
ができるシフタである。1ビットの左シフト時には、シ
フタ32はバス24のデータを1ビット左シフトし、シ
フトレジスタ29の第n段目のデータを最下位ビットに
挿入する。
【0032】なお、本実施例では、メモリ21、22、
バス23、24、レジスタ26、27、31、シフトレ
ジスタ29の所定のビット数は、nビットとする。
【0033】以上のように構成された演算装置につい
て、以下、図2、図3を用いてビタビ復号時の動作と引
き放し法除算の動作を説明する。
【0034】まず、ビタビ復号における動作について説
明する。図3に示したある時点における状態S2mの生き
残りパスの累積計量(パスメトリック)を計算して更新
するための加算、比較、選択演算とパスセレクト信号の
記憶の動作について、(1)状態S2mに向かうパスに対
するパスメトリックとブランチメトリックの第1の加算
のステップ、(2)状態S2mに向かうパスに対する第2
の加算のステップ、(3)第1の加算結果と第2の加算
結果を比較するステップ、(4)比較結果をメモリに転
送するステップの4つのステップに分けて説明する。こ
の4ステップをmの値を1づつ更新しながら繰り返して
実行していく。状態S2m+1への生き残りパスの累積計
量についても同様に計算する。 (1)状態S2mに向かうパスに対するパスメトリックと
ブランチメトリックの第1の加算のステップ 図3に示した状態S2mにおけるパスメトリックの値Mm
をメモリ21から読み出し、バス23を介して、算術論
理演算回路25の左側入力25aに与える。同時に、受
信系列の値に対応したブランチメトリックA2mの値をメ
モリ22から読み出し、バス24およびシフタ32を介
して、算術論理演算回路25の右側入力25bに与え
る。このとき、シフタ32は動作せず、データを通過さ
せるのみである。算術論理演算回路25は右側入力25
bのデータと左側入力25aのデータの加算を行い、レ
ジスタ26に格納する。 (2)状態S2mに向かうパスに対するパスメトリックと
ブランチメトリックの第2の加算のステップ 図3に示した状態S(m+2)k-2におけるパスメトリック
の値M(m+2)k-2をメモリ21から読み出し、バス23
を介して、算術論理演算回路25の左側入力25aに与
える。同時に、受信系列の値に対応してブランチメトリ
ックB2mの値をメモリ22から読み出し、バス24およ
びシフタ32を介して、算術論理演算回路25の右側入
力25bに与える。このとき、シフタ32は動作せず、
データを通過させるのみである。算術論理演算回路25
は右側入力25bのデータと左側入力25aのデータの
加算を行い、レジスタ27に格納する。 (3)第1の加算結果と第2の加算結果を比較するステ
ップ 第1の加算結果の格納されているレジスタ26のデータ
を読み出し、バス23を介して、算術論理演算回路25
の左側入力25aに与える。同時に、第2の加算結果の
格納されているレジスタ27のデータを読み出し、バス
24及びシフタ32を介して、算術論理演算回路25の
右側入力25bに与える。このとき、シフタ32は動作
せず、データを通過させるのみである。算術論理演算回
路25は、右側入力25bのデータから左側入力25a
のデータの減算し、減算結果のサインビット28を、パ
ス選択信号として、シフトレジスタ29に格納する。同
時に、このパス選択信号をマルチプレクサ30に与え
る。 (4)比較結果をメモリに転送するステップ 生き残りパスのパスメトリックとして、マルチプレクサ
30により、レジスタ26、若しくはレジスタ27を選
択し、バス23を介して、メモリ21に記憶する。
【0035】以上のように、上記4ステップの処理を、
mの値を0から1ずつ増加させながら2k-1回繰り返すこ
とにより、ある時点における2k-1個の状態の生き残りパ
スのパスメトリックを計算して更新することができる。
また、上記4ステップをn回繰り返すたびにシフトレジ
スタ29の値をバス23を介してメモリ21に格納す
る。
【0036】本実施例によれば、従来例では1回につき
6ステップで行っていた加算、比較、選択の演算を、上
記の4ステップで実行することができる。
【0037】また、従来例ではメモリの1ワードに記憶
していた1ビットのパス選択信号を、シフトレジスタ2
9にnビット記憶した時点でメモリ21に格納すること
により、従来例のn分の1という小さいメモリワード数
でパス選択信号の記憶を行うことができる。
【0038】更に、ビタビ復号における加算、比較、選
択の本実施例の構成要素である算術論理演算回路25、
レジスタ26、レジスタ27は、ディジタル信号処理プ
ロセッサ等には数値演算用としてあらかじめ設置されて
いるのが普通であるので、シフトレジスタ29やマルチ
プレクサ30などのわずかなハードウェアの追加のみで
演算装置を実現することができるという利点をも有す
る。
【0039】次に、引き放し法除算における動作につい
て説明する。初めに、レジスタ26に除数、レジスタ2
7には除数の2の補数をとったものを格納する。また、
レジスタ31には最初0を格納し、シフトレジスタ29
には被除数を格納する。なお、被除数、除数として正の
数のみを取るものとする。そして、次のようにして除算
を行う。
【0040】(1)レジスタ31のデータを、バス24
を介して、シフタ32に供給する。シフタ32では供給
されたデータを1ビット左にシフトし、最下位のビット
にはシフトレジスタ29の最上位ビットの値を挿入す
る。
【0041】(2)レジスタ31は最初0が格納されて
いて、1ビット左シフトし、最下位ビットにシフトレジ
スタ29の最上位ビットが挿入されている状態であるの
で、必ず非負である。これから、除数の2の補数を保持
するレジスタ27の値とシフタ32の出力とを算術論理
演算回路25で加算する(つまり、除数で減算すること
に相当する)。
【0042】(3)上記(2)の演算結果が非負であれ
ば、シフトレジスタ29は1、つまりサインビット28
の反転したものを入れてシフトする。上記(2)の演算
結果が負であれば、シフトレジスタ29は0、つまりサ
インビット28の反転したものを入れてシフトする。
【0043】(4)レジスタ31のデータを、バス24
を介して、シフタ32に供給する。シフタ32では供給
されたデータを1ビット左にシフトし、最下位のビット
にはシフトレジスタ29の最上位ビットの値を挿入す
る。
【0044】(5)一つ前の演算結果が非負であれば、
除数の2の補数を保持するレジスタ27の値とシフタ3
2の出力とを算術論理演算回路25で加算する(除数で
減算することに相当する)。1つの前の演算結果が負で
あれば、除数を保持するレジスタ26の値とシフタ32
の出力とを算術論理演算回路25で加算する(除数で加
算することに相当する)。このとき、いずれのレジスタ
27、若しくは26を読み出すかは、マルチプレクサ3
0が選択する。加算結果はレジスタ31に保存する。 (6)上記(5)の演算結果が非負であれば、シフトレ
ジスタ29は1、つまりサインビット28の反転したも
のを入れてシフトする。上記(5)の演算結果が負であ
れは、シフトレジスタ29は0、つまりサインビット2
8の反転したものを入れてシフトする。
【0045】(7)上記(4)、(5)、(6)を(n
−2)回繰り返す。 (8)最後に、レジスタ31の正負を判定し、負の場合
にはレジスタ31の最下位に0をセットし、非負の場合
には1をセットする。
【0046】以上のようにして、除算を実行することが
でき、商はシフトレジスタ29に収められる。
【0047】従来例では除数・被除数のデータビット長
の2倍のビット長を持つシフタを要していたが、本実施
例によれば、除数・被除数のデータビット長のシフタ3
2で済むようになり、また、シフタ32からレジスタへ
の直接のパスをなくすことができる。また、算術論理演
算回路25は常に加算を行うので、ハードウェアの構成
が容易となる。
【0048】また、本実施例の除算実行時の構成要素で
ある算術論理演算回路25、レジスタ26、27、3
1、シフタ32は、ディジタル信号処理プロセッサ等に
は数値演算用としてあらかじめ設置されているのが普通
であるので、シフトレジスタ29やマルチプレクサ30
などのわずかなハードウェアの追加のみで演算装置を実
現することができ、更に、上記ように除算とビタビ復号
について、シフトレジスタ29とマルチプレクサ30が
同じハードウェアで実行することができるので、演算回
路の有効利用を図ることができる利点をも有する。
【0049】なお、本実施例においては除算実行時、サ
インビット28により読み出すレジスタ26、27を切
り替えているが、読み出すレジスタ26、27を切り替
える代わりに、算術論理演算回路25での演算をサイン
ビット28により切り換えるようにしてもよい。この場
合、一つ前の演算結果が負であれば加算を行い、一つ前
の演算結果が正であれば減算を行い、選択手段であるマ
ルチプレクサ30は、ビタビ復号時のみ利用する。いず
れのレジスタ26、27を読み出すかを制御するより
も、算術論理演算回路25での演算が加算であるか、減
算であるかを決定することの方が後で決定することがで
きる。このことを利用すると、演算速度を高速にするこ
とができる。ただし、制御回路が大きくなるので、消費
電力は増加する。
【0050】また、本実施例においては、読み出すレジ
スタ26、27をサインビット28により切り替えるの
にマルチプレクサ30を用いた。しかし、マルチプレク
サ30で選択する代わりに、レジスタ26、27がブロ
ック構成となっているときには、レジスタの26、27
の読み出し選択信号を制御することにより、読み出しレ
ジスタ26、27を切り換えることが可能である。この
場合、マルチプレクサ30を必要としないので、更にハ
ードウェア量を少なくすることができ、低価格化、低消
費電力化に貢献することができる。
【0051】
【発明の効果】以上説明したように請求項1の本発明に
よれば、ビタビ複号における生き残りパスの累積計量の
加算、比較、選択演算とパス選択信号の記憶を少ないス
テップ数で、しかも、小さいメモリ量で行うことができ
る。したがって、ビタビ復号処理を高速に行うことがで
き、しかも、コストの低下を図ることができる。
【0052】また、請求項2の発明によれば、上記効果
に加え、除算において、シフタのサイズを小さくし、シ
フタからレジスタへの直接のパスをなくすことができ
る。また、制御回路を簡易化することができ、したがっ
て、除算を小さなハードウェアで行うことができる。こ
れにより動作部分が小さくなり、消費電力を減らすこと
ができる。更に、除算とビタビ復号を同じハードウェア
で行うことができるので、演算回路の有効利用を図るこ
とができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例における演算装置を示す
概略ブロック図
【図2】本発明の第2の実施例における演算装置を示す
概略ブロック図
【図3】ビタビ復号における畳み込み符号器の状態遷移
のパスを示す説明図
【図4】ビタビ復号における従来の演算装置を示す概略
ブロック図
【図5】引き放し法除算における従来の演算装置を示す
概略ブロック図
【符号の説明】
1 メモリ 2 メモリ 3 バス 4 バス 5 算術論理演算回路(演算手段) 6 レジスタ 7 レジスタ 8 サインビット 9 シフトレジスタ 10 マルチプレクサ 21 メモリ 22 メモリ 23 バス 24 バス 25 算術論理演算回路(演算手段) 26 レジスタ 27 レジスタ 28 サインビット 29 シフトレジスタ 30 マルチプレクサ 31 レジスタ 32 シフタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 受信系列に最尤復号法を行い、最新の過
    去の状態から現在の状態に遷移する最適パスの累積計量
    を更新してこの受信系列に最も近い伝送系列を選び出す
    ディジタル信号処理プロセッサ内部の演算装置であっ
    て、所定の複数ビットであるnビットの上記累積計量デ
    ータ及び生き残りパスの選択データを記憶する第1のメ
    モリと、上記受信系列の値に対して各パスがとるハミン
    グ距離のnビットのデータを記憶する第2のメモリと、
    1つのパスにおける累積計量及びハミング距離の第1の
    加算、並びに他の1つのパスにおける累積計量及びハミ
    ング距離の第2の加算を行い、これらの加算結果の減算
    を行う演算手段と、上記第1及び第2の加算結果を一時
    記憶する第1及び第2のレジスタと、上記演算手段によ
    り上記第1及び第2のレジスタに記憶された上記第1及
    び第2の加算結果の減算を行って得られたパスの選択デ
    ータのnビット分を一時的に記憶するシフトレジスタ
    と、上記選択データの符号に応じて上記第1と第2の加
    算結果のいずれかを選択して新たな累積計量として上記
    第1のメモリに出力する選択手段とを備えたことを特徴
    とする演算装置。
  2. 【請求項2】 所定の複数ビットであるnビットの累積
    計量データ及び生き残りパスの選択データを記憶する第
    1のメモリと、受信系列の値に対して各パスがとるハミ
    ング距離のnビットのデータを記憶する第2のメモリ
    と、ビタビ復号においては1つのパスにおける累積計量
    及びハミング距離の第1の加算、並びに他の1つのパス
    における累積計量及びハミング距離の第2の加算を行
    い、これらの加算結果の減算を行い、引き放し法除算に
    おいては所定の複数ビットであるnビットの加算を行う
    演算手段と、この演算手段の演算結果を一時記憶する第
    1及び第2のレジスタと、引き離し法除算において上記
    演算手段の出力データを一時記憶する第3のレジスタ
    と、ビタビ復号においては上記演算手段により上記第1
    及び第2のレジスタに記憶された上記第1及び第2の加
    算結果の減算を行って得られたパスの選択データのnビ
    ット分を一時的に記憶し、引き放し法除算においては上
    記演算手段の演算結果の正負を示す信号を順次記憶する
    シフトレジスタと、ビタビ復号においては上記選択デー
    タの符号に応じて上記第1と第2の加算結果のいずれか
    を選択して新たな累積計量として上記第1のメモリに出
    力する選択手段と、ビタビ復号においてはデータを上記
    演算手段に対してパスさせ、引き放し法除算においては
    上記第3のレジスタのデータを1ビット左シフトし、最
    下位ビットに上記シフトレジスタの最上位ビットのデー
    タを挿入して上記演算手段に出力するシフタとを備えた
    ことを特徴とする演算装置。
JP06265394A 1993-05-20 1994-03-31 演算装置 Expired - Fee Related JP3250363B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP06265394A JP3250363B2 (ja) 1993-05-20 1994-03-31 演算装置
US08/382,576 US5517439A (en) 1994-02-14 1995-02-02 Arithmetic unit for executing division
GB9502358A GB2286471B (en) 1994-02-14 1995-02-07 Arithmetic unit for executing division
DE19504864A DE19504864C2 (de) 1994-02-14 1995-02-14 Rechenwerk zum Ausführen einer Division

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11817493 1993-05-20
JP5-118174 1993-05-20
JP06265394A JP3250363B2 (ja) 1993-05-20 1994-03-31 演算装置

Publications (2)

Publication Number Publication Date
JPH0738449A true JPH0738449A (ja) 1995-02-07
JP3250363B2 JP3250363B2 (ja) 2002-01-28

Family

ID=26403698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06265394A Expired - Fee Related JP3250363B2 (ja) 1993-05-20 1994-03-31 演算装置

Country Status (1)

Country Link
JP (1) JP3250363B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0769853A1 (de) * 1995-10-21 1997-04-23 Deutsche ITT Industries GmbH Logischer Block für einen Viterbi-Decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0769853A1 (de) * 1995-10-21 1997-04-23 Deutsche ITT Industries GmbH Logischer Block für einen Viterbi-Decoder

Also Published As

Publication number Publication date
JP3250363B2 (ja) 2002-01-28

Similar Documents

Publication Publication Date Title
US5946361A (en) Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
US5517439A (en) Arithmetic unit for executing division
US5440504A (en) Arithmetic apparatus for digital signal processor
JP3274668B2 (ja) 演算処理装置及び演算処理方法
US20020002692A1 (en) CRC operation unit and CRC operation method
JPS6114532B2 (ja)
EP0788241A2 (en) Method for implementing the add-compare-select operation in a Viterbi decoder
US6272188B1 (en) Single-cycle accelerator for extremun state search
US5341322A (en) Bit level pipeline divide circuit and method therefor
JPH0738449A (ja) 演算装置
EP0936537B1 (en) Cyclic redundancy check in a computer system
JP2917577B2 (ja) 演算装置
US5432726A (en) Arithmetic unit for quantization/inverse quantigation
JP3191442B2 (ja) ビタビ復号用演算装置
JP2000311096A (ja) 演算処理装置
JP3237267B2 (ja) 演算装置
JPH06121172A (ja) 画像符号化装置
JP2001358594A (ja) Crc演算装置、およびcrc演算方法
KR100414152B1 (ko) 프로그래머블 프로세서에서의 비터비 디코딩 연산방법 및그 연산방법을 실행하기 위한 연산회로
JPH07245567A (ja) ビタビ復号演算装置
JPH0722969A (ja) 演算装置
JPH10107652A (ja) 演算装置
US6470369B1 (en) Euclid mutual division arithmetic circuit and processing circuit
JPH0750596A (ja) 符号化装置及び符号化方法
JPH1146148A (ja) 演算処理装置とその利用装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071116

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091116

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091116

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees