2015年2月号
連載記事
ディジタルを楽しもう
JH1NRR 辻岡哲夫
(JL3YMC 構成員)
第9回 簡易電界強度計を作る 4
1. 観測信号の統計処理の必要性
電界強度を測定する場合、干渉、遮蔽などによって測定値が大きく揺らぎます。今回は、受信信号強度(RSSI)をサンプリングしてディジタル化し、観測信号について統計処理行うことで、電界強度計が欲しい情報が表示できるようにする制御プログラムを作成します。更に、RSSIと電界強度の関係やその減衰特性についても説明します。
2. 観測したRSSIの統計処理について
RSSIの観測信号から揺らぎの少ないデータを得るために統計処理を行うことにします。一般的な代表値(統計値)としてn次モーメントをよく使います。n次モーメントとは、n乗平均のことで、サンプルデータのぞれぞれの値をn乗してから合計し、サンプル数で割った値です。計算量が少ないという特徴を有しています。今回は、代表値の中でも特に主要な「平均」と「分散」を使うことにします。平均についてはもうよくご存じですよね。一方、分散というのは揺らぎの平均エネルギーのことです。平均が「電圧の直流成分」とすれば、分散は「交流成分の電力」と考えることができます。更に、瞬間的に示す値も捉えたいので、「最大値(ピーク値)」と「最小値」も取得します。アマチュア無線機やスペクトラム・アナライザのピークホールド機能を思い出すと、その有用性がわかりますね。
平均、分散、最大値、最小値は、時間の関数ではありません。これは欠点ではなく、時間の要素をなくすことで、扱いやすい統計値となっています。しかし、電界強度の測定では観測信号の時間変動も重要であり、捉えられるようにしたいと思います。具体的には、間欠送信された電波のパルス検出を行って、無線LANや携帯電話などのデータパケットの送信回数を調べられるようにします。下図に、観測信号と統計値について整理します。縦軸は受信信号強度(RSSI)です。パルス検出のためには、適切な閾値(threshold)を設定する必要があります。低すぎる閾値は、過剰検出を招き、高すぎる閾値は、検出見逃しを発生させます。閾値の設定アルゴリズムについてはトライ&エラーで改良する必要がありますが、簡単のため、今回は、最大値(ピーク値)と平均値の中間値を採用しています。
観測信号と統計値について示しています。間欠送信の状態も把握したいので、パルス検出回数もカウントします。適切な閾値を与える必要があります。
3. 制御プログラム
それでは、制御プログラムをC言語でコーディングします。今回は、MCU(Micro Controller Unit)としてPIC32MX250を使っています。128KBのプログラムメモリと32KBのRAM容量がありますので、メモリ不足に陥ることはないと思います。また、40MHz動作と高速で、Fレジスタの幅も32ビットあり、高度な統計処理にも対応することができます。
前回の記事で紹介した回路図を見ると、測定動作の流れは次のようになります。まず、2個の対数アンプAD8307とAD8313の出力電圧をPIC32MXのAN0とAN1のアナログ入力端子で受け、A/D変換してディジタルの信号数列を得ます。どちらの信号数列を使うかを選択し、統計処理を行ったあと、I2Cで接続された液晶ディスプレイ(LCD)に結果を表示します。また、具備された4個のプッシュスイッチで測定の動作を切り替えられるようにします。これらの制御を行うためのCプログラムはこちらに載せています。PIC32MX250ではFレジスタの幅が32ビットです。コンパイルのためには32ビットのCコンパイラ「XC32」をインストールする必要があります。第4回の記事の4章「Cコンパイラのインストール」と5章「プログラムのコンパイルと書き込み」を参考にして、インストールとコンパイルを行って下さい。ただし、説明文中の「XC8」は「XC32」に、プロジェクト名「CWKEY1」は「EMF_METER32」に、プログラムファイル名「CWKEY1-MAIN.C」は「EMF_METER32.C」に置き換えて操作して下さい。
4. 操作方法と使用例
簡易電界強度計の操作方法について説明します。下図に、液晶ディスプレイに表示された測定値の例を示します。上段に、選択チャネル番号、対象測定区間における平均RSSI、対象測定区間の別(全体区間か直近の区間か)が、下段に、RSSIのピーク値(平均RSSIのピークではない)(単位dBm)、ピークパルスの検出回数が表示されています。なお、RSSIの最小値や分散(または標準偏差)については、内部計算のみで、表示はしないことにしました。表示スペースを確保できなかったことと、重要性が低いからです。必要な時に、制御プログラムを変更して、活用して下さい。
液晶ディスプレイの表示例です。
次に、下図を参照しながら、基板部について説明します。2個のSMAコネクタは、CH0のAD8307(入力帯域:DC-500MHz、出力:対数傾き 0.019V/dB、対数切片 -89dBm)とCH1のAD8313(入力帯域:100MHz-2.5GHz、出力:対数傾き 0.025V/dB、対数切片 -84dBm)の入力端子となっています。実際に動作させてみると、想像以上の高いレベルのノイズフロアが存在し、CH0のAD8307の方は約-75dBm、CH1のAD8313の方は約-65dBmとなっていました。必要に応じて、シールドなどのノイズ対策を強化して下さい。
基板部の説明です。
SW1~SW4の機能は、以下の通りです。
- SW1: CH0に切り替える。累積統計値もリセットする。
- SW2: CH1に切り替える。累積統計値もリセットする。
- SW3: 累積統計値をリセットする。
- SW4: 表示値の観測区間(全体区間 or 直近の区間)を切り替える。
液晶ディスプレイとPIC32MX250は、I2Cで接続されています。I2Cはバス型のインタフェースの一つであり、アドレスさえ異なれば、デバイスを並列にどんどん追加接続できるようになっています。今回、省電力化のため、I2CのSDA信号とSCL信号のプルアップ抵抗の値を4.7kΩにしましたが、抵抗値が大きいため信号の立ち上がり鈍く、50kHzのSCLクロック周波数までしか動作しませんでした。1.2kΩに下げると100kHzでも動作すると思います。最高400kHzにまで高められますが、使用した液晶ディスプレイACM1602NI-FLW-FBW-M01が100kHz動作までですので、上限100kHzに抑えて下さい。I2Cの動作周波数を変更するには、プログラム中のI2CSetFrequency()関数の第3引数の値を変えて下さい。CQ ham radio誌の2015年2月号(pp.88-91、著者:JP1BJB 東明洋氏)に、今回の製作と同じ液晶ディスプレイを使ったCW復号器の製作記事が紹介されています。液晶ディスプレイのモジュール内に搭載されている制御用のPIC16F689を使って全ての処理をするという面白い設計でした。興味のある方はご参照下さい。
PIC32MXには大変高度なペリフェラル(内蔵モジュール)が実装されています。例えば、DMAやA/D変換器の交互モード(alternate mode)と自動サンプリングの機能を使えば、統計計算や表示の処理しながら次の区間の観測が可能になります。これによって、途切れなくRSSIを観測できるようになりますので、パルスの検出見逃し(misdetection)を無くすことができます。また、プログラムメモリが128KBですので、余った領域にログ記録することも可能です。プログラムメモリ(内蔵フラッシュメモリ)へのデータ記録の手法については、これまでの記事「メモリキーヤを作る」で使用実績がありますので方法はもうご存じですね。ぜひ、皆さんで改良して楽しんで下さい。
SMAコネクタの位置ですが、基板上でそれほど離れていない場合は注意が必要です。基板上のSMAコネクタに直接受信アンテナを接続しがちになりますが、相互に干渉を与えてしまいますし、また、シールド対策をしにくくなり、ノイズフロアが上がってしまいます。必ずケーブルを用いて、アンテナを離して設置するようにして下さい。
基板上のSMAコネクタに直接アンテナを立てると、アンテナ間で干渉が発生しますので注意して下さい。
SMAケーブル付きのアンテナ基台を用いてアンテナを設置した例です。
5. 受信電力と電界強度の関係
ここまで、受信信号強度(RSSI)を測定することについて説明してきましたが、電界強度との関係はどうなっているのでしょうか。完全な自由空間においては、電力束密度は距離の2乗に反比例して減衰します。送信アンテナを中心とする半径rの球の表面積が4πr^2だからです。このいわゆる「逆2乗の法則」も含めて、ここで、RSSIと電界強度との関係について整理しておきます。
送受信機の周りに障害物が全く無いという完全な自由空間の場合、距離の2乗に反比例してRSSIが減衰することはわかりました。それでは、地上間で行うアマチュア無線通信における電波伝搬の場合はどうでしょうか。実は、その減衰の振る舞いは、送受信機間の距離によって異なります。下図は、大地反射が存在する場合の伝搬伝搬の様子を示しています。送受信機間の距離が短い場合は、図の(a)のように大地反射の影響は小さく直接波が支配的であり、距離の2乗に反比例してRSSIが減衰します。しかし、送受信機間の距離が長くなると、図の(b)のように大地反射の影響が無視できなくなります。2波モデルで近似し、更に、xが微小時に sin(x)=x となる三角関数の性質を使うと、距離の4乗に反比例して減衰することが求まります(参考文献[1])。大地反射で電波の位相が180度反転しますので、遠方になるほど、直接波と反射 が相殺されるからです。(a)と(b)が切り替わる距離のことをブレークポイントと呼びます。送信アンテナからブレークポイントまでの距離は、おおむね、送信アンテナの高さと受信アンテナの高さに比例し、波長に反比例することが知られています。
下図は、実際に減衰特性を測定した結果の例です(文献[1]から引用)。測定値のプロットが縦に広がっているのは、遮蔽による減衰の影響がランダムに現れているためです。高い周波数帯ではフレネル半径が小さくなりますので、歩行者や自転車などの小さい遮蔽物体であっても、電波の伝搬経路をちょっと横切るだけでRSSIが大きく減衰・変化してしまうのです。ピーク値はおおむね遮蔽のない条件で観測できた値を意味しますので(厳密には強め合った値のケースも考慮しなければなりませんが)、上側の包絡線に注目して下さい。およそ110mの付近にブレークポイントがあり、その距離を境として、減衰カーブが2乗減衰から4乗減衰に変化していることがわかります。この例は特定小電力無線の周波数帯の結果であり、アマチュア無線の周波数帯の結果ではないのですが、VHF/UHF帯では同様の特性を示します。
920MHz帯特定小電力無線におけるRSSIの距離減衰特性の例です。
アンテナを高所に設置すると、ブレークポイントまでの距離が長くなります。つまり、2乗減衰で済むエリアが大きく広がりますので、遠くまで電波が届くことになります。高所にアンテナを設置する理由の一つはここにあります。
6. おわりに
2台の簡易電界強度計の製作をとおして、倍電圧整流回路、コッククロフト・ウォルトン回路、オシロスコープ用のFETプローブと差動プローブ、対数アンプ、測定信号データの統計処理、I2Cの制御プログラム、RSSIと電界強度の関係、RSSIの距離減衰特性などについて触れてきました。いかがでしたでしょうか。次回からは、ディジタル信号処理について紹介します。
参考文献
[1] 辻岡哲夫, 古里麻依, 手塚耕平, 中島重義, 小谷博之, 高橋泰宏, "920MHz帯無線ネットワークを用いた屋外位置推定に関する実験的検討," 第37回情報理論とその応用シンポジウム予稿集, 5.3.4, pp. 383-388, 2014年12月. ISBN: 978-4-88552-293-2
[2] 長谷良裕, "電波伝搬特性の測定," RFワールド, no.9, pp. 59-69, 2010年3月. ISBN: 978-4-7898-4892-3
製作した2台の簡易電界強度計です。