理乃美

ソフトとハードと論理の覚え書き

ビームパターン - 自作アンテナシミュレータ

2022-03-03 00:10:30 | RF

ダイポールアンテナのビームパターンは下図の3つのどれだろうか?

実は、全部同じ。半径方向のスケールが異なるだけ。

青色は、電界強度を正面の値を1.0とした比率で表したもの。 0.5は 電界強度が半分で、0 (中心) はゼロ

黄色は、比率を常用対数で 0~1/10000 の範囲を抜き出して表示したもの。つまり0.5 は 1/100 で、0 (中心) は 1/10000以下

赤色は、比率の ln2 乗. 0.5は 1/10 で 0.25 が 1/100, 0 (中心) は 0.

こういう事も、実際に自分の手を動かしてやってみないと気づけない。プログラムを自作する意味の一つかな。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ヘンテナを計算する

2022-02-24 23:57:46 | RF

Method of Moment 法のアンテナシミュレータを自作してヘンテナの計算をしたところ、安定した結果が得られた。

対象は、MMCPに付属のHE1z200.ANT.  200Ω で設計されたヘンテナ。50.35MHz でのインピーダンスをセグメント長を 1/20λから1/500λ まで変えて計算した。ちなみに計算自身の期待精度は4桁程度。

Segment長 Registance Reactance
1/20 λ 223.464 -55.0166
1/40 λ 220.705 -42.6244
1/80 λ 220.000 -39.6729
1/100 λ 219.863 -39.2179
1/150 λ 219.693 -38.6951
1/200 λ 219.596 -38.4169
1/500 λ 219.338 -37.6545
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ドップラーセンサーとPluto SDRによるマイクロ波 FM通信実験

2021-08-04 16:15:12 | RF

ドップラーセンサーを送信機にPluto SDRを受信機にして 10GHz 帯FM音声通信の室内実験に成功した。

元ネタは、RFワールド No.8 の マイクロ波FMワイヤレス・マイクの制作[1] や 2018年のマイクロウェーブミーティング講演資料 [2]など.

 

0. はじめに、

昔は、マイクロ波というとガンダイオードを使うのが定番だった。最近では簡単には手に入らないなぁ、と思っていたところに前記の情報を得たので試してみることにした。

RFワールドの記事は送信も受信もドップラーセンサー。送信側はドップラーセンサーの電源を揺さぶるという単純な物だが、受信側はドップラーセンサーのIF出力をFM復調する回路の制作・調整が面倒そう。

Pluto SDR同志だと、そもそも2台必要なうえ、基本波を十分にカットできないとどっちの周波数で通信しているのかわからなくなってしまう。10GHzの1/3は携帯電話に割り当てられた周波数でもあるしね。

ということで、送信はドップラーセンサー、受信は PlutoSDR という組み合わせでいくことにした。

1. ドップラーセンサー

RFワールドの記事で使っていたドップラーセンサーは新日本無線のNJR4178J。以前は秋月電子通商で単体購入できたが、今はキットに含まれるパーツとしてしか入手できない。そのいっぽうで、みんな大好き中華通販では HB100というドップラーセンサーがあちこちでお安く売られている。ということで、両方を入手して試すことにした。まあ、HB100と言ってもパチモンだとは思う。この記事でHB100とあるのは、私がAliExpressでとある販売店から購入したドプラーセンサーのこととして読んでほしい。

左がNJR4178Jで右がHB100。電線は実験の為に私がハンダ付けしたもの。MJRがダイキャストのしっかりしたカバーに対してHB100はプレスで作ったカバー。どちらも裏のシールをはがすと周波数調整用のビス穴が現れる。

HB100をバラすとこうなる。おそらく、左上のは発振用のTrと誘電体共振器。中央下にはミキサのデュアルダイオードかな。

2. PlutoSDRを使った 10GHz帯の信号確認

まずは、アンテナ作り。なにしろ、10GHz帯を扱える測定器が無いので 10.525GHzの 1/3 の 3.5GHz用パッチアンテナを制作。この周波数なら PlutoSDRで直接扱えるし、手持ちのスペアナで受信もできる。手持ち機材で3.5GHzでの動作が確認できれば、その3倍波でも動作するだろうという算段。

手持ちの1.6t ガラエポ両面基板を適当に切り出し、幅広のビニルテープを張り付けてレジストにしてエッチング。SMAのジャックをはんだ付けして一丁上がり。二つ作って、一つはPlutoSDRのTXに、もう一つはスペアナ接続して電波が通ることを無事確認。アンテナはできた。

次に、ドップラーセンサー(NJR4178J)に5Vを供給してPluto SDRで受信を試みる。制御は、いつものごとくJetson nano上のGNU Radio 3.7 。サンプル周波数がかぎられているので、ちょっと探したが無事ドップラーセンサーからの信号を確認。

だが、少々妙な現象が。スペアナ表示をさせて、信号がセンター周波数より高いときにLO Frequencyを高くすると、信号はより高いほうに逃げてゆく。つまり、周波数の高低が逆にみえている。

PlutoSDRで3倍波が受信できるのは、LOの3倍波成分と信号とでのIQ復調だと想像するが、3倍波成分なので本来の相とは異なっていることで周波数関係がひっくり返って見えるのではないだろうか。ただ、周波数が逆なのは混乱するので Complex Conjugate を通して逆転させることにした。

次に、ドップラーセンサーをHB100に換えて受信実験をしたところ、なかなか信号を探し当てられずに苦労した。結局、230MHzも下に離れていたのをやっとこさ探しあてた。中華クオリティなのか、かの国の周波数割り当てがそうなのかは不明だけど。

なお、ドップラーセンサーと受信アンテナが (5cmとか) 近すぎるとゴーストの信号が見えたりする。20cmほど離して実験することにした。

3.  ドップラーセンサーを使ったFM送信機

回路は次の通り、とっても安直。12Vを5KΩの10回転ポットで分圧して基準電圧を作り、OPアンプのボルテージフォロアの出力をそのままドップラーセンサーの電源とするという作り。ドップラーセンサー程度ならオーディオ用のOPアンプでドライブできるだろう、異常発振があったらその時はまた考えるさ、という考えである。基準電源のインピーダンスが1KΩ程度だからイヤホン出力で十分ドライブできるだろうと考え、ウォークマン(音源)のイヤホン出力を100uのコンデンサーでDCカットしてつないだ。

回路はブレッドボードに組んだ。赤と緑のミノムシクリップはウォークマンのイヤホンジャックからの線。右上からの撚った線は電源(12Vなのは機材の都合)。OPアンプの下半分は未使用で、上半分をボルテージフォロアーに使っている。

4. PlutoSDRを使った FM受信機

最終的なGnu Radioの構成は以下の通り。Complex Conjugateが挟まっているのを除けば、何の芸もないFM受信回路。

5. FM通信実験

通信実験をしてみたところ、意外とあっさり成功。ただし、リアルタイムの音声出力に対して信号生成が追い付かずにぽつぽつとノイズが入る。GNURadioのログに、aUaUと並んでいるのがそれ。サンプルレートやFM変調のパラメータを調整すれば解決できるだろう。

最初はNJR4178J。ウォークマンの音量を最大にして流し込むと、HDMIでつながったモニターのスピーカーからはっきりと音が流れる。アナウンス音声だとノイズが目立つがJ-Popならノイズは気にならない。

次にHB100で実験。周波数をHB100に合わせた状態で試したところ音が割れる。ウォークマンの音量を半分に絞ったところいい感じの音になった。HB100の方が、電圧-周波数の感度が高いと見て取れる。

6. 電源電圧-周波数の関係を測定

改めてドップラーセンサーの電源電圧と周波数の関係を測定した。マイクロ波カウンターなど無いので、GNU Radio でFFT表示させ、画面から読み取った。周波数基準はPLUTO内蔵のクリスタルなので絶対精度は期待できない。また、発振周波数はゆらゆらと動いているところを、えいやと読み取った値である。

結果、VCOとして考えると、HB100はNJR4178Jより20倍感度が良い。ただし、周波数の揺らぎも同様な感じがする。

7. まとめ 

ドップラーセンサーとPlutoSDRを組み合わせることで、夏休みの工作レベルの手軽さで 10GHz帯のFM音声通信を実現することができた。

 

[1] マイクロ波FMワイヤレス・マイクの制作, 漆谷 正義, RFワールド No.8 p62-, CQ出版社

[2] PlutoSDR単体による10GHz帯の送信と受信, JA1SYK 松本 廣, 2018/11/17,  http://www5.wind.ne.jp/ja1syk/MWM-2018/PlutoSDR-10GHz-P.pdf

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

GNURadioでAM変調

2021-01-24 11:02:20 | RF

Jetson nano上でGNURadio 3.7を使って実験した記録。今回は、AM変調。

GNURadioでのAM変調はとてもシンプル。最大振幅でも過変調にならないようオーディオ信号を半分にしてキャリア成分に相当する定数 0.5 を加え、複素信号に変換するだけ。アナログ回路だと、トロ活に「DBMでAM変調できることはあまり知られていませんが...」(*1)と紹介されている方法に相当する。

Flow graphは次のとおり。なお、44.1KHzサンプリングのオーディオ信号をPlutoSDR Sinkに渡す2.205MHzサンプリングに Rational Resamplerで変換しなければならないが、Complexの変換よりFloatでの変換の方が処理が軽いだろうと考えてここに置いている。

アナログ回路の場合、DSB信号を作ってそこにキャリアを加える方法もある。キャリアが0Hzだから、DSBを作ったあとに定数を足しこむ順番になる。Flow graphにすると次のとおり。

アナログ回路だと両手法でだいぶ実装が異なるが、GRC上で実現する分にはブロックの順序が入れ替わった程度の違いでしかない。

AM 送受信の全体のflow graphはこのとおり。上半分はAM変調波を作ってPlutoSDR Sinkに流し込める複素信号を作る部分。下半分はPlutoSDR Sourceからの複素信号からAMの復調をする部分で、左下で正弦波をかけている部分はTx Rxでのチューニングのずれを模擬している。

AMの復調は、複素信号の絶対値を取ったあとキャリアによる直流成分をローカットフィルタで取り除く方法にした。こうやって、flow graphのロジックが正しいこと、実時間で動作可能なことを確かめてからPlutoを使った実験にうつった。図の最下部のログに aU とうのがいくつか並んでいる。これが、オーディオ信号の出力に対して処理が追い付かずにアンダーランが起きた記録。それぞれのブロックの初期化やらなにやらで処理が渋滞するのだろうか、フローをスタートさせた直後が少しアンダーランが発生するのは致し方ないようだ。

 

1)  山村英穂, 改訂新版 定本 トロイダル・コア活用百科, p285, 2006 CQ出版株式会社, ISBN4-7898-3067-5

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

GNURadioでSSB変調 - フィルター方式

2021-01-24 00:10:37 | RF

Jetson nanoでGNU Radio 3.7 を用いて実験した記録。今回は、フィルタを使ったLSBの生成実験。

アナログ回路では、DBMでDSBを生成したあとXtalフィルタでUSB/LSBだけを通して取り出す、というのが定番。これをGRCで行う。

ただ、アナログ回路のSSBジェネレータだと、例えば搬送波9MHzのDSBを作り9MHzで通過帯域幅 3KHzのXtalフィルタに通すが、それをそのままGNURadioのフィルタで実現しようとしたってできない。その代わり、数値計算なら低い周波数でもOKなので、搬送波 0 HzのDSBを作り複素係数のバンドパスフィルタを通して -3KHz~-100HzのLSBを取り出す、といった芸当ができる。

Hilber フィルタモジュールを使ってSSBを生成したときの、サンプルレートを下げたメリットの経験も反映して作り直したflow graphがこちら。二つあるバンドパスフィルタの2つ目が黄色なのは、バイパスする設定になっているため。

44.1KHzサンプリングの疑似音声ファイルを100-2.7KHzのバンドパスフィルタに通したものをソースに、フィルタでLSBを取り出した結果のFFTはこちら。

実用的には十分と思うが、さらにバンドパスフィルタを2段重ねにするとこうなる。

なお、実験した全体のflow graphは以下のとおり。上側は LSBを生成してPluto Sinkへ流し込める複素信号を生成する部分。下側はPluto Sourceからの複素信号からダイレクトコンバージョンでオーディオ信号を得る受信部で、左下の正弦波をかけている部分は送信側と受信側の周波数がすこしずれることを模擬している。

 

疑似音声信号は、CQ出版社のサイトからRFワールド誌 No42の記事関連ファイルとしてダウンロードできるtest_signal.wav ファイルを使用。(https://www.rf-world.jp/bn/RFW42/RFW42P.shtml)

 

 

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする