ひとつ前へ 数理設計研究所TOP mad@mail.wind.ne.jp

「スペクトラム拡散方式の通信装置、及び、
その高速同期確立法」
 の技術解説

  株式会社 数理設計研究所 玉置
2006/11/29 - 2008/02/06

書きかけなのですが、特許事務所への
説明書を参考にして解説するものです。
まだ全体的な流れも悪く未整理です。 


注:この特許は公開(外部供与)します
Index

概要

開発の目的

 野生生物の調査、防災用のテレメトリのため微弱電力による超長距離通信の実現を目指して2000年頃から研究に着手し、2003年2月に国際特許出願した。 日本の特許庁による特許証(pdf) と韓国の特許庁による特許証(pdf) は取得済みである。
 微弱電力にはふたつの意味がある。ひとつは電波法に抵触しない合法性の獲得である。もうひとつは微弱電力による通信は電力をほとんど必要とせず電池で長時間動作できることにあり、野生生物の環境調査や防災テレメトリでは必須条件であった。(注:微弱電波は計算上ダイポールアンテナへ50nW給電に相当する)。

 スペクトラム拡散(以後SSと書く)という通信法がある。1960年代に軍事・宇宙通信の分野で開発が始まり、今では携帯電話のCDMAやパソコン周辺の近距離通信(ブルートゥースや無線LAN)で身のまわりにある。
 もともとSSはふたつの側面を持っていた。非常に微弱な電波で長距離通信する軍事や衛星通信と、もうひとつは同じ周波数で複数の通信経路を維持する多重通信の面であった。今、我々の周囲にあるものとしてカーナビに使われるGPSは前者、それ以外の民生用品のほとんどすべてが多重通信に力点を置いて運用されている。
 この技術はSSの受信技術に属するものであり、送信は従来のSS通信の直接拡散法である。従来は連続送信が必要であったが高速な同期が達成されたので通信時のみのバースト送信が可能になり、送信機側を超低消費電力にすることができた。

 防災や環境などの通信ではひとつの情報源からそれほど莫大な情報を必要としない。気象や防災、環境系の情報はひとつの装置から1分に100ビットもあれば良いことが普通である。求められるのは1通信あたりの電力、価格コストが小さいこと、そしてかなりの距離を乗り越えることである。
 我々はそれを「微弱電波による長距離通信」の実現として課題とした。 
  • 初期目標は
    • 微弱通信 無免許、50nW出力
    • できるだけの長距離通信 最低100m
    • 毎秒1-10ビット
  • 2007/10/20 時点で以下を実現している
    • 微弱電波 50nW出力
    • 長距離  550m
    • 毎秒10ビット
 固定地点間のテレメトリで微弱電波である必要は無いが、微弱電波ならば免許取得の必要が無いので、無限の周波数設定が可能であり、事実上の無混信を実現できることもあります。

超高感度システムの整理

 受信機からの電波識別能力は次の要素に支配される
●受信帯域巾
・自然雑音電力は帯域巾に比例して増える
・混信確率も帯域巾に比例して増える

 通信帯域巾を極度に小さくすれば到達距離は伸びる。一般の業務用FMは20KHz帯域幅なので、これを1Hzまで狭めると必要電力は1/20000になる。100Wのアマチュア無線で世界中と交信できるが、1/10000になれば10mWで可能になることでもメリットがわかるだろう。。
 しかし1Hzの受信帯域にするには送信側で1Hz未満の周波数安定度を確保しなければならない。たとえば150MHz水晶発振器の周波数精度は20ppmぐらいであり、周波数偏差は3KHzにもおよぶ。1Hzの3000倍の大きさであり、3000の周波数巾を捜し回らなければいけない。現実的にも1ppmを下回る高精度な発信機は測定器でしか使うことができない。また、単純に帯域巾を小さくしても既存通信からの混信は排除できない。そこで衛星通信などに使われるSS通信法が登場することとなる。

SS通信、困難点の整理

 SS通信には特有の困難がある。受信は送信側で拡散するために使われた拡散符号を伝送遅延時間だけずらして受信したSS信号に乗算することによって元の搬送波を再現する。
 しかし、伝送遅延時間、拡散符号の位相がわかっていない状態で受信するためには周波数が判明しているとして伝送遅延時間をスライドして、搬送波が有意レベルにあるかどうかを判定して伝送遅延時間を調査する。これをスライド法と言う。
 この検出法では検出までにおよそM系列の周期時間×M系列TIP数の時間がかかる。(TIP→*2)。周期1秒、1023TIPだと1023秒かかり、受信を始めてから17分待たなければデータ受信が始まらない可能性がある。これでは17分間送信していなければ受信できないので、低電力の目標が達成できないし実用にならない。
 位相変調が基本になっている伝送では1拡散周期で搬送波信号の位相量が搬送波の0.5周期以内で判明していなくては搬送波のレベル検出自体が成功しない。つまり拡散信号の同期確立のためには搬送波の周波数を厳密に知る必要がある。
 拡散符号の同期状態を知るためには周波数の厳密性が必要であり、拡散符号が同期していなくては周波数を知ることができない。両すくみの状態にあった。
 一般のSS波では拡散信号のずれ時間だけ→1次元のマッチングですんでいたのだが、搬送波周波数の厳密性が確保されない装置では同期確立のために(拡散信号のずれ+周波数のずれ)→2次元の同期が必要となる。この困難が開始当初の課題であった。

課題

 通信速度を代償にして微弱電力で長距離通信するスペクトラム拡散を使う通信システム。高速通信では高速であるがゆえに問題にならなかった同期時間の長さがある
  • たとえば11MBPSの無線LANで11TIPのスペクトラム拡散符号を使えば、たかだか11回のトライで同期が成立する
  • 1チップ0.1usecとして11TIP=1.1usec、これをずらせながら11回試行(12usec)で通信が確立する
  • ひきかえ、毎秒1ビットの低速通信で8191TIP長の拡散符号を使えば11TIPにくらべて8191倍の電力利得が得られる
  • しかし、同期補足のためにチップ速度を毎秒8191TIPとしても最長で8191秒(2時間半)を要する
 拡散符号長が長いと処理利得が大きくなるが搬送波の周波数偏差の影響が大きくなる。拡散符号長の長さの範囲で位相が0.5以内であること。
  • SN比が極度に悪い状態でPSK信号を復調するのには搬送波に同期した参照信号が必要
  • しかし参照信号を確立するためには拡散符号が同期していなくては判明しない
  • この二律背反の状態がある
  • GPSでは原子時計による厳密な周波数管理で搬送波信号を保証して同期探索の困難を避けています
 このスペクトラム拡散の高速同期を2×拡散コード長の短時間で可能にしたのがこの技術解説である。

解決の概要

一挙に逆拡散することはできないので順に処理する
  • BPSKの遷移点(以下トグル点と言う)を検出してトグル点の時系列に直す。
  • 拡散コード1周期分のトグル点をあらかじめ作っておき、それと相互相関させて拡散コードのズレ量を推定する
  • 拡散コードのズレ量で逆拡散して搬送波を再生する
  • 搬送波らしきものをFFTして周波数を推定して有効なスペクトルなら確実に受信できたことがわかる
これが処理手順です。
 勘所は2箇所
  1. トグル点の検出は2TIP分のCWであればいい
     毎秒1拡散周期、1024TIP、50MHzならば2TIPは約2msec、この間に0.5周期のズレを許容するとすれば、
     0.5周期/2msec=250Hzのずれが許容できる。±5ppmまで許容できれば短時間の温度変化にも耐えられる。1Hzしか許容できないレベルからすれば大幅な改善になる。
  2. 拡散コード長が1秒の長さであれば、2秒で同期が確立する。

受信手続きの解説

送信はスペクトラム拡散で一般的なM系列信号を使いBPSKで直接拡散する単純なものです。
受信手続きを複数に分割して説明します。

  1. 同期候補の検出
  2. 拡散符号の同期検査をして周波数候補の検出
  3. 拡散符号と周波数を同期させ伝送信号の抽出

トグル点の検出法

 BPSKはBipola Phase Shift Keying(バイポーラ・フェーズ・シフト・キーイング)と言い、日本語では「2相位相変調」と言う、一番簡単でかつノイズ耐性の大きい信号変調法です。
←変調信号
上図の符号で搬送波を変調すると
変調符号に応じて位相が180度変化する変調法

多くの解説書では、きれいに変調してあるように書かれていて、たとえば下図の搬送波がゼロになった場所で位相が反転しています。

これは搬送波がゼロを横切る瞬間に符号信号が同期している状態です。

 問題は、変調信号(上)に搬送波が同期していないときにも安定に符号信号の変化点(トグル点)を見つけることにあります。

搬送波の周波数が符号信号と同期していないならば、どんどんトグル波形は変化していき、どのような変調波になるか予測できません。
これを解決するために、次のような手法を用います。
複素型式のBPSKトグル信号

 上図の赤線と青線は信号の実数部と虚数部、またはcos波とsin波と言うもので、位相が90度ずれたもので。信号処理の数学として複素計算するために便利な表現です。

 BPSKのトグル信号パターンは全部で2チップ時間の長さを持たせることによってノイズによる短い位相変化の検出を抑制し、チップ時間単位の整数倍で起こる位相変化を有効に検出することができます。

上の信号と(横スケールは違っていますが)、下図の信号との相互相関を取ると
受信信号

青色がトグル点で大きくなる検出信号
(赤線は受信信号を作成した拡散信号、青線は相関結果)
のように、拡散信号のトグル点で相関信号の出力が大きくなります。これを「トグル点検出」と定義します。
実現システム
受信信号 相関器 トグル信号
BPSKトグル信号(期待信号)の波形を固定して持つ

相関器には受信信号が流れ、期待信号との間で相関演算を行うとトグル信号になる
受信信号 トグルフィルタ トグル信号

相関器とBPSKトグル信号(期待信号)から作成したトグル信号フィルタに書き直した
相関器はトグルフィルタと言いかえれるという意味です。

★相関器は積和演算器やデジタルフィルタで構成することができます。

BPSK信号の遷移点検出 別法

 上記のトグルフィルタの部分はヒルベルト変換(90度位相器)+位相検出器で構成することもできます。特許例としては意味があるので(トグルフィルタ→位相検出器)に置きかえることはできると特許明細には書いてある。ただしトグルフィルタの方が検出感度が高い。その理由として、トグルフィルタ法では2チップ時間にわたる相関検出なので瞬間的なノイズに強い。ヒルベルト型ではノイズによる瞬時位相変動が出てしまう。

受信手続きの数値計算例

↑軸 拡散信号
→軸 時間
キャリャ(搬送波)を拡散信号で2相の位相変調

↑軸 信号
→軸 時間
RXD(これが受信信号)
信号電力の2500倍に相当する大量の雑音電力を加え
受信機で帯域制限した
帯域制限した段階での
S/N比 −17.4dB

↑軸 受信信号
→軸 時間
位相変調の変化している特長を表現する部分信号
(横軸256の点で位相変調)
赤線は実数部
青点線は虚数部
↑軸 2チップトグル信号
→軸 時間
TGLMASK
位相変調の変化点(上の256)をゼロの場所に移動させ、全体に窓関数処理を施した信号
下の信号に続いて上のグラフとなる

実際はマスクをかける必要は無い

↑軸 トグル信号
→軸 時間
受信信号 RXDTGLMASKの相互相関を取ると(青点線)になる
これをRXDTGLとする

さらに赤線の検出を期待するSS信号のトグル点微分値の絶対値と相互相関させると下のグラフになる
↑青 トグル相関信号
↑赤 拡散符号
→軸 時間
RXDTGLこの信号の最大値を示す位置が拡散信号の同期推定位置である(600)

↑軸 トグル推定値
→軸 シフト量
同期推定位置600を移動させて逆拡散手順を施し復調する。
さらに復調信号からスペクトル推定して受信を確認する。

この数値計算例では
  • 拡散チップ長 1023
  • 2相の位相変調
  • S/N比 −17.4dB
最終SNはおよそ10dBあるので
総計で27.4dBのスペクトラム拡散特有の処理利得がある。

さらに拡散信号2周期分のデータのみ~同期確立がなされている。

↑軸 スペクトル強度
→軸 周波数

システム図

受信信号
受信信号蓄積部

復調器
ZA5

搬送波検査
ZA6
↑ZA2↓ 拡散信号をシフト
トグルフィルタ
ZA1

トグル信号
トグル信号蓄積部
RXD
相互相関器
ZA3

RXDTGL

最大値の位置
→推定シフト量
ZA4
拡散信号微分値の
絶対値

システム構造上の従来との相違

従来法:
  1. 受信信号をとにかく逆拡散する
  2. 逆拡散した受信信号が元に戻っているかどうかを復調して判定する
    • 元に戻っていれば同期成功、だめなら逆拡散符号を少しずらせて1にもどり、再試行
本方法:
  1. 受信信号をトグルフィルタで位相復調してトグル信号を得る
  2. トグル信号と拡散符号の反転部の相関調査をして受信信号に対する拡散符号のシフト量を知る
  3. シフト量の候補順に復調して有効な搬送波スペクトルを確認する

受信方法のまとめ

 同じ意味を持つ別表現ですが
  • 搬送波と変調信号が非同期でも適応
  • 搬送波の周波数偏差を許容
 厳密に言えば、長い処理時間で良ければ搬送波と変調信号が非同期でも従来型の装置で受信することが不可能ではありません。しかし、GPSなど長周期拡散符号を持つシステムでは原子時計においてすべての信号を管理しています。その理由を実例を挙げて示します。
  • 送信周波数 150MHz
  • 拡散符号
    • チップ時間 1m秒
    • 符号長   1023チップ M系列
 これを伝送して受信同期が確立したとします。このとき、送信機が受信機に対して毎秒10mで離れる運動をはじめたとします。
 150MHzでは波長2mなので、5波分少ない周波数(150MHz−5Hz)に見えます。
 この速度では(1m秒×1023)約1秒の間に5Hz、つまり360度×5=1800度の位相変化が発生します。位相反転まで許容するとしても0.5Hzが許容範囲。
 受信信号を逆拡散して搬送波をとりだしているはずですが最初の位相がゼロとすると最後のほうでは位相がぐるぐる回っていて、同期が確認できない状態になります。
 左は同期が確立した状態での話ですが、同期を検出する初期段階ではさらに厳しいものがあります。

 実例を挙げて示します。
  • 送信周波数 150MHz±20ppm(標準的なXtal)
  • 拡散符号
    • チップ時間 1m秒
    • 符号長   1023チップ M系列
150MHz±20ppm は 150MHz±3KHz です。

 左の項にあるように、このパラメータでは0.5Hzずれると同期維持が苦しくなります。5Hzずれると別の伝送と言えるのです。これが多重通信を可能にするのですが、±3KHzの中にある5Hz単位の信号を検出するには従来法ではさらに600倍の試行を必要とします。

 その理由として従来法は
  • 搬送周波数がわかっていて位相ずれが無視できる
  • 拡散符号長が短い
ことを利用して、適当なシフト量を持った拡散符号を用意して(逆拡散→位相検波→同期検出)を繰り返しているので、同期検出のためには拡散符号の繰り返し時間全体に渡って位相が保証されていなくてはいけないのです。

 ひるがえって、本手法では、チップ時間の間だけ位相が保証されていればトグル検出が可能なので従来法に比べて拡散符号長の比率だけ位相許容度が大きくなります。1023TIPならば512倍の許容力があります。
 そして搬送波の周波数は同期が確立してから調査することになり、同一拡散符号を持つ別周波数の伝送すら許容できることになり、多重通信が可能になるのです。

多重性について

 通信の多重性はある軸、たとえば時間軸、周波数軸の軸上にいくつ並べることができるかという意味で評価できます。

コード軸=符号軸

 スペクトラム拡散を利用する通信では一般に符号軸で評価しています。別の言い方では同一周波数帯域において目的の拡散符号以外は雑音とみなせるので耐雑音性と同じことになります。
 ある拡散符号が1023チップとすると理論的には耐雑音性は1023倍になります。自分以外の通信(雑音)が1022個あっても雑音と同じ信号が得られます。実際は雑音より信号のほうが10倍ぐらい良くないと通信ができないので1023チップの拡散符号では100chの通信ができます。
 GPSでは1023チップの拡散符号を使い同一周波数帯で27個の衛星が受信でき、実用的にも12衛星の同時受信をする受信機が普通になっています。
 GPSと同等の条件を課すると安定通信には雑音電力と受信電力の比率は100倍ぐらいになり多重性は10chになります。

周波数軸の多重性

 スペクトラム拡散による通信は空間を伝送する部分の帯域と受信機の中で最終処理される帯域の2つがあり、同期検出の部分で言及していますが、本方式では最終的に通信帯域が5Hzぐらいになります。
 つまり、たまたままったく同じ拡散符号であっても、最終的なスペクトラム分析でより分けることが可能になっています。いずれにしても前述した符号軸の評価と同じく、雑音より信号のほうが100倍ぐらい良くないと通信ができないとすると1023チップの拡散符号では10chの通信ができます。
 符号軸の分離性と、周波数軸の分離性はいずれも他の通信が雑音に見えるので、同じ評価ができますが、まったく同じ符号系列をもっていたとしても周波数軸で分離する可能性があります。
 150MHzの水晶発信機では±20PPMほどですから3kHzの周波数幅の中で5Hzの分離ができれば600の場合があります。
 1023チップは1チップ単位で分離できるので、同じ周波数と拡散符号のシフト位置を持つものは60万分の1になります。一般的に鳥などに装着する低品質の送信機を利用して通信する場合に全体としては同じch数しか収容できないとしても、分離可能性が確実になれば、より通信品質が上がることになります。

時間軸の多重性

 本方法は拡散符号の1シーケンスで同期確立できます。チップ時間(0.1m秒)、1023符合長では1シーケンスが0.1秒です。
 実現で8シーケンスを送信するとしても、0.8秒で送信を終えることができ、8ビットの情報を送れます。
 たとえば10秒に1度のバースト送信であれば12分の1の時間しか利用していないので、その他の時間を別の通信に利用することが可能になります。

総合的な多重性

 本方式が受信機無しで単独に設備された送信機群なのか、または親局からの制御を受ける受信機を持つかによって多重性の評価は大きく異なります。
 孤立した送信機群からの通信を受信する場合には、本質的に他の通信が雑音に見えるという観点からすると、理論的には拡散符号長による多重性となります。

総合的な分離可能性

 これはコード軸、周波数軸の利用により分離可能性よりも認証性が向上すると言えます。
 拡散コード長を1秒ぐらいにとれば毎秒1mほどの速度が検出できるので、鳥や動物、人間など低速移動体の速度検出や位置推定が可能になる利用法もあると思われます。

言葉の意味

* 言葉 意味
1 拡散符号 M系列線形符号を使うか、それを基礎にした合成符号を使うことが多い。選択の基準は自己相関がゼロの位置のみにおいて値が大きいこと、他の符号系列との相互相関が小さいこと。
2 TIP/チップ 拡散符号の最低単位。1023チップのM系列拡散符号とは1023の繰り返し周期を持つ拡散符号のこと。
3 相関器 2つの信号(自分同士または別の2つの信号)の相関を計算する装置。時間流れ信号ではないという意味で片方の信号はハードウェアまたはソフトウェア的に固定されていることもある。

以下おまけ

トグル信号の検出



トグル信号の検出は

A=検出したい信号パターン
B=受信した信号

 このAとBの相互相関を計算することでCのように一番一致する(らしい)ところにピークが出ます。

A図ではゼロ位置をはさんで正弦波の1振幅
B図ではノイズにまみれたそれらしい信号がδだけずれて受信されたとすると相互相関の計算後には
C図にδ離れた位置にピークが出ます。

特にトグル信号の検出と言う意味の本はありませんが、統計処理、情報処理の教科書にあるものです。

FFTの使い方などの本には必ず出ています。

●想定するあらかじめ検出したいトグル信号とは?

 あらかじめ検出したいトグル信号を想定します。トグルは信号変化する時間の位置のことですから、その瞬間の前後に1チップ、つまりトグル点を中心にした2チップ時間分の信号を用意します。
 この信号をFIRフィルタの係数値として採用すればトグルフィルタを作ることができます。

 BPSK(2相の位相変調)では#XA1のようなもので、教科書などにはゼロになるところで位相が変化しているように書きますが、必ずしも搬送波がゼロになるところでなくてもいいのです。搬送波がゼロになるところでなくても位相が180度変化している実部+虚部の信号でかまいません。

 BPSKでは受信信号の任意の位相変化を検出するのではなく位相が180度変化しているところを検出するのです、なぜならばBPSK(位相が180度変化)を相手にしているわけですから。

●トグルフィルタは何を保持するのか?

トグルフィルタは数学的には相互相関をするものです。実現手法としては上に書いたような位相が180度変化する点を挟む両側1チップづつ=2チップ時間の信号を保持して相互相関しても良いし、あらかじめFIRフィルタのための計算済み係数として保持してもかまいません。FIRフィルタの係数が参照のためのトグル信号から直接導き出された係数だと言えば、それはそうですが普通はそのような言い方はしません。
トグル信号から直接導き出された係数だけではなく、受信システムの位相遅延量の補正や帯域の制御なども同時に加味して係数は決めます。が、文書的には「トグル信号から導き出された係数」がいいのかな。
FIRフィル対外にもIIR形式など多様な形式がありますが、この特許の眼目としては位相が180度変化しているところを最初に検出し、そのトグル(らしき、まだ確定していないので)信号列の全体から拡散信号のシフト量を後で計算します。

●BPSK以外でも可能か

 変調はBPSK以外にQPSKでも可能ですが、検出力の問題からBPSKが最善です。

●ヒルベルト変換や位相遅延

 ヒルベルト変換や位相遅延による位相検波では、瞬時ノイズに弱いのです。ひるがえって2チップ時間全体の積和演算によるほうがノイズの影響が全体に分散するので耐ノイズ性が良いようです。
 ヒルベルト型は元信号f(t)を入れると、出力 r f(t)+i f(t) が複素数になって実数+虚数部となって出てきます。つまり瞬時位相が常に計算可能なので、瞬時位相変化を追跡することができます。逆に瞬時位相変化を出しすぎるのでノイズに弱い特徴を持っています。

●トグル点の候補をなぜ探すのか

 最初はトグル点の候補を選び出し、最終的な検出は拡散符号全体にわたって積和します。この2段階を踏むことによって、最終的に大電力の不規則ノイズを含む目的外の信号を除去しています。また、最初にトグル検出することによって、最後の段階で複数の拡散信号を同時に検出することも可能になります。つまり多重通信。

●2チップ時間の意味

 2チップ時間は、トグル点を挟み、前後に別のトグルを含まない最長の信号と言う形で決まります。これが最高のトグル出力を与えます。

●トグル検出法

DSPまたはハードロジックによるフーリエ変換器を使います
拡散信号k(t)のほうはあらかじめ
  1. k(t)を微分して絶対値を取る |d/dt k(t)|→ka(t)
  2. ka(t) をフーリエ変換し共役を作っておく FFT(ka(t)) → FKA(f)
入ってきたトグル信号をg(t)とすると
  1. g(t) をフーリエ変換 FFT(g(t)) → G(f)
  2. G(f)*FKA(f) → S(f) を作る
  3. S(f)を逆フーリエ変換すると s(t) となりこれの最大値が拡散符号のシフト位置となる

●トグル検出のピーク位置の捜索と手法

 最大位置の検出は、CPUやDSP+プログラムまたはハードロジックでスキャンして決定する。 CPUやDSP+プログラムまたはハードロジックで計算する。

..end