JP3996858B2 - 演算処理装置 - Google Patents
演算処理装置 Download PDFInfo
- Publication number
- JP3996858B2 JP3996858B2 JP2003009709A JP2003009709A JP3996858B2 JP 3996858 B2 JP3996858 B2 JP 3996858B2 JP 2003009709 A JP2003009709 A JP 2003009709A JP 2003009709 A JP2003009709 A JP 2003009709A JP 3996858 B2 JP3996858 B2 JP 3996858B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- arithmetic processing
- node
- data
- input
- 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
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の属する技術分野】
本発明は移動通信機器などに組み込まれる演算処理装置に関し、特にビタビ復号のACS(加算、比較、選択)演算の効率的処理を可能にする技術に関する。
【0002】
【従来の技術】
近年、ディジタル信号処理プロセッサ(以下これをDSPと呼ぶ)は、移動体通信分野のディジタル化の動きに合わせて、例えば、携帯電話への機器組込み型プロセッサとして多用されている。移動無線通信回線におけるデータ通信では、ビット誤りが頻繁に発生するため、誤り訂正処理を行う必要がある。誤り訂正の手法には、入力ビットから生成された畳み込み符号を、受信側でビタビ復号により復号する方法があり、この誤り訂正処理にDSPが使用される。
【0003】
ビタビ復号は、加算・比較・選択という単純な処理の繰り返しと、最終的にデータを復号するトレースバック操作とで畳み込み符号の最尤復号を実現する。以下に、ビタビ復号の処理を簡単に説明する。畳み込み符号は、入力ビットとそれに先行する一定数のビットとのmod2加算により生成され、入力ビット1ビットに対応して複数の符号化データが生成される。この符号化データに影響を与える入力情報ビット数のことを拘束長(K)といい、その数はmod2加算に用いられるシフトレジスタの段数に等しい。
【0004】
この符号化データは、入力ビットと、先行する(K−1)個の入力ビットの状態とで決まる。この状態は、新たな情報ビットが入力することによって新たな状態に移る(遷移する)が、遷移可能な状態は、新たな入力ビットが0であるか1であるかによって決まってしまう。この状態の数は、(K−1)このビットのそれぞれが1、0をとりうるから、2K-1 個となる。
【0005】
ビタビ復号では、受信した符号化データ系列を観測し、取り得るすべての状態遷移の中から、最も確からしい状態を推定する。そのために、情報ビット1ビットに対応する符号化データ(受信データ系列)を得るごとに、その時点での各状態へのパスの信号間距離(メトリック)を計算し、同一状態に達するパスのうち、メトリックの少ない方を生き残りパスとして残す操作を順次繰り返す。
【0006】
図25は、拘束長Kの畳み込み符号器において、ある時点における状態S[2n](nは正整数)に対し、1つ前の時点の状態S[n]とS[n+2K-2 ]とから状態遷移を表す2本のパスが延びている様子を示している。例えば、K=3の場合でいえば、n=1のとき、S[2]すなわちS10の状態(先行する2ビットが「1」「0」の順に入力した状態)に対して、S[1]すなわちS01の状態、およびS[3]すなわちS11の状態からの遷移が可能であり、また、n=2のとき、S[4]すなわちS00の状態(下位2ビットの表す状態)に対して、S[2]すなわちS10の状態、およびS[4]すなわちS00の状態からの遷移が可能である。
【0007】
パスメトリックaは、状態S[2n]に入力するパスの出力シンボルと受信データ系列との信号間距離(ブランチメトリックx)と、1つ前の時点の状態S [n]までの生き残りパスのブランチメトリックの総和であるパスメトリックAとの和である。同様にパスメトリックbは、状態S[2n]に入力するパスの出力シンボルと受信データ系列との距離(ブランチメトリックy)と、1つ前の時点の状態S[n+2K-2 ]までの生き残りパスのブランチメトリックの総和であるパスメトリックBとの和である。こうして求めた、状態S[2n]に入力するパスメトリックa,bを比較し、小さい方のパスを生き残りパスとして選択する。
【0008】
ビタビ復号では、このように、パスメトリックを求めるための加算、パスメトリックの比較、パスの選択の各処理を、各時点で2K-1 個の状態に対して実行する。更に、パスの選択において、どちらのパスを選択したかという履歴をパスセレクト信号PS[i]、[i=0〜2K-1 −1]として残しておく必要がある。このとき、選ばれたパスの1つ前の状態の添え字(例えばn)が、選ばれなかった他方のパスの1つ前の状態の添え字(n+2K-2 )よりも小さければ、PS 〔i]=0とし、大きければ、PS[i]=1とする。図25の場合、n< (n+2K-2 )であるから、a>bの時は状態S [n+2K-2 ]が選択されて、PS[S2n]=1となり、a≦bの時は状態S[n]が選択されて、PS[S2n]=0となる。最終的に、トレースバックにより復号する際に、このパスセレクト信号を基に生き残りパスをさかのぼりながら、データを復号していく。
【0009】
従来のDSPで、このビタビ復号用のACS演算処理を、汎用の演算装置であるTMS320C54x(TEXAS INSTRUMENTS 社製、以下これをC54xと呼ぶ)を例に挙げて説明する。GSMセルラー無線システムでは、以下の多項式が畳み込み符号として使用されている。
G1(D)=1+D3 +D4 、 G2(D)=1+D+D3 +D4
【0010】
この畳み込み符号は、図26に示すバタフライ構造のトレリス線図で表される。このトレリス線図は、ある状態から別の状態への畳み込み符号の遷移する様子を表している。今、拘束長Kが5であるとすると、2K-1 =16個の状態または8個のバタフライ構造が各シンボル間ごとに存在することになり、それぞれの状態には2つのブランチが入力され、ACS演算により新しいパスメトリックが決定する。
【0011】
ブランチメトリックを次式で定義する。
M=SD(2* i)* B(J,0)+SD(2* i+1)* B(J,1)
ここで、SD(2* i)は軟判定入力を表すシンボルメトリックの1番目のシンボルであり、SD(2* i+1)はシンボルメトリックの2番目のシンボルである。B(J,0)とB(J,1)は図27に示す畳み込み符号器により生成される符号に一致する。
【0012】
C54xでは、ALUをデュアル16ビットモードにセットすることによってバタフライ構造を高速に処理する。新しいパスメトリック(J)の決定には、DADST命令で、2* Jと2* J+1の2個のパスメトリックとブランチメトリック(Mと−M)を並列に演算し、CMPS命令で比較を行う。新しいパスメトリック(J+8)の決定には、DSADT命令で、2個のパスメトリックとブランチメトリック(Mと−M)を並列に演算する。演算結果はそれぞれ倍精度アキュムレータの上位と下位に格納される。CMPS命令で新しいパスメトリックが決定される。
【0013】
CMPS命令は、アキュムレータの上位と下位を比較し、大きい方をメモリに格納する。また、16ビットのトランディション・レジスタ(TRN)にどちらが選択されたかを、後にトレースバックすることができるように比較を行うたびに更新する。TRNの内容は、各シンボル処理が終わるたびにメモリに格納する。メモリに格納される情報は、トレースバックの過程で最適なパスを探索するのに使われる。図28にビタビ復号のバタフライ演算のマクロプログラムを示す。ブランチメトリックの値は、マクロが呼び出される前にTレジスタに格納する。図29にパスメトリックのメモリマッピング例を示す。
【0014】
1つのシンボル区間で、8個のバタフライ演算が実行され、16個の新しい状態が求められる。この一連の処理を数シンボル区間にわたって繰り返し計算し、処理が終了すると、次にトレースバックを行い、16通りのパスから最適パスを探索し、復号ビット系列が求まる。
【0015】
以上が、汎用のDSPであるC54xのACS演算の機構であり、図28のマクロプログラム例から、C54xでは2個のパスメトリックの更新に4マシンサイクルで実現している。
【0016】
【発明が解決しようとする課題】
今後、移動無線通信によるデータ伝送等の非音声通信の需要は、ますます増加することが見込まれており、非音声通信では従来の音声通信に比べて、より低いビット誤り率(以下、これをBERと呼ぶ)の高伝送品質が要望されている。低BERを達成する一手段に、誤り訂正として使用されるビタビ復号の拘束長Kを大きくする手段がある。拘束長が1つ大きくなると、パスメトリックの数(状態数)が2倍になるため、ビタビ復号における演算量が2倍に増加する。また、一般的に非音声通信は音声通信に比べ情報量が多く、情報量が多ければそれだけビタビ復号に要す処理量(ACS演算など)が増加する。
【0017】
一方、移動無線通信等では、携帯端末のバッテリーの寿命を長時間持続させることが望まれている。また、それと同時に携帯端末の小型化・軽量化・低価格化も望まれている。そのため携帯端末では、従来、専用LSIで処理していた領域もDSP処理による1チップ化が計られている。DSPの処理量が少なければ少ないほどバッテリーを長時間持続させることができる。
【0018】
しかしながら、上記に述べたとおり今後DSPによる演算量は増加する傾向にあり、そのため携帯端末のバッテリーを長時間持続させることは困難であるという問題がある。また、演算量が増加すれば、もはや既存のDSPの処理能力を超えてしまい、DSPによる1チップで実現することができなくなるという問題もあった。さらに、DSPを高機能化させるため、大規模なハードウェア投資はそれだけDSP自身のコストの高騰化を招き、結果携帯端末の低価格化が実現できなくなるという問題もある。
【0019】
本発明は、このような従来の問題を解決するものであり、なるべく少ないハードウェアの投資で、DSPによるビタビ復号の処理、とくにACS演算を効率的に処理する演算処理装置を提供することを目的とする。
【0020】
【課題を解決するための手段】
本発明の演算処理装置は、ディジタル信号処理プロセッサによるビタビ復号が可能な演算処理装置であって、第1のデータと第2のデータとを比較する第1の比較手段と、第3のデータと第4のデータとを比較する第2の比較手段とを有し、前記第1の比較手段と前記第2の比較手段とを、1命令によって、かつ、1サイクルで動作させる構成をとる。
【0029】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて説明する。
(実施の形態1)
図1は実施の形態1における演算処理装置の構成を示すものである。図1において、1はパスメトリックを格納する記憶手段、2は記憶手段1に接続され、データの供給や演算結果の転送を行うバス、3はブランチメトリックを格納する記憶手段、4は記憶手段3に接続され、データの供給を行うバス、5および9は記憶手段1および3からそれぞれバス2および4を介して読み出されたデータの比較を行う比較手段、6および10は記憶手段1および3からそれぞれバス2および4を介して読み出されたデータの加算を行う加算手段、7は比較手段5の比較結果を格納する記憶手段、11は比較手段9の比較結果を格納する記憶手段、8は加算手段6の加算結果を入力し、比較手段5の比較結果に基づいて出力を決定する選択手段、12は加算手段10の加算結果を入力し、比較手段9の比較結果に基づいて出力を決定する選択手段、13は選択手段8および12の選択結果を入力し、記憶手段1に転送するバスである。なお、比較結果を格納する記憶手段7および11は、いずれもバス2に接続され、バス2を介して記憶手段1に比較結果を転送することができる。
【0030】
次に本実施の形態における動作を図2と図3を参照して説明する。以下の説明では、拘束長Kを4、符号化率1/2の場合について考える。パスメトリックとブランチメトリックのデータの型は、いずれも単精度データとする。また、以下の説明では、便宜上、倍精度データを(X,Y)としたとき、Xは倍精度データの上位側を表し、Yは倍精度データの下位側を表す。
【0031】
図2の畳み込み符号器を例に考え、符号化率1/2としたときの4個のブランチメトリックをそれぞれBM0,BM1,BM2,BM3とする。これらのブランチメトリックを用いて拘束長K=4の時のステート(State )の遷移状態を図示すると、図3のようなバタフライ構造になる。ここで旧ステート(Old State ・ )のノードN0とノードN1に着目する。ノードN0とノードN1が遷移するのはノードN’0とノードN’4である。
そのときに取るブランチメトリック(BM)は
・ ノードN0からノードN’0のときはBM0、
・ ノードN1からノードN’0のときはBM1、
・ ノードN0からノードN’4のときはBM1、
・ ノードN1からノードN’4のときはBM0、
である。また、ノードN0のパスメトリックをPM0、ノードN1のパスメトリックをPM1とすると、共通のパスメトリックPM0,PM1にそれぞれブランチメトリックBM0,BM1を交換して加算することで、ノードN’0、ノードN’4のパスメトリックになり得るということがわかる。この関係を利用して、並列処理することで同時に2個のパスメトリックを更新することができる。
【0032】
なお、この関係は図3に示すように以降のノードのペア(図ではノードN2とノードN3のペア、ノードN4とノードN5のペア、ノードN6とノードN7のペア)に関しても成り立つ。そこで、図3に示すように前半のノードN’0からノードN’3のACS演算を比較手段5と加算手段6と比較結果を格納する記憶手段7と選択手段8とで処理を行い、後半のノードN’4からノードN’7のACS演算を比較手段9と加算手段10と比較結果を格納する記憶手段11と選択手段12とで処理を行う。
【0033】
以降はノードN0とノードN1からノードN’0とノードN’4へのACS演算に関して詳細な動作説明を行う。まず、記憶手段1から2個のパスメトリックが(PM1,PM0)として、バス2に出力され、一方記憶手段3から2個のブランチメトリックが(BM1,BM0)として、バス4に出力される。比較手段5では、バス2から2個のパスメトリック(PM1,PM0)を入力し、バス4から2個のブランチメトリック(BM1,BM0)を入力し、
PM1+BM1−PM0−BM0
を計算する。一方、加算手段6では、バス2から2個のパスメトリック(PM1,PM0)を入力し、バス4から2個のブランチメトリック(BM1,BM0)を入力し、
PM1+BM1と、PM0+BM0
を計算し、選択手段8に(PM1+BM1,PM0+BM0)として出力する。
【0034】
選択手段8は、比較手段5の比較結果PM1+BM1−PM0−BM0の符号ビットである最上位ビット(以後これをMSB:Most Significant Bitと呼ぶ)を入力し、MSBの値により上位PM1+BM1を出力するか、下位PM0+BM0を出力するかを選択する。
すなわち、
PM1+BM1≧PM0−BM0
なら、 PM1+BM1−PM0−BM0≧0
であるので、MSBは0となり、このときは下位PM0+BM0を選択し、これを新たにPM’0としてバス13に出力する。
逆に、
PM1+BM1<PM0−BM0
なら、 PM1+BM1−PM0−BM0<0
であるので、MSBは1となり、このときは上位PM1+BM1を選択し、これを新たにPM’0としてバス13に出力する。また、比較手段5の比較結果のMSBは同時に記憶手段7に順次格納される。
【0035】
比較手段9では、バス2から2個のパスメトリック(PM1,PM0)を入力し、バス4から2個のブランチメトリック(BM1,BM0)を入力し、
PM1+BM0−PM0−BM1
を計算する。一方、加算手段10では、バス2から2個のパスメトリック(PM1,PM0)を入力し、バス4から2個のブランチメトリック(BM1,BM 0)を入力し、
PM1+BM0と、PM0+BM1
を計算し、選択手段12に(PM1+BM0,PM0+BM1)として出力する。
【0036】
選択手段12は、比較手段9の比較結果PM1+BM0−PM0−BM1のMSBを入力し、MSBの値により上位PM1+BM0を出力するか、下位PM0+BM1を出力するかを選択する。
すなわち、
PM1+BM0≧PM0−BM1
なら、 PM1+BM0−PM0−BM1≧0
であるので、MSBは0となり、このときは下位PM0+BM1を選択し、これを新たにPM’4としてバス13に出力する。
逆に、
PM1+BM0<PM0−BM1
なら、 PM1+BM0−PM0−BM1<0
であるので、MSBは1となり、このときは上位PM1+BM0を選択し、これを新たにPM’4としてバス13に出力する。
また、比較手段9の比較結果のMSBは同時に記憶手段11に順次格納される。
【0037】
以上のように、その外のノードのペアに関しても同様な処理を行うことで、DSPによるビタビ復号のACS演算を並列に実行することができる。なお、これまでの説明では、拘束長K=4、符号化率1/2の場合の具体例を示したが、拘束長と符号化率の値がそれ以外の値であっても、上記関係は成り立つ為、それに応じた変更を適宜施すことによって同様に実施可能である。
【0038】
(実施の形態2)
図4は実施の形態2における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態1(図1)の演算処理装置と異なるところは、パスメトリックを格納する記憶手段として4バンクからなるRAM14で構成されている点であり、それ以外の構成および動作は実施の形態1とまったく同じである。
【0039】
本実施の形態の演算処理装置は、図5に示すパイプライン構造の演算処理に適している。例えば、命令1においてn+1サイクル目の演算実行ステージでACS演算を実行するためには、予めnサイクル目のメモリアクセス・ステージで読み出すパスメトリックのアドレスをRAM14に供給する必要がある。このときRAM14が偶数番地と奇数番地を連続して読み出すことができる、すなわち倍精度読み出しが可能なRAMであるとすると、以下の状況で偶数アドレスを指定するだけで演算に使用する2つのパスメトリックを読み出すことができる。
・1ステートのパスメトリックは偶数番地、奇数番地の順に連続した番地に格納されており、
・1ステートのパスメトリックを前半と後半に分け、それぞれ別々のバンクに格納されている。
【0040】
4バンクのRAM14には、例えばバンク0に旧ステートの前半のパスメトリック(図3ではPM0,PM1,PM2,PM3を指す)が格納されており、バンク1に旧ステートの後半のパスメトリック(図3ではPM4,PM5,PM6,PM7を指す)が格納されているとき、1サイクルの演算実行(ACS演算実行)で2個のパスメトリックが生成され、それらがバス13を介してそれぞれバンク2、バンク3に格納される。このときバス13は倍精度データを転送することになり、バンク2にノードN’0からノードN’3のパスメトリックが格納され、バンク3にノードN’からノードN’7のパスメトリックが格納される。
【0041】
以上の図3に対応したメモリアクセスの動作例を図6に示す。1ステートのACS演算が終了すると、次ステートでは旧ステートのパスメトリックとしてバンク2および3から読み出しを行い、新ステートのパスメトリックはバンク0とバンク1に格納する。このように4バンクのRAM14を用いて1ステートのACS演算が終了するごとにパスメトリックを読み出すバンクのペアと格納するバンクのペアを切り替えることで、DSPによるビタビ復号のACS演算を並列に実行することが可能となる。
【0042】
なお、これまでの説明では、ペアとなるバンクとしてバンク0とバンク1、バンク2とバンク3を例に説明したが、その他の組み合わせを用いてもメモリアクセスステージで供給するアドレスと格納するときのアドレスが変更するだけで同様に実施可能である。また、本実施の形態では、RAM14を4つのバンクで構成したが、本バンク数は最低限必要な数であり、4つ以上であれば同様に実施可能である。
【0043】
(実施の形態3)
図7は実施の形態3における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態1(図1)の演算処理装置と異なるところはパスメトリックを格納する記憶手段として3バンクからなるデュアルポートRAM15で構成されている点であり、それ以外の構成および動作は実施の形態1とまったく同じである。
【0044】
本実施の形態の演算処理装置も、実施の形態2と同じく図5に示すパイプライン構造の演算処理に適している。パスメトリックを格納する記憶手段がデュアルポートRAM15であることから、1命令において同一バンクへのリードとライトの指定が可能なため、例えば、命令1においてn+1サイクル目の演算実行ステージでACS演算を実行する為に、まずnサイクル目のメモリアクセス・ステージで読み出すパスメトリックのアドレスと書き込むパスメトリックのアドレスをデュアルポートRAM15に供給し、n+1サイクル目で、実施の形態2のRAM14と同じくデュアルポートRAM15から偶数番地と奇数番地を連続して読み出し、ACS演算を行い、さらに同じバンクに1個のパスメトリックを書き込むことが可能となる。
【0045】
本実施の形態3の演算処理装置も、実施の形態2の演算処理装置と同じく以下の状況下で動作する。
・1ステートのパスメトリックは偶数番地、奇数番地の順に連続した番地に格納されており、
・1ステートのパスメトリックを前半と後半に分け、それぞれ別々のバンクに格納されている。
【0046】
デュアルポートRAM15には、例えばバンク0に旧ステートの前半のパスメトリック(図3ではPM0,PM1,PM2,PM3を指す)が格納されており、バンク1に旧ステートの後半のパスメトリック(図3ではPM4,PM5,PM6,PM7を指す)が格納されているとき、1サイクルの演算実行(ACS演算実行)で2個のパスメトリックが生成され、それらがバス13を介してそれぞれバンク0、バンク2に格納される。このときバス13は倍精度データを転送することになり、バンク0にノードN’0からノードN’3のパスメトリックが格納され、バンク2にノードN’4からノードN’7のパスメトリックが格納される。
【0047】
以上の図3に対応したメモリアクセスの動作例を図8に示す。本実施の形態の演算処理装置が実施の形態2の演算処理装置と異なる点は、1ステートのACS演算が終了すると、バンク1とバンク2の切り替えのみ行い、バンク0に関しては切り替えなくても、DSPによるビタビ復号のACS演算を並列に実行することができる点である。なお、本実施の形態では、デュアルポートRAM15を3つのバンクで構成したが、本バンク数は最低限必要な数であり、3つ以上であれば同様に実施可能である。
【0048】
(実施の形態4)
図9は実施の形態4における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態2(図4)の演算処理装置と異なるところは入力レジスタ16、17を具備している点であり、それ以外の構成および動作は実施の形態2とまったく同じである。図9において、本入力レジスタ16、17は、バス2からデータを入力し、比較手段5、9と加算手段6、10にデータを出力する。
【0049】
本実施の形態の演算処理装置は、図10に示すパイプライン構造の演算処理に適している。例えば、命令1においてn+2サイクル目の演算実行ステージでACS演算を実行する為に、予めnサイクル目のメモリアクセス・ステージで読み出すパスメトリックのアドレスをRAM14に供給し、n+1サイクル目のデータ転送ステージでRAM14から出力されたデータがバス2を介して入力レジスタ16、17にラッチする。
【0050】
図10に示すパイプラインは、図5に示したパイプラインのステージにデータ転送の1ステージを演算実行ステージの前に挿入している。すなわち、演算実行ステージの始まりの時点では、RAM14からのデータは各演算器(比較手段5、9と加算手段6、10を指す)手前の入力レジスタで確定しているため、RAM14からのデータ転送に要す時間を省くことが可能となる。
【0051】
したがって、本実施の形態によれば、比較的高速にDSPによるビタビ復号のACS演算を並列に実行することが可能となる。なお、パスメトリックを格納する手段としてデュアルポートRAMを用いても同様に実施可能である。
【0052】
(実施の形態5)
図11は実施の形態5における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態4(図9)の演算処理装置と異なるところはスワップ回路18を具備している点であり、それ以外の構成および動作は実施の形態4とまったく同じである。図11において、本スワップ回路18は、ブランチメトリックを格納する記憶手段3からデータを入力し、バス4にデータを出力する。
【0053】
本実施の形態の演算処理装置は、図10に示すパイプライン構造の演算処理に適している。本スワップ回路18は、記憶手段3から例えば{BM1,BM0}の形式で倍精度データとして入力した2つのブランチメトリックの値を、そのまま{BM1,BM0}として出力するか、上位と下位をスワップして{BM0,BM1}として出力するかを、命令などにより切り替える機能を有する。
【0054】
スワップ回路18の動作を説明する。拘束長K=4、符号化率1/2として、図2に示す畳み込み符号器および図3に示すバタフライ構造のパスメトリックの遷移状態を用いて説明する。旧ステート(Old State )のノードN0とノードN1から、ノードN’0およびノードN’4に遷移する時のACS演算と、旧ステート(Old State )のノードN6とノードN7から、ノードN’3およびノードN’7に遷移する時のACS演算とを比較すると図12になる。すなわち、ノードN0とノードN1からノードN’0へのACS演算とノードN6とノードN7からノードN’3へのACS演算は比較手段5と加算手段6で行われるが、両ACS演算では共通のブランチメトリックBM0とBM1を用い、かつBM0とBM1がスワップした関係になっている。これはノードN0とノードN1からノードN’4へのACS演算とノードN6とノードN7からノードN’7へのACS演算の比較手段9と加算手段10でも同じ関係が成り立つ。そのため、ブランチメトリックを格納する記憶手段3には{BM0,BM1}と{BM1,BM0}の両形態で格納しなければならず、冗長なハードウェア資源となる。
【0055】
スワップ回路18は、このような冗長性を解決するもので、ブランチメトリックを格納する記憶手段3には、例えば{BM0,BM1}の形態だけを格納しておき、スワップ回路18には、この{BM0,BM1}を入力し、例えば命令などにより、出力として{BM0,BM1}とするか、{BM1,BM0}とするかを切り替える動作を行うもので、このスワップ回路18により、ブランチメトリックを格納する記憶手段3の冗長性を省くことが可能となる。
【0056】
なお、本実施の形態では、拘束長K=4、符号化率1/2で、旧ステートのノードN0、ノードN1、ノードN6、ノードN7を用いて説明を行ったが、ノードN2、ノードN3、ノードN4、ノードN5でも上記関係が成り立ち、さらに上記以外の拘束長Kと符号化率の組み合わせでも成り立つため、同様に実施可能である。また、パスメトリックを格納する手段としてデュアルポートRAMを用いても同様に実施可能である。
【0057】
(実施の形態6)
図13は実施の形態6における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態5(図11)の演算処理装置と異なるところは、比較手段として2つの加算器と1つの比較器で構成し、加算手段として2つの加算器で構成している点であり、それ以外の構成および動作は実施の形態5とまったく同じである。
【0058】
図13において、19および20はバス4と入力レジスタ16からデータを入力し加算する加算器、21は加算器19と加算器20から加算結果を入力して比較し、比較結果を格納する記憶手段7と選択手段8に出力する比較器、22および23はバス4と入力レジスタ16からデータを入力して加算し、加算結果を選択手段8に出力する加算器、24および25はバス4と入力レジスタ17からデータを入力し加算する加算器、26は加算器24と加算器25から加算結果を入力して比較し、比較結果を格納する記憶手段11と選択手段12に出力する比較器、27および28はバス4と入力レジスタ17からデータを入力して加算し、加算結果を選択手段12に出力する加算器である。本実施の形態の演算処理装置は、図10に示すパイプライン構造の演算処理に適している。
【0059】
次に、本実施の形態におけるACS演算の動作を説明する。拘束長K=4、符号化率1/2として、図2に示す畳み込み符号器と、図3に示すバタフライ構造と、図12に示すノードN0,N1からノードN’0,N’4へのACS演算とノードN6,N7からノードN’3,N’7へのACS演算の比較を用いて説明する。
【0060】
図13に示すように、入力レジスタ16、17から2つのパスメトリックが {A,B}として出力され、スワップ回路18から2つのブランチメトリックが{C,D}として出力されると、加算器19では、パスメトリック{A}とブランチメトリック{C}を入力し加算結果{A+C}を出力し、加算器20では、パスメトリック{B}とブランチメトリック{D}を入力し、加算結果{B+ D}を出力し、比較器21では、加算器19の加算結果{A+C}と加算器20の加算結果{B+D}とを入力し、{A+C−(B+D)}の比較を行い、比較結果のMSBを出力する。加算器22では、パスメトリック{A}とブランチメトリック{C}を入力し加算結果{A+C}を出力し、加算器23では、パスメトリック{B}とブランチメトリック{D}を入力し、加算結果{B+D}を出力する。
【0061】
一方、加算器24では、パスメトリック{A}とブランチメトリック{D}を入力し、加算結果{A+D}を出力し、加算器25では、パスメトリック{B}とブランチメトリック{C}を入力し、加算結果{B+C}を出力し、比較器26では、加算器24の加算結果{A+D}と加算器25の加算結果{B+C}とを入力し、{A+D−(B+C)}の比較を行い、比較結果のMSBを出力する。加算器27では、パスメトリック{A}とブランチメトリック{D}を入力し、加算結果{A+D}を出力し、加算器28では、パスメトリック{B}とブランチメトリック{C}を入力し、加算結果{B+C}を出力する。
【0062】
以上の構成および動作により、入力レジスタ16および入力レジスタ17の2つのパスメトリック{A,B}={PM1,PM0}とし、スワップ回路18の出力{C,D}={BM1,BM0}とすると、図12に示す旧ステート(Old State )のノードN0とノードN1から、ノードN’0およびノードN’4に遷移する時のACS演算が実現できる。
【0063】
また、入力レジスタ16および入力レジスタ17の2つのパスメトリック{A,B}={PM1,PM0}とし、スワップ回路18の出力{C,D}={BM0,BM1}とすると、図12に示す旧ステート(Old State )のノードN0とノードN1から、ノードN’0およびノードN’4に遷移する時のACS演算が実現できる。
【0064】
したがって、本実施の形態によれば、2つのパスメトリックの更新がDSPによるパイプライン動作により1マシンサイクルで実現できる。なお、本実施の形態では、拘束長K=4、符号化率1/2で、旧ステートのノードN0、ノードN1、ノードN6、ノードN7を用いて説明を行ったが、ノードN2、ノードN3、ノードN4、ノードN5でも上記関係が成り立ち、さらに上記以外の拘束長Kと符号化率の組み合わせでも成り立つため、同様に実施可能である。また、パスメトリックを格納する手段としてデュアルポートRAMを用いても同様に実施可能である。
【0065】
(実施の形態7)
図14は実施の形態7における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態6(図13)の演算処理装置と異なるところは、比較器の一方をALU29で兼用している点であり、またそれに伴い入力レジスタ30、31と、バス32、33、37、38と、セレクタ34、35を具備しており、またブランチメトリックを格納する記憶手段としてレジスタファイル36を具備している点で、それ以外の構成および動作は実施の形態6とまったく同じである。
【0066】
図14において、30は4バンクからなるRAM14からバス37を介してデータを入力する入力レジスタ、31は4バンクからなるRAM14からバス38を介してデータを入力する入力レジスタ、32およびバス33はレジスタファイル36からデータを入力するバス、34はバス32と加算器19と入力レジスタ30からデータを入力し、出力を選択するセレクタ、35はバス33と加算器20と入力レジスタ31からデータを入力し、出力を選択するセレクタ、29はセレクタ34および35からデータを入力して算術論理演算を行い、バス13に算術論理演算結果を出力し、さらに算術論理演算結果のMSBを比較結果を格納する記憶手段7と選択手段8に出力するALUである。本実施の形態の演算処理装置は、図10に示すパイプライン構造の演算処理に適している。
【0067】
本実施の形態においてACS演算を行うときは、セレクタ34は加算器19の出力を選択してALU29に入力し、セレクタ35は加算器20の出力を選択してALU29に入力し、ALU29は入力した2つのデータを減算し、減算結果のMSBを比較結果を格納する記憶手段7と選択手段8に出力する。
【0068】
また、ALUがレジスタ−レジスタ間の算術論理演算を行う時は、レジスタファイル36からバス32とバス33にデータが出力され、セレクタ34とセレクタ35が、それぞれバス32とバス33を選択することで実現可能である。ALUがレジスタ−メモリ間の算術論理演算を行う時は、レジスタファイル36からバス32にデータが出力され、4バンクからなるRAM14からバス38を介して入力レジスタ31にデータが入力され、セレクタ34とセレクタ35がそれぞれバス32と入力レジスタ31を選択することで実現可能である。
【0069】
逆に、ALUがメモリ−レジスタ間の算術論理演算を行う時は、4バンクからなるRAM14からバス37を介して入力レジスタ30にデータが入力され、レジスタファイル36からバス33にデータが出力され、セレクタ34とセレクタ35がそれぞれ入力レジスタ30とバス33を選択することで実現可能である。
【0070】
その外、ALUがメモリ−メモリ間の算術論理演算を行う時は、4バンクからなるRAM14からバス37およびバス38を介して、入力レジスタ30および入力レジスタ31にデータが入力され、セレクタ34とセレクタ35がそれぞれ入力レジスタ30と入力レジスタ31を選択することで実現可能である。
【0071】
このようにして、本実施の形態によれば、ACS演算を行う比較器の一方をALUと兼用することで、演算処理装置をLSI化する場合に、そのチップ面積を削減してコストを低減することができる。なお、パスメトリックを格納する手段としてデュアルポートRAMを用いても同様に実施可能である。
【0072】
(実施の形態8)
図15は実施の形態8における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態7(図14)の演算処理装置と異なるところは、比較手段として用いている2つの加算器を、4:2COMPRESSOR39および40で実現している点であり、それ以外の構成および動作は実施の形態7とまったく同じである。
【0073】
図15において、39はバス4と入力レジスタ16からデータを入力し、セレクタ34とセレクタ35に演算結果を出力する4:2COMPRESSOR、40はバス4と入力レジスタ17からデータを入力し比較器26に演算結果を出力する4:2COMPRESSORである。本実施の形態の演算処理装置は、図10に示すパイプライン構造の演算処理に適している。
【0074】
次に、本実施の形態におけるACS演算の動作を説明する。拘束長K=4、符号化率1/2として、図2に示す畳み込み符号器と、図3に示すバタフライ構造と、図12に示すノードN0,N1からノードN’0,N’4へのACS演算とノードN6,N7からノードN’3,N’7へのACS演算の比較を用いて説明する。
【0075】
まず、4:2COMPRESSOR39、40は、図16に示す処理を行なう単体のブロックが単精度ビット数分直列に接続され、通常の全加算器よりも高速に加算処理を行なう。
【0076】
図15に示すように、入力レジスタ16、17から2つのパスメトリックが {A,B}として出力され、スワップ回路18から2つのブランチメトリックが{C,D}として出力されると、4:2COMPRESSOR39では、パスメトリック{A}とブランチメトリック{C}とパスメトリック{B}の反転{ ̄B}とブランチメトリック{D}の反転{ ̄D}を入力し、ALU29では、セレクタ34、35を介して、4:2COMPRESSOR39の2つの出力を入力して加算する。ただし、このとき{B}および{D}の2の補数を実現するために、4:2COMPRESSOR39と、ALU29の最下位のキャリー入力に“1”を入力する。その結果{A+C−(B+D)}が得られ、そのMSBを出力する。加算器22では、パスメトリック{A}とブランチメトリック{C}を入力し加算結果{A+C}を出力し、加算器23では、パスメトリック{B}とブランチメトリック{D}を入力し加算結果{B+D}を出力する。
【0077】
一方、4:2COMPRESSOR40では、パスメトリック{A}とブランチメトリック{D}とパスメトリック{B}のの反転{ ̄B}とブランチメトリック{C}の反転{ ̄C}を入力し、比較器26は、4:2COMPRESSOR39の2つの出力を入力して加算する。ただし、このとき{B}および{C}の2の補数を実現するために、4:2COMPRESSOR40と、比較器26の最下位のキャリー入力に“1”を入力する。その結果{A+D−(B+C)}が得られ、そのMSBを出力する。加算器27では、パスメトリック{A}とブランチメトリック{D}を入力し、加算結果{A+D}を出力し、加算器28では、パスメトリック{B}とブランチメトリック{C}を入力し、加算結果{B+C}を出力する。
【0078】
以上の構成および動作により、入力レジスタ16および入力レジスタ17の2つのパスメトリック{A,B}={PM1,PM0}とし、スワップ回路18の出力{C,D}={BM1,BM0}とすると、図12に示す旧ステート(Old State )のノードN0とノードN1から、ノードN’0およびノードN’4に遷移する時のACS演算が実現できる。
【0079】
また、入力レジスタ16および入力レジスタ17の2つのパスメトリック{A,B}={PM1,PM0}とし、スワップ回路18の出力{C,D}={BM0,BM1}とすると、図12に示す旧ステート(Old State )のノードN0とノードN1から、ノードN’0およびノードN’4に遷移する時のACS演算が実現できる。したがって、2つのパスメトリックの更新がDSPによるパイプライン動作により1マシンサイクルで実現できる。
【0080】
このようにして、本実施の形態によれば、ACS演算を行う比較手段に4:2COMPRESSORを適用することによって、2つの加算器で構成した場合より高速に演算することが可能なため、より高速な演算を実現することができる。なお、例では拘束長K=4、符号化率1/2で、旧ステートのノードN0、ノードN1、ノードN6、ノードN7を用いて説明を行ったが、ノードN2、ノードN3、ノードN4、ノードN5でも上記関係が成り立ち、さらに上記以外の拘束長Kと符号化率の組み合わせでも成り立つため、同様に実施可能である。また、パスメトリックを格納する手段としてデュアルポートRAMを用いても同様に実施可能である。
【0081】
(実施の形態9)
図17は実施の形態9における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態8(図15)の演算処理装置と異なるところは、加算手段として倍精度加算器を用い、しかも少なくとも一方は倍精度AUで兼用している点であり、それ以外の構成および動作は実施の形態8とまったく同じである。
【0082】
図17において、41は入力レジスタ16とバス4から倍精度形式のデータを入力し、倍精度算術演算を行う倍精度AU、42は入力レジスタ17とバス4から倍精度形式のデータを入力し、倍精度加算演算を行う倍精度加算器であり、倍精度AU41の出力は選択手段8とバス13に出力し、倍精度加算器42の出力は選択手段12に出力する。本実施の形態の演算処理装置は、図10に示すパイプライン構造の演算処理に適している。
【0083】
本実施の形態においてACS演算を行うときは、倍精度AU41は、入力レジスタ16から2つのパスメトリックを倍精度形式で{A,B}として入力し、スワップ回路18からバス4を介して、2つのブランチメトリックを倍精度形式で{C,D}として入力する。この時、倍精度AU41は倍精度の加算を行うが、図18に示すように、単精度のMSBのビット位置から次段へのキャリーは強制的にゼロにする。これにより、2つのパスメトリックとブランチメトリックの加算{A+C,B+D}が同時に並列演算することができる。
【0084】
一方、倍精度加算器42は、入力レジスタ17から2つのパスメトリックを倍精度形式で{A,B}として入力し、スワップ回路18からバス4を介して、2つのブランチメトリックを倍精度形式で{D,C}として入力する。倍精度加算器42も、倍精度AU41と同様に単精度のMSBのビット位置から次段へのキャリーは強制的にゼロにして、2つのパスメトリックとブランチメトリックの加算{A+D,B+C}を同時に並列演算する。
【0085】
このようにして、本実施の形態によれば、ACS演算を行う加算手段に倍精度AU41を用い、ACS演算時には単精度のMSBのビット位置から次段へのキャリーを強制的にゼロにし、それ以外の倍精度算術演算では、キャリーを伝播させる制御を付加することで、例えば積和演算時の倍精度累積加算器と兼用することが可能で、演算処理装置をLSI化する場合に、そのチップ面積を一段と削減してコストを低減することができる。なお、パスメトリックを格納する手段としてデュアルポートRAMを用いても同様に実施可能である。
【0086】
(実施の形態10)
図19は実施の形態10における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態9(図17)の演算処理装置と異なるところは、比較結果を格納する記憶手段としてシフトレジスタを用いている点であり、それ以外の構成および動作は実施の形態9とまったく同じである。
【0087】
図19において、43はALU29の演算結果のMSBを入力とするシフトレジスタ、44は比較器26の演算結果のMSBを入力とするシフトレジスタであり、シフトレジスタ43,44は、両者ともバス2にデータを出力することができる。本実施の形態の演算処理装置は、図10に示すパイプライン構造の演算処理に適している。
【0088】
本実施の形態においてACS演算を行うときは、ALU29による比較結果のMSBをシフトレジスタ43に随時シフトインし、比較器26による比較結果のMSBをシフトレジスタ44に随時シフトインすることで、パスセレクト信号 (2つのパスのうちどちらを選んだかを示す信号で、ACS演算終了後トレースバックするときに使用する)を格納することができる。また、本シフトレジスタ43,44のビット幅が、例えば単精度データ幅である場合には、単精度のビット数回ACS演算を行うと、シフトレジスタ43,44の値をバス2を介して、4バンクからなるRAM14にパスセレクト信号を格納する必要がある。
【0089】
このようにして、本実施の形態によれば、ACS演算を行う比較結果を格納する記憶手段にシフトレジスタ43,44を用いることで、例えば除算系のシフトレジスタを使用する演算命令と兼用することが可能で、演算処理装置をLSI化する場合に、そのチップ面積を一段と削減してコストを低減することができる。なお、パスメトリックを格納する手段としてデュアルポートRAMを用いても同様に実施可能である。
【0090】
(実施の形態11)
図20は実施の形態11における演算処理装置の構成を示すものである。本実施の形態の演算処理装置が、実施の形態10(図19)の演算処理装置と異なるところは、入力レジスタ17がバス2から常にパスメトリックデータをスワップして入力して、4:2COMPRESSOR40にはスワップ回路18からのブランチメトリックデータをスワップしないでそのまま入力し、比較器26の比較結果のネゲート値がシフトレジスタ44にシフトインする点であり、それ以外の構成および動作は実施の形態10とまったく同じである。本実施の形態の演算処理装置は、図10に示すパイプライン構造の演算処理に適している。
【0091】
本実施の形態においてACS演算を行うときは、2つのパスメトリック{A,B}が入力レジスタ16にはそのまま{A,B}として入力されるが、入力レジスタ17には、常にスワップした状態{B,A}として入力される。その後、 4:2COMPRESSOR40では、スワップ回路18から2つのブランチメトリックが{C}と{ ̄D}として、入力レジスタ17から2つのパスメトリックが{B}と{ ̄A}として入力され、比較器26では、4:2COMPRESSOR40の2つの出力を入力して加算し、{A+D−B−C}を計算する。一方、倍精度加算器42は、スワップ回路18から2つのブランチメトリックを {C,D}として、入力レジスタから2つのパスメトリックが{B,A}として入力され、{B+C}と{A+D}を同時に並列演算し、選択手段12に{B+C,A+D}の形式で出力する。比較器26は、比較結果のMSBを選択手段12に、比較結果のネゲート値のMSBをシフトレジスタ44に出力する。
【0092】
このようにして、本実施の形態によれば、2つのパスメトリックを格納する入力レジスタの一方をスワップして入力することで、演算実行(EX)ステージで4:2COMPRESSOR40と倍精度加算器42の入力でのスワップがなくなり、より高速なACS演算を行うことが可能となる。なお、パスメトリックを格納する手段としてデュアルポートRAMを用いても同様に実施可能である。
【0093】
(実施の形態12)
図21は実施の形態12における移動局装置の構成を示すものである。図21において、本実施の形態における移動局装置45は、送受信共用のアンテナ部46と、受信部48及び送信部49から成る無線部47と、信号の変調及び復調と符号化及び復号化とを行うベースバンド信号処理部50と、音声を放音するスピーカ58と、音声を入力するマイク59と、送受信するデータを外部装置との間で入出力するデータ入出力部60と、動作状態を表示する表示部61と、テンキーなどの操作部62と、アンテナ部46、無線部47、ベースバンド信号処理部50、表示部61及び操作部62などを制御する制御部63とを備えている。
【0094】
また、ベースバンド信号処理部50は、受信信号を復調する復調部51と、送信信号を変調する変調部52と、1チップのDSP53とで構成され、DSP53は、第1から第11の実施の形態の演算処理装置から成るビタビ復号部55と、送信信号を畳み込み符号化する畳み込み符号化部56と、音声信号の符復号化を行う音声コーデック部57と、送受信のタイミングを計って受信信号を復調部51からビタビ復号部55に、送信信号を畳み込み符号化部56から変調部52に送るタイミング制御部54とを、それぞれソフトウェアで形成している。
【0095】
この移動局装置45の制御部63は、移動局装置45全体の動作を制御し、例えば、操作部62から入力した信号を表示部61に表示したり、操作部62から入力した信号を受けて、発着呼の動作を行うための制御信号を、通信シーケンスに従って、アンテナ部46と、無線部47及びベースバンド信号処理部50などに出力する。
【0096】
移動局装置45から音声が送信される場合には、マイク59から入力した音声信号がAD変換され(図示なし)、DSP53の音声コーデック部57で符号化され、その符号化データが畳み込み符号化部56に入力する。また、データが送信される場合には、外部から入力したデータがデータ入出力部60を介して畳み込み符号化部56に入力する。畳み込み符号化部56は、入力したデータを畳み込み符号化し、タイミング制御部54に出力する。タイミング制御部54は、入力したデータの並び替えや送信出力タイミングの調整を行って、変調部52に出力する。変調部52に入力したデータは、ディジタル変調され、DA変換されて( 図示なし) 、無線部47の送信部49に出力される。送信部49は、これを無線信号に変換してアンテナ部46に送り、アンテナから電波として送信される。
【0097】
一方、受信時には、アンテナ部46で受信された電波が、無線部47の受信部48で受信され、AD変換されて、ベースバンド信号処理部50の復調部51に出力される。復調部51で復調されたデータは、タイミング制御部54でデータの並び替え等が行われた後、ビタビ復号部55に入力し、ここで復号される。ビタビ復号部55で復号されたデータは、音声通信時には、音声コーデック部57で音声復号化され、DA変換された後、スピーカ58から音声として出力される。また、データ通信時には、ビタビ復号部55で復号されたデータは、データ入出力部60を介して外部に出力される。
【0098】
このようにして、本実施の形態による移動局装置45は、ビタビ復号部55、畳み込み符号化部56、音声コーデック部57及びタイミング制御部54の各部を1チップのDSP53のソフトウェアで形成しているため、少ない部品点数で組み立てることができる。また、このビタビ復号部55を第1から第11の実施の形態の演算処理装置形成しているため、DSP53によるパイプライン処理で1マシンサイクルに2つのパスメトリックの更新が実現でき、これにより高速に比較的少ない処理量でDSP53によるビタビ復号のACS演算が実現できる。
【0099】
なお、ここでは、復調部51及び変調部52をDSP53と区別して示しているが、それらをDSP53のソフトウェアで構成することも可能である。また、DSPとして、第6の実施の形態のDSPを使用し、畳み込み符号化部56、音声コーデック部57及びタイミング制御部54をそれぞれ別の部品で構成することも可能である。
【0100】
(実施の形態13)
図22は実施の形態13における移動局装置の構成を示すものである。本実施の形態の移動局装置45Aが、実施の形態12(図26)の移動局装置45と異なるところは、変調部52Aに拡散部65を設け、また、復調部51Aに逆拡散部64を設けたCDMA通信方式のベースバンド信号処理部50Aとした点であり、それ以外の構成及び動作は実施の形態12と多くの点で類似している。なおCDMA通信の場合、タイミング制御部54に、遅延プルファイル等(図示な し)から選択された複数のフィンガを合わせ込むRAKE受信部が含まれることもある。
【0101】
このように、本実施の形態における移動局装置45Aは、復調部51Aに逆拡散部64を、また、変調部52Aに拡散部65を設けることで、CDMA通信に適用することができる。
【0102】
(実施の形態14)
図23は実施の形態14における基地局装置の構成を示すものであり、図21に示したものと同様な機能を有する構成要素には同様な符号を付してある。図23において、本実施の形態における基地局装置68は、受信用のアンテナ66及び送信用のアンテナ67から成るアンテナ部46と、受信部48及び送信部49から成る無線部47と、信号の変調及び復調と符号化及び復号化とを行うベースバンド信号処理部69と、送受信するデータを有線回線との間で入出力するデータ入出力部60と、アンテナ部46、無線部47、ベースバンド信号処理部69などを制御する制御部63とを備えている。
【0103】
また、ベースバンド信号処理部69は、受信信号を復調する復調部51と、送信信号を変調する変調部52と、1チップのDSP53Aとで構成され、DSP53Aは、第1から第11の実施の形態の演算処理装置から成るビタビ復号部55と、送信信号を畳み込み符号化する畳み込み符号化部56と、送受信のタイミングを計って受信信号を復調部51からビタビ復号部55に、送信信号を畳み込み符号化部56から変調部52に送るタイミング制御部54とを、それぞれソフトウェアで形成している。
【0104】
この基地局装置68の制御部63は、基地局装置68の制御の下に送信・受信の動作が行われ、有線回線から入力したデータがデータ入出力部60を介して畳み込み符号化部56に入力する。畳み込み符号化部56は、入力したデータを畳み込み符号化し、タイミング制御部54に出力する。タイミング制御部54は、入力したデータの並び替えや送信出力タイミングの調整を行って、変調部52に出力する。変調部52に入力したデータは、ディジタル変調され、DA変換されて( 図示なし) 、無線部47の送信部49に出力される。送信部49は、これを無線信号に変換してアンテナ部46に送り、アンテナから電波として送信される。
【0105】
一方、受信時には、アンテナ部46で受信された電波が、無線部47の受信部48で受信され、AD変換されて、ベースバンド信号処理部69の復調部51に出力される。復調部51で復調されたデータは、タイミング制御部54でデータの並び替え等が行われた後、ビタビ復号部55に入力し、ここで復号される。ビタビ復号部55で復号されたデータは、データ入出力部60を介して有線回線に出力される。
【0106】
このように、本実施の形態における基地局装置68は、ビタビ復号部55、畳み込み符号化部56、及びタイミング制御部54の各部を1チップのDSP53Aのソフトウェアで形成しているため、少ない部品点数で組み立てることができる。また、このビタビ復号部55を第1から第11の実施の形態の演算処理装置形成しているため、DSP53Aによるパイプライン処理で1マシンサイクルに2つのパスメトリックの更新が実現でき、これにより高速に比較的少ない処理量でDSP53Aによるビタビ復号のACS演算が実現できる。
【0107】
なお、ここでは、復調部51及び変調部52をDSP53Aと区別して示しているが、それらをDSP53Aのソフトウェアで構成することも可能である。また、DSP53Aとして、第6の実施の形態のDSPを使用し、畳み込み符号化部56、音声コーデック部57及びタイミング制御部54をそれぞれ別の部品で構成することも可能である。
【0108】
(実施の形態15)
図24は実施の形態15における基地局装置の構成を示すものである。本実施の形態の基地局装置68Aが、実施の形態14(図24)の基地局装置68と異なるところは、変調部52Aに拡散部65を設け、また、復調部51Aに逆拡散部64を設けたCDMA通信方式のベースバンド信号処理部69Aとした点であり、それ以外の構成及び動作は実施の形態12と多くの点で類似している。なお、CDMA通信の場合、タイミング制御部54に、遅延プルファイル等(図示なし)から選択された複数のフィンガを合わせ込むRAKE受信部が含まれることもある。
【0109】
このように、本実施の形態による基地局装置68Aは、復調部51Aに逆拡散部64を、また、変調部52Aに拡散部65を設けることで、CDMA通信に適用することができる。
【0110】
【発明の効果】
以上のように、本発明の演算処理装置によれば、命令を解読する命令解読手段と、所定のビット幅を有して上位側と下位側に2つのメトリックを保持する記憶手段と、前記記憶手段の上位側と下位側とを並列にアクセスして2つのメトリックを読み出すアクセス手段と、2つのパスメトリックのうちの1つと2つのブランチメトリックのうちの1つとを加算して得られる4通りのデータである第1、第2、第3、第4のデータを入力し、前記第1のデータと前記第2のデータとを比較する第1の比較手段と、この第1の比較手段と並列に動作して前記第3のデータと前記第4のデータとを比較する第2の比較手段とを備えているので、DSPによるパイプライン処理で1マシンサイクルに2つのパスメトリックの更新が実現でき、これにより高速に比較的少ない処理量でDSPによるビタビ復号のACS演算が実現でき、携帯端末の小型化・軽量化・低価格化・バッテリーの長寿命化が可能になるという有利な効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態1における演算処理装置の構成を示すブロック図
【図2】符号化率1/2の畳み込み符号器の例を示すブロック図
【図3】拘束長K=4時のバタフライ構造を示す模式図
【図4】本発明の実施の形態2における演算処理装置の構成を示すブロック図
【図5】本発明の実施の形態2における演算処理装置のパイプライン動作を説明するタイミング図
【図6】本発明の実施の形態2における4バンクのRAM14のメモリアクセスの動作例を示す模式図
【図7】本発明の実施の形態3における演算処理装置の構成を示すブロック図
【図8】本発明の実施の形態3におけるデュアルポートRAM15のメモリアクセスの動作例を示す模式図
【図9】本発明の実施の形態4における演算処理装置の構成を示すブロック図
【図10】本発明の実施の形態4における演算処理装置のパイプライン動作を説明するタイミング図
【図11】本発明の実施の形態5における演算処理装置の構成を示すブロック図
【図12】ノードN0,N1からノードN’0,N’4へのACS演算とノードN6,N7からノードN’3,N’7へのACS演算の比較例を示す一覧図
【図13】本発明の実施の形態6における演算処理装置の構成を示すブロック図
【図14】本発明の実施の形態7における演算処理装置の構成を示すブロック図
【図15】本発明の実施の形態8における演算処理装置の構成を示すブロック図
【図16】本発明の実施の形態8における4:2COMPRESSORの入出力図
【図17】本発明の実施の形態9における演算処理装置の構成を示すブロック図
【図18】倍精度AUのキャリー制御を説明するための図
【図19】本発明の実施の形態10における演算処理装置の構成を示すブロック図
【図20】本発明の実施の形態11における演算処理装置の構成を示すブロック図
【図21】本発明の実施の形態12における移動局装置の構成を示すブロック図
【図22】本発明の実施の形態13における移動局装置の構成を示すブロック図
【図23】本発明の実施の形態14における基地局装置の構成を示すブロック図
【図24】本発明の実施の形態15における基地局装置の構成を示すブロック図
【図25】ビタビ復号における畳み込み符号器の状態遷移のパスを示す状態遷移図(トレリス線図)
【図26】トレリス線図のバタフライ構造を示す模式図
【図27】畳み込み符号器による生成符号例を示す模式図
【図28】チャネル・コーディング(Channel Coding)向けビタビ演算例を示すプログラム図
【図29】ポインタ制御とパスメトリックの格納例を示す模式図
【符号の説明】
1 パスメトリックを格納する記憶手段
2 バス
3 ブランチメトリックを格納する記憶手段
4 バス
5 比較手段
6 加算手段
7 比較結果を格納する記憶手段
8 選択手段
9 比較手段
10 加算手段
11 比較結果を格納する記憶手段
12 選択手段
13 バス
14 4バンクからなるRAM
15 デュアルポートRAM
16 入力レジスタ
17 入力レジスタ
18 スワップ回路
19 加算器
20 加算器
21 比較器
22 加算器
23 加算器
24 加算器
25 加算器
26 比較器
27 加算器
28 加算器
29 ALU
30 入力レジスタ
31 入力レジスタ
32 バス
33 バス
34 セレクタ
35 セレクタ
36 レジスタファイル
37 バス
38 バス
39 4:2COMPRESSOR
40 4:2COMPRESSOR
41 倍精度AU
42 倍精度加算器
43 シフトレジスタ
44 シフトレジスタ
45 移動局装置
46 アンテナ部
47 無線部
48 受信部
49 送信部
50 ベースバンド信号処理部
51 復調部
52 変調部
53 DSP
54 タイミング制御部
55 ビタビ復号部
56 畳み込み符号
57 音声コーデック部
58 スピーカ
59 マイク
60 データ入出力装置
61 表示部
62 操作部
63 制御部
64 逆拡散部
65 拡散部
66 受信アンテナ
67 送信アンテナ
68 基地局装置
69 ベースバンド信号処理部
Claims (4)
- ディジタル信号処理プロセッサによるビタビ復号が可能な演算処理装置であって、
第1のデータと第2のデータとを比較する第1の比較手段と、
第3のデータと第4のデータとを比較する第2の比較手段とを有し、
前記第1の比較手段と前記第2の比較手段とを、1命令によって、かつ、1サイクルで動作させる演算処理装置。 - 前記第1の比較手段と前記第2の比較手段のうち、少なくとも一方がALU(Arithmetic Logic Unit)で構成されている請求項1記載の演算処理装置。
- 前記第1の比較手段と前記第2の比較手段の比較結果を保持する2つのシフトレジスタを有する請求項1または請求項2に記載の演算処理装置。
- 前記ALU(Arithmetic Logic Unit)が、レジスタ―メモリ演算の実施が可能である請求項2に記載の演算処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003009709A JP3996858B2 (ja) | 1997-06-30 | 2003-01-17 | 演算処理装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17387897 | 1997-06-30 | ||
JP9-173878 | 1997-06-30 | ||
JP2003009709A JP3996858B2 (ja) | 1997-06-30 | 2003-01-17 | 演算処理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002327296A Division JP3634333B2 (ja) | 1997-06-30 | 2002-11-11 | ディジタル信号処理プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003234656A JP2003234656A (ja) | 2003-08-22 |
JP3996858B2 true JP3996858B2 (ja) | 2007-10-24 |
Family
ID=27790281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003009709A Expired - Fee Related JP3996858B2 (ja) | 1997-06-30 | 2003-01-17 | 演算処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3996858B2 (ja) |
-
2003
- 2003-01-17 JP JP2003009709A patent/JP3996858B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003234656A (ja) | 2003-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3338374B2 (ja) | 演算処理方法および装置 | |
KR100439211B1 (ko) | 연산처리장치 | |
US20050157823A1 (en) | Technique for improving viterbi decoder performance | |
WO2005011129A1 (ja) | ビタビ復号器 | |
US7506239B2 (en) | Scalable traceback technique for channel decoder | |
JP3996858B2 (ja) | 演算処理装置 | |
JP3634333B2 (ja) | ディジタル信号処理プロセッサ | |
JP3383661B2 (ja) | 演算処理装置 | |
US20030028845A1 (en) | High performance turbo and viterbi channel decoding in digital signal processors | |
JP3191442B2 (ja) | ビタビ復号用演算装置 | |
US6125153A (en) | Data processor and data processing method | |
JPH10178356A (ja) | 演算処理装置及びそれを用いた無線局装置 | |
JP2002217747A (ja) | ビタビ復号処理装置 | |
JP3231647B2 (ja) | ビタビ復号器 | |
KR100430823B1 (ko) | 비터비 디코더에서 고속 파이프라인 구조의 트레이스백 동작을하 | |
JP2001024526A (ja) | ビタビ復号装置 | |
JPH10242871A (ja) | データ処理装置及びデータ処理方法 | |
SC140 | How to Implement a Viterbi Decoder on the | |
JP2001352255A (ja) | 通信装置用演算装置及び記録媒体並びに演算方法 | |
JP2002185337A (ja) | 基地局装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061128 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070124 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070615 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070621 |
|
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: 20070710 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070803 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130810 Year of fee payment: 6 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |