(57)【特許請求の範囲】
【請求項１】
複数の無線信号を受信して受信データを生成する受信部と、
生成された前記受信データに対して独立成分分析を行い、分離されるべきデータを含む複数の無線信号の混合の程度を示す混合行列の推定値を生成する独立成分分析処理部と、
前記受信データと生成された前記混合行列の推定値とに基づいて、前記混合行列の推定値の経時的変化を補整する時間追尾処理を行って補整混合行列の推定値を生成する時間追尾処理部と、
生成された前記補整混合行列の推定値に基づいて、前記受信データから、前記分離されるべきデータを分離する第１の分離部と、
生成された前記受信データに対して、生成された前記混合行列の推定値に基づいて、各時刻において前記分離されるべきデータを分離する第２の分離部と、
を有し、
前記時間追尾処理部は、前記第２の分離部によって分離されたデータ、前記受信データおよび前記各時刻以前に生成された前記補整混合行列の推定値にさらに基づいて、前記各時刻における前記補整混合行列の推定値を生成することを特徴とする受信装置。
【請求項２】
前記混合行列の初期値を設定する第１の設定部
をさらに有することを特徴とする請求項１に記載の受信装置。
【請求項３】
複数の無線信号を受信して受信データを生成する受信部と、
生成された前記受信データに対して独立成分分析を行い、分離されるべきデータを含む複数の無線信号の混合の程度を示す混合行列の推定値を生成する独立成分分析処理部と、
前記受信データと生成された前記混合行列の推定値とに基づいて、前記混合行列の推定値の経時的変化を補整する時間追尾処理を行って補整混合行列の推定値を生成する時間追尾処理部と、
生成された前記補整混合行列の推定値に基づいて、前記受信データから、前記分離されるべきデータを分離する第１の分離部と、
各時点で生成された前記補整混合行列の推定値のいずれかを、前記独立成分分析処理部の処理に用いられる前記混合行列の初期値に選定する初期値選定部と、
選定された前記混合行列の初期値を、前記混合行列の初期値として前記独立成分分析処理部に設定する第２の設定部と、
を有することを特徴とする受信装置。
【請求項４】
複数の無線信号を受信して受信データを生成する受信部と、
生成された前記受信データに対して独立成分分析を行い、分離されるべきデータを含む複数の無線信号の混合の程度を示す混合行列の推定値を生成する独立成分分析処理部と、
前記受信データと生成された前記混合行列の推定値とに基づいて、前記混合行列の推定値の経時的変化を補整する時間追尾処理を行って補整混合行列の推定値を生成する時間追尾処理部と、
生成された前記補整混合行列の推定値に基づいて、前記受信データから、前記分離されるべきデータを分離する第１の分離部と、
を有し、
前記時間追尾処理部は、各時刻において生成した前記補整混合行列の推定値の経時的な変化に基づいて、生成された前記補整混合行列の推定値に問題が発生したことを検出する問題検出部
をさらに有することを特徴とする受信装置。
【請求項５】
複数の無線信号を受信して受信データを生成する受信部と、
生成された前記受信データに対して独立成分分析を行い、分離されるべきデータを含む複数の無線信号の混合の程度を示す混合行列の推定値を生成する独立成分分析処理部と、
前記受信データと生成された前記混合行列の推定値とに基づいて、前記混合行列の推定値の経時的変化を補整する時間追尾処理を行って補整混合行列の推定値を生成する時間追尾処理部と、
生成された前記補整混合行列の推定値に基づいて、前記受信データから、前記分離されるべきデータを分離する第１の分離部と、
を有し、
前記受信データは、複数のフレームを含み、
前記複数のフレームを含む受信データを１つ以上の重複フレームを含む２以上のグループフレームに区分するオーバーラップ処理部をさらに備え、
前記オーバーラップ処理部は、２以上に区分された前記グループフレーム間において、前記独立成分分析を行う際の前記混合行列の初期値の受け渡しを行う
ことを特徴とする受信装置。
【請求項６】
複数の無線信号を受信して受信データを生成する受信部と、
生成された前記受信データに対して独立成分分析を行い、分離されるべきデータを含む複数の無線信号の混合の程度を示す混合行列の推定値を生成する独立成分分析処理部と、
前記受信データと生成された前記混合行列の推定値とに基づいて、前記混合行列の推定値の経時的変化を補整する時間追尾処理を行って補整混合行列の推定値を生成する時間追尾処理部と、
生成された前記補整混合行列の推定値に基づいて、前記受信データから、前記分離されるべきデータを分離する第１の分離部と、
を有し、
前記受信データは、複数のシンボルを含み、
前記受信データを複数のシンボルからなるシンボル群を重複して含む２以上のグループフレームに区分するオーバーラップ処理部をさらに備え、
前記オーバーラップ処理部は、２以上に区分された前記グループフレーム間において、前記独立成分分析を行う際の前記混合行列の初期値の受け渡しを行う
ことを特徴とする受信装置。
【請求項７】
生成された前記補整混合行列の推定値に問題が発生したことが検出された場合に、前記問題が発生した推定混合情報の要素を並び替えることにより補整する補整部
をさらに有することを特徴とする請求項５または６に記載の受信装置。
【請求項８】
前記時間追尾処理部は、各時刻において生成される前記補整混合行列の推定値の要素の値の変化を予測し、
生成された前記補整混合行列の推定値に問題が発生したことが検出された場合に、予測された前記補整混合行列の推定値の要素の値で、前記問題が発生した推定混合情報の要素を置き換えることにより補整する補整部
をさらに有することを特徴とする請求項５または６に記載の受信装置。
【請求項９】
複数の無線信号を受信して受信データを生成する受信部と、
生成された前記受信データに対して独立成分分析を行い、分離されるべきデータを含む複数の無線信号の混合の程度を示す混合行列の推定値を生成する独立成分分析処理部と、
前記受信データと生成された前記混合行列の推定値とに基づいて、前記混合行列の推定値の経時的変化を補整する時間追尾処理を行って補整混合行列の推定値を生成する時間追尾処理部と、
生成された前記補整混合行列の推定値に基づいて、前記受信データから、前記分離されるべきデータを分離する第１の分離部と、
を有し、
前記時間追尾処理は、第１の時刻に対応する前記混合行列の推定値と第２の時刻に対応する前記混合行列の推定値とを用いて補間することにより、前記第１の時刻と前記第２の時刻との間の第３の時刻の前記混合行列の推定値を前記補整混合行列の推定値として求める処理を含むことを特徴とする受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、独立成分分析（Independent  Component  Analysis：以下「ＩＣＡ」と表記）により信号を分離する受信装置に関する。
【背景技術】
【０００２】
ＩＣＡは、送信信号の情報を用いることなくブラインドで混信した信号の分離または推定を行う技術である。このＩＣＡを利用した受信装置において、バッチ処理を行う場合、前時刻のフレームに対してＩＣＡより推定した混合行列を、その次時刻のフレームに対してＩＣＡを行う際の混合行列の初期値として受け渡すことにより、ＩＣＡによる信号推定の計算の収束性を向上させている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４６７５１７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
バッチ処理型ＩＣＡにかかる上記技術は、逐次処理型ＩＣＡと比べ、混合行列推定を行う際の推定精度および計算の収束性が高いという特徴がある。しかしながら、バッチ処理型ＩＣＡは、逐次処理型ＩＣＡと異なり、混合行列の時間変化への対応が困難であり、時間変動に対する追従性が悪い、という問題点があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、推定精度および収束性が高いバッチ処理型ＩＣＡに対し、時間変動に対する追従性を向上させた受信装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明にかかる受信装置は、複数の無線信号を受信して受信データを生成する受信部と、生成された前記受信データに対して独立成分分析を行い、分離されるべきデータを含む複数の無線信号の混合の程度を示す混合行列の推定値を生成する独立成分分析処理部と、前記受信データと生成された前記混合行列の推定値とに基づいて、前記混合行列の推定値の経時的変化を補整する時間追尾処理を行って補整混合行列の推定値を生成する時間追尾処理部と、生成された前記補整混合行列の推定値に基づいて、前記受信データから、前記分離されるべきデータを分離する第１の分離部と、生成された前記受信データに対して、生成された前記混合行列の推定値に基づいて、各時刻において前記分離されるべきデータを分離する第２の分離部と、を有し、前記時間追尾処理部は、前記第２の分離部によって分離されたデータ、前記受信データおよび前記各時刻以前に生成された前記補整混合行列の推定値にさらに基づいて、前記各時刻における前記補整混合行列の推定値を生成することを特徴とする。
【発明の効果】
【０００７】
本発明に係る受信装置は、推定精度および収束性が高いバッチ処理型ＩＣＡに対し、時間変動に対する追従性を向上させることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】複数の無線信号が混合し合う態様を例示する図
【図２】実施の形態１にかかる信号分離を行う機能を有する受信装置のハードウェア構成を例示する図
【図３】実施の形態１にかかる第１の信号分離部の構成を示す図
【図４】受信信号から得られた受信データを分割して得られるスーパーフレームとフレームとの関係を示す図
【図５】図２に示した信号分離装置の詳細な処理を示すフローチャート
【図６】補整部が補整混合行列の推定値の組み合わせ問題を先に解いた場合の処理を示すフローチャート
【図７】補整部が補整混合行列の推定値の組み合わせ問題を事前に解かなかった場合の処理を示すフローチャート
【図８】一のフレームに対するバッチ型ＩＣＡ処理により得られた推定混合列行列と他のフレームに対するバッチ型ＩＣＡ処理により得られた推定補整混合行列との間に組み合わせ問題が生じている場合の具体例を示す図
【図９】推定補整混合行列Ｈ＾'（ｋ）の隣接する推定要素Ｈ＾ｍ−１ａ，ｂと推定要素Ｈ＾ｍａ，ｂの差分値Δmを用いて組み合わせ問題が発生したフレームを探知する方法を例示する図
【図１０】推定補整混合行列Ｈ＾'（ｋ）の隣接するフレームの同じ要素を用いて組み合わせ問題が発生したフレームを探知し、補整する処理を示すフローチャート
【図１１】混合行列に対し時間追尾処理を行なわなかった場合に信号分離部により得られる分離後の信号のコンスタレーションを示す図
【図１２】混合行列に対し時間追尾処理部による時間追尾処理を行なった場合に信号分離部により得られる分離後の信号のコンスタレーションを示す図
【図１３】実施の形態２にかかる第２の信号分離部の構成を示す図
【図１４】図１３に示した第２の信号分離部の処理を示すフローチャート
【図１５】実施の形態３にかかる第３の信号分離部の構成を示す図
【図１６】図１５に示した第３の信号分離部の処理を示す図
【図１７】伝送路の状態を示す値である推定混合行列Ｈ＾（ｉ）の値をフレームの中央から未来に向けて更新する処理を例示するフローチャート
【図１８】伝送路の状態を示す値である推定混合行列Ｈ＾（ｉ）の値をフレームの中央から過去に向けて更新する処理を例示するフローチャート
【図１９】図１７および図１８に示した時間追尾処理部の処理を説明するための説明図
【図２０】実施の形態４の手法と対比するための具体例であって、バッチ型ＩＣＡ処理のためにグループフレームをオーバーラップさせないフレーム構成を示す図
【図２１】実施の形態４の具体例であって、バッチ型ＩＣＡ処理のためにグループフレームをオーバーラップさせるフレーム構成を示す図
【図２２】実施の形態４にかかる第４の信号分離部の構成を示す図
【図２３】オーバーラップされたグループフレームにおける混合行列の定義を示す図
【図２４】グループフレームがオーバーラップしたフレームにおいて、組み合わせ問題が発生した場合を例示する図
【図２５】図２１などに示した２つのグループフレームが、フレーム単位でなくシンボル単位でオーバーラップする場合を例示する図
【図２６】図２２に示した第４の信号分離部の処理を示す第１のフローチャート
【図２７】図２２に示した第４の信号分離部の処理を示す第２のフローチャート
【図２８】実施の形態４にかかる第５の信号分離部の構成を示す図
【図２９】図２８に示した第５の信号分離部の処理を示す第１のフローチャート
【図３０】図２８に示した第５の信号分離部の処理を示す第２のフローチャート
【図３１】実施の形態４にかかる第６の信号分離部の構成を示す図
【図３２】図３１に示した第６の信号分離部の処理を示す第１のフローチャート
【図３３】図３１に示した第６の信号分離部の処理を示す第２のフローチャート
【発明を実施するための形態】
【０００９】
以下に、本願明の実施の形態にかかる受信装置を図面に基づいて詳細に説明する。なお、以下の実施の形態により本発明が限定されるものではない。
【００１０】
実施の形態１．
図１は、複数の無線信号が混合し合う態様を例示する図である。図１に示すように、Ｎｒ本の受信アンテナ１〜Ｎｒが、無線信号を送信するＮｔ本の送信アンテナ１〜Ｎｔの内の複数からの無線信号を受信しうる場所に位置する場合を具体例とする（Ｎｒ，Ｎｔは２以上の整数）。この場合には、Ｎｒ本の受信アンテナ１〜Ｎｒは、送信アンテナ１〜Ｎｔの内の複数からの無線信号が混合し合って混信を起こした信号を受信することとなる。以下、実施の形態１を説明する。
【００１１】
図１に示す具体例においては、時刻ｋにおける送信信号もしくは送信データをｓ（ｋ）、時刻ｋにおける受信信号もしくは受信データをｒ（ｋ）と表記する。このとき、時刻ｋにおける送信信号ｓ（ｋ）は、列の数が送信信号に含まれるシンボル数Ｎｓｙｍｂ（Ｎｓｙｍｂ＞＞１）で、行の数が送信アンテナの数Ｎｔの下式１に示す行列ｓの形式で定義できる。同様に、時刻ｋにおける受信信号ｒ（ｋ）は、行の数が受信信号に含まれるシンボル数Ｎｓｙｍｂ（＞＞１）で、列の数が受信アンテナの数Ｎｒの下式２に示す行列ｒの形式で定義できる。
【００１２】
【数１】
0006355493.tif 000002
【００１３】
【数２】
0006355493.tif 000003
【００１４】
時刻ｋにおける送信信号ｓ（ｋ）と受信信号ｒ（ｋ）との関係は、Ｎｒ行×Ｎｔ列であって、（ｉ，ｊ）番目の要素がｈｉ，ｊ（ｋ）と示される信号の混信の程度を示す混合行列Ｈ（ｋ）を用いて下式３により示される。なお、以下の説明においては、混合行列Ｈ（ｋ）においては、説明の明確化および具体化のために、受信装置内部で生じる熱雑音の成分は省略される。
【００１５】
【数３】
0006355493.tif 000004
【００１６】
図２は、実施の形態１にかかる信号分離を行う機能を有する受信装置１のハードウェア構成を例示する図である。図２に示すように、受信装置１は、受信部１０および信号分離装置１２を含む。信号分離装置１２は、バスを介して相互にデータの入出力が可能に接続されたＣＰＵ１２０、受信部インターフェース１２２、表示装置、キーボードおよびマウスを含む入出力装置１２４、インターネットまたはＬＡＮのようなネットワークに接続された図示を省略したサーバとの間でデータを入出力するネットワークインターフェース１２６、ＲＡＭ１２８、ＲＯＭ１３０、ＤＳＰ１３２、記録媒体１３６に対してデータの読み書きを行う記憶装置１３４および信号分離部２０を含む。つまり、受信装置１は、上述のように目的の信号の他に複数の信号を含む無線信号を受信して処理し、目的の信号を分離して出力することができるコンピュータの構成部分を含む。記録媒体１３６は、ＣＤ，ＤＶＤおよびＨＤが例示される。複数の信号には混信も含まれる。なお、以下、実質的に同じ機能を有する構成部分および処理には同じ符号が付される。なお、信号分離部２０と同様の処理を、ソフトウェアによって実現することもできる。このことは、以下の各信号分離部について同様である。
【００１７】
図３は、実施の形態１にかかる第１の信号分離部の構成を示す図である。図４は、受信信号から得られた受信データｒを分割して得られるＭｍａｘ個のスーパーフレームとフレームとの関係を示す図である。フレーム処理部２０２は、図２に示す受信装置１が受信の目的とする１つの受信データｒに含まれる１からＭ番目の各スーパーフレームを、Ｎｍａｘ個のフレームに分割する。さらに、フレーム処理部２０２は、分割の結果得られたフレームにバッチ処理型ＩＣＡ（適宜「バッチ型ＩＣＡ」とも称する）に用いられるフレーム番号（１からＮｍａｘ）を付して、各時刻ｋ（１≦ｋ≦Ｎｍａｘ）において、ｋ番目の１つのフレームを、ＩＣＡ処理部２０４に対して順次、出力し、さらに、バッファメモリ２０６に記憶する。
【００１８】
第１の設定部である初期値設定部２００は、第１の信号分離部である信号分離部２０が処理を開始すると、フレーム処理部２０２が、時刻１における最初のフレーム＃１をＩＣＡ処理部２０４に対して出力する前に、各要素をランダムな値とした混合行列の初期値Ｈｉｎｉｔを生成し、ＩＣＡ処理部２０４に対して設定する。これ以降、初期値設定部２００は、各時刻ｋにおいてフレーム処理部２０２が出力するフレーム＃ｋから得られ、補整部２１４から出力される混合行列Ｈ＾ｉｎｉｔ，ｏｕｔを、その次の時刻ｋ＋１のフレーム＃ｋ＋１を処理するための混合行列の初期値ＨｉｎｉｔとしてＩＣＡ処理部２０４に対して設定する。
【００１９】
ＩＣＡ処理部２０４は、各時刻ｋに入力されるフレーム＃ｋに対して、初期値設定部２００により設定された混合行列の初期値Ｈｉｎｉｔを用いてバッチ型ＩＣＡ処理を行う。ＩＣＡ処理部２０４は、ｋ番目のフレームでのＩＣＡ処理より得られた混合行列の推定値（以下「推定混合行列」と称する）Ｈ＾（ｋ）を、時間追尾処理部２０８に対して出力し、さらに、バッファメモリ２０６に記憶する。このようにバッファメモリ２０６に推定混合行列Ｈ＾（ｋ）を記憶することにより、ＩＣＡ処理部２０４は、時刻ｋに入力されたフレームｋに対してバッチ型ＩＣＡ処理を行う際に、フレーム処理部２０２から入力される混合行列の初期値Ｈｉｎｉｔの代わりに、例えば、バッファメモリ２０６に記憶された推定混合行列Ｈ＾（ｋ−１）を用いることもできるようになる。
【００２０】
時間追尾処理部２０８は、ＩＣＡ処理部２０４から入力された時刻ｋにおいて生成された推定混合行列Ｈ＾（ｋ）、あるいは、バッファメモリ２０６に記憶された推定混合行列Ｈ＾（１）からＨ＾（ｋ−１）の内のいずれかを用いて時間追尾処理を行い、推定混合行列Ｈ＾（ｋ）の経時的な変化を補整した行列（以下「推定補整混合行列」と称する）Ｈ＾'（ｋ）を生成する。以下、時間追尾処理部２０８の時間追尾処理について、さらに説明する。
【００２１】
なお、以下の説明においては、説明の具体化および明確化のために、Ｎｔ＝２，Ｎｒ＝２であって、推定混合行列が時間的に線形に変化する場合を具体例とする。また、ＩＣＡ処理部２０４が、Ｎｉ番目のフレームＮｉとＮｊ番目のフレームＮｊ（１≦Ｎi＜Ｎｊ≦Ｎｍａｘ）とに対してバッチ型ＩＣＡ処理を行って得られた混合行列をＨ＾（ｉ），Ｈ＾（ｊ）と記し、推定混合行列Ｈ＾（i）の（ｍ，ｎ）番目の推定要素をｈ＾ｉｍ，ｎと記す。
【００２２】
推定混合行列の経時的変化が線形である場合、ＩＣＡ処理部２０４により生成される推定混合行列Ｈ＾（ｋ）の要素の値は、フレーム番号ｋに正比例して変化する。この性質を利用して、時間追尾処理部２０８は、実際に求められた推定混合行列Ｈ＾（ｉ），Ｈ＾（ｊ）の間の時刻ｋの推定混合行列Ｈ＾（ｋ）（ここでは、ｉ＜ｋ＜ｊ）の各要素（ｍ，ｎ）番目の推定要素ｈ＾ｋｍｎを、例えば、ｈ＾ｋｍ，ｎ＝ｈ＾ｉｍ，ｎ＋（ｈ＾ｊｍ，ｎ−ｈ＾ｉｍ，ｎ）×（ｋ−ｉ）／（ｊ−ｉ）のように補間することにより、各時刻における推定補整混合行列Ｈ＾'（ｋ）を推定する。
【００２３】
第１の分離部であるデータ分離部２１０は、時間追尾処理部２０８から入力される推定補整混合行列Ｈ＾'（ｋ）を用いて、受信データから、図１に示した複数の送信アンテナのいずれかから送信された送信信号に含まれ、受信装置１が受信の目的としたデータを分離することにより、分離データを生成する。問題検出部２１２は、ＩＣＡ処理部２０４のバッチ型ＩＣＡ処理に、バッチ型ＩＣＡ処理の任意性に起因する組み合わせ問題(Permutation  Problem)を発生させているフレームを検出する。
【００２４】
補整部２１４は、組み合わせ問題の発生が検出されたフレームｍ＋１の推定補整混合行列Ｈ＾（ｍ＋１）の推定要素ｈ＾ｍ＋１ａ，ｂを、上述したように、線形な経時的変化をする推定混合行列Ｈ＾（ｋ）に適用可能な補間方法によって得られる値とするか、この値にほぼ等しい値の推定要素ｈ＾ｍ＋１ｃ，ｄ（ａ≠ｂ，ｂ≠ｄ）と入れ替えることにより並び替えを行うことにより、組み合わせ問題を解消する。
【００２５】
さらに、補整部２１４は、並び替えなどを行った推定補整混合行列Ｈ＾'（ｍ＋１）をバッファメモリ２０６に記憶し、さらに、補整部２１４は、得られた推定補整混合行列Ｈ＾'（ｍ＋１）を、混合行列の初期値Ｈｉｎｉｔ，ｏｕｔとして出力する。上述したように、混合行列の初期値Ｈｉｎｉｔ，ｏｕｔは、ＩＣＡ処理部２０４に設定される混合行列の初期値Ｈｉｎｉｔとして用いられる。
【００２６】
さらに、補整部２１４は、補整された推定補整混合行列Ｈ＾'（ｍ＋１）を、問題検出部２１２を介して時間追尾処理部２０８に対して出力する。この場合には、時間追尾処理部２０８は、問題検出部２１２から入力された補整された推定補整混合行列Ｈ＾'（ｍ＋１）を、データ分離部２１０に対して出力してもよい。
【００２７】
信号分離部２０の動作．
図５は、図２に示した信号分離装置１２、より具体的には信号分離部２０の詳細な処理Ｓ１４を示すフローチャートである。Ｓ１４０において、受信装置１の受信部１０が受信信号を受信し、受信部インターフェース１２２に対して出力し、受信部インターフェース１２２は、入力された受信信号を、信号分離装置１２の受信部インターフェース１２２に対して出力する。受信部インターフェース１２２は、受信信号から図４に示した受信データｒを受信処理（例えば、フィルタ処理、タイミング補正）して、図３に示される信号分離部２０のフレーム処理部２０２に対して出力する。なお、フィルタ処理、タイミング補正が不要であれば、これらの処理を行わずに、フレーム処理部２０２に出力する。
【００２８】
Ｓ１４２において、フレーム処理部２０２は、受信部インターフェース１２２から入力された受信データを図４に示されるスーパーフレームＳｆｒａｍｅに分解し、ＩＣＡ処理部２０４に対して出力する。Ｓ１４４において、フレーム処理部２０２は、処理変数Ｍを初期化（１）とする。Ｓ１４６において、初期値設定部２００は、バッチ型ＩＣＡ処理の初期値ＨｉｎｉｔをＩＣＡ処理部２０４に設定する。
【００２９】
Ｓ１４８において、フレーム処理部２０２は、入力されたＭ（１≦Ｍ≦Ｍｍａｘ）番目のスーパーフレームを処理対象とする。Ｓ１５０において、フレーム処理部２０２は、入力されたＭ番目のスーパーフレームの分割数Ｎｍａｘを設定する。分割数Ｎｍａｘは図４に示される。Ｓ１５２において、フレーム処理部２０２は、Ｍ番目のスーパーフレームを分割数Ｎｍａｘのフレームに分割する。
【００３０】
Ｓ１５４において、ＩＣＡ処理部２０４は、処理変数Ｎを初期化する。初期化は、Ｎを１にする処理である。Ｓ１５６において、ＩＣＡ処理部２０４は、Ｎ番目のフレームを処理の対象としてフレーム処理部２０２から取り出す。Ｓ１５８において、ＩＣＡ処理部２０４は、バッチ型ＩＣＡ処理を行い、時刻ｋにおける推定混合行列Ｈ＾（ｋ）を生成する。
【００３１】
Ｓ１６０において、時間追尾処理部２０８は、ＩＣＡ処理部２０４が生成した混合行列Ｈ＾（ｋ）に対して時間追尾処理を行い、推定補整混合行列Ｈ＾'（ｋ）を生成し、データ分離部２１０に対して出力する。
【００３２】
Ｓ１６２において、ＩＣＡ処理部２０４は、Ｎｍａｘ＝Ｎであるか否かを判断する。信号分離部２０は、Ｎｍａｘ＝Ｎである場合にはＳ１６８の処理に進み、これ以外の場合にはＳ１６４の処理に進む。Ｓ１６４において、時間追尾処理部２０８は、混合行列の初期値Ｈｉｎｉｔを、最新、すなわちＮ番目の推定補整混合行列Ｈ＾'（Ｎ）とする（Ｈｉｎｉｔ←Ｈ＾'（Ｎ））。Ｓ１６６において、時間追尾処理部２０８は、処理変数Ｎを１増やし、すなわちインクリメントし、Ｓ１５６の処理に戻る。
【００３３】
Ｓ１６８において、時間追尾処理部２０８、問題検出部２１２および補整部２１４は、上述したように補整混合行列を時間的変化に追尾させるための処理を行う。Ｓ１７０において、データ分離部２１０は、後記する式１２に示した計算を行い、Ｎ番目のフレーム内の時刻ｋの送信データｓ（ｋ）に対し、推定補整混合行列Ｈ＾'（ｋ）−１を用いて受信データｒ（ｋ）を分離する。さらに、Ｓ１７２において、データ分離部２１０は、分離の結果得られた分離データに対して連結処理を行い、バッファメモリ２０６に記憶する。
【００３４】
Ｓ１７４において、ＩＣＡ処理部２０４は、Ｍｍａｘ＝Ｍであるか否かを判断する。信号分離部２０は、Ｍｍａｘ＝Ｍである場合には処理を終了し、これ以外の場合にはＳ１７６の処理に進む。Ｓ１７６において、ＩＣＡ処理部２０４は、混合行列の初期値Ｈｉｎｉｔを、最新の推定補整混合行列Ｈ＾'（ｋ）とする（Ｈｉｎｉｔ←Ｈ＾'（ｋ））。Ｓ１７８において、ＩＣＡ処理部２０４は、処理変数Ｍを１増やす（Ｍ←Ｍ＋１）。以下、Ｓ１４８の処理に戻り、前述した処理を繰り返す。
【００３５】
図６は、図５に示したＳ１６８の処理において、図３に示した補整部２１４が、補整混合行列の組み合わせ問題を先に解いた場合の処理Ｓ１０を示すフローチャートであり、図７は、補整部２１４が補整混合行列の組み合わせ問題を事前に解かなかった場合の処理Ｓ１２を示すフローチャートである。処理Ｓ１０，Ｓ１２は、図５に示したＳ１６８において行われる第１の処理である。補整混合行列の組み合わせ問題を事前に解いた場合において、補整部２１４は、補整混合行列の推定値の各成分間の時間変化による差分と、補整混合行列の推定値の時間変化モデルとに基づいて各時刻の補整混合行列の推定値を求めるために組み合わせ問題を解く必要がある。
【００３６】
Ｓ１００において、補整部２１４は、組み合わせ問題を解決するために、各時刻におけるフレームより求められた推定補整混合行列Ｈ＾'（ｋ）に対し、各行または各列の相関性を判断し、相関値の高い組み合わせになるよう推定補整混合行列Ｈ＾’（ｋ）の成分の入れ替えを行う。Ｓ１０２において、補整部２１４が、例えば、ｉ番目とｊ番目とのフレームから求めた推定補整混合行列Ｈ＾'（ｉ），Ｈ＾'（ｊ）から、混合行列の組み合わせ問題を解いた混合行列の推定値は、下式４，５のように表わされる。
【００３７】
【数４】
0006355493.tif 000005
【００３８】
【数５】
0006355493.tif 000006
なお、上式において、ｊ＞ｉである。
【００３９】
上記場合において、ｉ番目のフレームとｊ番目のフレームとの間で混合行列の推定値が線形に変化していると仮定すると、補整部２１４は、推定補整混合行列Ｈ＾'（ｉ），Ｈ＾'（ｊ）の間の時間変化量Δは、下式６により計算される。
【００４０】
【数６】
0006355493.tif 000007
【００４１】
なお、上式において、Ｌは各フレーム内のシンボル数である。
【００４２】
Ｓ１０４において、補整部２１４は、上述のように求められた時間変化量Δと、各フレームより求められ、補整混合行列の推定値であり、バッファメモリ２０６に記憶された推定補整混合行列Ｈ＾'（ｋ）を用いて、各時刻ｋにおける推定補整混合行列Ｈ＾'（ｋ）を求める。データ分離部２１０は、フレーム処理部２０２から入力された受信データを、上述のように求められた時刻ｋにおける推定補整混合行列Ｈ＾'（ｋ）を用いて処理し、受信データに含まれる分離データｄ（ｋ）を分離する。
【００４３】
補整部２１４が補整混合行列の組み合わせ問題を事前に解かなかった場合には、図７に示すように、Ｓ１２０において、問題検出部２１２は、推定補整混合行列Ｈ＾'（ｉ），Ｈ＾'（ｊ）の時間変化量Δを計算する。Ｓ１２２において、問題検出部２１２は、図７を参照して後述する各時刻における補整混合行列の時間変動モデルを求め、求められた時間変動モデルと、時刻ｉより求められた推定補整混合行列Ｈ＾'（ｉ）とを用いて、下式７により各時刻ｋにおける推定補整混合行列Ｈ＾'（ｋ）を求める。
【００４４】
【数７】
0006355493.tif 000008
【００４５】
Ｓ１２４において、問題検出部２１２は、時刻ｋにおける推定補整混合行列Ｈ＾'（ｋ）と、バッチ型ＩＣＡ処理により得られた推定混合行列Ｈ＾（ｉ）とに、大きく異なる要素が含まれるか否かを判断する。信号分離部２０は、推定補整混合行列Ｈ＾'（ｋ）と推定補整混合行列Ｈ＾'（ｉ）とに、大きく異なる要素が含まれる場合にはＳ１２６の処理に進み、これ以外の場合には処理を終了する。なお、推定補整混合行列Ｈ＾'（ｊ）と推定補整混合行列Ｈ＾'（ｉ）とに含まれる要素が大きく異なるということは、フレームｉから得られた推定混合列行列Ｈ＾'（ｉ）と、フレームｊから得られた推定混合列行列Ｈ＾'（ｊ）（ｉ≠ｊ）との間に組み合わせ問題が生じていることを意味する。
【００４６】
図８は、フレームｉに対するバッチ型ＩＣＡ処理により得られた推定混合列行列Ｈ＾'（ｉ）と、他のフレームｊに対するバッチ型ＩＣＡ処理により得られた推定補整混合行列Ｈ＾'（ｊ），（ｉ≠ｊ）との間に組み合わせ問題が生じている場合の具体例を示す図である。なお、記載の明確化および具体化のために、図８には、４つのフレームｍ−１，ｍ，ｍ＋１，ｍ＋２の補整混合行列Ｈ＾'（ｋ）の推定要素ｈ＾ｋａ，ｂのみが図示されている。図８に示される点線は、過去または未来の推定補整混合行列Ｈ＾'（ｋ）の推定要素ｈ＾ｋａ，ｂによって予測される推定要素ｈ＾ｋａ，ｂの変化モデルを示す。
【００４７】
Ｓ１２６において、図８に例示したように、問題検出部２１２は、フレームｍ＋１に対応する推定補整混合行列Ｈ＾'（ｍ＋１）の推定要素ｈ＾ｍ＋１ａ，ｂが変化モデルより大きく外れている場合には、フレームｍ＋１において組み合わせ問題が起きた可能性が大きいと判断し、補整部２１４に対して通知し、フレームｍ＋１の推定補整混合行列Ｈ＾'（ｍ＋１）を補整部２１４に対して出力する。補整部２１４は、組み合わせ問題が発生していると推定されるフレームｍ＋１の推定補整混合行列Ｈ＾'（ｍ＋１）の推定要素ｈ＾ｍ＋１ａ，ｂを、変化モデルに等しいか、ほぼ等しい推定要素ｈ＾ｍ＋１ｃ，ｄ（ａ≠ｂ，ｂ≠ｄ）と入れ替えることにより並び替えを行い、組み合わせ問題を解消し、処理結果をバッファメモリ２０６に記憶する。
【００４８】
あるいは、推定要素ｈ＾ｍ＋１ｃ，ｄの候補に対し、推定補整混合行列Ｈ＾'（ｍ＋１）の位相を反転させ、且つ、並び替えを行ってもよい。なお、位相補整のみを行う場合は（ａ，ｂ）を含む全ての推定要素ｈ＾ｍ＋１ｃ，ｄを候補点として検索結果に入れてもよい。以下、推定補整混合行列Ｈ＾'（ｍ＋１）が、下式８に示す２×２の行列である場合を具体例として、推定補整混合行列Ｈ＾'（ｍ＋１）との並び替えをさらに説明する。
【００４９】
【数８】
0006355493.tif 000009
【００５０】
式８に例示した推定補整混合行列Ｈ＾'（ｍ＋１）に対して並び替えによる補整を行った場合、下式に示す推定補整混合行列Ｈ＾'（ｍ＋１）が得られる。
【００５１】
【数９】
0006355493.tif 000010
【００５２】
推定補整混合行列Ｈ＾'（ｍ＋１）に対して位相反転による補整を行った場合、式１０に示す推定補整混合行列Ｈ＾'（ｍ＋１）が得られる。
【００５３】
【数１０】
0006355493.tif 000011
【００５４】
また、推定補整混合行列Ｈ＾'（ｍ＋１）に対して位相反転および並び替えによる補整を行った場合、式１１に示す推定補整混合行列Ｈ＾'（ｍ＋１）が得られる。
【００５５】
【数１１】
0006355493.tif 000012
【００５６】
なお、上記した式９〜式１１は、並び替えによる補整を行った場合の一例を表現したに過ぎず、他の数式になる場合もあることは言うまでもない。
【００５７】
図９は、推定補整混合行列Ｈ＾'（ｋ）の隣接する推定要素ｈ＾ｍ−１ａ，ｂと推定要素ｈ＾ｍａ，ｂの差分値Δmを用いて組み合わせ問題が発生したフレームを探知する方法を例示する図である。以上、事前に予測された変化モデルから大きく異なる推定補整混合行列Ｈ＾'（ｋ）の要素を検知し、組み合わせ問題が発生したフレームの探知および推定補整混合行列Ｈ＾'（ｋ）の補整の行う手法を説明したが、以下に示すように、変化モデルを用いずに、推定補整混合行列Ｈ＾'（ｋ）に隣接する推定要素ｈ＾ｍ−１ａ，ｂと推定要素ｈ＾ｍａ，ｂの差分値Δmを用いて組み合わせ問題が発生したフレームの探知も考えられる。
【００５８】
図９に示すように、推定補整混合行列Ｈ＾'（ｋ）の隣接する推定要素ｈ＾ｋａ，ｂのｋ＝ｍ−２からｍ，ｍ＋２，ｍ＋３の間それぞれの差分値Δm-1，Δm，Δm+3がほぼ等しい正の値であるのに対して、ｋ＝ｍ＋１，ｍ＋２の間の推定要素ｈ＾ｋａ，ｂの差分値Δm+2は負の値である。このように、隣接するフレーム間で差分値の正負が変わった場合、その差分値を与えるフレーム間で組み合わせ問題の発生を検出できる。あるいは、フレーム間の差分値Δ（２）ｋ＝Δｋ−Δｋ−１に対して閾値を設け、差分値Δ（２）ｋが閾値を超えたフレームを検出し、組み合わせ問題が発生した推定補整混合行列Ｈ＾'（ｋ）の要素の並び替えを行ってもよい。
【００５９】
図１０は、推定補整混合行列Ｈ＾'（ｋ）の隣接するフレームの同じ要素を用いて組み合わせ問題が発生したフレームを探知し、補整する処理Ｓ１３を示すフローチャートである。Ｓ１３は、図５に示したＳ１６８において行われる第２の処理である。図１０に示すように、Ｓ１３０において、問題検出部２１２は、各フレームにおいて求められた推定補整混合行列Ｈ＾'（ｋ）の隣接するフレームの対応する推定要素ｈ＾ｋａ，ｂと推定要素ｈ＾ｋ＋１ａ，ｂの差分Δｋ＋１を、順次、計算する。
【００６０】
Ｓ１３２において、問題検出部２１２は、直前に計算された差分Δｋと、最新の差分Δｋ＋１とを比較し、差分Δｋ，Δｋ＋１の値の間で閾値を超える変化が生じたか否かを判断する。信号分離部２０は、差分Δｋ，Δｋ＋１の値の間で正負の閾値を超える変化が生じた場合にはＳ１３４の処理に進み、これ以外の場合には処理を終了する。Ｓ１３４において、補整部２１４は、図８，図９を参照して説明したように、組み合わせ問題が発生したフレームおよび組み合わせ問題の解消のための補整を行う。
【００６１】
データ分離部２１０は、上述のように時間追尾処理部２０８により求められ、補整部２１４により補整された推定補整混合行列Ｈ＾'（ｋ）の逆行列Ｈ＾'（ｋ）−１を求め、式１２に示すように、分離データｄ（０），ｄ（１），ｄ（２）・・・を生成して出力する。なお、この処理は、図５に示した信号分離部２０の処理においては、Ｓ１７０において実行される。
【００６２】
【数１２】
0006355493.tif 000013
【００６３】
図１１は、混合行列の推定値に対し時間追尾処理を行なわなかった場合に信号分離部２０により得られる分離後の信号のコンスタレーションを示す図であり、図１２は、混合行列の推定値に対し時間追尾処理部２０８による上記時間追尾処理を行なった場合に信号分離部２０により得られる分離後の信号のコンスタレーションを示す図である。なお、図１１，図１２においては、送信信号の変調方式としてＱＰＳＫ(Quadrature  Phase  Shift  Keying)が用いられる場合の具体例が示されている。
【００６４】
図１１と図１２とを比較すると理解できるように、時間追尾処理部２０８および補整部２１４による混合行列の推定値の時間追尾処理を行うと、図１１に示す分離後の信号のコンスタレーション（Constellation）の乱れが、図１２に示すように抑えられる。以上説明したように、図３に示されるＩＣＡ処理部２０４により処理されたデータを、時間追尾処理部２０８によりさらに処理することにより、バッチのＩＣＡ処理部２０４を用いた信号分離部２０に、混合行列の推定値の時間追尾処理機能を付加することができる。
【００６５】
以上説明したように、実施の形態１によれば、受信データに対して独立成分分析を行い、分離されるべきデータを含む複数の無線信号の混合の程度を示す混合行列の推定値を生成し、受信データと生成された混合行列の推定値とに基づいて、混合行列の推定値の経時的変化を補整する時間追尾処理を行って補整混合行列の推定値を生成し、生成された補整混合行列の推定値に基づいて、受信データから、分離されるべきデータを分離することとしたので、推定精度および収束性が高いバッチ処理型ＩＣＡに対し、時間変動に対する追従性を向上させることが可能となる。
【００６６】
実施の形態２．
以下、第２の実施の形態を説明する。すでに説明した信号分離部２０は、バッチ処理型ＩＣＡを用いた受信装置１に混合行列の推定値の時間追尾処理機能を付加した構成を採る。以下、ＩＣＡより求まる混合行列の推定値の推定精度が信号分離部２０よりも向上させるように改良された第２の信号分離部を説明する。
【００６７】
図１３は、実施の形態２にかかる第２の信号分離部の構成を示す図である。第２の信号分離部である信号分離部２２は、受信装置１において、図３に示される第１の信号分離部である信号分離部２０と置換されて用いられる。信号分離部２２は、第１の信号分離部２０に、さらに初期値選定部２２０を加え、初期値設定部２００を第２の設定部である初期値設定部２６８で置換した構成を採る。初期値選定部２２０は、時間追尾処理部２０８が生成し、バッファメモリ２０６に記憶した推定補整混合行列Ｈ＾'（ｋ）の内、任意の時刻ｋ＝Ｔにおける推定補整混合行列Ｈ＾'（Ｔ）を初期値Ｈｉｎｉｔ，ｉｎとして選定して読み出し、新たな初期値Ｈｉｎｉｔとして初期値設定部２６８にフィードバックする。初期値設定部２６８は、初期値選定部２２０によりフィードバックされた推定補整混合行列Ｈ＾'（Ｔ）を、混合行列の初期値ＨｉｎｉｔとしてＩＣＡ処理部２０４に対して設定し、バッファメモリ２０６に記憶する。つまり、第２の信号分離部２２は、初期値選定部２２０により選定された任意の時点Ｋ＝Ｔの推定混合行列Ｈ＾'（Ｔ）を用いてＩＣＡ処理部２０４がバッチ型ＩＣＡ処理を行うように構成されている。
【００６８】
初期値選定部２２０による処理がない場合には、一般的に、上述のように最初にＩＣＡ処理部２０４に対して設定される混合行列の初期値Ｈｉｎｉｔの要素は乱数などによりランダムに決められるので、ＩＣＡ処理部２０４によって求められる推定混合行列Ｈ＾（ｋ）の精度が短時間の内には向上しない可能性がある。しかしながら、上述のように第２の信号分離部２２を構成することにより、すでに時間追尾処理部２０８により処理された推定補整混合行列Ｈ＾'（Ｔ）を、ＩＣＡ処理部２０４が繰り返して用いることにより、時間追尾処理部２０８により生成される推定補整混合行列Ｈ＾'（ｋ）の精度がさらに向上し、得られる時間追尾処理に要する計算の収束性もさらに向上する。以下、図１３に示した第２の信号分離部２２の処理を説明する。図１４は、図１３に示した第２の信号分離部の処理Ｓ２０を示すフローチャートである。信号分離部２２の処理においては、図５に示した信号分離部２０の処理Ｓ１４に含まれるＳ１４０からＳ１７８の処理に、Ｓ２００からＳ２０６の処理がさらに加えられている。信号分離部２２が行うＳ１４０からＳ１５２の処理は、実施の形態１において信号分離部２０が行うＳ１４０からＳ１５２の処理と同一なので、説明を省略する。
【００６９】
図１４に示すように、Ｓ１５２の処理が終わると、ＩＣＡ処理部２０４は、Ｓ２００の処理において、繰り返しカウンタ変数Ｃを初期化し（Ｃ←１）し、さらに、繰り返し回数Ｃｍａｘを設定し、Ｓ１５４の処理に進む。このように、初期値設定部２００にフィードバックされた推定補整混合行列Ｈ＾'（Ｔ）に対して回数Ｃｍａｘだけ繰り返してＩＣＡ処理部２０４および時間追尾処理部２０８による処理を行うことにより、初期値選定部２２０によりフレーム処理部２０２に設定される推定補整混合行列Ｈ＾'（Ｔ）の精度が向上し、時間追尾処理に要する計算の収束性も向上する。信号分離部２２が行うＳ１５６からＳ１６６の処理は、実施の形態１において信号分離部２０が行うＳ１５６からＳ１６６の処理と同一なので、説明を省略する。Ｓ１６８の処理が終わると、Ｓ２０２において、ＩＣＡ処理部２０４は、繰り返しカウンタ変数Ｃの値が繰り返し回数Ｃｍａｘと等しいか否かを判断する。信号分離部２２は、繰り返しカウンタ変数Ｃの値が繰り返し回数Ｃｍａｘと等しい場合にはＳ１７０の処理に進み、これ以外の場合にはＳ２０４の処理に進む。信号分離部２２が行うＳ１７０からＳ１７８の処理は、実施の形態１において信号分離部２０が行うＳ１７０からＳ１７８の処理と同一なので、説明を省略する。
【００７０】
Ｓ２０４において、ＩＣＡ処理部２０４は、繰り返しカウンタ変数Ｃをインクリメントする。Ｓ２０６において、初期値選定部２２０は、時間追尾処理部２０８が任意の時刻ｋ＝Ｔにおける処理により求めた推定補整混合行列Ｈ＾'（Ｔ）をバッファメモリ２０６から読み出して初期値設定部２６８に対して出力し、初期値設定部２６８は、バッファメモリ２０６から読み出した推定混合行列Ｈ＾（Ｔ）を初期値Ｈｉｎｉｔ，ｉｎとして混合行列の初期値Ｈｉｎｉｔを置換して、Ｓ１５４の処理に戻る。
【００７１】
以上説明したように、実施の形態２によれば、時間処理部によって求められた混合行列を初期値として利用するようにしているので、次時刻のバッチ処理を行う際の演算の収束性の向上を図ることが可能となる。
【００７２】
実施の形態３．
以下、実施の形態３を説明する。図１５は、実施の形態３にかかる第３の信号分離部の構成を示す図である。図１５に示す第３の信号分離部である信号分離部２４は、図３に示した信号分離部２０に置換して用いられる。信号分離部２４は、図１３に示した第２の信号分離部である信号分離部２２に第２の分離部としてのデータ分離部２４０を加え、信号分離部２２における時間追尾処理部２０８を、これとは異なる動作を行う時間追尾処理部２４２で置換した構成を採る。信号分離部２４において、データ分離部２４０は、ＩＣＡ処理部２０４から入力される推定混合行列Ｈ＾（ｋ）を用いて受信データｒ（０），ｒ（１），ｒ（２）・・・に対して、ＩＣＡ処理部２０４から入力される推定混合行列Ｈ＾（ｋ）を用いてデータ分離部２１０と同様な分離処理を行い、分離処理の結果得られた分離データ尾処理を時間追尾処理部２４２に対して出力する。時間追尾処理部２４２は、ＩＣＡ処理部２０４により生成された推定混合行列Ｈ＾（ｋ）と、データ分離部２４０から入力される推定分離データｄ＾（０），ｄ＾（１），ｄ＾（２）・・・と、推定受信データｒ＾（０），ｒ＾（１），ｒ＾（２）・・・とを受け入れて、時間追尾処理を行い、処理の結果得られた推定補整混合行列Ｈ＾'（ｋ）を、データ分離部２１０および初期値選定部２２０に対して出力する。なお、推定補整混合行列Ｈ＾'（ｋ）は、初期値選定部２２０を介してバッファメモリ２０６に記憶される。信号分離部２４は、２回目以降の時間追尾処理のために、ＩＣＡ処理部２０４から入力される推定混合行列Ｈ＾（ｋ）のみでなく、データ分離部２４０が、この推定混合行列Ｈ＾（ｋ）を用いて受信データｒ（０），ｒ（１），ｒ（２）・・・から分離した推定分離データｄ＾（０），ｄ＾（１），ｄ＾（２）・・・、および、受信データｒ（０），ｒ（１），ｒ（２）・・・を用いて時間追尾処理を行う。
【００７３】
以下、信号分離部２４の処理Ｓ２４を説明する。図１６は、図１５に示した第３の信号分離部２４の処理Ｓ２４を示す図である。図１６に示すように、信号分離部２４の処理は、図１４に示した第２の信号分離部である信号分離部２２が行う処理Ｓ２０に含まれるＳ１６８の処理を削除し、処理Ｓ２０に含まれるＳ１５８の処理の次に、データ分離部２４０により推定分離データｄ＾（ｉ）を得るＳ２４０の処理、すなわち混合信号の推定値分離処理と、時間追尾処理部２４２による処理を行うＳ２４２の処理とを追加し、処理Ｓ２０に含まれるＳ１６４の処理をＳ２４１の処理で置換した構成を採る。
【００７４】
信号分離部２４が行うＳ１４０からＳ１５８の処理は、実施の形態２において信号分離部２２が行うＳ１４０からＳ１５８の処理と同一なので、説明を省略する。図１６に示すように、Ｓ２４０において、信号分離部２４のデータ分離部２４０は、ＩＣＡ処理部２０４から入力される推定混合行列Ｈ＾（ｋ）と、受信データｒ（ｋ）とから推定分離データｄ＾（ｋ）を得て時間追尾処理部２４２に対して出力し、バッファメモリ２０６に記憶する。Ｓ２４２において、時間追尾処理部２４２は、バッファメモリ２０６から読み出した推定補整混合行列Ｈ＾'（ｋ−１）、受信データｒ（ｋ），ｒ（ｋ−１）、および、データ分離部２４０により得られた推定分離データｄ＾（ｋ），ｄ＾（ｋ−１）を受け入れ、時間追尾処理を行い、処理の結果得られる推定混合行列Ｈ＾（ｋ）を、バッファメモリ２０６に記憶する。
【００７５】
Ｓ１６２において、信号分離部２４は、Ｎｍａｘ＝Ｎであるか否かを判断する。Ｎｍａｘ＝Ｎではない、すなわちＮｍａｘがＮに等しくない場合にはＳ２４１の処理に進む。Ｓ２４１において、時刻ｋにおける推定補整混合行列Ｈ＾'（ｋ）が、推定混合行列の初期値Ｈ^ｉｎｉｔに設定される（Ｈ^ｉｎｉｔ←Ｈ＾（ｋ））。Ｓ１６６において、時間追尾処理部２４２はＮをインクリメント、すなわち現在のＮに１を加算した値を新たなＮにして、Ｓ１５６の処理に戻る。信号分離部２４が行うＳ１４０からＳ１５２の処理は、実施の形態１において信号分離部２０が行うＳ１４０からＳ１５２の処理と同一なので、説明を省略する。
【００７６】
Ｓ１６２において、Ｎｍａｘ＝Ｎであると判定された場合には、Ｓ２０２の処理に進む。Ｓ２０２において、信号分離部２４は、Ｃｍａｘ＝Ｃであるか否かを判断する。ここで、Ｃｍａｘ＝Ｃではない、すなわちＣｍａｘがＣに等しくない場合にはＳ２０４の処理に進み、Ｓ２０４およびＳ２０６の処理を実行してＳ１５４の処理に戻る処理を行う。なお、信号分離部２４が行うＳ２０４およびＳ２０６の処理は、実施の形態２において信号分離部２２が行うＳ２０４およびＳ２０６の処理と同一なので、説明を省略する。一方、Ｓ２０２において、Ｃｍａｘ＝Ｃであると判定された場合には、Ｓ１７０の処理に進む。信号分離部２４が行うＳ１７０からＳ１７８の処理は、実施の形態２において信号分離部２２が行うＳ１７０からＳ１７８の処理と同一なので、説明を省略する。
【００７７】
以上の説明のように、信号分離部２４のＩＣＡ処理部２０４は、フィードバックされた推定補整混合行列Ｈ＾'（ｋ）を混合行列の初期値Ｈｉｎｉｔにしてバッチ型ＩＣＡ処理を行うこととなる。また、Ｓ１７０の処理では、上述の処理により最終的に得られた混合行列の初期値Ｈｉｎｉｔを用いて、受信データｒ（ｋ）から最終的な分離データｄ（ｋ）を得ることになる。さらに、推定混合行列Ｈ＾（ｋ）に加えて、受信データｒ（ｋ），ｒ（ｋ−１）、推定分離データｄ＾（ｋ），ｄ＾（ｋ−１）および推定補整混合行列Ｈ＾'（ｋ−１）を用いて時間追尾処理を行うことにより、つまり、混合行列の推定値だけでなく分離データも用いることにより、各時刻の混合行列の推定値の推定精度をより向上させ、時間追尾処理に要する計算の収束性をより向上させることができる。
【００７８】
次に、Ｓ２４２における時間追尾処理部２４２の時間追尾処理を説明する。時間追尾処理部２４２は、ＬＭＳ(Least  Mean  Square)アルゴリズムおよびＲＬＳ（Recursive  Least  Square）アルゴリズムに代表される適応処理を用いて時間追尾処理部を行う。図１７は、伝送路の状態を示す値である推定混合行列Ｈ＾（ｉ）の値をフレームの中央から未来に向けて更新する処理を例示するフローチャートである。図１８は、伝送路の状態を示す値である推定混合行列Ｈ＾（ｉ）の値をフレームの中央から過去に向けて更新する処理を例示するフローチャートである。以下、図１７および図１８の処理を説明する。
【００７９】
図１７に示すように、Ｓ２６０において、時間追尾処理部２４２は、ｋの値をＮ／２とし、初期値設定部２２０は、推定混合行列Ｈ＾（ｉ）をバッファメモリ２０６から読み出して、混合行列の初期値Ｈｉｎｉｔとする。Ｓ２６２において、図１５に示される時間追尾処理部２４２は、受信データｒ（ｋ）およびデータ分離部２４０により分離された推定分離データｄ＾（ｋ）ならびに、バッファメモリ２０６から読み出した１つ前のフレームに実行された処理により得られた推定分離データｄ＾（ｋ―１）、分離データｄ（ｋ−１）および推定補整混合行列Ｈ＾'（ｋ−１）を用いて、適応処理により推定補整混合行列Ｈ＾'（ｋ）を更新する。Ｓ２６４において、時間追尾処理部２４２は、ｋをインクリメントする。つまり、現在のｋに１を加算した値を新たなｋとする。Ｓ２６６において、時間追尾処理部２４２は、ｋがＮより大きいか否かを判断する。信号分離部２４は、ｋがＮより大きい場合には処理を終了し、これ以外の場合にはＳ２６２の処理に戻り、以後、Ｓ２６２、Ｓ２６４およびＳ２６６の処理を繰り返す。
【００８０】
また、図１８に示すように、Ｓ２８０において、時間追尾処理部２４２は、ｋの値を（Ｎ／２）−１とし、初期値設定部２２０は、推定混合行列Ｈ＾（ｉ）をバッファメモリ２０６から読み出して、混合行列の初期値Ｈｉｎｉｔとする。Ｓ２６２の処理は、図１７と同じである。すなわち、図１５に示される時間追尾処理部２４２は、受信データｒ（ｋ）およびデータ分離部２４０により分離された推定分離データｄ＾（ｋ）ならびに、バッファメモリ２０６から読み出した１つ前のフレームに実行された処理により得られた推定分離データｄ＾（ｋ―１）、分離データｄ（ｋ−１）および推定補整混合行列Ｈ＾'（ｋ−１）を用いて、適応処理により推定補整混合行列Ｈ＾'（ｋ）を更新する。Ｓ２８４では、時間追尾処理部２４２によって、現在のｋから１を減算するデクリメント処理が行われる。Ｓ２８６において、時間追尾処理部２４２は、ｋが１より小さいか否かを判断する。信号分離部２４は、ｋがＮより小さい場合には処理を終了し、これ以外の場合にはＳ２６２の処理に戻り、以後、Ｓ２６２、Ｓ２８４およびＳ２８６の処理を繰り返す。
【００８１】
図１９は、図１７および図１８に示した時間追尾処理部の処理を説明するための説明図である。図１９においては、初期値として設定する推定混合行列Ｈ＾（ｉ）が、時間軸方向の中央にある場合を想定している。このような推定混合行列Ｈ＾（ｉ）は、ＩＣＡ処理部２０４が出力する推定混合行列Ｈ＾（Ｎ／２）に近い値を採るので、図１７に示すフローチャートによる処理手順および図１８に示すフローチャートによる処理手順の何れを用いてもよい。すなわち、推定混合行列Ｈ＾（ｉ）の値をフレームの中央から未来に向けて更新してもよいし、推定混合行列Ｈ＾（ｉ）の値をフレームの中央から過去に向けて更新してもよい。
【００８２】
なお、伝送路が線形に変化する場合は、図３および図５に示されるＩＣＡ処理部２０４から出力される推定混合行列Ｈ＾（ｋ）および図１５に示される時間追尾処理部２４２から出力される推定補整混合行列Ｈ＾'（ｋ）は、フレーム中央の伝送路における推定補整混合行列Ｈ＾'（Ｎ／２）に近い値となることを、ここに付言しておく。
【００８３】
以上説明したように、実施の形態３によれば、時間処理部を行う際に、混合行列だけでなく、分離信号を用いるようにしているので、各時刻における混合行列の推定精度をより高く行うことが可能となる。
【００８４】
実施の形態４．
以下、実施の形態４を説明する。実施の形態４においては、ＮＧ個のフレームにより構成されるグループをグループフレームとし、ｉ番目のグループフレームを構成する一部のフレームが、その次のｉ＋１番目のグループフレームと重複（オーバーラップ）するようにこれらのフレームを構成し、複数のグループフレーム間で重複しているフレームに対してバッチ型ＩＣＡ処理を行うことにより、各フレームにおける混合行列の推定精度向上と、バッチ型ＩＣＡ処理における組み合わせ問題の解決を図る。図２０は、実施４の形態の手法と対比するための具体例であって、バッチ型ＩＣＡ処理のためにグループフレームをオーバーラップさせないフレーム構成を示す図である。一方、図２１は、実施４の形態の具体例であって、バッチ型ＩＣＡ処理のためにグループフレームをオーバーラップさせるフレーム構成を示す図である。なお、図２１には、具体例として、各フレームを構成する＃１〜＃４の４つの受信データの内、受信データ＃２，＃３をオーバーラップさせた、３つずつの受信データからなる２つのグループフレーム（グループフレームＡ，Ｂ）を示している。受信データ＃２，＃３がオーバーラップしているので、オーバーラップするフレーム数を表すＮｏｖｅｒは、Ｎｏｖｅｒ＝２である。
【００８５】
図２０に示すように、オーバーラップさせずにグループフレームに含まれるフレームをバッチ型ＩＣＡ処理する場合には、直前のフレームで推定した推定混合行列Ｈ＾ｉｎｉｔ，ｏｕｔを初期値Ｈｉｎｉｔとすることにより、混合行列の推定値の要素を計算する時間を短縮することができる。しかしながら、上述した方法を採ったとしても、実施の形態１において述べたように、バッチ型ＩＣＡ処理の組み合わせ問題が生じてしまうことがある。
【００８６】
次に、図２１に示す場合の処理の流れを説明する。なお、ここでは、グループフレームＡを“ＧＦ＿Ａ”、グループフレームＢを“ＧＦ＿Ｂ”で表す。
【００８７】
（フロー１）：ＧＦ＿Ａの＃１に対してバッチ処理型ＩＣＡを行い、推定混合行列Ｈ＾１ｉｎｉｔ，ｏｕｔを求める。
（フロー２）：ＧＦ＿Ａの＃２に対してバッチ処理型ＩＣＡを行い、推定混合行列Ｈ＾２ｉｎｉｔ，ｏｕｔを求める。このとき、バッチ処理型ＩＣＡの初期値は、Ｈ＾１ｉｎｉｔ，ｏｕｔを用いる。
（フロー３）：ＧＦ＿Ａの＃３に対してバッチ処理型ＩＣＡを行い、推定混合行列Ｈ＾３ｉｎｉｔ，ｏｕｔを求める。このとき、バッチ処理型ＩＣＡの初期値は、Ｈ＾２ｉｎｉｔ，ｏｕｔを用いる。
（フロー４）：オーバーラップ数Ｎｏｖｅｒ個（図２１の例では、Ｎｏｖｅｒ＝２）だけフレームをずらしたＧＦ＿Ｂ（図２１の例では、＃２〜＃４）を形成する。
（フロー５）：ＧＦ＿Ｂの＃２に対してバッチ処理型ＩＣＡを行い、推定混合行列Ｈ＾２（２）ｉｎｉｔ，ｏｕｔを求める。このとき、バッチ処理型ＩＣＡの初期値は、Ｈ＾３ｉｎｉｔ，ｏｕｔを用いる。
（フロー６）：ＧＦ＿Ｂの＃３に対してバッチ処理型ＩＣＡを行い、推定混合行列Ｈ＾３（２）ｉｎｉｔ，ｏｕｔを求める。このとき、バッチ処理型ＩＣＡの初期値は、Ｈ＾２（２）ｉｎｉｔ，ｏｕｔを用いる。
（フロー７）：ＧＦ＿Ｂの＃４に対してバッチ処理型ＩＣＡを行い、推定混合行列Ｈ＾４（２）ｉｎｉｔ，ｏｕｔ（＝Ｈ＾４ｉｎｉｔ，ｏｕｔ）を求める。このとき、バッチ処理型ＩＣＡの初期値は、Ｈ＾３（２）ｉｎｉｔ，ｏｕｔを用いる。
【００８８】
図２１に示したように、グループフレームＡ，Ｂ間で一部のフレームがオーバーラップしているので、バッチ型ＩＣＡ処理により得られる推定混合行列の値は、直前のグループフレームで得られた推定混合行列の値と近くなり、バッチ型ＩＣＡ処理における推定精度が向上し、時間追尾処理に要する計算の収束性も向上する。また、図２１に示したようにグループフレームＡ，Ｂ間で一部のフレームをオーバーラップさせることにより、組み合わせ問題の発生を探知することができ、また、組み合わせ問題を解決することもできる。
【００８９】
次に、上述したフレームオーバーラップの概念を実現するための具体的な構成について説明する。
【００９０】
図２２は、第４の信号分離部の構成を示す図である。図２２に示すように、第４の信号分離部である信号分離部２６は、図３に示した実施の形態１にかかる信号分離部２０に置換して用いられる。信号分離部２６は、図３に示した信号分離部２０におけるＩＣＡ処理部２０４の直前にオーバーラップ処理部２６０を加えた構成を採る。
【００９１】
図３に示す信号分離部２０では、ＩＣＡ処理部２０４に渡すフレームはフレーム処理部２０２が行い、ＩＣＡ処理部２０４に渡す初期値は初期値設定部２００が行っていた。一方、図２２に示す信号分離部２６では、これらの処理はオーバーラップ処理部２６０が行う。オーバーラップ処理部２６０は、ＩＣＡ処理部２０４に渡すフレームが、どのグループフレームにおける何番目の受信データであるのかを確認し、ＩＣＡ処理部２０４に渡すフレームに対応する初期値を選択する。オーバーラップ処理部２６０が選択したフレームおよび初期値は、ＩＣＡ処理部２０４に伝送され、ＩＣＡ処理部２０４は、上述した実施の形態１にかかる処理を実行する。なお、図２２では、オーバーラップ処理部２６０が処理データを内部に保持する実施形態であるが、バッファメモリ２０６に記憶されているデータを読み出すようにしてもよい。
【００９２】
次に、オーバーラップ処理を用いて組み合わせ問題を探知し、併せて補整処理する手法について、図２２〜図２４の図面を参照して説明する。
【００９３】
図２３は、オーバーラップされたグループフレームにおける混合行列推定値の定義を示す図である。図２３では、図２１に示したグループフレームＡ，Ｂの例を、フレーム番号Ｋおよびフレーム時刻ｍを用いて一般化する表記で示している。
【００９４】
図２４は、グループフレームがオーバーラップしたフレームにおいて、組み合わせ問題が発生した場合を例示する図であり、縦軸はグループフレームＡ，Ｂにおける推定混合行列Ｈ＾（ｍ）の要素ｈ＾ｋａ，ｂの値を示し、横軸はフレーム番号ｋを示している。ここで、図中の黒丸は、グループフレームＡにおけるフレーム間の推定誤差を表しており、ΔＡｍ＝ｈ＾ｍ，Ａａ，ｂ−ｈ＾ｍ−１，Ａａ，ｂと定義される。グループフレームＢにおけるフレーム間推定誤差も同様に定義され、ΔＢｍ＝ｈ＾ｍ，Ｂａ，ｂ−ｈ＾ｍ−１，Ｂａ，ｂである。図２４に示す例では、フレームｍにおいて、グループフレームＡの推定混合行列における推定要素ｈ＾ｋａ,ｂ（＝ｈ＾ｋ，Ａａ,ｂ）とグループフレームＢの推定混合行列における推定要素ｈ＾ｋａ,ｂ（＝ｈ＾ｋ，Ｂａ,ｂ）との間に差が生じていて、組み合わせ問題が発生していることが示されている）。
【００９５】
図２２の構成において、時間追尾処理部２０８は、時間追尾処理を行った結果を問題検出部２６６に通知する。問題検出部２６６では、フレームｍにおいて、バッチ型ＩＣＡ処理による組み合わせ問題が発生した可能性が高いことが検出される。バッチ型ＩＣＡ処理の組み合わせ問題が発生したフレームが発見された場合には、補整部２１４によって組み合わせ問題を解決するための補整処理が行われる。
【００９６】
なお、図２４の例では、グループフレームＡの推定混合行列における推定値とグループフレームＢの推定混合行列における推定値との差分値に基づいて組み合わせ問題の発生を検出したが、この手法に限定されるものではない。各グループフレームにおける推定値の変化量に基づいて組み合わせ問題の発生を検出してもよい。また、同一グループフレーム内において、あるフレーム間の要素の変化が他のフレーム間の要素の変化の傾向に一致するか否かを判定することによって、組み合わせ問題の発生を検出してもよい。
【００９７】
図２５は、図２１などに示した２つのグループフレームが、フレーム単位でなく幾つかのシンボルを集めたシンボル群単位でオーバーラップする場合を例示する図であり、フレーム同士がＮｓｏｖｅｒシンボル分オーバーラップする場合を示している。図２３と図２５とを対比すれば理解できるように、処理の単位をフレーム単位ではなく、シンボル群単位とすれば、フレーム単位で処理を行う図２２に示すオーバーラップ処理部２６０の機能を、シンボル群単位で処理を行う構成部に変更することが可能である。
【００９８】
次に、実施の形態４を実現するための具体的な処理フローを説明する。図２６および図２７は図２２に示した信号分離部２６の処理Ｓ２６を示す第１および第２のフローチャートである。図２６，図２７に示すように、Ｓ２６の処理においては、図５に示したＳ１４の処理におけるＳ１５４からＳ１６８の処理に代えて、Ｓ３００からＳ３２２の処理を付加している。
【００９９】
以下、処理Ｓ２６を説明する。まず、信号分離部２６が行うＳ１４０からＳ１５２の処理は、実施の形態１において信号分離部２０が行うＳ１４０からＳ１５２の処理と同一なので、説明を省略する。Ｓ１５２の処理が終わるとＳ３００に移行する。Ｓ３００では、グループフレームを構成するフレーム数を示すフレーム数ＮＧが定義される。Ｓ３０２では、グループフレーム間でオーバーラップさせるフレーム数を示すオーバーラップフレーム数Ｎｏｖｅｒが定義される。Ｓ３０４では、処理対象のグループフレームにおける先頭のフレーム番号である処理先頭フレーム番号ＮＨｅａｄが１に設定される（ＮＨｅａｄ←１）。図２７に進み、Ｓ３０６では、処理フレーム番号Ａに、処理先頭フレーム番号ＮＨｅａｄが設定される（Ａ←ＮＨｅａｄ）。
【０１００】
Ｓ３０８において、ＩＣＡ処理部２０４は、入力されたフレームおよび初期値に基づいて、上述したバッチ型ＩＣＡ処理を行う。Ｓ３１０において、Ｓ３０８の処理の結果得られた推定混合行列Ｈ＾（Ａ）は時間追尾処理部２６４に対して出力され、また、バッファメモリ２０６に記憶される。Ｓ３１２では、Ａ＝ＮＨｅａｄ＋ＮＧ−１であるか否かが判定される。Ａ＝ＮＨｅａｄ＋ＮＧ−１であると判定された場合には、Ｓ３１８の処理に進む。図２１において、受信データ＃１から受信データ＃２に進む場合、受信データ＃２から受信データ＃３に進む場合が、これに該当する。一方、Ａ＝ＮＨｅａｄ＋ＮＧ−１ではないと判定された場合には、Ｓ３１４の処理に進む。図２１において、グループフレームＡにおける受信データ＃３からグループフレームＢにおける受信データ＃２に進む場合が、これに該当する。
【０１０１】
Ｓ３１４において、オーバーラップ処理部２６０は、図２１を参照して説明した処理フローに従って初期値を逐次更新して行く（初期値Ｈｉｎｉｔ←Ｈ＾（Ａ））。Ｓ３１６において、オーバーラップ処理部２６０は、処理フレーム番号Ａの値に１を加算して、Ｓ３０８の処理に戻り、以後、Ｓ３０８、Ｓ３１０およびＳ３１２の処理を繰り返す。
【０１０２】
上述の通り、Ｓ３１２において、Ａ＝ＮＨｅａｄ＋ＮＧ−１であると判定された場合には、Ｓ３１８の処理に進む。Ｓ３１８では、Ｎｍａｘ＝ＮＨｅａｄ＋ＮＧ−１であるか否かがされる。ここで、Ｎｍａｘ＝ＮＨｅａｄ＋ＮＧ−１ではないと判定された場合にはＳ３２０の処理に進む。図２１において、例えば処理を終えたフレームがグループフレームＡにおける受信データ＃３の場合が、これに該当する。一方、Ｎｍａｘ＝ＮＨｅａｄ＋ＮＧ−１であると判定された場合には、Ｓ１６８の処理に進む。図２１において、例えば処理を終えたフレームがグループフレームＢにおける受信データ＃４の場合が、これに該当する。
【０１０３】
Ｓ３２０において、オーバーラップ処理部２６０は、時刻ｋにおいて求められた推定補整混合行列Ｈ＾'（ｋ）を、次の処理の初期値とする（Ｈｉｎｉｔ←Ｈ＾'（ｋ））。Ｓ３２２において、オーバーラップ処理部２６０は、ＮＨｅａｄの値をＮＨｅａｄ＋（ＮＧ−Ｈｏｖｅｒ）の値で更新する。図２１において、グループフレームＡにおける処理先頭フレーム番号ＮＨｅａｄ＝１（受信データ＃１）から、グループフレームＢにおける処理先頭フレーム番号ＮＨｅａｄ＝２（受信データ＃２）に移行する場合が、この処理に該当する。以後、Ｓ３０６からＳ３１８の処理が行われ、Ｓ３１８において、Ｎｍａｘ＝ＮＨｅａｄ＋ＮＧ−１であると判定された場合、すなわちＮｍａｘまでのフレームに関する処理を終えた場合には、Ｓ１６８の処理に進む。なお、Ｓ１６８からＳ１７８の処理は、実施の形態１の信号分離部２０が行うＳ１６８からＳ１７８の処理と同一なので、ここでの説明は省略する。
【０１０４】
上述した処理を行う信号分離部２６によれば、実施の形態１の効果を奏することに加え、組み合わせ問題にも的確に対応することが可能となる。
【０１０５】
図２８は、実施の形態４にかかる第５の信号分離部の構成を示す図であり、第４の信号分離部である信号分離部２６とは異なる構成を示すものである。図２８に示すように、第５の信号分離部である信号分離部２８は、図３に示した信号分離部２０に置換されて用いられる。信号分離部２８は、図３に示した信号分離部２０における初期値設定部２００を図１３に示した初期値設定部２６８で置換し、同じく図１３に示した初期値選定部２２０を追加した構成を採る。つまり、信号分離部２８には、信号分離部２６の処理に、図１３に示した信号分離部２２と同様なフィードバック処理が加えられている。
【０１０６】
以下、図２８に示した信号分離部２８の処理を説明する。図２９および図３０は、図２８に示した信号分離部２８の処理Ｓ２８を示す第１および第２のフローチャートである。図２９，図３０に示すように、Ｓ２８の処理においては、図２６に示したＳ２６のＳ１５２とＳ３００との間に、図１４に示したＳ２００の処理が追加され、図２７に示したＳ１６８とＳ１７０との間に、Ｓ３２４，Ｓ３２６およびＳ３２８の処理を付加している。
【０１０７】
以下、信号分離部２８の処理Ｓ２８を説明する。まず、信号分離部２８が行うＳ１４０からＳ１５２の処理は、実施の形態１において信号分離部２０が行うＳ１４０からＳ１５２の処理と同一なので、説明を省略する。Ｓ１５２の処理が終わるとＳ２００に移行する。Ｓ２００では、ＩＣＡ処理部２０４によって、繰り返しカウンタ変数Ｃを初期化する処理（Ｃ←１）と、繰り返し回数Ｃｍａｘを設定する処理とが行われる。Ｓ２００の処理が終わるとＳ３００に移行するが、信号分離部２８が行うＳ３００からＳ３２２の処理は、信号分離部２０が行う、図２６および図２７に示されるＳ３００から３２２の処理と同一なので、説明を省略する。
【０１０８】
図３０のＳ３１８において、Ｎｍａｘ＝ＮＨｅａｄ＋ＮＧ−１であると判定された場合にはＳ１６８の処理に進み、上述したＳ１６８の処理を実行してＳ３２４の処理に移行する。Ｓ３２４において、繰り返しカウンタ変数Ｃの値が繰り返し回数Ｃｍａｘと等しいか否かが判定される。信号分離部２８は、繰り返しカウンタ変数Ｃの値が繰り返し回数Ｃｍａｘと等しい場合にはＳ１７０の処理に進み、これ以外の場合にはＳ３２６の処理に進む。Ｓ３２６において、ＩＣＡ処理部２０４は、繰り返しカウンタ変数Ｃをインクリメントする。Ｓ３２８において、時間追尾処理部２６４が求めた推定補整混合行列Ｈ＾'（ｋ）が初期混合行列の初期値Ｈｉｎｉｔとして置換されてからＳ３０４の処理に戻る。以後、Ｓ３０４の処理が実行されるが、その後の動作は上述の通りであり、説明を省略する。
【０１０９】
上述した処理を行う信号分離部２８によれば、実施の形態２の効果を奏することに加え、組み合わせ問題にも的確に対応することが可能となる。
【０１１０】
図３１は、実施の形態４にかかる第６の信号分離部の構成を示す図であり、第４の信号分離部である信号分離部２６および第５の信号分離部である信号分離部２８とは異なる構成を示すものである。図３１に示すように、第６の信号分離部である信号分離部３０は、図２２に示した信号分離部２６に置換されて用いられる。信号分離部３０は、図２２に示した信号分離部２６の構成において、図１５のときと同様に第２の分離部であるデータ分離部２４０を追加した構成である。つまり、信号分離部３０には、データ分離部２４０による推定混合行列Ｈ＾（ｋ）を用いたデータ分離処理と、時間追尾処理部２４２による推定混合行列Ｈ＾（ｋ）、データ分離部２４０から入力される推定分離データｄ＾（０），ｄ＾（１），ｄ＾（２）・・・、および、受信データｒ（０），ｒ（１），ｒ（２）・・・を用いた時間追尾処理とが加えられている。
【０１１１】
以下、図３１に示した信号分離部３０の処理を説明する。図３２および図３３は、図３１に示した信号分離部３０の処理Ｓ３０を示す第１および第２のフローチャートである。図３２，図３３に示すように、Ｓ３０の処理では、時間追尾処理であるＳ１６８の処理の位置が、図３０に示したＳ２８の処理と異なる。具体的に説明すると、図３０では、Ｓ３１８とＳ３２４との間でＳ１６８の処理を行っていたが、図３３に示すＳ３０では、Ｓ３０８とＳ３１２との間で処理するフローになっている。加えて、信号分離部３０によるＳ３０の処理は、第２の分離部であるデータ分離部２４０を備える構成であるため、Ｓ２８４の処理の直前にデータ分離を行うＳ３３０の処理が加わっている。
【０１１２】
以下、信号分離部３０の処理Ｓ３０を説明する。まず、信号分離部３０が行うＳ１４０からＳ３０８の処理は、信号分離部２８が行うＳ１４０からＳ３０８の処理と同一なので、説明を省略する。Ｓ３０８の処理が終わるとＳ３３０に移行する。Ｓ３３０において、データ分離部２４０によって推定分離データｄ＾（ｋ）が生成される。Ｓ２８４では、Ｓ３３０で生成された推定分離データｄ＾（ｋ）を用いて、上述した時間追尾処理が実行される。Ｓ２８４の処理が終わるとＳ３１２に移行するが、信号分離部３０が行うＳ３１２以降の処理は、信号分離部２８が行う、図３０に示されるＳ３１２以降の処理と同一なので、説明を省略する。
【０１１３】
上述した処理を行う信号分離部３０によれば、実施の形態３の効果を奏することに加え、組み合わせ問題にも的確に対応することが可能となる。
【０１１４】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略又は変更することも可能である。
【符号の説明】
【０１１５】
１  受信装置、１０  受信部（受信装置）、１２  信号分離装置、１２０  ＣＰＵ、１２２  受信部インターフェース、２０  信号分離部（第１の信号分離部）、２２  信号分離部（第２の信号分離部）、２４  信号分離部（第３の信号分離部）、２６  信号分離部（第４の信号分離部）、２８  信号分離部（第５の信号分離部）、３０  信号分離部（第６の信号分離部）、１２４  入出力装置、１２６  ネットワークインターフェース、１２８  ＲＡＭ、１３０  ＲＯＭ、１３２  ＤＳＰ、１３４  記憶装置、１３６  記録媒体、２００  初期値設定部（第１の設定部）、２０２  フレーム処理部、２０４  ＩＣＡ処理部（独立成分分析処理部）、２０６  バッファメモリ、２１０  データ分離部（第１の分離部）、２１２，２６６  問題検出部、２１４  補整部、２２０  初期値選定部、２４０  データ分離部（第２の分離部）、２０８，２４２，２６４  時間追尾処理部、２６８  初期値設定部（第２の設定部）、２６０  オーバーラップ処理部。
【図１】
0006355493.tif 000014
【図２】
0006355493.tif 000015
【図３】
0006355493.tif 000016
【図４】
0006355493.tif 000017
【図５】
0006355493.tif 000018
【図６】
0006355493.tif 000019
【図７】
0006355493.tif 000020
【図８】
0006355493.tif 000021
【図９】
0006355493.tif 000022
【図１０】
0006355493.tif 000023
【図１１】
0006355493.tif 000024
【図１２】
0006355493.tif 000025
【図１３】
0006355493.tif 000026
【図１４】
0006355493.tif 000027
【図１５】
0006355493.tif 000028
【図１６】
0006355493.tif 000029
【図１７】
0006355493.tif 000030
【図１８】
0006355493.tif 000031
【図１９】
0006355493.tif 000032
【図２０】
0006355493.tif 000033
【図２１】
0006355493.tif 000034
【図２２】
0006355493.tif 000035
【図２３】
0006355493.tif 000036
【図２４】
0006355493.tif 000037
【図２５】
0006355493.tif 000038
【図２６】
0006355493.tif 000039
【図２７】
0006355493.tif 000040
【図２８】
0006355493.tif 000041
【図２９】
0006355493.tif 000042
【図３０】
0006355493.tif 000043
【図３１】
0006355493.tif 000044
【図３２】
0006355493.tif 000045
【図３３】
0006355493.tif 000046