JP2004222196A - Device and method for signal processing - Google Patents
Device and method for signal processing Download PDFInfo
- Publication number
- JP2004222196A JP2004222196A JP2003010097A JP2003010097A JP2004222196A JP 2004222196 A JP2004222196 A JP 2004222196A JP 2003010097 A JP2003010097 A JP 2003010097A JP 2003010097 A JP2003010097 A JP 2003010097A JP 2004222196 A JP2004222196 A JP 2004222196A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data rate
- error
- calculation processing
- crc
- 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.)
- Withdrawn
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、畳み込み符号などで符号化されたデータを最尤復号する信号処理装置及び方法に関し、特に送信されたデータのデータレートを検出する信号処理装置及び方法に関する。
【0002】
【従来の技術】
従来、データレートが複数用意された内の、所定のデータレートで送信させて、受信側でそのデータレートを検出することが行われている。図5は、従来の受信装置3を含む、所定の複数のデータレートのうち、任意のデータレートでデータが送受信される通信系の構成例を示している。
【0003】
送信装置1は、畳み込み符号化したデータを、所定の複数のデータレートのうちの任意のデータレートで、通信路2を介して受信装置3に送信する。
【0004】
図6は、ここで送受信されるデータのトランスポートフォーマットの例を示している。このフォーマットによれば、データストリームにCRC(Cyclic Redundancy Check )符号が付加されているが、データレートに応じて、データストリームの長さは可変するため、終端のビット(CRCの最後のビット)nend は、データレートにより異なる。なお、以下の説明では、CRCの最後のビットを終端ビットnend と称する。
【0005】
例えば、図6に示すように、所定単位毎に、4つのデータレートR1,R2,R3,R4(データレートR1<データレートR2<データレートR3<データレートR4)が存在する場合において、データレートR1〜R4のときのそれぞれの終端ビットnend は、先頭ビットSから数えて、第E1番目のビット(図9(a))、第E2番目のビット(図9(b))、第E3番目のビット(図9(c))、または第E4番目のビット(図9(d))となる。
【0006】
なお、データレートR1〜R3の場合のトランスポートフォーマットにおいて、データレートR1〜R3の終端ビットnend である、第E1番目のビット、第E2番目のビット、または第E3番目のビットから、データレートR4の終端ビットnend である第E4番目のビットに相当するビットまでは、何もデータがないエンプティ区間となる。
【0007】
受信装置3は、送信装置1から、通信路2を介して送信されてきたデータ(図6)に対して、ビタビ復号処理を施す。受信装置3はまた、受信データのデータレートを検出し、復号データを、検出したデータレートで、受信装置に接続されたデータ処理装置(図示せず)に出力する。
【0008】
次に、図5に示した送信装置1および受信装置3の構成について説明する。
【0009】
送信装置1は、CRC(Cyclic Redundancy Check )エンコーダ11、畳み込み符号化部12、および変調部13を有している。CRCエンコーダ11は、送信されるデータのCRCパリティビットを、データストリームに付加し、畳み込み符号化部12に供給する。
【0010】
畳み込み符号化部12は、CRCエンコーダ11からのデータに対し、畳み込み符号化を行って、変調部13に供給する。変調部13は、畳み込み符号化部12からのデータを変調し、通信路2を介して受信装置3に送信する。
【0011】
受信装置3は、復調部31、ビタビ復号部32、CRCデコーダ33、およびデータレート検出部34を有している。復調部31は、受信データを復調して、ビタビ復号部32に供給する。
【0012】
ビタビ復号部32は、データレート検出部34に制御され、復調部31からのデータに対して、ビタビ復号処理を施し、その結果得られたデータ(復号データ)を、CRCデコーダ33に供給する。
【0013】
ビタビ復号部32は、このとき算出した最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値を、データレート検出部34に供給する。
【0014】
ビタビ復号部32は、ビタビ復号処理の結果得られた復号データを、データレート検出部34が検出したデータレートで、図示せぬ装置に出力する。
【0015】
CRCデコーダ33は、データレート検出部34に制御され、ビタビ復号部32からのデータに対して、CRC判定を行い、その判定結果を、データレート検出部34に供給する。
【0016】
データレート検出部34は、ビタビ復号部32およびCRCデコーダ33を制御して、ビタビ復号やCRC判定を行わせるとともに、ビタビ復号部32からの、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値、並びにCRCデコーダ33からのCRC判定結果に基づいて、受信データのデータレートを検出する。
【0017】
図7は、ビタビ復号部32の構成例を示している。ACS部35は、加算、比較、および選択という、いわゆるACS(Add Compare Select)処理を実行する回路であり、ブランチメトリック値およびステートメトリック値を算出するとともに、それらに基づいて所定の演算を行って、パスメトリック値を算出する。ACS部35はまた、算出したパスメトリック値(最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値)を、データレート検出部34に供給するとともに、それらに基づいて、最も尤度の高いパスを選択し、そのパスの選択情報を、パスメモリ36に供給する。
【0018】
パスメモリ36は、受信データの所定の数のビット(L個のビット)についての、ACS部35からの選択情報に基づく生き残りパスに関する情報(パスメモリデータ)を記憶し、その中で最も尤度の高いパスに対応する情報系列を、復号データとして、CRCデコーダ33に供給する。パスメモリ36はまた、データレート検出部34により検出されたデータレートで、復号データを出力する。
【0019】
図8は、CRCデコーダ33の構成例を示している。CRC算出部37は、ビタビ復号部32(パスメモリ36)からの復号データおよびパスメモリデータを使用して、CRC(Cyclic Redundancy Check )用の算出処理を行い、その結果をCRC判定部38に供給する。
【0020】
CRC判定部38は、CRC算出部37により算出されたCRCと、ビタビ復号部32からの復号データに含まれるCRC符号(図6参照)とを比較し、両者が一致するか否かを判定し、その判定結果を、データレート検出部34に供給する。
【0021】
次に、受信データのデータレートを検出する場合の受信装置3の動作を、図9のフローチャートを参照して説明する。なお、ここでは受信するデータとして、図6に示したように、4つのデータレートRi (i=1,2,3,4)が存在するものとする。
【0022】
ステップS1において、データレート検出部34は、内蔵する、カウンタiの値を値1に、レジスタSmin の値を、所定の値Dbに、そしてレジスタtrの値を値0に、それぞれ初期設定する。
【0023】
ステップS2において、データレート検出部34は、ビタビ復号部32を制御して、受信データの先頭ビットSから、カウンタiの値で識別されるデータレートRi の終端ビットnend までの最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値を算出させる。
【0024】
これにより、ビタビ復号部32(ACS部35)は、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値を算出する。ビタビ復号部32(ACS部35)は、算出したこれらのデータを保持するとともに、データレート検出部34に供給する。
【0025】
受信装置3(データレート検出部34)は、あり得るデータレートRi を、予め認識しており、カウンタiの値に基づいて、それらのデータレートRi を識別することができようになされている。
【0026】
この例の場合、カウンタiの値が値1、値2、値3、または値4(最大値)(i=1,2,3,4)で、データレートR1 ,R2 ,R3 ,R4 のそれぞれが識別される。即ち、ここでは先頭ビットSから、第E1 番目(図6(A))、第E2 番目(図6(B))、第E3 番目(図6(C))、または第E4 番目(図6(D))のビットまでのそれぞれの、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値が算出される。
【0027】
次に、ステップS3において、データレート検出部34は、ステップS2で、ビタビ復号部32から供給された、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値に基づいて、式(1)を演算し、S値を算出する。
S値=10Log((a0 −a min ) /(amax −a min ))・・・・(1)
なお、式中、a max は、最大パスメトリック値、a min は、最小パスメトリック値、およびa 0 は、ゼロステートパスメトリック値を示す。またS値の最大値は、値0で、最小値は、マイナス無限大となる。
【0028】
ステップS4において、データレート検出部34は、ステップS3で、算出したS値が、閾値D1 以下であるか否かを判定する。
【0029】
カウンタiの値で識別されるデータレートRi が、受信データの真のデータレートである場合、このときビタビ復号部32において算出されるゼロステートパスメトリック値は、十分に小さい値となるため、式(1)に示すS値は、小さい値となる。一方、データレートRi が、受信データの真のデータレートでない場合、このとき算出されるゼロステートパスメトリック値は、十分に小さい値とはならないので、S値は、小さい値とはならない。すなわち、算出されたS値が、閾値D1 以下であるか否かを判定することにより、データレートRi が、受信データの真のデータレートであるとすることができるか否か(真のデータレートである可能性があるか否か)を判定することができる。
【0030】
なお、閾値D1 は、受信データの真のデータレートのS値が、ここでNOの判定がなされないように(閾値D1 以下ではないと判定されないように)、閾値D1 は、比較的大きな値となっている。
【0031】
ステップS4で、S値が、閾値D1 以下であると判定された場合、すなわち、このときのカウンタiの値で識別されるデータレートRi が、受信データの真のデータレートであるとすることができる場合(真のデータレートである可能性がある場合)、ステップS5に進む。
【0032】
ステップS5において、データレート検出部34は、ビタビ復号部32を制御して、先頭ビットSから、カウンタiの値で識別されるデータレートRi の終端ビットnend までのデータストリームを、ビタビ復号させ、そしてCRCデコーダ33を制御して、このときの復号データおよびパスメモリデータに基づくCRC判定を行わせる。
【0033】
これにより、ビタビ復号部32は、ステップS2で算出した最大パスメトリック値、最小パスメトリック値、またはゼロステートパスメトリック値等を参照して、先頭ビットSから、データレートRi の終端ビットnend までのデータストリームを、ビタビ復号し、その結果得られた復号データを、CRCデコーダ33に供給する。またビタビ復号部32は、パスメモリ36に記憶されているパスメモリデータを、CRCデコーダ33に供給する。
【0034】
例えば、カウンタi=1のときは、図10(a)に示すように、受信データの先頭ビットSから、第E1 番目のビットのL個前のビット(第(E1 −L)番目のビット)までの復号データ(図中、実線の双方向の矢印で示されているデータ)と、第(E1 −L+1)番目のビットから第E1 番目のビットまでのデータについてのパスメモリデータ(図中、点線の双方向の矢印で示されているデータ)がCRCデコーダ33(CRC算出部37)に供給される。
【0035】
カウンタi=2のときは、図10(b)に示すように、受信データの先頭ビットSから第(E2 −L)番目のビットまでの復号データと、第(E2 −L+1)番目のビットから第E2 番目のビットまでのデータについてのパスメモリデータが、カウンタi=3のときは、図10(c)に示すように、受信データの先頭ビットSから第(E3 −L)番目のビットまでの復号データと、第(E3 −L+1)番目のビットから第E3 番目のビットまでのデータについてのパスメモリデータが、そしてカウンタi=4のときは、図10(d)に示すように、受信データの先頭ビットSから第(E4 −L)番目のビットまでの復号データと、第(E4 −L+1)番目のビットから第E4 番目のビットまでのデータについてのパスメモリデータが、それぞれCRCデコーダ33(CRC算出部37)に供給される。
【0036】
CRCデコーダ33(CRC算出部37)は、供給された復号データおよびパスメモリデータに基づいてCRCを算出する。
【0037】
CRCデコーダ33(CRC判定部38)は、算出したCRCと、本来、データストリームに付加されているCRCが位置する場所のデータと比較し、その両者が一致するか否かを判定する。
【0038】
カウンタiの値で識別されるデータレートRi が、受信データの真のデータレートである場合、このとき算出されたCRCと、データストリームに付加されているCRCが比較され、そして両者は同じデータであるので、この場合、両者は一致すると判定される。一方、データレートRi が、受信データの真のデータレートでない場合、このとき算出されたCRCと、データストリームに付加されているCRCとが比較されないので(データレートRi のときにCRCが位置する場所のデータストリームのデータが比較されるので)、また、算出されたCRCは、データストリームに付加されている本来のCRCとは同一のデータではないので、両者は当然一致しないと判定される。
【0039】
CRCデコーダ33(CRC判定部38)は、CRC判定結果を、データレート検出部34に通知する。
【0040】
図5に戻り、ステップS6において、データレート検出部34は、CRCデコーダ33からのCRC判定結果に基づいて、受信データにエラーが存在するか否かを判定する。すなわち、このときのカウンタiの値で示されるデータレートRi を、受信データのデータレートとした場合におけるCRC判定により、受信データにエラーが存在するか否かが判定される。CRCの判定結果が、一致しない旨を示す場合(データレートRi が真のデータレートではない場合)、エラーが存在すると判定され、一方、CRCの判定結果が、一致する旨を示す場合(真のデータレートである可能性がある場合)、エラーが存在しないと判定される。
【0041】
ステップS6で、エラーが存在しないと判定された場合、ステップS7に進み、データレート検出部34は、ステップS3で算出したS値が、レジスタSmin の値より小さいか否かを判定し、小さいと判定した場合、ステップS8に進む。なお、レジスタSmin に初期設定された値Db は、十分に大きな値であるので、通常、初めて算出されたS値は値Db より小さく、ステップS8に進む。
【0042】
ステップS8において、データレート検出部34は、レジスタSmin の値を、今回算出したS値に置き換える。すなわち、ステップS7では、今回算出されたS値が、これまで算出されたS値の中で最小であるか否かが判定される。
【0043】
データレート検出部34はまた、このとき、レジスタtrの値を、このときのカウンタiの値で置き換える。
【0044】
ステップS4で、S値が、閾値D1 以下ではないと判定されたとき、ステップS6で、エラーが存在すると判定されたとき、ステップS7で、S値が、レジスタSmin の値より小さくないと判定されたとき、またはステップS8で、レジスタSmin およびレジスタtrの値が置き換えられたとき、ステップS9に進む。
【0045】
ステップS9において、データレート検出部34は、カウンタiの値が、最大値(値4)であるか否かを判定し、最大値ではないと判定した場合、ステップS10に進み、カウンタiの値を1だけインクリメントして、ステップS2に戻り、それ以降の処理を実行する。
【0046】
ステップS9で、カウンタiの値が、最大値であると判定された場合、ステップS11に進み、データレート検出部34は、レジスタtrの値で識別されるデータレートRi を、受信データの真のデータレートとして検出する。そしてデータレート検出部34は、ビタビ復号部32(パスメモリ36)を制御して、復号データを、検出したデータレートRi で出力させる。その後、処理は終了する。
【0047】
ところで、上述したように、閾値D1 は、真のデータレートにおけるS値が、それよりも大きいと判定されないように(ステップS4)、比較的大きな値とされているが、このことより、算出される全てのS値(ステップS3)が、閾値D1 以下であると判定されることがある。すなわち、全てのデータレートRi におけるCRC判定が行われる(ステップS5)。
【0048】
次に、CRCデコーダ33内でのCRC計算処理例を、図11のフローチャートを参照して説明する。ここでは、ビタビ復号部32が出力するビット数をx、終端ビットの位置毎に付与した番号であるエンドビットポジション番号をy、最終エンドビットポジション番号をn、パスメモリのビット数をLとする。まず、エンドビットポジション番号yを0に設定し(ステップS21)、続いてそのエンドビットポジション番号yに1を加算する(ステップS22)。また、ビット数xについても0に設定し(ステップS23)、続いてそのビット数xに1を加算する(ステップS24)。
【0049】
そして、CRC算出部37にビタビ復号結果のx番目のデータを入力させる(ステップS25)。そして、このビタビ復号部32が出力するビット数xが、このとき設定されたエンドビットポジション番号yのビット数から、パスメモリのビット数Lを引いた値になったか否か判断する(ステップS26)。該当する値になるまでステップS24に戻って、ビタビ復号部32の出力を入力させる。
【0050】
ステップS26の判断で、このとき設定されたエンドビットポジション番号yのビット数から、パスメモリのビット数Lを引いた値になったと判断した番号には、エンドビットポジション番号yのパスメモリデータを入力して、CRC演算を完了させる(ステップS27)。このCRC演算の完了後に、このとき設定されたエンドビットポジション番号yが、最終エンドビットポジション番号nと等しいか否か判断し(ステップS28)、等しい場合には、CRCの計算処理を終了する。等しくない場合には、ステップS22に戻ってエンドビットポジション番号yを進める。
【0051】
この図11のフローチャートに示した従来のCRCの計算処理は、それぞれのエンドビットポジションになる毎に、そこまでのデータを入力させて演算を行う処理を繰り返す処理である。即ち、例えば図6に示したような4種類のデータレートが設定されて、4つの終端ビットnend の位置がある場合には、図10(a)に示す1ビット目からエンドビットポジション番号1の終端ビット位置E1までのデータを、CRC算出部37に入力させて、CRC演算を行う。そして、そのエンドビットポジション番号1のCRC演算が終了すると、図10(b)に示す1ビット目からエンドビットポジション番号2の終端ビット位置E2までのデータを、CRC算出部37に入力させて、CRC演算を行う。さらに、エンドビットポジション番号2のCRC演算が終了すると、図10(c)に示す1ビット目からエンドビットポジション番号3の終端ビット位置E3までのデータを、CRC算出部37に入力させて、CRC演算を行う。さらに、エンドビットポジション番号3のCRC演算が終了すると、図10(d)に示す1ビット目からエンドビットポジション番号4の終端ビット位置E4までのデータを、CRC算出部37に入力させて、CRC演算を行う。
【0052】
なお、図9のフローチャートに示したような、この繰り返しのCRC演算を行うために、ビタビ復号部36側では、出力データを一時的に蓄積するメモリを必要とする。
【0053】
このような各終端ビット位置毎のCRC演算を繰り返すことで、図9に示したフローチャートのステップS11において、CRC判定処理で正しいデータレートが検出されて、正しい復号データが出力されるようになる。
【0054】
特許文献1(特開2002−76923号公報)には、ここまで説明したデータレート検出処理が記載されている。
【0055】
【特許文献1】
特開2002−76923号公報
【0056】
【発明が解決しようとする課題】
上述したデータレートの検出処理では、例えば図6に示した4種類のデータレートが存在する場合に、CRC算出部に4回データを繰り返し入力させる必要があり、処理に時間がかかると言う問題があった。また、ビタビ復号部側で一時記憶させたデータを、繰り返しCRC算出部に送る必要があるので、メモリへのアクセス回数が多くなってしまい、回路の消費電力が増大する問題があった。さらに、メモリのエリアを他の用途と共有する場合には、メモリのアクセス回数が増えることにより、他のアクセスに支障が起きる確率が高くなる問題があった。
【0057】
本発明はかかる点に鑑みてなされたものであり、受信データのレート検出が簡単な処理で行えるようにすることを目的とする。
【0058】
【課題を解決するための手段】
本発明の信号処理装置は、予め用意された複数のデータレートの内から選ばれた所定のデータレートで送信されてきたデータのデータレートを、誤り検出符号に基づいた誤り判定で検出し、検出したデータレートでデータを最尤復号する信号処理装置において、受信したデータの最尤復号処理を実行する復号手段と、復号手段で復号されたデータが順に入力されて、そのデータに付加された誤り検出符号を使用して、所定単位毎に先頭ビットから各データレートの終端ビット位置までの誤り検出用計算処理を行う誤り計算処理手段と、誤り計算処理手段に入力したデータを一時記憶する記憶手段と、誤り計算処理手段に、用意された複数のデータレートの各終端ビット位置のデータが入力した場合に、そのデータを記憶手段に移して一時記憶させ、計算処理手段で各データレートの終端ビット位置のデータが入力して誤り検出用計算処理を行った後に、一時記憶されたデータを誤り計算処理手段に移す制御手段と、誤り計算処理手段による各終端ビット位置での計算結果に基づいて、受信したデータのデータレートを判定する判定手段とを備えることを特徴とするものである。
【0059】
また本発明の信号処理方法は、所定の複数のデータレートの内の任意のデータレートのデータを誤り検出符号化及び誤り訂正符号化して送信されてきたデータを、最尤復号する信号処理方法において、受信データの平均値を計算し、その計算された平均値を利用して受信データを正規化するステップと、正規化ステップの出力の中から複数のデータを所定の順番で選択し、データのレートが、選択したデータレートであるものとして、最尤復号処理を行うステップと、最尤復号処理ステップにより得られる所定のメトリック値からその中での最小のメトリック値を引く算出ステップと、算出ステップでの算出の結果得られる各レートでのステート0でメトリック値と誤り検出結果に基づいて、正しいデータレートを判定するステップと、判定ステップにより判定されたレートでの復号データを出力する出力ステップとを備えることを特徴とするものである。
【0060】
このようにしたことで、誤り計算処理手段による各終端ビット位置での計算を行う毎に、一時記憶手段に一時退避させておいたデータを、誤り計算後に戻す処理が行われて、ビタビ復号処理及び誤り計算処理を1単位のデータに対して1回だけ連続して処理を行うだけで、全てのレートでの終端ビット位置で誤り計算が行われることになる。
【0061】
【発明の実施の形態】
以下、図1〜図4を参照して本発明の一実施の形態について説明する。
【0062】
本例においては、従来例として説明したシステムと同様に、畳み込み符号化したデータを、所定の複数のデータレートの内、任意のデータレートでデータが送受信される通信系に適用したものである。即ち、本例の場合には、図6に示すように終端ビットnend の位置が、先頭ビットSから数えて、第E1番目のビット(図6(a))、第E2番目のビット(図6(b))、第E3番目のビット(図6(c))、または第E4番目のビット(図6(d))となる、4種類のデータレートR1,R2,R3,R4(データレートR1<データレートR2<データレートR3<データレートR4)が存在するデータフォーマットとしてある。
【0063】
図1は、本例の受信装置の構成例を示している。この受信装置は、送信側で所定の複数のデータレートのうちの任意のデータレートで畳み込み符号化したデータを、受信する装置である。この送信データには、CRCパリティビットを付加して畳み込み符号化してある。
【0064】
図1の受信装置の構成について説明すると、受信データが供給されてビタビ復号するビタビ復号部51では、畳み込み符号化されて送信されたデータのビタビ復号処理が行われる。ビタビ復号部51の構成については、例えば従来例として図7に示した構成が適用され、ビタビ復号部51が備えるパスメモリ52から復号されたデータが出力される。
【0065】
パスメモリ52から出力される復号データは、CRC計算部53に供給されて、その復号データに基づいたCRC(Cyclic Redundancy Check )計算が行われる。また、パスメモリ52から出力される復号データに付加されたCRC符号と、CRC計算部53で計算されたCRC符号との比較により、正しいCRC符号の位置を判定するCRC判定部54を備えて、そのCRC判定部54で判定された正しいデータレートの復号データを、後段の回路に出力させる構成としてある。CRC計算部53とCRC判定部54が、従来例で説明したCRCデコーダに相当する回路である。
【0066】
パスメモリ52からの復調データの出力と、CRC計算部53での計算処理は、制御部55の制御で実行されるようにしてある。この制御部55は、パスメモリ52とCRC計算部53だけを制御する制御手段として構成しても良いが、こらの回路の周辺の受信系の制御についても行う構成としても良い。この制御部55には、汎用のメモリ56が接続してあり、制御部55による制御時に、一時記憶が必要なデータをこの汎用メモリ56に記憶させることができるようにしてある。
【0067】
図2は、このように構成される本例の受信装置内で、制御部55の制御により実行される、CRC計算部53及びその周辺回路でのCRC計算処理の例を示したフローチャートである。以下、図2のフローチャートに基づいて説明すると、ここでは、ビタビ復号部51のパスメモリ52が出力するビット数をx、終端ビットの位置毎に付与した番号であるエンドビットポジション番号をy、最終エンドビットポジション番号をn、パスメモリのビット数をLとする。まず、ビット数xを0に設定し、エンドビットポジション番号yを0に設定し(ステップS31)、続いてそのエンドビットポジション番号yに1を加算する(ステップS32)。また、ビット数xに1を加算する(ステップS33)。
【0068】
そして、CRC計算部53にビタビ復号結果のx番目のデータを入力させる(ステップS34)。そして、このビタビ復号部51のパスメモリ52が出力するビット数xが、このとき設定されたエンドビットポジション番号yのビット数から、パスメモリのビット数Lを引いた値になったか否か判断する(ステップS35)。該当する値になるまでステップS33に戻って、パスメモリ52の出力を入力させる。
【0069】
ステップS35の判断で、このとき設定されたエンドビットポジション番号yのビット数から、パスメモリのビット数Lを引いた値になったと判断した番号には、エンドビットポジション番号yが最終エンドビットポジション番号nになったか否か判断する(ステップS36)。ここで、最終エンドビットポジション番号nになっていない場合には、CRC計算部53にここまで入力されているデータを、制御部55に接続された汎用メモリ56に一時退避させる(ステップS37)。但し、CRC計算部53にもデータはそのまま残しておく。
【0070】
そして、その退避させた直後に、CRC計算部53に残っているデータを使用して、そのときのデータレートの終端ビット位置でのCRC計算処理を完了させ、その結果をCRC判定部54に送る(ステップS38)。
【0071】
そして、ステップS38でのCRC計算部53による計算処理が終了すると、制御部55の制御により、直前のステップS37で汎用メモリ56に退避させたデータを、CRC計算部53に戻す処理を行う(ステップS39)。このステップS39での退避データを戻す処理が行われた後には、ステップS32に戻って、エンドビットポジション番号yを1つ加算した上で、パスメモリからの以後の復号データの入力処理を続けて行う。
【0072】
このように処理を行って、ステップS36でエンドビットポジション番号yが最終エンドビットポジション番号nになった場合には、ここまで入力されたデータを使用して、CRC計算部53でCRC計算処理を完了させ、その結果をCRC判定部54に送り、CRC計算処理を終了させる(ステップS40)。
【0073】
ここまでの処理が完了することで、CRC判定部54には全てのエンドビットポジションでのCRC計算結果が供給されることになり、受信して復号されたデータのCRC符号との比較ができ、正しいエンドビットポジション(即ち正しいデータレート)が判定できることになり、正しいレートのデータを出力できることになる。
【0074】
ここで、図2のフローチャートに示したCRC計算処理を、図3を参照して時系列的に説明する。図3(a)は、パスメモリ52からCRC計算部53への入力されるビット数を示し、図3(b)は、そのCRC計算部53に入力したデータに基づいてCRC計算が行われる位置を示したものである。
【0075】
図3(a)に示すように、0ビットから順に1ビットずつCRC計算部53に復号データが入力して、最初のエンドビットポジションのビット数からパスメモリのビット数を引いたビット数kとなったとき、CRC計算部53に入力した0ビットからkビットまでのデータを、汎用メモリ56に退避させた上で、CRC計算部53に残っているデータを使用して、図3(b)に示すようにCRC計算処理を完了させ、その計算結果をCRC判定部54に供給する。このCRC計算処理は、次の復号データがパスメモリ52からCRC計算部53に供給される前に迅速に実行される。
【0076】
そして、ここでのCRC計算部53での計算が完了すると、図3(a)に示すように、汎用メモリ56に退避させたデータを、CRC計算部53に戻す復元処理を行った上で、パスメモリ52から以降のデータの1ビットずつの入力処理を継続させる。このようにして、次のエンドビットポジションのビット数からパスメモリのビット数を引いたビット数lとなったとき、CRC計算部53に入力した0ビットからlビットまでのデータを、汎用メモリ56に退避させた上で、CRC計算部53に残っているデータを使用して、図3(b)に示すようにCRC計算処理を完了させ、その計算結果をCRC判定部54に供給する。このCRC計算処理についても、次の復号データがパスメモリ52からCRC計算部53に供給される前に迅速に実行される。
【0077】
そして、ここでのCRC計算部53での計算が完了すると、汎用メモリ56に退避させたデータを、CRC計算部53に戻す復元処理を行った上で、パスメモリ52から以降のデータの1ビットずつの入力処理を継続させる。
【0078】
以後、この処理を繰り返し行って、最後のエンドビットポジションのビット数mからパスメモリのビット数を引いたビット数となったとき、CRC計算部53に入力したデータを使用して、図3(b)に示すようにCRC計算処理を完了させ、その計算結果をCRC判定部54に供給する。
【0079】
このようにして、CRC判定部54では、全てのエンドビットポジションでのCRC計算の結果が供給され、そのときのデータレートに応じた正しいエンドビットポジションを判断できることになる。そして、パスメモリ52からのCRC計算部53へのデータ出力処理としては、1単位のデータ毎に、復号データを決められた順序で1回出力させるだけで良く、従来例として図10に示したように、データレートの数だけ繰り返しCRC計算部53にデータを送る必要がなくなる。従って、それだけパスメモリ52やCRC計算部53のアクセス回数を減らすことができ、データレートの検出のための消費電力を削減することができる。また、制御部55の制御による、パスメモリ52やCRC計算部53のアクセスの回数が減ることで、制御部55による他のアクセス制御に支障がでる確率を低くすることができ、良好なデータ受信処理ができるようになる。
【0080】
なお、本例の処理を行うことで、CRC計算部でのCRC計算の前後に、メモリへの退避と復元を行う必要があるが、その退避と復元については、そのときに蓄積しているデータを一括して退避及び復元すれば良く、制御部の制御によるアクセス回数そのものは、従来例として図10に示した処理に比べれば、大幅に少なくなる。
【0081】
また、データを退避するためのメモリとして、本例のように制御部55が元々備える汎用のメモリを使用すれば、退避用の専用のメモリが必要なく、それだけ構成を簡単にすることができる。なお、データ退避用の専用のメモリを設けた構成としても良いことは勿論である。
【0082】
なお、ここまで説明した一連の処理は、ハードウェアにより実現させることもできるが、ソフトウェアにより実現させることもできる。一連の処理をソフトウェアにより実現する場合には、そのソフトウェアを構成するプログラムをコンピュータ装置などのデータ処理装置にインストールして、そのプログラムをコンピュータ装置などで実行することで、上述した図1に示した受信装置が機能的に実現される。
【0083】
図4は、上述のような受信装置として機能するコンピュータ101の構成例を示すブロック図である。CPU(Central Processing Unit )111にはバス115を介して入出力インタフェース116が接続されており、CPU111は、入出力インタフェース116を介して、ユーザから、キーボード、マウスなどよりなる入力部118から指令が入力されると、例えば、ROM(Read Only Memory)112、ハードディスク114、またはドライブ120に装着される磁気ディスク131、光ディスク132、光磁気ディスク133、若しくは半導体メモリ134などの記録媒体に格納されているプログラムを、RAM(RandomAccessMemory )113にロードして実行する。これにより、上述した各種の処理(例えば、図2のフローチャートにより示される処理)が行われる。さらに、CPU111は、その処理結果を、例えば、入出力インタフェース116を介して、LCD(Liquid Crystal Display)などよりなる表示部117に必要に応じて出力する。なお、プログラムは、ハードディスク114やROM112に予め記憶しておき、コンピュータ101と一体的にユーザに提供したり、磁気ディスク131、光ディスク132、光磁気ディスク133,半導体メモリ134等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部119を介してハードディスク114に提供することができる。
【0084】
なお、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0085】
【発明の効果】
本発明によると、誤り計算処理手段による各終端ビット位置での計算を行う毎に、一時記憶手段に一時退避させておいたデータを、誤り計算後に戻す処理が行われて、ビタビ復号処理及び誤り計算処理を1単位のデータに対して1回だけ連続して処理を行うだけで、全てのレートでの終端ビット位置で誤り計算が行われることになる。従って、従来のように繰り返し誤り計算処理手段にデータを入力させていた場合に比べて、データレート検出の処理速度を格段に向上させることができる。また、記憶手段へのアクセス回数を減らすことができるので、アクセスに要する消費電力を低減させることができる。さらに、記憶手段の記憶エリアを他の用途と共有する場合には、アクセス回数が減ることにより、他のアクセスに支障がでる確率を低くすることができ、良好なデータ受信処理ができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施の形態による構成例を示すブロック図である。
【図2】本発明の一実施の形態によるCRC計算処理例を示すフローチャートである。
【図3】本発明の一実施の形態によるCRC計算処理状態の例を示す説明図である。
【図4】コンピュータ装置の一例を示すブロック図である。
【図5】従来の構成例を示すブロック図である。
【図6】データレートの種類の例を示す説明図である。
【図7】従来のビタビ復号部の構成例を示すブロック図である。
【図8】従来のCRCデコーダの構成例を示すブロック図である。
【図9】従来のデータレート検出処理例を示したフローチャートである。
【図10】従来のCRC計算処理状態の例を示す説明図である。
【図11】従来のCRC計算処理例を示すフローチャートである。
【符号の説明】
1…送信装置、2…通信路、3,4…受信装置、11…CRCエンコーダ、12…畳込み符号化部、13…変調部、31…復調部、32…ビタビ復号部、33…CRCデコーダ、34…データレート検出部、51…ビタビ復号部、52…パスメモリ、53…CRC計算部、54…CRC判定部、55…制御部、56…汎用メモリ、111…中央制御ユニット、112…ROM、113…RAM、114…ハードディスクドライブ、115…バスライン、116…入出力インターフェース、117…表示部、118…入力部、119…通信部、120…ドライブ、131…磁気ディスク、132…光ディスク、133…光磁気ディスク、134…半導体メモリ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a signal processing apparatus and method for performing maximum likelihood decoding on data encoded by a convolutional code or the like, and particularly to a signal processing apparatus and method for detecting a data rate of transmitted data.
[0002]
[Prior art]
Conventionally, transmission is performed at a predetermined data rate among a plurality of data rates prepared, and the reception side detects the data rate. FIG. 5 shows a configuration example of a communication system including the conventional receiving
[0003]
The transmitting
[0004]
FIG. 6 shows an example of a transport format of data transmitted and received here. According to this format, a CRC (Cyclic Redundancy Check) code is added to the data stream, but since the length of the data stream is variable according to the data rate, the end bit (the last bit of the CRC) n end Depends on the data rate. In the following description, the last bit of the CRC is replaced with the termination bit n. end Called.
[0005]
For example, as shown in FIG. 6, when there are four data rates R1, R2, R3, R4 (data rate R1 <data rate R2 <data rate R3 <data rate R4) for each predetermined unit, Termination bit n for each of R1 to R4 end Is the E1 bit (FIG. 9A), the E2 bit (FIG. 9B), the E3 bit (FIG. 9C), or the This is the E4th bit (FIG. 9D).
[0006]
In the transport format for the data rates R1 to R3, the end bit n of the data rates R1 to R3 end From the E1 bit, E2 bit, or E3 bit to the end bit n of the data rate R4 end Until the bit corresponding to the E4th bit, there is an empty section where there is no data.
[0007]
The
[0008]
Next, the configurations of the transmitting
[0009]
The
[0010]
The
[0011]
The
[0012]
The Viterbi
[0013]
The Viterbi
[0014]
The Viterbi
[0015]
The
[0016]
The data
[0017]
FIG. 7 illustrates a configuration example of the Viterbi
[0018]
The
[0019]
FIG. 8 shows a configuration example of the
[0020]
The CRC
[0021]
Next, the operation of the
[0022]
In step S1, the
[0023]
In step S2, the data
[0024]
Thereby, the Viterbi decoding unit 32 (ACS unit 35) calculates the maximum path metric value, the minimum path metric value, and the zero-state path metric value. The Viterbi decoding unit 32 (ACS unit 35) holds the calculated data and supplies the data to the data
[0025]
The receiving device 3 (data rate detection unit 34) recognizes possible data rates Ri in advance, and can identify the data rates Ri based on the value of the counter i.
[0026]
In this example, the value of the counter i is
[0027]
Next, in step S3, the data
S value = 10 Log ((a 0 -A min ) / (A max -A min )) ・ ・ ・ ・ (1)
In the formula, a max Is the maximum path metric value, a min Is the minimum path metric value, and a 0 Indicates a zero state path metric value. The maximum value of the S value is 0, and the minimum value is minus infinity.
[0028]
In step S4, the data
[0029]
If the data rate Ri identified by the value of the counter i is the true data rate of the received data, the zero-state path metric value calculated by the
[0030]
The threshold value D1 is set to a relatively large value so that the S value of the true data rate of the received data is not determined to be NO here (so that it is not determined that the S value is not less than the threshold value D1). Has become.
[0031]
When it is determined in step S4 that the S value is equal to or less than the threshold value D1, that is, the data rate Ri identified by the value of the counter i at this time is determined to be the true data rate of the received data. If possible (when there is a possibility that the data rate is true), the process proceeds to step S5.
[0032]
In step S5, the data
[0033]
Thereby, the
[0034]
For example, when the counter i = 1, as shown in FIG. 10A, the bit L (the (E1-L) th bit) before the E1th bit from the first bit S of the received data. (The data indicated by the solid-line bidirectional arrows in the figure) and the path memory data (in the figure, the data from the (E1-L + 1) th bit to the E1th bit). The data indicated by the dotted double-headed arrow) is supplied to the CRC decoder 33 (CRC calculation unit 37).
[0035]
When the counter i = 2, as shown in FIG. 10B, the decoded data from the first bit S to the (E2-L) -th bit of the received data and the (E2-L + 1) -th bit When the path memory data for the data up to the E2th bit is the counter i = 3, as shown in FIG. 10C, from the first bit S of the received data to the (E3-L) th bit. And the path memory data for the data from the (E3−L + 1) th bit to the E3th bit, and when the counter i = 4, as shown in FIG. The decoded data from the first bit S to the (E4-L) th bit of the data and the path memory data for the data from the (E4-L + 1) th bit to the E4th bit are: It is supplied to the respectively CRC decoder 33 (CRC calculation section 37).
[0036]
The CRC decoder 33 (CRC calculation unit 37) calculates a CRC based on the supplied decoded data and path memory data.
[0037]
The CRC decoder 33 (CRC determination unit 38) compares the calculated CRC with the data of the location where the CRC originally added to the data stream is located, and determines whether or not both match.
[0038]
If the data rate Ri identified by the value of the counter i is the true data rate of the received data, the CRC calculated at this time is compared with the CRC added to the data stream, and both are the same data. In this case, it is determined that they match. On the other hand, if the data rate Ri is not the true data rate of the received data, the CRC calculated at this time is not compared with the CRC added to the data stream (where the CRC is located at the data rate Ri). And the calculated CRC is not the same data as the original CRC added to the data stream, and it is naturally determined that they do not match.
[0039]
The CRC decoder 33 (CRC determination unit 38) notifies the data
[0040]
Returning to FIG. 5, in step S6, the data
[0041]
If it is determined in step S6 that there is no error, the process proceeds to step S7, where the data
[0042]
In step S8, the data
[0043]
At this time, the
[0044]
When it is determined in step S4 that the S value is not less than the threshold value D1, when it is determined in step S6 that an error exists, in step S7, it is determined that the S value is not smaller than the value of the register Smin. When the value of the register Smin and the value of the register tr are replaced in step S8, the process proceeds to step S9.
[0045]
In step S9, the data
[0046]
If it is determined in step S9 that the value of the counter i is the maximum value, the process proceeds to step S11, where the data
[0047]
By the way, as described above, the threshold value D1 is set to a relatively large value so that the S value at the true data rate is not determined to be larger than the value (step S4). All the S values (step S3) may be determined to be equal to or less than the threshold value D1. That is, CRC determination is performed for all data rates Ri (step S5).
[0048]
Next, an example of a CRC calculation process in the
[0049]
Then, the x-th data of the Viterbi decoding result is input to the CRC calculation unit 37 (step S25). Then, it is determined whether or not the bit number x output by the
[0050]
In the determination at step S26, the path memory data of the end bit position number y is set to the number determined to be a value obtained by subtracting the bit number L of the path memory from the bit number of the end bit position number y set at this time. Then, the CRC calculation is completed (step S27). After the completion of the CRC calculation, it is determined whether or not the end bit position number y set at this time is equal to the final end bit position number n (step S28). If the end bit position number y is equal, the CRC calculation processing is terminated. If not equal, the flow returns to step S22 to advance the end bit position number y.
[0051]
The conventional CRC calculation process shown in the flowchart of FIG. 11 is a process of repeating the process of inputting data up to each end bit position and performing an operation each time the end bit position is reached. That is, for example, four types of data rates are set as shown in FIG. end When there is a position, the data from the first bit shown in FIG. 10A to the end bit position E1 of the end
[0052]
In order to perform the repetitive CRC calculation as shown in the flowchart of FIG. 9, the
[0053]
By repeating such CRC calculation for each terminal bit position, in step S11 of the flowchart shown in FIG. 9, a correct data rate is detected by the CRC determination processing, and correct decoded data is output.
[0054]
Patent Document 1 (Japanese Unexamined Patent Application Publication No. 2002-76923) describes the data rate detection processing described so far.
[0055]
[Patent Document 1]
JP-A-2002-76923
[0056]
[Problems to be solved by the invention]
In the above-described data rate detection processing, for example, when the four types of data rates shown in FIG. 6 exist, it is necessary to repeatedly input data to the CRC calculation unit four times, which takes a long time. there were. Further, since the data temporarily stored in the Viterbi decoding unit needs to be repeatedly sent to the CRC calculation unit, the number of accesses to the memory increases, and there is a problem that the power consumption of the circuit increases. Further, when the area of the memory is shared with another application, there is a problem that the number of accesses to the memory increases, and the probability that other accesses are hindered increases.
[0057]
The present invention has been made in view of such a point, and an object of the present invention is to make it possible to detect the rate of received data by simple processing.
[0058]
[Means for Solving the Problems]
The signal processing device of the present invention detects a data rate of data transmitted at a predetermined data rate selected from a plurality of data rates prepared in advance by error determination based on an error detection code, and detects the data rate. A signal processing device that performs maximum likelihood decoding of received data in a signal processing device that performs maximum likelihood decoding of data at a data rate that has been input, and data decoded by the decoding unit are sequentially input, and an error added to the data is input. Error calculation processing means for performing error detection calculation processing from the first bit to the end bit position of each data rate for each predetermined unit using a detection code, and storage means for temporarily storing data input to the error calculation processing means When the data at the respective end bit positions of the plurality of data rates prepared are input to the error calculation processing means, the data is transferred to the storage means and temporarily stored. Control means for transferring the temporarily stored data to the error calculation processing means after inputting the data at the end bit position of each data rate by the calculation processing means and performing error detection calculation processing; Determining means for determining a data rate of received data based on a calculation result at each end bit position.
[0059]
Further, the signal processing method of the present invention is a signal processing method of performing maximum likelihood decoding on data transmitted by performing error detection coding and error correction coding on data at an arbitrary data rate among a plurality of predetermined data rates. Calculating the average of the received data, normalizing the received data using the calculated average, and selecting a plurality of data in a predetermined order from the output of the normalization step, Assuming that the rate is the selected data rate, performing a maximum likelihood decoding process, a calculating step of subtracting a minimum metric value among predetermined metric values obtained in the maximum likelihood decoding process step, Determining the correct data rate based on the metric value and the error detection result in
[0060]
By doing so, every time the error calculation processing means performs calculation at each end bit position, the data temporarily saved in the temporary storage means is returned after the error calculation, and the Viterbi decoding processing is performed. By performing the error calculation process only once continuously for one unit of data, the error calculation is performed at the end bit positions at all rates.
[0061]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to FIGS.
[0062]
In this example, similarly to the system described as the conventional example, convolutionally encoded data is applied to a communication system in which data is transmitted and received at an arbitrary data rate among a plurality of predetermined data rates. That is, in the case of this example, as shown in FIG. end Are the E1st bit (FIG. 6A), the E2th bit (FIG. 6B), the E3th bit (FIG. 6C), counting from the first bit S, Alternatively, a data format in which four types of data rates R1, R2, R3, and R4 (data rate R1 <data rate R2 <data rate R3 <data rate R4), which is the E4th bit (FIG. 6D) There is.
[0063]
FIG. 1 shows an example of the configuration of the receiving apparatus of the present embodiment. This receiving device is a device that receives data that has been convolutionally coded at an arbitrary data rate among a plurality of predetermined data rates on the transmitting side. This transmission data is convolutionally encoded with a CRC parity bit added.
[0064]
The configuration of the receiving apparatus shown in FIG. 1 will be described. The
[0065]
The decoded data output from the path memory 52 is supplied to a
[0066]
The output of the demodulated data from the path memory 52 and the calculation processing in the
[0067]
FIG. 2 is a flowchart illustrating an example of the CRC calculation process in the
[0068]
Then, the x-th data of the Viterbi decoding result is input to the CRC calculation unit 53 (step S34). Then, it is determined whether or not the bit number x output from the path memory 52 of the
[0069]
In the judgment of step S35, the end bit position number y is set to the final end bit position number in the number determined to be a value obtained by subtracting the bit number L of the path memory from the bit number of the end bit position number y set at this time. It is determined whether or not the number n has been reached (step S36). If the final end bit position number n is not reached, the data input so far to the
[0070]
Immediately after the saving, the CRC calculation process at the end bit position of the data rate at that time is completed using the data remaining in the
[0071]
Then, when the calculation process by the
[0072]
When the end bit position number y becomes the final end bit position number n in step S36 as described above, the
[0073]
By completing the processing up to this point, the CRC calculation results at all end bit positions are supplied to the
[0074]
Here, the CRC calculation process shown in the flowchart of FIG. 2 will be described in time series with reference to FIG. FIG. 3A shows the number of bits input from the path memory 52 to the
[0075]
As shown in FIG. 3A, the decoded data is input to the
[0076]
When the calculation by the
[0077]
When the calculation by the
[0078]
Thereafter, this process is repeated, and when the number of bits obtained by subtracting the number of bits of the path memory from the number of bits m of the last end bit position becomes the number of bits, the data input to the
[0079]
In this way, the
[0080]
By performing the processing of this example, it is necessary to save and restore data to and from the memory before and after the CRC calculation in the CRC calculation unit. Can be collectively saved and restored, and the number of times of access itself under the control of the control unit is significantly reduced as compared with the conventional process shown in FIG.
[0081]
If a general-purpose memory originally provided in the
[0082]
The series of processes described so far can be realized by hardware, but can also be realized by software. When a series of processes is realized by software, a program constituting the software is installed in a data processing device such as a computer device, and the program is executed by the computer device or the like, thereby achieving the processing shown in FIG. 1 described above. The receiving device is functionally realized.
[0083]
FIG. 4 is a block diagram illustrating a configuration example of the computer 101 functioning as the above-described receiving device. An input /
[0084]
In this specification, the steps of describing a program provided by a recording medium may be performed in chronological order according to the described order, or may be performed in parallel or not necessarily in chronological order. This also includes processes executed individually.
[0085]
【The invention's effect】
According to the present invention, every time the error calculation processing means performs a calculation at each terminal bit position, the data temporarily saved in the temporary storage means is returned after the error calculation, and the Viterbi decoding processing and the error The error calculation is performed at the end bit positions at all rates only by performing the calculation process once for one unit of data continuously. Therefore, the processing speed of data rate detection can be remarkably improved as compared with the case where data is input to the repetitive error calculation processing means as in the related art. Further, since the number of accesses to the storage unit can be reduced, the power consumption required for the access can be reduced. Furthermore, when the storage area of the storage unit is shared with another application, the number of accesses is reduced, so that the probability that other accesses will be hindered can be reduced, and good data reception processing can be performed. .
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration example according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating an example of a CRC calculation process according to an embodiment of the present invention.
FIG. 3 is an explanatory diagram showing an example of a CRC calculation processing state according to an embodiment of the present invention.
FIG. 4 is a block diagram illustrating an example of a computer device.
FIG. 5 is a block diagram showing a conventional configuration example.
FIG. 6 is an explanatory diagram showing an example of types of data rates.
FIG. 7 is a block diagram illustrating a configuration example of a conventional Viterbi decoding unit.
FIG. 8 is a block diagram illustrating a configuration example of a conventional CRC decoder.
FIG. 9 is a flowchart showing an example of a conventional data rate detection process.
FIG. 10 is an explanatory diagram showing an example of a conventional CRC calculation processing state.
FIG. 11 is a flowchart showing an example of a conventional CRC calculation process.
[Explanation of symbols]
DESCRIPTION OF
Claims (5)
受信したデータの復号処理を実行する復号手段と、
前記復号手段で復号されたデータが順に入力されて、そのデータに付加された誤り検出符号を使用して、所定単位毎に先頭ビットから各データレートの終端ビット位置までの誤り検出用計算処理を行う誤り計算処理手段と、
前記誤り計算処理手段に入力しているデータを一時記憶する記憶手段と、
前記誤り計算処理手段に、用意された複数のデータレートの各終端ビット位置のデータが入力した場合に、そのデータを前記記憶手段に移して一時記憶させ、前記計算処理手段で各データレートの終端ビット位置のデータが入力して誤り検出用計算処理を行った後に、一時記憶されたデータを前記誤り計算処理手段に移す制御手段と、
前記誤り計算処理手段による各終端ビット位置での計算結果に基づいて、受信したデータのデータレートを判定する判定手段とを備えることを特徴とする
信号処理装置。The data rate of data transmitted at a predetermined data rate selected from a plurality of data rates prepared in advance is detected by an error determination based on an error detection code, and the data is detected at the detected data rate. In a signal processing device that decodes
Decoding means for executing a decoding process of the received data;
The data decoded by the decoding means are sequentially input, and the error detection code added to the data is used to perform error detection calculation processing from the first bit to the end bit position of each data rate for each predetermined unit. Error calculation processing means to perform;
Storage means for temporarily storing data input to the error calculation processing means,
When the data at the respective end bit positions of the plurality of data rates prepared are input to the error calculation processing means, the data is transferred to the storage means and temporarily stored, and the calculation processing means terminates each data rate. Control means for transferring the temporarily stored data to the error calculation processing means, after the data at the bit position is input and the error detection calculation processing is performed,
A signal processing device comprising: a determination unit configured to determine a data rate of received data based on a calculation result at each end bit position by the error calculation processing unit.
前記記憶手段は、前記制御手段に内蔵又は接続された汎用記憶手段を使用した
信号処理装置。The signal processing device according to claim 1,
The signal processing device uses a general-purpose storage unit built in or connected to the control unit.
前記判定手段での判定は、用意された全てのデータレートの終端ビット位置での誤り計算処理が終了した段階で行う
信号処理装置。The signal processing device according to claim 1,
The signal processing device performs the determination by the determination unit when the error calculation processing at the end bit positions of all the prepared data rates is completed.
受信したデータの復号処理を実行する復号ステップと、
前記復号ステップで復号されたデータが順に入力されて、そのデータに付加された誤り検出符号を使用して、所定単位毎に先頭ビットから各データレートの終端ビット位置までの誤り検出用計算処理を行う誤り計算処理ステップと、
前記誤り計算処理ステップで、用意された複数のデータレートの各終端ビット位置のデータが入力した場合に、そのデータを一時記憶し、前記計算処理ステップで各データレートの終端ビット位置のデータが入力して誤り検出用計算処理を行った後に、一時記憶されたデータを元に戻す制御ステップと、
前記誤り計算処理ステップによる各終端ビット位置での計算結果に基づいて、受信したデータのデータレートを判定する判定ステップとを備えることを特徴とする
信号処理方法。The data rate of data transmitted at a predetermined data rate selected from a plurality of data rates prepared in advance is detected by an error determination based on an error detection code, and the data is detected at the detected data rate. In a signal processing method for decoding
A decryption step of performing a decryption process on the received data;
The data decoded in the decoding step are sequentially input, and the error detection code added to the data is used to perform error detection calculation processing from the first bit to the end bit position of each data rate for each predetermined unit. Error calculation processing steps to be performed;
In the error calculation processing step, when data at each end bit position of a plurality of data rates prepared is input, the data is temporarily stored, and at the calculation processing step, the data at the end bit position at each data rate is input. A control step of restoring the temporarily stored data after performing the error detection calculation process,
A determination step of determining a data rate of received data based on a calculation result at each end bit position in the error calculation processing step.
前記判定ステップでの判定は、用意された全てのデータレートの終端ビット位置での誤り計算処理が終了した段階で行う
信号処理方法。The signal processing method according to claim 4,
A signal processing method in which the determination in the determination step is performed at the stage when the error calculation processing at the end bit positions of all prepared data rates is completed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003010097A JP2004222196A (en) | 2003-01-17 | 2003-01-17 | Device and method for signal processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003010097A JP2004222196A (en) | 2003-01-17 | 2003-01-17 | Device and method for signal processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004222196A true JP2004222196A (en) | 2004-08-05 |
Family
ID=32899403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003010097A Withdrawn JP2004222196A (en) | 2003-01-17 | 2003-01-17 | Device and method for signal processing |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004222196A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210105124A1 (en) * | 2017-06-29 | 2021-04-08 | Qualcomm Incorporated | Providing protection for information delivered in demodulation reference signals (dmrs) |
-
2003
- 2003-01-17 JP JP2003010097A patent/JP2004222196A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210105124A1 (en) * | 2017-06-29 | 2021-04-08 | Qualcomm Incorporated | Providing protection for information delivered in demodulation reference signals (dmrs) |
US11671222B2 (en) * | 2017-06-29 | 2023-06-06 | Qualcomm Incorporated | Providing protection for information delivered in demodulation reference signals (DMRS) |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2216851C2 (en) | Iterative decoder and iterative decoding method for communication system | |
JP3638930B2 (en) | Decoding device in which turbo decoder and RS decoder are cascade-connected, and decoding method thereof | |
US7929646B2 (en) | Map decoder with bidirectional sliding window architecture | |
JP2000244336A (en) | Method and system for estimating reliability of decoded symbol sequence | |
US8230308B2 (en) | Decoding apparatus and decoding method using an additional add-compare-select operation on decoded data in the event of an error in the decoded data | |
JP2004201030A (en) | Apparatus and method for signal processing | |
US6058501A (en) | Error detecting device for viterbi decoder | |
KR101212856B1 (en) | Method and apparatus for decoding data in communication system | |
CA2198194A1 (en) | Viterbi decoding method and viterbi decoding circuit | |
US6915474B2 (en) | Turbo decoding apparatus and decoding iteration count controlling method in turbo decoding | |
US10720944B2 (en) | Convolutional code decoder and convolutional code decoding method | |
US10826541B2 (en) | Convolutional code decoder and convolutional code decoding method | |
CN105356893A (en) | Tail code configurable Viterbi decoding method and decoder | |
JP2004222196A (en) | Device and method for signal processing | |
US20020025009A1 (en) | Signal processing apparatus and method, and recording medium | |
US7263653B2 (en) | Algorithm for a memory-based Viterbi decoder | |
US11695430B1 (en) | Method for decoding polar codes and apparatus thereof | |
CN110768747B (en) | Convolutional code decoder and convolutional code decoding method | |
EP0655843A1 (en) | Digital receiver with minimum cost index register | |
JP2000078028A (en) | Rate decision circuit, decoding circuit and rate decision method | |
US8503585B2 (en) | Decoding method and associated apparatus | |
US8020067B2 (en) | Apparatus and method for detecting an end point of an information frame | |
JP2002084199A (en) | Method and device for signal processing, and recording medium | |
KR100526564B1 (en) | Apparatus for setting up a initial state metric in a viterbi decoder | |
CN117155412A (en) | Normalization method and device for decoding path metrics, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060404 |