Computer & RF Technology

CentSDRにパワーメータを付けてみました

試作しているCentSDRですが、受信電力を測定する機能を付けてみました。小さな電力から感度があり、-110dBm ~ -30dBm程度の範囲では直線性が得られており、意外と使い物になりそうな感じです。

写真は中波放送のNHK第一 567kHzを受信している様子です。7MHz用のフルサイズダイポールに接続しているのですが、-40dBm程度の入力電力があるようです。

image

背景として、CentSDRにSメータを付けていないことが無いことが気になっていました。どうせならと、代わりにパワーメータとしてみたわけです。値付をしたのでちゃんと電力の表示となっています。測定の種類としては、全電力ではなく、帯域内の電力、すなわち選択レベル計となっているわけです。

測定原理ですが、1フレーム1ms分のサンプル列の波形からRMS (Root Mean Square)を計算しており、これが電力に相当します。ADCで取得したサンプルから計算しますので、対象となるのは帯域内の成分だけです。48kHzでサンプリングしていますので、中心周波数から前後24kHzの内側にある成分のみが測定対象です。帯域外の成分は、ADC内のフィルタで除去されています。

ADCの前にPGAでアンプされているのですが、このゲインはAGCで制御されており、そのゲインはチップから取得することができます。フロントエンドにもアンプが入っていますがこれはゲイン24dB固定です。

計算で得たRMSは真数(リニア)なので、対数(ログ)を取ってdBに変換します。そこから、手前のゲイン分だけ差し引けば受信機に入力された電力となるわけです。

実際には校正として、レベルがわかっているSGの信号を入れて値付をしています。あとは直線性の範囲内で、それなりに正確な計測値が得られているようです(今度グラフを出してみます)。試した範囲だと、-110dBmから-30dBmを超えるところまで直線性が得られているようです。

計測値は、ディスプレイの2段目にdBm単位で計測値を表示するようにしてみました。フォントを用意していないので、画面ではmの無いdBの表示ですが、実際にはdBmです。AGCを有効とした場合だけ、入力電力を表示するようにしています。AGCが無効の場合はゲインをマニュアル設定しますので、ゲイン表示を優先し、電力表示されません。

さきほどの写真と同じシチュエーションで、NHK第二 747kHzを受信してみます。こちらは-32dBm程度となっています。なんと1µWもの入力電力があります。

image

現在地から北東方向11キロほどに、NHKの中波送信所があって、NHK第一は100kW、そしてNHK第二は500kWの出力(東日本をカバーする中波放送で最大出力の送信所)です。第一と第二では、5倍すなわち7dBの差がありますので、数値の差とだいたいあっています。

7MHzでアンテナをつないだ状態だとこんな感じです。-80dBm前後を示します。なにも聞こえている局が無い状態でほとんどが外来ノイズです。

image

アンテナを外してみると、ノイズが減り、AGCが効いてフルゲインになります。この状態で-120dBm前後を示します。フロントのアンプBGA2817は、NF=3.9dBなので、HF帯には必要十分です。

image

測定値は画面だけではなく、USB経由で得られます。USB CDC=シリアルとして見えますので、各種コマンドを使うことができます。

ch> power
-88.8dBm

AGCをオフにすると、受信電力の表示の代わりに、マニュアルゲインの設定のための欄になります(アンテナマークが付いて、色が黄色になります)。

image

このパワーメータには欠点もありまして、第一には受信帯域内で特性がフラットではないことです。±24kHzの両端近くでは-5dB程度下がっており、また中央付近には数10Hz幅の穴があり、中心は無応答です。両端の低下はΣΔADCの弟子メーションフィルタの肩の特性が出ています。中心の穴は、ADC手前でDCカットされていることが原因です。これらのことから、正確な値付をしようとする場合には、目的の信号を、中央からのオフセット数kHzの付近にくるようチューニングする必要があります。実用上は、信号はスペクトラムでいつでも見えていますので、チューニングは容易に可能です。

ダイナミックレンジについてですが、SGからの入力レベルを上げて-20dB付近になると、だんだん測定値が小さめに表示されるようになります。これはおそらくフロントの固定ゲインアンプの飽和などが原因かもしれません。測定範囲を拡大するには、ここも可変ゲインにするか、切り替えでアッテネータを入れるかですが、現時点ではシンプルさを選びたいと考えています。

さて、キットの頒布を開始しましたが、ファームウェアにはもう少し手を入れようと思っています。すくなくとも、チャネルの設定と、フラッシュメモリへの保存ができるようにしようと考えています。これが一段落したら、バイナリファイルでの頒布を行う予定です。もう少々お待ちください。ソースはgithubに常時pushしていますので、こちらを利用することも可能です。

リンク

comments powered by Disqus