以下に、本願の開示する受信機、受信方法及び受信制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本願の開示する受信機、受信方法及び受信制御プログラムが限定されるものではない。
まず、図1を用いて、実施例1に係る受信機の構成について説明する。図1は、実施例1に係る受信機10の構成例を示す図である。図1に示すように、実施例1に係る受信機10は、分割部11と、分割信号格納部12と、分割信号記憶部13と、分割信号検査部14と、検査結果記憶部15と、合成部16と、制御部17と、再送要求部18とを有する。
分割部11は、所定の送信機から受信した信号を所定のサイズ毎に分割する。分割信号格納部12は、受信信号が再送信号ではなく最初に受信した信号である場合には、分割部11によって分割された分割信号を分割信号記憶部13に格納する。なお、分割部11は、受信信号が再送信号である場合には、後述する制御部17によって、分割信号を分割信号記憶部13に格納するか否かが制御される。
分割信号検査部14は、分割信号記憶部13に記憶されている分割信号毎に誤り検査を行う。検査結果記憶部15は、分割信号毎に、分割信号検査部14によって行われた誤り検査の結果を記憶する。合成部16は、受信信号が再送信号である場合に、かかる再送信号が分割部11によって分割された分割信号と、分割信号記憶部13に記憶されている分割信号とを合成する。
制御部17は、受信信号が再送信号である場合に、分割信号記憶部13に記憶されている分割信号の誤り検査結果を検査結果記憶部15から取得する。そして、制御部17は、取得した誤り検査結果に基づいて、分割信号記憶部13に記憶されている分割信号を更新するか否かを制御する。具体的には、制御部17は、分割信号記憶部13に記憶されている分割信号のうち、検査結果記憶部15から取得した誤り検査結果がエラーでない分割信号を更新しないように制御する。一方、制御部17は、分割信号記憶部13に記憶されている分割信号のうち、検査結果記憶部15から取得した誤り検査結果がエラーである分割信号を、合成部16によって合成された信号に更新するように制御する。
例えば、制御部17は、検査結果記憶部15から取得した誤り検査結果がエラーでない場合には、合成部16によって合成された信号を分割信号記憶部13に格納しないように分割信号格納部12を制御する。また、例えば、制御部17は、誤り検査結果がエラーでない場合には、合成処理を行わないように合成部16を制御するとともに、分割信号記憶部13を更新しないように分割信号格納部12を制御する。
再送要求部18は、分割信号検査部14によって行われた誤り検査結果に基づいて分割信号記憶部13に記憶されている分割信号に誤りが含まれる場合に、送信機に対して信号の再送を要求する。
上述してきたように、実施例1に係る受信機10は、再送信号を受信した場合に、分割信号記憶部13に記憶されている分割信号のうち、誤り検査結果がエラーでない分割信号については更新しない。一方、受信機10は、分割信号記憶部13に記憶されている分割信号のうち、誤り検査結果がエラーである分割信号を、合成部16によって合成された信号に更新する。
これにより、実施例1に係る受信機10は、誤りが含まれている再送信号を受信した場合であっても、誤りが含まれている再送信号と、誤りが検出されなかった格納済信号とを合成した信号を用いることがない。したがって、実施例1に係る受信機10は、誤りが含まれている再送信号と、誤りが検出されなかった格納済信号とを合成した信号が原因で再送処理を行うこともない。このため、実施例1に係る受信機10は、従来の受信機と比較して、送信機に対して信号の再送を要求する頻度が低くなるので、移動通信システムのスループットを向上させることができる。
次に、上記実施例1において説明した受信機について具体例を用いて説明する。実施例2では、上記実施例1において説明した受信機を、通信規格がLTEである移動通信システムに適用する例について説明する。以下の実施例では、最大で8個のHARQプロセスが動作するものとする。また、以下の実施例では、トランスポートブロックが最大で10個のコードブロックに分割されるものとする。
[移動通信システムの構成]
まず、図2を用いて、実施例2に係る受信機を含む移動通信システムの構成について説明する。図2は、実施例2に係る受信機を含む移動通信システムの構成例を示す図である。なお、図2では、ダウンリンクの通信処理を行う送信機9及び受信機20の構成例を示す。
図2に示した送信機9と受信機20とは、伝搬路1を介して無線通信を行う。図2に示すように、送信機9は、MAC(Media Access Control)送信部90と、TB−CRC(Transport Block Cyclic Redundancy Check)付加部91と、ブロック分割部92と、CB−CRC(Code Block CRC)付加部93と、誤り訂正符号化部94と、レートマッチング部95と、ブロック結合部96と、変調部97と、無線送信部98と、アンテナ99とを有する。
MAC送信部90は、図示しない上位装置等から受信したデータパケットや、後述する受信機20から受信した再送情報等に基づいて、受信機20へ送信するトランスポートブロックや制御信号を生成する。なお、制御信号には、送信信号が再送であるか否かを示すHARQ再送情報や、HARQプロセス番号、HARQのリダンダンシーバージョン等が含まれる。
TB−CRC付加部91は、MAC送信部90によって生成されたトランスポートブロックに誤り検出符号を付加する。例えば、TB−CRC付加部91は、CRC(Cyclic Redundancy Check)を用いて誤り検出符号を付加する。
ブロック分割部92は、MAC送信部90によって生成されたトランスポートブロックが所定のサイズよりも大きい場合に、TB−CRC付加部91によって誤り検出符号が付加されたトランスポートブロックをコードブロックサイズ毎に分割する。
CB−CRC付加部93は、ブロック分割部92によって分割されたコードブロックに誤り検出符号を付加する。誤り訂正符号化部94は、ブロック分割部92によって分割されたコードブロックに誤り訂正を行うための冗長符号を付加して、符号化する。誤り訂正符号化部94は、例えば、冗長符号として、ターボ符号を付加する。
レートマッチング部95は、無線通信の物理層のリソースに応じて、コードブロックのサイズを調整する。例えば、レートマッチング部95は、コードブロックに付加されているターボ符号などの冗長符号を間引いたりする。ブロック結合部96は、ブロック分割部92によってトランスポートブロックが分割された場合に、レートマッチング部95によってサイズが調整されたコードブロックを結合する。
ここで、ブロック分割部92、CB−CRC付加部93、誤り訂正符号化部94、レートマッチング部95、ブロック結合部96による処理について例を挙げて説明する。例えば、ブロック分割部92によって、トランスポートブロックTB1が10個のコードブロックCB#0〜#9に分割されたものとする。かかる場合に、CB−CRC付加部93は、コードブロックCB#0〜#9の各々に誤り検出符号を付加する。また、誤り訂正符号化部94は、コードブロックCB#0〜#9の各々に冗長符号を付加する。また、レートマッチング部95は、誤り検出符号や冗長符号が付加されたコードブロックCB#0〜#9のサイズを調整する。そして、ブロック結合部96は、レートマッチング部95によってサイズが調整されたコードブロックCB#0〜#9を結合する。
変調部97は、ブロック結合部96によって結合されたデータストリームを変調波に変換し、複数のチャネルやパイロット信号の多重を行う。なお、LTEのダウンリンクでは、変調方式として、例えば、QPSK(quadrature phase shift keying)またはQAM(Quadrature amplitude modulation)が採用され、多重方式には、例えば、OFDM(Orthogonal frequency division multiplex)が採用される。無線送信部98は、変調波を無線周波数へ変換し、増幅やフィルタリング等を行う。そして、無線送信部98は、アンテナ99を介して無線信号を外部へ送信する。
また、図2に示すように、実施例2に係る受信機20は、アンテナ21と、無線受信部22と、復調部23と、ブロック分割部24と、レートデマッチング部25と、HARQ合成部110と、HARQバッファ120と、誤り訂正復号器130と、CB−CRC検査部140と、ブロック結合部150と、TB−CRC検査部160と、MAC受信部26とを有する。
無線受信部22は、アンテナ21を介して受信した信号を増幅したり、受信信号のフィルタリングを行った上で、受信信号の周波数帯を無線周波数からベースバンドへ変換する。復調部23は、多重されたチャネルの分離を行い、分離後の変調波からデータストリームの尤度を示す信号(以下、「尤度信号」と言う)を生成する。
ブロック分割部24は、受信信号が所定のサイズよりも大きい場合に、復調部23によって生成された尤度信号をコードブロックサイズ毎に分割する。例えば、上記例のように、送信機9のブロック分割部92によって、トランスポートブロックTB10が10個のコードブロックCB#0〜#9に分割されたものとする。かかる場合に、受信機20のブロック分割部24は、復調部23から出力される尤度信号を、10個の尤度信号に分割する。なお、ブロック分割部24は、図1に示した分割部11に対応する。
レートデマッチング部25は、ブロック分割部24によって分割された尤度信号のサイズを調整する。そして、レートデマッチング部25は、ブロック分割部24によって分割された尤度信号を、HARQ合成部110へ出力する。
HARQ合成部110は、レートデマッチング部25から入力された尤度信号が再送信号から生成されている場合には、HARQバッファ120から、尤度信号を取得する。そして、HARQ合成部110は、HARQバッファ120から取得した尤度信号と、レートデマッチング部25から入力された尤度信号との最大比合成を行う。一方、HARQ合成部110は、レートデマッチング部25から入力された尤度信号が再送信号でない場合には、処理を行わない。なお、HARQ合成部110は、図1に示した合成部16に対応する。
HARQバッファ120は、コードブロックサイズ毎に、尤度信号を記憶する。なお、HARQバッファ120に記憶される尤度信号については、図3を用いて詳細に説明する。なお、HARQバッファ120は、図1に示した分割信号記憶部13に対応する。
誤り訂正復号器130は、HARQバッファ120からコードブロックサイズの尤度信号を取得して、取得した尤度信号に付加されている冗長符号を用いて誤り訂正を行い、誤り訂正後の尤度信号を復号化して、符号化前のコードブロックを生成する。
CB−CRC検査部140は、誤り訂正復号器130によって生成されたコードブロックに対して誤り検査を行う。なお、CB−CRC検査部140は、図1に示した分割信号検査部14に対応する。
ブロック結合部150は、受信した信号がブロック分割部24によって分割された場合に、CB−CRC検査部140から出力されるコードブロックを結合することによりトランスポートブロックを生成する。TB−CRC検査部160は、ブロック結合部150によって生成されたトランスポートブロックに対して誤り検査を行う。
MAC受信部26は、TB−CRC検査部160によってトランスポートブロックに誤りが検出されなかった場合には、データパケットを出力するとともに、再送情報としてACK(Acknowledgment)を送信機9へ送信する。一方、MAC受信部26は、TB−CRC検査部160によってトランスポートブロックに誤りが検出された場合には、再送情報としてNACK(Negative Acknowledgment)を送信機9へ送信する。なお、受信機20は、アップリンクの制御チャネルによって再送情報を送信機9へ送信する。
なお、上記のHARQ合成部110や、誤り訂正復号器130等の各部は、コードブロックサイズ毎に分割された尤度信号や、誤り訂正復号器130によって生成されたコードブロックを、コードブロックを識別するコードブロック番号によって特定する。かかるコードブロック番号は、同一のHARQプロセスで送信された信号が分割された際に、分割後の信号を特定するために用いられる番号である。実施例2では、コードブロック番号は、異なるHARQプロセスで送信された信号との間で同一の番号が用いられてもよいものとする。また、実施例2では、分割された信号は、先頭から順にコードブロック番号#0、#1、#2、・・・、と付与されるものとする。例えば、受信信号Aの尤度信号が10個の尤度信号A0、A1、・・・、A9に分割された場合に、尤度信号A0〜A9のコードブロック番号は、それぞれ「#0」〜「#9」である。また、例えば、受信信号Bの尤度信号が10個の尤度信号B0、B1、・・・、B9に分割された場合に、尤度信号B0〜B9のコードブロック番号は、それぞれ「#0」〜「#9」である。
また、上記の無線受信部22は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、又は、CPU(Central Processing Unit)などの電子回路である。同様に、復調部23、ブロック分割部24、レートデマッチング部25、HARQ合成部110、誤り訂正復号器130、CB−CRC検査部140、ブロック結合部150、TB−CRC検査部160、MAC受信部26は、例えば、集積回路又は電子回路である。また、HARQバッファ120は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
次に、図3を用いて、図2に示したHARQ合成/結合部100の構成について詳細に説明する。図3は、図2に示したHARQ合成/結合部100の構成例を示す図である。図3に示すように、HARQ合成/結合部100は、HARQ合成部110と、SEL(Selector:選択回路)111と、バッファ書込部112と、バッファ読出部113と、HARQバッファ120と、バッファ読出部121と、デコーダ122と、CB結合バッファ123と、CB−CRC検査部140と、TB−CRC検査部160と、CB検査結果記憶部171と、制御部172とを有する。
まず、受信機20によって受信された信号が、再送信号ではなく初めて受信した信号である場合を例に挙げて、図3に示した各部の処理について説明する。なお、以下では、初めて受信した信号を「初回信号」と表記する場合がある。図3に示した例において、受信信号が初回信号である場合には、HARQ合成部110及びバッファ読出部113は、処理を行わない。
SEL111は、最大比合成が行われた尤度信号をHARQ合成部110から受け付け、初回信号から生成された尤度信号をレートデマッチング部25から受け付ける。SEL111がHARQ合成部110またはレートデマッチング部25から受け付ける尤度信号は、いずれもコードブロックサイズに相当する。そして、SEL111は、HARQ合成部110から受け付けた尤度信号、または、レートデマッチング部25から受け付けた尤度信号のいずれか一方をバッファ書込部112へ出力する。
具体的には、SEL111は、制御チャネルによって伝送されたHARQ再送情報が初回信号を示す場合には、レートデマッチング部25から受け付けた尤度信号をバッファ書込部112へ出力する。一方、SEL111は、HARQ再送情報が再送信号を示す場合には、HARQ合成部110から受け付けた尤度信号をバッファ書込部112へ出力する。ここでは、受信信号が初回信号であることを前提としているので、SEL111は、レートデマッチング部25から受け付けた尤度信号をバッファ書込部112へ出力する。
バッファ書込部112は、後述する制御部172によって制御され、SEL111から受け付けた尤度信号をHARQバッファ120に書込む。後述する制御部172は、受信信号が初回信号である場合には、バッファ書込部112に書込処理を行うように制御する。したがって、ここでは、受信信号が初回信号であることを前提としているので、バッファ書込部112は、SEL111から受け付けた尤度信号をHARQバッファ120に書き込む。なお、バッファ書込部112は、図1に示した分割信号格納部12に対応する。
HARQバッファ120は、HARQプロセス毎に、コードブロック単位に分割された尤度信号を記憶する。なお、実施例2では、最大で8個のHARQプロセスが動作することを前提としているので、HARQバッファ120は、少なくとも、8個のHARQプロセス毎に、尤度信号を格納する記憶領域を保持する。
バッファ読出部121は、HARQバッファ120に記憶されている尤度信号を読み出して、読み出した尤度信号をデコーダ122へ出力する。デコーダ122は、バッファ読出部121から受け付けた尤度信号に付加されている冗長符号を用いて誤り訂正を行い、誤り訂正後の尤度信号を復号化してコードブロックを生成する。そして、デコーダ122は、生成したコードブロックをCB結合バッファ123に格納するとともに、かかるコードブロックをCB−CRC検査部140へ出力する。なお、デコーダ122は、図2に示した誤り訂正復号器130に対応する。
図4に、実施例2におけるCB結合バッファ123の一例を示す。ここでは、トランスポートブロックが最大で10個に分割されることを前提としているので、図4に例示したCB結合バッファ123は、最大で10個のコードブロックを記憶する。例えば、ブロック分割部24によって復調部23から出力される尤度信号が10個の尤度信号に分割されたものとする。そして、デコーダ122は、かかる10個の尤度信号を復号化して、コードブロックCB#0〜#9を生成したものとする。かかる場合に、デコーダ122は、生成したコードブロックCB#0〜#9を、図4に示した例のようにCB結合バッファ123に格納する。
CB−CRC検査部140は、デコーダ122から受け付けたコードブロックに対して誤り検査を行う。そして、CB−CRC検査部140は、誤り検査の結果をCB検査結果記憶部171に格納する。TB−CRC検査部160は、CB結合バッファ123に記憶されている全てのコードブロックを読み出して、読み出したトランスポートブロックに対して誤り検査を行う。
なお、上記のデコーダ122は、CB−CRC検査部140によって誤りが検出されたコードブロックを、CB結合バッファ123に書き込まないように制御する。また、上記のTB−CRC検査部160は、CB−CRC検査部140によって誤りが検出されたコードブロックを含むトランスポートブロックに対して誤り検査を行わない。
CB検査結果記憶部171は、CB−CRC検査部140によって行われた誤り検査の結果を記憶する。図5に、CB検査結果記憶部171の一例を示す。図5に示した例では、CB検査結果記憶部171は、HARQプロセスを識別するHARQプロセス番号毎に、コードブロック番号に対応付けて誤り検査結果を記憶する。なお、図5に示した例において、「0」が記憶されている場合には、コードブロックに誤りが検出されたことを示し、「1」が記憶されている場合には、コードブロックに誤りが検出されなかったことを示す。
例えば、図5に示したCB検査結果記憶部171は、HARQプロセス番号が「#0」であり、かつ、コードブロック番号が「#0」であるコードブロックに誤りが検出されなかったことを示す。また、図5に示したCB検査結果記憶部171は、HARQプロセス番号が「#0」であり、かつ、コードブロック番号が「#1」であるコードブロックに誤りが検出されたことを示す。
制御部172は、バッファ書込部112を制御する。具体的には、制御部172は、初回信号を受信した場合には、書込処理を行うようにバッファ書込部112を制御する。例えば、制御部172は、初回信号を受信した場合には、バッファ書込部112に対して、書込処理を行うことを示す要求である「イネーブル信号」を送信する。なお、制御部172は、制御チャネルによって伝送されたHARQ再送情報に基づいて、受信信号が初回信号または再送信号のいずれであるかを判定する。受信信号が再送信号である場合における制御部172の処理については後述する。
このように、HARQ合成/結合部100は、受信機20が初回信号を受信した場合には、かかる初回信号が分割された尤度信号をHARQバッファ120に格納し、分割後の尤度信号毎に、誤り訂正や、復号化、誤り検査等を行う。そして、HARQ合成/結合部100は、復号化されたコードブロックを結合し、結合後のトランスポートブロックに対して誤り検査を行う。
続いて、受信機20によって受信された信号が再送信号である場合を例に挙げて、図3に示した各部の処理について説明する。なお、受信機20によって受信された信号が初回信号である場合と同様の処理を行う部位については、説明を省略する。具体的には、HARQバッファ120、バッファ読出部121、デコーダ122、CB結合バッファ123、CB−CRC検査部140、TB−CRC検査部160、CB検査結果記憶部171については、説明を省略する。
HARQ合成部110は、受信信号が再送信号である場合には、レートデマッチング部25から、かかる再送信号から生成された尤度信号を受け付ける。かかる場合に、バッファ読出部113は、HARQバッファ120から、かかる再送信号に対応する再送元信号のHARQプロセスと一致し、かつ、HARQ合成部110に入力される尤度信号のコードブロック番号と一致する尤度信号を読み出す。そして、HARQ合成部110は、レートデマッチング部25から受け付けた尤度信号と、バッファ読出部113によって読み出された尤度信号との最大比合成を行い、最大比合成を行った後の尤度信号をSEL111へ出力する。
SEL111は、受信信号が再送信号である場合には、HARQ合成部110から最大比合成が行われた尤度信号を受け付け、受け付けた尤度信号をバッファ書込部112へ出力する。
制御部172は、受信信号が再送信号である場合には、CB検査結果記憶部171から、かかる受信信号に対応する再送元信号のHARQプロセス番号と一致し、かつ、HARQ合成部110に入力される尤度信号のコードブロック番号と一致する誤り検査結果を取得する。そして、制御部172は、取得した誤り検査結果が「1(誤り無)」である場合には、書込処理を行わないようにバッファ書込部112を制御する。例えば、制御部172は、バッファ書込部112に対して、書込処理を行わないことを示す要求である「ディセーブル信号」を送信する。
一方、制御部172は、CB検査結果記憶部171から取得した誤り検査結果が「0(誤り有)」である場合には、書込処理を行うようにバッファ書込部112を制御する。例えば、制御部172は、バッファ書込部112に対して、書込処理を行うことを示す要求である「イネーブル信号」を送信する。
そして、バッファ書込部112は、制御部172からディセーブル信号を受信した場合には、SEL111から受け付けた尤度信号をHARQバッファ120に書き込まない。一方、バッファ書込部112は、制御部172からイネーブル信号を受信した場合には、SEL111から受け付けた尤度信号をHARQバッファ120に書き込む。
このように、制御部172は、受信信号が再送信号である場合には、HARQバッファ120に記憶されている尤度信号のうち、誤りが検出されなかった尤度信号については更新しないように制御する。また、制御部172は、HARQバッファ120に記憶されている尤度信号のうち、誤りが検出された尤度信号については、HARQ合成部110によって最大比合成された尤度信号に更新するように制御する。
ここで、制御部172による処理について、例を挙げて説明する。例えば、受信機20が初回信号Cを受信したものとする。そして、ブロック分割部24は、初回信号Cを10個の尤度信号C0、C1、・・・、C9に分割したものとする。すなわち、HARQバッファ120は、尤度信号C0、C1、・・・、C9を記憶する。そして、デコーダ122は、尤度信号C0、C1、・・・、C9を復号化して、コードブロックCB0、CB1、・・・、CB9を生成したものとする。そして、CB−CRC検査部140は、コードブロックCB0、CB1、・・・、CB9に対して誤り検査を行う。ここでは、CB−CRC検査部140は、コードブロックCB0、CB8に誤りを検出し、コードブロックCB1〜CB7、CB9に誤りを検出しなかったものとする。その後、受信機20は、初回信号Cの再送信号Dを受信したものとする。かかる場合に、ブロック分割部24は、再送信号Dを10個の尤度信号D0、D1、・・・、D9に分割したものとする。そして、HARQ合成部110は、尤度信号C0と尤度信号D0との最大比合成を行い、尤度信号C1と尤度信号D1との最大比合成を行う。同様に、HARQ合成部110は、尤度信号C2〜C9と、尤度信号D2〜D9についても最大比合成を行う。
このような場合に、制御部172は、HARQバッファ120に記憶されている尤度信号C0〜C9のうち、誤りが検出されなかった尤度信号C1〜C7、C9を、HARQ合成部110によって最大比合成された尤度信号に更新しないように制御する。これは、HARQバッファ120に記憶されている尤度信号C1〜C7、C9は、誤りが検出されていないので、再送信号と最大比合成が行われた尤度信号に更新しない方がよいからである。具体的には、再送信号Dの尤度信号D1〜D7、D9に誤りが含まれている場合には、誤りが含まれていなかった尤度信号C1〜C7、C9が、誤りが含まれる尤度信号に更新されてしまうおそれがある。
一方、制御部172は、HARQバッファ120に記憶されている尤度信号C0〜C9のうち、誤りが検出された尤度信号C0、C8を、HARQ合成部110によって最大比合成された尤度信号に更新するように制御する。具体的には、制御部172は、HARQバッファ120に記憶されている尤度信号C0を、尤度信号C0と尤度信号D0との最大比合成により生成された尤度信号に更新するように制御する。また、制御部172は、HARQバッファ120に記憶されている尤度信号C8を、尤度信号C8と尤度信号D8との最大比合成により生成された尤度信号に更新するように制御する。
なお、制御部172は、バッファ書込部112を制御するだけでなく、HARQ合成部110と、SEL111と、バッファ書込部112と、バッファ読出部113とを制御してもよい。上記例を用いて説明すると、制御部172は、尤度信号D0またはD8がHARQ合成部110に入力される場合には、HARQ合成部110、SEL111、バッファ書込部112、バッファ読出部113が処理を行うように制御する。一方、制御部172は、尤度信号D1〜D7、D9がHARQ合成部110に入力される場合には、HARQ合成部110、SEL111、バッファ書込部112、バッファ読出部113が処理を行わないように制御する。すなわち、制御部172は、尤度信号D1〜D7、D9がHARQ合成部110に入力される場合には、HARQ合成部110に合成処理を行わせず、バッファ読出部113に尤度信号の読出処理を行わせない。これにより、制御部172は、HARQ合成部110やバッファ読出部113等の処理負荷を低減することができ、また、HARQ合成部110やバッファ読出部113等の消費電力を低減することができる。
[実施例2における制御部による処理手順]
次に、図6を用いて、実施例2における制御部172による処理の手順について説明する。図6は、実施例2における制御部172による処理手順を示すフローチャートである。図6に示すように、制御部172は、受信機20が受信した信号が初回信号である場合には(ステップS101肯定)、バッファ書込部112に対してイネーブル信号を送信する(ステップS102)。これにより、バッファ書込部112は、SEL111から受け付けた尤度信号をHARQバッファ120に書き込む。
一方、制御部172は、受信機20が受信した信号が初回信号ではなく、再送信号である場合には(ステップS101否定)、CB検査結果記憶部171から誤り検査結果を取得する(ステップS103)。具体的には、制御部172は、CB検査結果記憶部171から、再送元信号のHARQプロセス番号と一致し、かつ、HARQ合成部110に入力される尤度信号のコードブロック番号と一致する誤り検査結果を取得する。
そして、制御部172は、ステップS103において取得した誤り検査結果が「1(誤り無)」である場合には(ステップS104否定)、バッファ書込部112に対してディセーブル信号を送信する(ステップS105)。これにより、バッファ書込部112は、SEL111から受け付けた尤度信号をHARQバッファ120に書き込まない。
一方、制御部172は、ステップS103において取得した誤り検査結果が「0(誤り有)」である場合には(ステップS104肯定)、バッファ書込部112に対してイネーブル信号を送信する(ステップS102)。これにより、バッファ書込部112は、SEL111から受け付けた尤度信号をHARQバッファ120に書き込む。
[実施例2の効果]
上述してきたように、実施例2に係る受信機20は、再送信号を受信した場合であっても、HARQバッファ120に記憶されている尤度信号のうち、誤りが検出されなかった尤度信号については更新しない。一方、実施例2に係る受信機20は、再送信号を受信した場合に、HARQバッファ120に記憶されている尤度信号のうち、誤りが検出された尤度信号を、HARQ合成部110によって最大比合成された尤度信号に更新する。
これにより、実施例2に係る受信機20は、誤りが含まれている再送信号を受信した場合であっても、誤りが含まれている再送信号と、誤りが検出されなかったHARQバッファ120内の尤度信号との最大比合成を行った信号を用いることがない。したがって、実施例2に係る受信機20は、誤りが含まれている再送信号と、誤りが検出されなかったHARQバッファ120内の尤度信号との最大比合成により生成した信号から誤りを検出することがない。このため、実施例2に係る受信機20は、送信機9に対して信号の再送を要求する頻度が低くなるので、移動通信システムのスループットを向上させることができる。
上記実施例2では、再送信号を受信した場合に、再送元信号の誤り検査結果に基づいて、HARQバッファ120に記憶されている尤度信号を更新するか否かを制御する例を示した。しかし、本願の開示する受信機は、再送信号を受信した場合に、再送元信号の誤り検査結果に基づいて、CB結合バッファに記憶されているコードブロックを更新するか否かを制御してもよい。実施例3では、CB結合バッファに記憶されているコードブロックを更新するか否かを制御する例について説明する。
[実施例3に係る受信機の構成]
まず、実施例3に係る受信機の構成について説明する。なお、実施例3に係る受信機が適用される移動通信システムの構成は、図2に示した例と同様である。ただし、実施例3に係る受信機は、図2に示した受信機20と比較して、HARQ合成/結合部100の構成が異なる。
図7は、実施例3におけるHARQ合成/結合部200の構成例を示す図である。なお、以下では、既に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。図7に示すように、HARQ合成/結合部200は、CB検査結果記憶部171と、CB結合バッファ223と、TB−CRC検査部260と、制御部272と、合成検査部280とを有する。
CB結合バッファ223は、HARQプロセス毎に、後述するデコーダ222によって復号化されたコードブロックを記憶する。図8に、実施例3におけるCB結合バッファ223の一例を示す。図8に例示したCB結合バッファ223は、HARQプロセス番号に対応付けて、コードブロックを記憶する。ここでは、最大で8個のHARQプロセスが動作することを前提としているので、CB結合バッファ223は、HARQプロセス番号#0〜#7に対応付けてコードブロックを記憶する。また、ここでは、トランスポートブロックが最大で10個に分割されることを前提としているので、図8に例示したCB結合バッファ223は、HARQプロセス毎に、最大で10個のコードブロックを記憶する。
TB−CRC検査部260は、CB結合バッファ223から、HARQプロセス番号毎に、コードブロックを読み出して、読み出したトランスポートブロックに対して誤り検査を行う。例えば、CB結合バッファ223に記憶されている情報が図8に示した状態であるものとする。かかる場合に、TB−CRC検査部260は、例えば、HARQプロセス番号「#0」に記憶されているコードブロック#0〜#9を読み出して、コードブロック#0〜#9が結合されたトランスポートブロックに対して誤り検査を行う。同様にして、TB−CRC検査部260は、HARQプロセス番号「#1」〜「#9」に記憶されているコードブロック#0〜#9についても誤り検査を行う。なお、TB−CRC検査部260は、誤りが検出されなかったトランスポートブロックのコードブロック#0〜#9をCB結合バッファ223から削除してもよい。
制御部272は、合成検査部280を制御する。具体的には、制御部272は、受信機が初回信号を受信した場合には、処理を行うように合成検査部280を制御する。例えば、制御部272は、初回信号を受信した場合には、合成検査部280に対して、処理を行うことを示す要求である「イネーブル信号」を送信する。
また、制御部272は、受信機が再送信号を受信した場合には、CB検査結果記憶部171から、再送元信号のHARQプロセス番号と一致し、かつ、HARQ合成部210へ入力される尤度信号のコードブロック番号と一致する誤り検査結果を取得する。
そして、制御部272は、取得した誤り検査結果が「1(誤り無)」である場合には、処理を行わないように合成検査部280を制御する。例えば、制御部272は、合成検査部280に対して、処理を行わないことを示す要求である「ディセーブル信号」を送信する。一方、制御部272は、CB検査結果記憶部171から取得した誤り検査結果が「0(誤り有)」である場合には、処理を行うように合成検査部280を制御する。例えば、制御部272は、合成検査部280に対して、処理を行うことを示す要求である「イネーブル信号」を送信する。
合成検査部280は、制御部272によって制御され、レートデマッチング部25から入力される尤度信号に対して、最大比合成や誤り検査等を行う。図7に示すように、合成検査部280は、HARQバッファ120と、HARQ合成部210と、SEL211と、バッファ書込部212と、バッファ読出部213と、バッファ読出部221と、デコーダ222と、CB−CRC検査部240とを有する。
HARQ合成部210が有するHARQ合成部210等の各部は、制御部272からディセーブル信号を受信した場合には処理を行わず、制御部272からイネーブル信号を受信した場合には処理を行う。以下に、HARQ合成部210が有する各部の処理について説明する。
まず、HARQ合成部210及びバッファ読出部213は、制御部272からイネーブル信号を受信した場合であっても、受信信号が初回信号である場合には、処理を行わない。一方、バッファ読出部213は、受信信号が再送信号であり、かつ、制御部272からイネーブル信号を受信した場合には、HARQバッファ120から、再送元信号のHARQプロセスと一致し、かつ、HARQ合成部210に入力される尤度信号のコードブロック番号と一致する尤度信号を読み出す。
HARQ合成部210は、受信信号が再送信号であり、かつ、制御部272からイネーブル信号を受信した場合には、レートデマッチング部25から受け付けた尤度信号と、バッファ読出部213によって読み出された尤度信号との最大比合成を行う。
SEL211は、HARQ再送情報が初回信号を示す場合には、レートデマッチング部25から受け付けた尤度信号をバッファ書込部212へ出力する。一方、SEL211は、HARQ再送情報が再送信号を示し、かつ、制御部272からイネーブル信号を受信した場合には、HARQ合成部210から受け付けた尤度信号をバッファ書込部212へ出力する。
バッファ書込部212は、制御部272からイネーブル信号を受信した場合には、SEL211から受け付けた尤度信号をHARQバッファ120に書き込む。バッファ読出部221は、制御部272からイネーブル信号を受信した場合には、HARQバッファ120に記憶されている尤度信号を読み出して、読み出した尤度信号をデコーダ222へ出力する。
デコーダ222は、制御部272からイネーブル信号を受信した場合には、バッファ読出部221から受け付けた尤度信号に対して誤り訂正を行い、誤り訂正後の尤度信号を復号化する。そして、デコーダ222は、復号化後のコードブロックをCB結合バッファ223に格納する。このとき、デコーダ222は、復号化した尤度信号のHARQプロセス番号に対応するCB結合バッファ223の領域に、コードブロックを格納する。
CB−CRC検査部240は、制御部272からイネーブル信号を受信した場合には、デコーダ222から受け付けたコードブロックに対して誤り検査を行い、誤り検査の結果をCB検査結果記憶部171に格納する。
このように、HARQ合成/結合部200は、再送信号を受信した場合には、CB結合バッファ223に記憶されているコードブロックのうち、誤りが検出されなかったコードブロックについては更新しない。また、HARQ合成/結合部200は、CB結合バッファ223に記憶されているコードブロックのうち、誤りが検出されたコードブロックについては、デコーダ222によって復号化されたコードブロックに更新する。
例えば、受信機が初回信号Eを受信したものとする。そして、ブロック分割部24は、初回信号Eを10個の尤度信号E0、E1、・・・、E9に分割したものとする。そして、デコーダ222は、尤度信号E0、E1、・・・、E9を復号化して、コードブロックCBE0、CBE1、・・・、CBE9をCB結合バッファ223に格納したものとする。また、CB−CRC検査部240は、コードブロックCBE0、CBE1、・・・、CBE9に対して誤り検査を行う。ここでは、CB−CRC検査部240は、コードブロックCBE0、CBE1に誤りを検出し、コードブロックCBE2〜CBE9に誤りを検出しなかったものとする。その後、受信機は、初回信号Eの再送信号Fを受信したものとする。かかる場合に、ブロック分割部24は、再送信号Fを10個の尤度信号F0〜F9に分割したものとする。
このような場合に、制御部272は、CB結合バッファ223に記憶されているコードブロックCBE0〜CBE9のうち、誤りが検出されなかったコードブロックCBE2〜CBE9を更新しないように制御する。具体的には、制御部272は、レートデマッチング部25から合成検査部280へ尤度信号F2〜F9が入力される場合には、処理を行わないように合成検査部280を制御する。これは、CB結合バッファ223に記憶されているコードブロックCBE2〜CBE9は、誤りが検出されていないので、再送信号と最大比合成が行われた尤度信号から生成されたコードブロックに更新しない方がよいからである。
一方、制御部272は、CB結合バッファ223に記憶されているコードブロックCBE0〜CBE9のうち、誤りが検出されたコードブロックCBE0、CBE1を更新するように制御する。具体的には、制御部272は、レートデマッチング部25から合成検査部280へ尤度信号F0、F1が入力される場合には、処理を行うように合成検査部280を制御する。
[実施例3における制御部による処理手順]
次に、図9を用いて、実施例3における制御部272による処理の手順について説明する。図9は、実施例3における制御部272による処理手順を示すフローチャートである。図9に示すように、制御部272は、受信機が受信した信号が初回信号である場合には(ステップS201肯定)、合成検査部280に対してイネーブル信号を送信する(ステップS202)。
一方、制御部272は、再送信号を受信した場合には(ステップS201否定)、CB検査結果記憶部171から誤り検査結果を取得する(ステップS203)。具体的には、制御部272は、CB検査結果記憶部171から、再送元信号のHARQプロセス番号と一致し、かつ、HARQ合成部210に入力される尤度信号のコードブロック番号と一致する誤り検査結果を取得する。
そして、制御部272は、ステップS203において取得した誤り検査結果が「1(誤り無)」である場合には(ステップS204否定)、合成検査部280に対してディセーブル信号を送信する(ステップS205)。一方、制御部272は、ステップS203において取得した誤り検査結果が「0(誤り有)」である場合には(ステップS204肯定)、合成検査部280に対してイネーブル信号を送信する(ステップS202)。
[実施例3の効果]
上述してきたように、実施例3に係る受信機は、再送信号を受信した場合であっても、CB結合バッファ223に記憶されているコードブロックのうち、誤りが検出されなかったコードブロックを更新しない。また、実施例3に係る受信機は、再送信号を受信した場合に、CB結合バッファ223に記憶されているコードブロックのうち、誤りが検出されたコードブロックを、デコーダ222によって復号化されたコードブロックに更新する。これにより、実施例3に係る受信機は、移動通信システムのスループットを向上させることができる。
さらに、実施例3に係る受信機は、再送信号を受信した場合に、再送元信号の受信時に誤りが検出されなかった尤度信号を処理する場合には、合成検査部280による処理を停止するので、消費電力を削減することができる。以上のことから、実施例3に係る受信機は、移動通信システムのスループットを向上させることができるとともに、消費電力を削減することができる。
上記実施例3では、図8に示した例のように、CB結合バッファ223は、HARQプロセスの最大数分だけコードブロックを記憶する領域を保持する。しかし、CB結合バッファ223は、HARQプロセスの最大数分だけコードブロックを記憶する領域を保持しなくてもよい。実施例4では、CB結合バッファが、HARQプロセスの最大数よりも小さい数のHARQプロセスに対応付けてコードブロックを記憶する例について説明する。
[実施例4に係る受信機の構成]
まず、実施例4に係る受信機の構成について説明する。なお、実施例4に係る受信機が適用される移動通信システムの構成は、図2に示した例と同様である。ただし、実施例4に係る受信機は、図2に示した受信機20と比較して、HARQ合成/結合部100の構成が異なる。
図10は、実施例4におけるHARQ合成/結合部300の構成例を示す図である。図10に示すように、HARQ合成/結合部300は、CB検査結果記憶部171と、CB結合バッファ323と、バッファ管理部341と、TB−CRC検査部360と、制御部372と、合成検査部380とを有する。
CB結合バッファ323は、HARQプロセス毎に、後述するデコーダ222によって復号化されたコードブロックを記憶する。ただし、CB結合バッファ323は、HARQプロセスの最大数よりも小さい数のバンクにコードブロックを記憶する。
図11に、実施例4におけるCB結合バッファ323の一例を示す。図11に例示したCB結合バッファ323は、バンクを識別するバンク番号に対応付けて、コードブロックを記憶する。CB結合バッファ323は、HARQプロセスの最大数「8」よりも小さい4個のバンクを有する。ここでは、トランスポートブロックが最大で10個に分割されることを前提としており、CB結合バッファ323は、バンク番号毎に、最大で10個のコードブロックを記憶する。
バッファ管理部341は、バンク番号に対応付けて、CB結合バッファ323に記憶されているコードブロックのHARQプロセス番号等を記憶する。図12に、実施例4におけるバッファ管理部341の一例を示す。図12に例示したバッファ管理部341は、「バンク番号」、「HARQプロセス番号」、「CRC−OKのCB数」といった項目を有する。
「バンク番号」は、バンクを識別するバンク番号を示す。「HARQプロセス番号」は、対応するバンク番号が示すバンクに記憶されているコードブロックのHARQプロセス番号を示す。「CRC−OKのCB数」は、対応するバンク番号が示すバンクに記憶されているコードブロックのうち、後述するCB−CRC検査部340によって誤りが検出されなかったコードブロックの数を示す。
例えば、図12に示したバッファ管理部341の1行目は、バンク番号が「#0」であるバンクに記憶されているコードブロックのHARQプロセス番号が「#4」であることを示している。また、図12に示したバッファ管理部341の1行目は、バンク番号が「#0」であるバンクに記憶されているコードブロックのうち、CB−CRC検査部340によって誤りが検出されなかったコードブロックの数が「0」であることを示している。
また、例えば、図12に示したバッファ管理部341の2行目は、バンク番号が「#1」であるバンクに記憶されているコードブロックのHARQプロセス番号が「#5」であることを示している。また、図12に示したバッファ管理部341の2行目は、バンク番号が「#1」であるバンクに記憶されているコードブロックのうち、CB−CRC検査部340によって誤りが検出されなかったコードブロックの数が「5」であることを示している。
なお、図12に示した例において、「CRC−OKのCB数」に「0」が記憶されている場合には、誤りが検出されなかったコードブロック数が「0」であるか、または、全てのコードブロックに誤りが検出されなかったことを示すものとする。例えば、バンク番号が「#0」であるバンクに記憶されているコードブロックのうち、誤りが検出されなかったコードブロック数が「0」である場合には、図12に示した例のように、「CRC−OKのCB数」に「0」が記憶される。また、例えば、バンク番号が「#0」であるバンクに記憶されている全てのコードブロックに誤りが検出されなかった場合も、図12に示した例のように、「CRC−OKのCB数」に「0」が記憶される。これは、「CRC−OKのCB数」に「0」が記憶されている場合には、対応するバンク番号が示すバンクを他のHARQプロセスが用いてもよいことを示すためである。
TB−CRC検査部360は、CB結合バッファ323から、バンク番号毎に、コードブロックを読み出して、読み出したトランスポートブロックに対して誤り検査を行う。例えば、CB結合バッファ323に記憶されている情報が図11に示した状態であるものとする。かかる場合に、TB−CRC検査部360は、例えば、バンク番号「#0」に記憶されているコードブロック#0〜#9を読み出して、コードブロック#0〜#9が結合されたトランスポートブロックに対して誤り検査を行う。同様にして、TB−CRC検査部360は、バンク番号「#1」〜「#3」に記憶されているコードブロック#0〜#9についても誤り検査を行う。
また、TB−CRC検査部360は、トランスポートブロックに誤りが検出されなかった場合には、かかるトランスポートブロックが記憶されているバンクのバンク番号に対応するバッファ管理部341の「CRC−OKのCB数」を「0」に更新する。
図10の説明に戻って、合成検査部380は、後述する制御部372によって制御される。かかる合成検査部380は、HARQバッファ120と、バッファ読出部221と、デコーダ222と、CB−CRC検査部340と、合成処理部390とを有する。また、合成処理部390は、HARQ合成部210と、SEL211と、バッファ書込部212と、バッファ読出部213とを有する。
制御部372は、送信機9から信号を受信した場合に、受信信号のHARQプロセス番号がバッファ管理部341のHARQプロセス番号に記憶されているか否かを判定する。そして、制御部372は、受信信号のHARQプロセス番号がバッファ管理部341に記憶されている場合には、バッファ管理部341から、受信信号のHARQプロセス番号に対応するバンク番号を取得する。そして、制御部372は、取得したバンク番号が示すCB結合バッファ323のバンクに、受信信号のコードブロックを格納することを決定する。そして、制御部372は、合成検査部380の動作を制御する。
具体的には、制御部372は、受信信号が初回信号である場合には、合成検査部380に対してイネーブル信号を送信する。また、制御部372は、受信信号が再送信号である場合には、CB検査結果記憶部171から、再送元信号のHARQプロセス番号と一致し、かつ、HARQ合成部210に入力される尤度信号のコードブロック番号と一致する誤り検査結果を取得する。そして、制御部372は、取得した誤り検査結果が「1(誤り無)」である場合には、合成検査部380に対してディセーブル信号を送信する。また、制御部372は、CB検査結果記憶部171から取得した誤り検査結果が「0(誤り有)」である場合には、合成検査部380に対してイネーブル信号を送信する。
一方、制御部372は、受信信号のHARQプロセス番号がバッファ管理部341に記憶されていない場合には、バッファ管理部341から、「CRC−OKのCB数」に最も小さい値が記憶されているバンク番号を取得する。そして、制御部372は、取得したバンク番号が示すCB結合バッファ323のバンクに、受信信号のコードブロックを格納することを決定する。そして、制御部372は、合成処理部390の動作を制御する。
具体的には、制御部372は、受信信号が初回信号である場合には、バッファ書込部212に対してイネーブル信号を送信する。また、制御部372は、受信信号が再送信号である場合には、CB検査結果記憶部171から、再送元信号のHARQプロセス番号と一致し、かつ、HARQ合成部210に入力される尤度信号のコードブロック番号と一致する誤り検査結果を取得する。そして、制御部372は、取得した誤り検査結果が「1(誤り無)」である場合には、合成処理部390に対してディセーブル信号を送信する。一方、制御部372は、CB検査結果記憶部171から取得した誤り検査結果が「0(誤り有)」である場合には、合成処理部390に対してイネーブル信号を送信する。
なお、上記では、受信信号のHARQプロセス番号がバッファ管理部341に記憶されていない場合に、「CRC−OKのCB数」が最小であるバンクに受信信号のコードブロックを格納することとした。これは、「CRC−OKのCB数」が大きい場合には、「CRC−OKのCB数」が小さい場合よりも、合成検査部380による処理を高頻度で停止することができ、消費電力を低減できるからである。例えば、受信信号が10個のコードブロックに分割されたものとする。このとき、「CRC−OKのCB数」が「9」である場合には、制御部372は、再送信号を受信した際に、合成検査部380による処理を9回停止することになる。一方、「CRC−OKのCB数」が「2」である場合には、制御部372は、再送信号を受信した際に、合成検査部380による処理を2回停止することになる。
[実施例4における制御部による処理手順]
次に、図13を用いて、実施例4における制御部372による処理の手順について説明する。図13は、実施例4における制御部372による処理手順を示すフローチャートである。図13に示すように、制御部372は、送信機9から信号を受信した場合に、バッファ管理部341から、受信信号のHARQプロセス番号に対応するバンク番号を取得する(ステップS301)。
そして、制御部372は、バッファ管理部341からバンク番号を取得できた場合には(ステップS302肯定)、取得したバンク番号が示すCB結合バッファ323のバンクに、受信信号のコードブロックを格納することを決定する(ステップS303)。そして、制御部372は、受信信号に含まれるコードブロックの数の分だけ、合成検査部380に対する制御を繰り返し行う(ステップS304)。なお、ステップS304における合成検査部380に対する制御は、図9に示した制御部272による処理手順と同様の処理手順である。
一方、制御部372は、バッファ管理部341からバンク番号を取得できなかった場合には(ステップS302否定)、バッファ管理部341から、「CRC−OKのCB数」に最も小さい値が記憶されているバンク番号を取得する(ステップS305)。そして、制御部372は、取得したバンク番号が示すCB結合バッファ323のバンクに、受信信号のコードブロックを格納することを決定する(ステップS306)。そして、制御部372は、受信信号に含まれるコードブロックの数の分だけ、合成処理部390に対する制御を繰り返し行う(ステップS307)。なお、ステップS307における合成処理部390に対する制御は、図6に示した制御部172による処理手順と同様の処理手順である。
[実施例4の効果]
上述してきたように、実施例4に係る受信機は、HARQプロセスの最大数よりも小さい数のバンクを有するCB結合バッファ323に受信信号のコードブロックを格納する。このため、実施例4に係る受信機は、小容量のCB結合バッファ323を用いることができ、その結果、小規模の回路で実現することができる。すなわち、実施例4に係る受信機は、小規模の回路で、移動通信システムのスループットを向上させることができるとともに、消費電力を削減することができる。
上記実施例4では、図11に示した例のように、CB結合バッファ323は、バンク毎に、最大で10個のコードブロックを記憶する領域を保持する。しかし、受信機が受信する信号は、常に同一の数に分割されるとは限らない。実施例5では、受信信号が分割される数が同一でない点を考慮した例について説明する。
[実施例5に係る受信機の構成]
まず、実施例5に係る受信機の構成について説明する。なお、実施例5に係る受信機が適用される移動通信システムの構成は、図2に示した例と同様である。ただし、実施例5に係る受信機は、図2に示した受信機20と比較して、HARQ合成/結合部100の構成が異なる。また、実施例5におけるHARQ合成/結合部の構成は、図10に示したHARQ合成/結合部300の構成と同様である。しかし、実施例5におけるHARQ合成/結合部は、図10に示したHARQ合成/結合部300と比較して、CB結合バッファ323の構造や、バッファ管理部341の構造などが異なる。そこで、実施例5におけるCB結合バッファをCB結合バッファ423とし、実施例5におけるバッファ管理部をバッファ管理部441とする。
図14に、実施例5におけるCB結合バッファ423の一例を示す。図14に例示したCB結合バッファ423は、10個のバンクを有する。なお、図14に示した例において、1個のバンクのサイズは、1個のコードブロックを格納できるものとする。
図15に、実施例5におけるバッファ管理部441の一例を示す。図15に例示したバッファ管理部441は、「バンク番号」、「HARQプロセス番号」、「コードブロック番号」、「CRC−OKのCB数」といった項目を有する。「バンク番号」は、バンクを識別するバンク番号を示す。「HARQプロセス番号」は、対応するバンク番号が示すバンクに記憶されているコードブロックのHARQプロセス番号を示す。「コードブロック番号」は、対応するバンク番号が示すバンクに記憶されているコードブロックのコードブロック番号を示す。「CRC−OKのCB数」は、対応するHARQプロセス番号が示すHARQプロセスにおいて送信された信号のうち、CB−CRC検査部340によって誤りが検出されなかったコードブロックの数を示す。
例えば、図15に示したバッファ管理部441の1行目は、バンク番号が「#0」であるバンクに記憶されているコードブロックのHARQプロセス番号が「#4」であり、かかるコードブロックのコードブロック番号が「#0」であることを示している。また、図12に示したバッファ管理部441の1〜3行目は、HARQプロセス番号「#4」が示すHARQプロセスにおいて送信された信号のうち、CB−CRC検査部340によって誤りが検出されなかったコードブロックの数が「3」であることを示す。
実施例5における制御部372は、バッファ管理部441に記憶されている各種情報に基づいて、受信信号のコードブロックを格納するバンクを決定する。なお、実施例5における制御部372による処理については、図16を用いて詳細に説明する。
[実施例5における制御部による処理手順]
次に、図16を用いて、実施例5における制御部372による処理の手順について説明する。図16は、実施例5における制御部372による処理手順を示すフローチャートである。図16に示すように、制御部372は、送信機9から信号を受信した場合に、受信信号に含まれるコードブロックの数の分だけ、以下に示す処理手順(ステップS401〜S406)を繰り返し行う。
具体的には、制御部372は、バッファ管理部441から、受信信号のHARQプロセス番号と一致し、かつ、レートデマッチング部25からHARQ合成部210に入力される尤度信号のコードブロック番号と一致するバンク番号を取得する(ステップS401)。
そして、制御部372は、バッファ管理部441からバンク番号を取得できた場合には(ステップS402肯定)、取得したバンク番号が示すCB結合バッファ423のバンクに、コードブロックを格納することを決定する(ステップS403)。そして、制御部372は、合成検査部380に対する制御を行う(ステップS404)。なお、ステップS404における合成検査部380に対する制御は、図9に示した制御部272による処理手順と同様の処理手順である。
具体的には、制御部372は、受信信号が初回信号である場合には、合成検査部380に対してイネーブル信号を送信する。また、制御部372は、受信信号が初回信号である場合には、CB検査結果記憶部171から、受信信号のHARQプロセス番号が一致し、かつ、HARQ合成部210に入力される尤度信号のコードブロック番号が一致する誤り検査結果を取得する。そして、制御部372は、取得した誤り検査結果が「1(誤り無)」である場合には、合成検査部380に対してディセーブル信号を送信する。また、制御部372は、CB検査結果記憶部171から取得した誤り検査結果が「0(誤り有)」である場合には、合成検査部380に対してイネーブル信号を送信する。
一方、制御部372は、バンク番号を取得できなかった場合には(ステップS402否定)、バッファ管理部441から、受信信号のHARQプロセス番号と異なり、かつ、「CRC−OKのCB数」が最小のバンク番号を取得する(ステップS405)。そして、制御部372は、取得したバンク番号が示すCB結合バッファ423のバンクに、コードブロックを格納することを決定する(ステップS406)。そして、制御部372は、合成処理部390に対する制御を行う(ステップS407)。
具体的には、制御部372は、受信信号が初回信号である場合には、バッファ書込部212に対してイネーブル信号を送信する。また、制御部372は、受信信号が再送信号である場合には、CB検査結果記憶部171から、受信信号のHARQプロセス番号が一致し、かつ、HARQ合成部210に入力される尤度信号のコードブロック番号が一致する誤り検査結果を取得する。そして、制御部372は、取得した誤り検査結果が「1(誤り無)」である場合には、バッファ書込部212に対してディセーブル信号を送信する。一方、制御部372は、CB検査結果記憶部171から取得した誤り検査結果が「0(誤り有)」である場合には、バッファ書込部212に対してイネーブル信号を送信する。
[実施例5の効果]
上述してきたように、実施例5に係る受信機は、CB結合バッファ423に、トランスポートブロックの最大分割数の記憶領域をHARQプロセス毎に設けずに、受信信号のコードブロックを、CB結合バッファ423の空きバンクに格納する。これにより、実施例5に係る受信機は、CB結合バッファ423に極力空き領域を設けずにコードブロックを格納することができる。このため、実施例5に係る受信機は、より小容量のCB結合バッファ423を用いることができ、その結果、より小規模の回路で実現することができる。すなわち、実施例5に係る受信機は、より小規模の回路で、移動通信システムのスループットを向上させることができるとともに、消費電力を削減することができる。
上記実施例2〜5では、符号化後のコードブロックをCB結合バッファに格納する例を示した。しかし、コードブロックはCB結合バッファ以外の記憶領域に格納されてもよい。実施例6では、CB結合バッファ以外の記憶領域にコードブロックを格納する例について説明する。
[実施例6に係る受信機の構成]
まず、実施例6に係る受信機の構成について説明する。なお、実施例6に係る受信機が適用される移動通信システムの構成は、図2に示した例と同様である。ただし、実施例6に係る受信機は、図2に示した受信機20と比較して、HARQ合成/結合部100の構成が異なる。
図17は、実施例6におけるHARQ合成/結合部500の構成例を示す図である。図17に示すように、HARQ合成/結合部500は、HARQバッファ120と、CB結合バッファ123と、TB−CRC検査部160と、CB検査結果記憶部171と、合成処理部390と、制御部572と、デコード部580と、バッファ読出部582と、SEL583とを有する。
制御部572は、受信信号が初回信号である場合には、合成処理部390及びデコード部580に対してイネーブル信号を送信する。また、制御部572は、受信信号が再送信号である場合には、CB検査結果記憶部171から、再送元信号のHARQプロセス番号と一致し、かつ、HARQ合成部210に入力される尤度信号のコードブロック番号と一致する誤り検査結果を取得する。そして、制御部572は、取得した誤り検査結果が「1(誤り無)」である場合には、合成処理部390及びデコード部580に対してディセーブル信号を送信する。一方、制御部572は、誤り検査結果が「0(誤り有)」である場合には、合成処理部390及びデコード部580に対してイネーブル信号を送信する。
デコード部580は、制御部572によって制御される。図17に示すように、デコード部580は、デコーダ522と、CB−CRC検査部540と、バッファ書込部581とを有する。
デコーダ522は、制御部572からディセーブル信号を受信した場合には処理を行わない。また、デコーダ522は、制御部572からイネーブル信号を受信した場合には、後述するバッファ読出部582から受け付けた尤度信号に対して誤り訂正や復号化を行う。
CB−CRC検査部540は、制御部572からディセーブル信号を受信した場合には処理を行わない。また、CB−CRC検査部540は、制御部572からイネーブル信号を受信した場合には、デコーダ522から受け付けたコードブロックに対して誤り検査を行う。そして、CB−CRC検査部540は、誤り検査の結果をCB検査結果記憶部171に格納するとともに、バッファ書込部581へ誤り検査の結果を出力する。
バッファ書込部581は、制御部572からディセーブル信号を受信した場合には処理を行わない。また、バッファ書込部581は、制御部572からイネーブル信号を受信した場合には、CB−CRC検査部540によって誤りが検出されたか否かを判定する。そして、バッファ書込部581は、CB−CRC検査部540によって誤りが検出された場合には、処理を行わない。
一方、バッファ書込部581は、CB−CRC検査部540によって誤りが検出されなかった場合には、デコーダ522から入力されたコードブロックを、HARQバッファ120に格納する。このとき、バッファ書込部581は、デコーダ522から入力されたコードブロックを、かかるコードブロックが復号化される前の尤度信号が記憶されているHARQバッファ120の領域に格納する。これは、誤りが検出されなかったコードブロックが復号化される前の尤度信号は、その後に受信する再送信号と最大比合成が行われることがないので、をHARQバッファ120に格納しておかなくてもよいからである。
バッファ読出部582は、HARQバッファ120から尤度信号を読み出した場合には、読み出した尤度信号をデコーダ522へ出力する。なお、バッファ読出部582は、受信信号が初回信号である場合や、受信信号が再送信号であり、かつ、制御部572から合成処理部390及びデコード部580へイネーブル信号が送信された場合に、HARQバッファ120から尤度信号を読み出すことになる。
一方、バッファ読出部582は、HARQバッファ120からコードブロックを読み出した場合には、読み出したコードブロックをSEL583へ出力する。なお、バッファ読出部582は、受信信号が再送信号であり、かつ、制御部572から合成処理部390及びデコード部580へディセーブル信号が送信された場合に、HARQバッファ120からコードブロックを読み出すことになる。
SEL583は、デコーダ522から受け付けたコードブロック、または、バッファ読出部582から受け付けたコードブロックのいずれか一方をCB結合バッファ123に格納する。具体的には、SEL583は、受信信号が初回信号である場合には、デコーダ522からコードブロックを受け付け、受け付けたコードブロックをCB結合バッファ123に格納する。また、SEL583は、受信信号が再送信号である場合には、デコーダ522またはバッファ読出部582のいずれか一方からコードブロックを受け付け、受け付けたコードブロックをCB結合バッファ123に格納する。
[実施例6における制御部による処理手順]
次に、図18を用いて、実施例6における制御部572による処理の手順について説明する。図18は、実施例6における制御部572による処理手順を示すフローチャートである。図18に示すように、制御部572は、受信信号が初回信号である場合には(ステップS501肯定)、合成処理部390及びデコード部580に対してイネーブル信号を送信する(ステップS502)。
一方、制御部572は、受信信号が再送信号である場合には(ステップS501否定)、CB検査結果記憶部171から誤り検査結果を取得する(ステップS503)。具体的には、制御部572は、CB検査結果記憶部171から、再送元信号のHARQプロセス番号と一致し、かつ、HARQ合成部210へ入力される尤度信号のコードブロック番号と一致する誤り検査結果を取得する。
そして、制御部572は、ステップS503において取得した誤り検査結果が「1(誤り無)」である場合には(ステップS504否定)、合成処理部390及びデコード部580に対してディセーブル信号を送信する(ステップS505)。一方、制御部572は、ステップS503において取得した誤り検査結果が「0(誤り有)」である場合には(ステップS504肯定)、合成処理部390及びデコード部580に対してイネーブル信号を送信する(ステップS502)。
[実施例6における合成処理部及びデコード部による処理手順]
次に、図19を用いて、実施例6における合成処理部390及びデコード部580による処理の手順について説明する。図19は、実施例6における合成処理部390及びデコード部580による処理手順を示すフローチャートである。
図19に示すように、制御部572からイネーブル信号が送信された場合には(ステップS601肯定)、合成処理部390は、HARQ合成処理や、HARQバッファ120への書込処理を行う(ステップS602)。具体的には、合成処理部390のHARQ合成部210は、受信信号が再送信号である場合には、HARQ合成処理を行う。また、合成処理部390のバッファ書込部212は、SEL211から入力された尤度信号をHARQバッファ120へ書込む。
このとき、バッファ読出部582は、HARQバッファ120から尤度信号を読み出す。そして、デコード部580のデコーダ522は、バッファ読出部582によって読み出された尤度信号に対して誤り訂正や復号化を行う(ステップS603)。続いて、デコード部580のCB−CRC検査部540は、デコーダ522によって復号化されたコードブロックの誤り検査を行う(ステップS604)。
そして、デコード部580のバッファ書込部581は、CB−CRC検査部540によって誤りが検出された場合には(ステップS605肯定)、デコーダ522によって復号化されたコードブロックをHARQバッファ120に格納せずに処理を終了する。一方、バッファ書込部581は、CB−CRC検査部540によって誤りが検出されなかった場合には(ステップS605否定)、デコーダ522から入力されたコードブロックを、HARQバッファ120に格納する(ステップS606)。このとき、制御部572は、コードブロックをCB結合バッファ123に格納しないようにSEL583を制御する。
また、合成処理部390及びデコード部580は、制御部572からディセーブル信号を受信した場合には(ステップS601否定)、処理を行わない。このとき、バッファ読出部582は、HARQバッファ120からコードブロックを読み出す。そして、SEL583は、バッファ読出部582によって読み出されたコードブロックをCB結合バッファ123に格納する(ステップS607)。
[実施例6の効果]
上述してきたように、実施例6に係る受信機は、コードブロックに誤りを検出しなかった場合には、かかるコードブロックをHARQバッファ120に格納する。これにより、実施例6に係る受信機は、より小容量のCB結合バッファ123を用いることができ、その結果、より小さい回路規模で実現することができる。すなわち、実施例6に係る受信機は、より小さい回路規模で、移動通信システムのスループットを向上させることができるとともに、消費電力を削減することができる。
なお、上記実施例6では、図4に例示したCB結合バッファ123を用いる例を示したが、実施例6に係る受信機は、図11に例示したCB結合バッファ323や、図14に例示したCB結合バッファ423を用いてもよい。かかる場合に、実施例6に係る受信機は、誤りを検出しなかったコードブロックをHARQバッファ120に格納し、誤りを検出したコードブロックをCB結合バッファ323や、CB結合バッファ423に格納する。
ところで、本願の開示する受信機等は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例7では、本願の開示する受信機等の他の実施例について説明する。
[移動通信システム]
上記実施例2〜6では、通信規格がLTEである移動通信システムを例に挙げて説明したが、本願の開示する受信機等は、LTE以外の通信規格を採用する移動通信システムにも適用できる。具体的には、本願の開示する受信機等は、送受信信号の再送処理を行い、かつ、送受信信号を送信側及び受信側で分割し、かつ、受信側が再送信号を受信した場合に分割信号単位で合成処理を行う移動通信システムに適用できる。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図3に示したHARQ合成部110とバッファ読出部113とを統合してもよい。
[プログラム]
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図20を用いて、図1に示した受信機10と同様の機能を有する携帯端末制御プログラムを実行するコンピュータの一例を説明する。
図20は、携帯端末制御プログラムを実行するコンピュータを示す図である。図20に示すように、コンピュータ1000は、RAM(Random Access Memory)1010と、キャッシュ1020と、HDD1030と、ROM(Read Only Memory)1040と、CPU(Central Processing Unit)1050、バス1060とを有する。RAM1010、キャッシュ1020、HDD1030、ROM1040、CPU1050は、バス1060によって接続されている。
ROM1040には、図1に示した受信機10と同様の機能を発揮する受信制御プログラムが予め記憶されている。具体的には、ROM1040には、分割プログラム1041と、分割信号格納プログラム1042と、分割信号検査プログラム1043と、合成プログラム1044と、制御プログラム1045と、再送要求プログラム1046とが記憶されている。
そして、CPU1050は、ROM1040から、分割プログラム1041、分割信号格納プログラム1042、分割信号検査プログラム1043、合成プログラム1044、制御プログラム1045、再送要求プログラム1046を読み出して実行する。
これにより、図20に示すように、分割プログラム1041は、分割プロセス1051になる。また、分割信号格納プログラム1042は、分割信号格納プロセス1052になる。また、分割信号検査プログラム1043は、分割信号検査プロセス1053になる。また、合成プログラム1044は、合成プロセス1054になる。また、制御プログラム1045は、制御プロセス1055になる。また、再送要求プログラム1046は、再送要求プロセス1056になる。
なお、分割プロセス1051は、図1に示した分割部11に対応する。また、分割信号格納プロセス1052は、図1に示した分割信号格納部12に対応する。また、分割信号検査プロセス1053は、図1に示した分割信号検査部14に対応する。また、合成プロセス1054は、図1に示した合成部16に対応する。また、制御プロセス1055は、図1に示した制御部17に対応する。また、再送要求プロセス1056は、図1に示した再送要求部18に対応する。
また、HDD1030には、図20に示すように、分割信号記憶部1031と、検査結果記憶部1032が設けられる。分割信号記憶部1031は、図1に示した分割信号記憶部13に対応する。また、検査結果記憶部1032は、図1に示した検査結果記憶部15に対応する。
なお、上記した各プログラム1041〜1046については、必ずしもROM1040に記憶させなくてもよい。例えば、コンピュータ1000に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラム1041〜1046を記憶させてもよい。または、コンピュータ1000の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」にプログラム1041〜1046を記憶させてもよい。または、公衆回線、インターネット、LAN、WANなどを介してコンピュータ1000に接続される「他のコンピュータ(またはサーバ)」にプログラム1041〜1046を記憶させてもよい。そして、コンピュータ1000は、上述したフレキシブルディスク等から各プログラムを読み出して実行するようにしてもよい。