Computer & RF Technology

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ch> power  
-88.8dBm

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

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

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

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

リンク

Load more