2021年9月3日金曜日

JAMSATの500円八木アンテナをMMANA-GALでシミュレーション

 先日、QFHアンテナを屋根上にあげて、衛星からの電波を受信しています。SatNOGSへも登録ができ、誰でも受信司令を出したり、過去の受信データを参照できる状態になりました。興味があったら試してみてください。

https://network.satnogs.org/observations/?station=2370

 さて、木曜日に大学の無線班ミーティング後に、ロールコールがあったのですが、私の家は大学から離れており、なかなか快適にロールコールに参加できていませんでした。そこで、屋根上にあげたQFHアンテナだとどうなるか試してみたのですが、多少改善したものの、全員とは交信ができる状態ではありませんでした。QFHアンテナは地平線方向への利得はあまり高くないですので当然の結果と言えば当然の結果です。

 というわけで、八木アンテナを作ってもっと快適にロールコールに参加できるようにしようと画策しています。簡単に作れる八木アンテナとしてJAMSATのWebページで公開されている500円八木アンテナ[1][2]があります。今回はこちらをもとに検討してみました。

 検討方法は、設計データをもとに、アンテナシミュレータで解析し、設計の妥当性や調整を行、実際に作って交信してみるというものです。この記事ではシミュレーションを行います。後日、設計の調整や製作、交信実験の結果を示そうと思います。

 アマチュア無線家がよく使っているアンテナシミュレータにMMANA-GAL[4]というものがあります。これはJE3HHT氏が開発したモーメント法のシミュレーションMMANA[3]の改良版という位置付けのようで、JE3HHT, DL1PBD, DL2KQによって開発されています。このソフトウエアはかなり使い始めやすいので今回はこのソフトを使用してみます。

MMANA-GALのダウンロードとインストール

 MMANA-GALのダウンロードページからダウンロードして、インストールしてください。

 「Download MMANA-GAL basic version」と書いてあるリンクからダウンロードできます。
MMANA-GALはbasicバージョンとPROバージョンがあって、basicバージョンは解析規模と非商用利用の制限がありますが、無料で使えます。単一の八木アンテナ程度であれば十分足りるはずです。(ちなみに、私はパラボラアンテナをシミュレーションしようとしたら、規模制限に引っかかって、openMoMに移行したという経緯があります。)

 ダウンロードしたインストーラーを実行して、インストールします。インストールが終わったら、起動できるようになっているはずです。もしかしたら、管理者権限を入れないと設定が書き込めなくてエラーが出るかもですが、適宜設定してください。
あと、言語設定で日本語が選べますが、初期状態だと化けます。必要であれば、以下の無録記事を参考に修正してください。ただし、全部は文字化けが消えないようです。この記事でも後半で文字化けがひどくなったので英語に戻しています。



アンテナモデルの作成

 JAMSATの設計データ[1]を参考に、データを入力していきます。今回は6エレのデータを使ってみます。

設計データ(出典:JAMSAT Webページ[1])



 アンテナ定義に移動して、適当な名前を入力して、周波数を435MHzに設定します。
 今回はx軸をアンテナの放射方向にします。垂直偏波にしたいので、縦にエレメントを並べます。
 まずは、反射器(REF)から入力します。長さ340mmの3mm棒ですので、以下のように入力してください。数値の単位は基本的にメートルで、線分の半径Rのみmmです。Segは-1推奨です。




 形状タブに移動すると、340mmの長さの棒が表示されています。モーメント法のアンテナシミュレータは、アンテナをこのような線分の組み合わせで表すことでアンテナをモデリングします。


 次は、放射器を作ります。放射器は下の図のようなJ型の形をしています。横幅が330mmで、縦幅が13mmです。太さは他と同じで3mmです。


 この時注意が必要なのが、上の横棒と同軸ケーブルのGND側に繋がるT分岐です。ここを、一本の横棒と同軸ケーブル分の縦棒で表現すると、これらの線分が電気的に繋がっていないことになって、シミュレーション結果がおかしくなります。よくハマるポイントなので注意してください。正しくシミュレーションするには、緑と青と黒の成分で分ける必要があります。つまり、放射器を表現するためには、5本の線分要素が必要になります。ちなみに、同軸ケーブルの芯線とGND線は分ける必要はありません。中央で縦につなぐエレメントの中央から給電するというふうに指定します。
 
 緑線から時計回りに一筆書きするように作っていきます。X=64mmで5本線を以下のように追加します。左下の給電点の新規の隣にw6cと入力します。これで6番目のエレメントの中央から給電する構造になります。電圧と位相は自動的に入力されますので、変更しないでください。

 形状タブに移動すると、中央に赤丸があるJ型の放射器が作られているのがわかります。赤丸は給電点を示しています。


 最後に導波器を4つ、反射器と同様に配置して、形状は完成です。




アンテナの解析


 計算タブに行って、計算条件(自由空間/地上高、ワイヤー素材)を指定して、開始をクリックしたら計算が始まります。とりあえず今回は自由空間で計算してみます。しばらくすると計算結果が表示されて、パターンタブに行くと放射パターンが見れます。



 SWRが2.39で最大利得が11.01dBiという結果になりました。最大利得はJAMSATが言う11.2dBiに近いですが、SWRが悪いですので、放射器の長さを調整しましょう。JAMSATの別のページによると、10mm弱切ることになるそうです。

エレメント長の調整

 まずは、SWRがどこで落ちているのかをみるために、周波数特性ボタンをクリックします。すると下のような画面が出てきます。


 文字化けしていますが、右の8000kHzは帯域幅ですので、10000kHz (=10MHz, 430~440MHz)に変えて、推測、全点、詳細のどれかのボタンをクリックします。後者ほど時間がかかりますが正確な周波数特性が取れるようです。今回は、簡単なモデルですので詳細をクリックしてみます。その後、SWRをみてみると次のようなグラフが出てきて、低いところでSWRが落ちていそうだと分かります。

 放射器の長さをカットすることで435MHzで最小のSWRにできそうです。手動で調整してもいいですが、MMANAには最適化機能があるので、それを使ってみます。
 周波数特性のウィンドウを閉じて、最適化ボタンをクリックします。最適化ウィンドウが開きます。(文字化けがかなりひどいので言語を英語に戻しています。)
 下の表のTypeをクリックしてWireを選びます。
 Positionを2(ワイヤーの番号に対応)にして、WhatをZ1にします。
 Stepが0.001m(=1mm)であることを確認します。
 上のRate of evaluationはどの部分を重点的に改善するかを指定するものです。今回はSWRを下げたいので、SWRを右に振って、他の要素は左に振ります。


 MMANA-GALが自動的に長さを変えながらシミュレーションをして、SWRの低くなる長さを見つけてくれます。MMANA-GALが「Save optimization log as *.mao file?」と聞かれますので、シミュレーションのログを保存しておきましょう。

 結果は以下の通りで、430~440MHzでSWRが1.8以下になっており、アンテナの性能が確認できました。





おまけ

 6エレメント以外にも、11エレメントまで設計データがありますが、私がMMANA-GALで試したところ、他の設計はあまり帯域幅が広くないようです。帯域幅の検証はもう少し時間をかけて後日記事にします。


参考文献

[1] WA5VJB Kent Britain and AB5SS John Maca、「VHF/UHFのための安価なアンテナ」、JAMSAT、https://www.jamsat.or.jp/features/cheapyagi/uhf.html
[2] AF6TK 岡本健男、「435MHz用6エレメント八木の製作(改訂版)」、JAMSAT、June 20, 2020、https://www.jamsat.or.jp/features/cheapyagi/
[3] JE3HHT、「アンテナ解析ソフト MMANA」、May 18, 2003、http://je3hht.g1.xrea.com/mmana/index.html
[4] DL2KQ&DL1PBD、「Help MMANA-GAL basic」、http://gal-ana.de/basicmm/en/
[5] 大庭信之、「アンテナ解析ソフトMMANA」、CQ出版、2007年11月15日、https://www.cqpub.co.jp/hanbai/books/12/12401.htm





2021年9月1日水曜日

QFHアンテナモデル生成コードのバグとQFHアンテナを作る際の給電点の注意

 先日、QFHアンテナのモデルの生成コードを公開しましたが、よくみたらバグっていました。

 気づいた経緯は、高さの影響をみようと思って、比較元として、GNDプレーンがないタイプを生成したモデルを加工して作ってみたんですね。

 そしたら、放射パターンが見事に下を向いていました。

GNDプレーンを削除したシミュレーション結果

 原因を探っていたら、意外とすぐに見つかって、給電点の構造が問題でした。
下向きに放射パターンが出てくる給電点の構造

正しく上方向に放射パターンが出てくる給電点の構造

 よくみてもらうとわかるんですけど、横方向に伸びているエレメントが長いループにつながっているんです。それで下と右、左と上を繋ぐように給電してあげないと放射パターンが下に出てくるようです。

正しい給電点の構造にしたら、きちんと上方向に放射するようになりました。
正しい給電点の時の放射パターン


 このアンテナの作り方を教えてもらった、研究室の留学生も、電波暗室で測ったら放射パターンが下に出てたって言ってたことがあったので、多分同じミスだったんでしょう。実際に作る際も、給電部を作るときに間違っていないか気をつける必要がありますね。

 GitHubにアップロードしたコードも修正して、GND板を外してもRHCPの放射が上に出るようになりました。

2021年8月30日月曜日

QFHアンテナのopenMoMシミュレーション

 利得はほどほどだが、追尾装置を必要としない衛星通信用アンテナとしてQFHアンテナがある。ナガラ電子[1]のものを購入して学生実験の一テーマとして衛星からの電波受信実験を行なったが、見事にCWが受信できる。インターネットを調べてもかなり色々な設計データが得られる[2]。OpenMoM[3]を使ってシミュレーションをしてみようと思って、一応の成果が出たのでここにメモ書きとして残す。

(経緯:4ヶ月後に重い腰を上げてアンテナを自宅屋根上に設置したら、シミュレーションのやり方を忘れていた。)

 QFHアンテナは2組のねじれたループが組み合わさった構造になっている。ねじれたループの2つに上から給電すると円偏波でドーム状のアンテナパターンが得られる。この構造で最大5dBi強の利得が取れるようだ。

QFHアンテナの構造
(2021年9月1日修正)

QFHアンテナのアンテナパターン例
(2021年9月1日修正)


 このねじれをopenMoMのGUIソフトだけで再現するのは難しいので、PythonでパラメータファイルからopenMoMモデルを作るコードを書いた。ねじれの角度は色々なパターンが取れるが、半周捻ったものが一般的なようなので、今回はそれで固定している。コードは綺麗ではないがそこはご愛嬌ということで。

https://github.com/J-ROCKET-BOY/QFH-antenna-OpenMoM-simulation

(2021年9月1日 結構なバグがあったので、アップデート 詳細は次のブログ記事で)

https://rocket-live.blogspot.com/2021/09/qfhqfh.html

 pythonが動く環境で "python QFHgenerator.py parameter.csv"などと実行すればcsvファイルに格納されたパラメータでopenMoMのモデルが生成する。ommRun.batを実行すると、生成されたモデルファイルのシミュレーションを実行する。(ommRun.batはこちらのシミュレーション環境に合わせて構築しているので、適宜修正して実行のこと)


各パラメータの意味は次の通り

File Name: モデルのファイル名、格納されるフォルダ名

BaseModel: 元となるモデル。周波数範囲などの物体形状以外のシミュレーションパラメータはこのモデルファイルを引き継ぐ

d[m]: エレメントの太さ

Dl[m], Ds[m]: ヘリカルの直径(Dl:大きい方、Ds: 小さい方)

Hl[m], Hs[m]: ヘリカルの高さ(Hl: 大きい方、Hs: 小さい方)

Ht[m]: 地上高(上エレメントの高さ)

Div: ヘリカル部の分割数(36なら180/36 = 5度ずつに分割)


parameter.csvに記載しているパラメータはアマチュアUHF帯に最適化したパラメータのみを残している。

最終設計の寸法(エレメント直径: 3mm)

 最終設計のパラメータは、John Coppens ON6JC/LW3HAZ氏の計算サイト[2]の設計を元に、436.5MHz(アマチュアUHFの衛星割り当ての真ん中)で交差偏波成分が最も減るように全体のサイズを調整したものである。

9月1日追記:コードが間違っていたので放射パターンが多少変わって、最適とは言えなくなりました。ただし、それほど悪い設計ではないようです。

 結果としては、アマチュアUHF帯全域で5.0~5.1dBi程度の最大利得で仰角50度付近にある。整合はアマチュアUHF帯全域で反射損失が-11.9dB以下、VSWRで1.7以下となった。整合に関してはもう少し調整の余地があるかもしれない。

放射パターン YZ平面

放射パターン XZ平面

反射特性

【おまけ】

実際に作って屋根にあげてみた。ねじれ方向は逆なので、右旋回の円偏波になっている。

(9月1日追記:ねじれ方向はモデルと同じです。)

BIRDS-3[4]からのCWやGMSK信号がよく見えている。思ったよりGMSKのパケットのSN比が良いのでもしかしたら高仰角ならデコードができるかもしれない。

屋根の上にあげたQFHアンテナ


BIRDS-3 ウグイスからのCW


BIRDS-3 ウグイスからのGMSK信号


【参考文献】

[1] CQオーム、「ナガラ電子QFH435(QFH-435) 430MHzQFHアンテナ 低軌道衛星通信用」、https://www.cqcqde.com/fs/cqohm/16078

[2] John Coppens ON6JC/LW3HAZ, "Quadrifilar helicoidal", http://jcoppens.com/ant/qfh/calc.en.php

[3] 株式会社EEM、「OpenMoM - オープンソースモーメント法シミュレーター」、http://www.e-em.co.jp/OpenMOM/

[4] BIRDS-3 project, "Amateur Radio Operators", https://birds3.birds-project.com/outreach/document/

[5] 大賀明夫、「モーメント法の基礎とOpenMoM入門」RFワールド No.39、pp14-51、CQ出版2017年、https://www.rf-world.jp/bn/RFW39/RFW39A.shtml

2018年12月5日水曜日

アマチュア無線局免許状を手に入れました

約1ヶ月前ですが、アマチュア無線局の免許状が届きました。



ただ、手持ちのアンテナが八木アンテナだけなので、適当なヘンテナかJポールアンテナを作ろうかなと思います。

アマチュアムセン イマダニヨク ワカラナイ

2018年9月22日土曜日

今週一週間のアマチュア無線への道、進捗報告

アマチュア衛星を追いかけるのにハマっているロケット小僧です。

アンテナ小僧にでも改名しようかな?


今週の進捗が結構出たので、報告しておきます。

1,大学生協に追尾運用をしやすい場所を見つけた。

生協2階は空が開けていて、グラウンドみたいに砂だらけにならず、さらにパソコンを置く机があるという完璧な場所でした。
難点は、休みじゃないと人が多すぎてつらいだろうなというところです。

生協2階で追尾中の動画


2,アンテナの測定と調整を行った。

今まではアンテナシミュレーションを元に作るだけでしたが、電波無響室をちょこっと借りれたので、いくつか測定と調整をしました。
内容は、ネットワークアナライザで、アンテナの共振点を測って給電部のエレメント長をの調整と、SWRメータでSWRの測定を行いました。
437.5MHzに共振点を調整して、SWRは435MHz~440MHzで1.25~1.30でした。

電波無響室にて共振点測定


3,母校にでデモしてきた。

母校で追尾デモをしてきました。
急にお邪魔しましたけど、喜んでもらえたようで良かったです。

アンテナ梱包

高校で展開してデモ


4,UHFのトランシーバーを手に入れた。

これで、個人局が開局できる!
機種名はTR-9500です。
古い無線機なのでスプリアス保証してもらわないと開局できないですが、ここによると、可能なようのでこれで開局に向けて進めようと思います。

CW受信感度測定の様子


来週は、開局申請とアンテナローテーターをオープンソース化したいなと考えています。
夏休みが残り1週間なので、そこまでは進めてしまいたいです。

2018年9月16日日曜日

アマチュア衛星受信中

ローテータを自作したので、430MHz帯を使っている衛星を追っています。



このサイト(https://www.n2yo.com/satellites/?c=18)によると、430MHz帯でビーコンを出している運用中の衛星は50機以上いるようです。

いくつか受信できたので、受信できた衛星と自分の環境での中心周波数をメモがてら載せます。

JAS2(FO-29)
437.7959MHz

CUTE-1.7+APD II
437.27455MHz

SEEDS(SEEDS-II)
437.4858MHz

KKS-1(KISEKI)
437.3862MHz

HORYU-IV
437.37285MHz

AOBA-VELOX III
437.3726MHz

BIRDS-II(UiTMSAT-1 MAYA-1 BHUTANのどれか)
437.3742MHz(違う周波数で2つ聞こえたからおそらく3つのうち2つ受信したっぽい)

周波数は自分のSDRの個体差もありますし、必ずしも正しくないかもしれません。(一応周波数発振器で校正はしていますが・・・)

デコードがちゃんとできるようにしたり、録音データのアップロードとかできるようにしたり、もうちょっと環境を整えてきちんとした受信報告ができるようにしたいと思います。

あと、おそらく来年3月のNT京都にこれを出展します。

2018年8月19日日曜日

LinuxでTLE自動更新

夏休みの空いた時間を使ってUbuntuをデスクトップに入れてみては、Pythonコードがほぼそのまま動いてくれて感動しているロケット小僧です。
そのまま動かないのは、Windowsでコードを書いているときにソースコードの頭2行に書くおまじないをサボっていたせいですけどね。

メモがわりに、先日の記事で提示したTLEの自動ダウンロードスクリプトで修正版を貼りまする。(先日の記事にも追加しました)

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from spacetrack import SpaceTrackClient

st = SpaceTrackClient('ID', 'password')
TLE = st.tle_latest(favorites='KIT', ordinal=1, epoch='>now-30', format='3le')

print(TLE)

先日の記事と同じく、IDとpasswordをspacetrack.orgで取得したものに置き換えて、favorites='KIT'を実在するリスト名に指定して実行すると、そのリストをダウンロードして表示します。
この表示をリダイレクトでファイルに保存してOrbitronなどで使う方法を取っています。
ソースコードをいじらなくても、出力先は後で変えれたらいいなぐらいの気持ちで変えました。


crontabで毎時呼び出して使っています。

00 * * * * python /home/username/tle/downloadTLE.py > /home/username/tle/satellite.txt

2018年8月21日更新
0時ちょうどにしか更新されないなと思ったら、crontabの設定ミスってました。

自動実行がWindowsより圧倒的に簡単にできて便利だなぁと思う今日この頃でした。