このへんのエントリの続きです

2014年に作ったSWR計でしたが、先月あたりセンサー部分の作りなおしをしてみて、前よりもよさそうだという感触を得られたので、一旦常用できるように仕上げることにしました。というのも、デスク上にバラックで積んであるブレッドボードと液晶がさすがに邪魔だからです……

PCB Milling で基板作成

今回 PCB-GCode という Eagle のプラグイン (ULP) を使ってみました。前に PCB Milling したときは謎の GCode 生成 ULP を使いましたが、こちらのほうが良くできていそうです。

こんな感じの基板を作って

PCB-GCode はこんな感じで

こんな感じの GCode をつくって

GrblServer で切削させて、実装しました。0.8T の基板なので配線が透けています。

片面切削だけにしたかったので、できるだけ Via をつかわず配線しています。そのため、DIP のピンとピンとの間を通すラインがあり、これがうまくいくか不安でしたが今回はうまくいきました。これぐらいなら 0.1mm 単位ぐらいの雑な調整でもなんとかなるようです。

CNC 切削で基板を作る場合、この程度の規模だと時間的にはユニバーサル基板で雑に実装するのとそれほど変わりません。しかし配線を Eagle 上でやって ERC にかけているのをそのまま切削しているので「配線ミス」というのが起きず、安心して実装できます。ユニバーサル基板での実装は結構気を使って疲れるので、ちょっと面倒でも切削でつくるのが気は楽です (ケースバイケースですが)。

インターフェイス

前に作ったものの中身をそっくり入れかえただけで、液晶も昔のものを再利用しています。バラック状態のときと違うタイプの液晶なので、ライブラリのAPIを適当にあわせたりして対応させました。

本当はせっかくなのでもっと格好いいケースに入れたいのですが、ひとまずこのような形におさめました。

ほかにも、高SWR時にブザーを鳴らす機能だとか、送信中にオンになるオープンドレイン出力だとか、シリアルに常時SWRを出力する機能なども実装してあるのですが、使ってません。

  1. トップ
  2. tech
  3. 自作SWR 計を一旦仕上げ

そういえば KX3 の源発振はDDSではなくて Si570 とかいうプログラマブルオシレータだよな、ということを思い出し、どうやって90度違いのI/Qを作ってるのが気になりました。

回路図を見ると以下らへんです。左側からきているのが Si570 からのクロックです。

NC7SB3257 はマルチプレクサ、74VHC4040 はカウンタで、ここはバイパス可能な1/8分周器なのでI/Qには関係ありません。

次に出てくる 74LVC74 は Dフリップフロップで、ここでI/Qのクロックを作っているようです。CLKc CLKs がそれぞれ In-phase と Quadrature のようです。

LTSpice でシミュレーションしてみる

LTSpice に入ってるデジタル素子でシミュレーションしてみました。この素子は理想素子なので、そのまま使うとシミュレーションできませんでした。適当に伝送路に遅延を入れるとなんかそれっぽい波形が出てきました。

4クロックで1つのI/Qクロックに変換される様子がわかります。

源発振の分周比を思い出す

KX3 で無線局免許を更新するとき、送信機系統図に源発振と出力周波数の関係を書いたことを思い出しました。これは電波法の規定で書かなければらないのですが、あまり深く考えていませんでした。以下の表です。

Dフリップフロップを使ったI/Qクロックは上記の通り4分周に相当するので、ここで書いてある表も殆どのケースで 1/4 の分周率になっているのでしょう。

1.8/1.9MHz だと4倍すると7.6MHzぐらいですが、Si570 が 10MHz〜 の発振器なのでさらに分周している、という話のようです。マルチプレクサとカウンタの分周は1.8/1.9MHz用というわけのようです。

DフリップフロップによるI/Qクロック生成のメリット/デメリット

メリット

  • 実質デジタル処理なので広い帯域で正確に90度位相差を得られる
  • クロック発信源が1つだけで良い

デメリット

  • 欲しい周波数の4倍の源発振器が必要
  • 矩形波出力 (デメリットかどうかは場合による)

200MHz ぐらいまでの発振器は安いのがいくらでもあるのですが、ここを超えると急に高価になる気がするので、50MHz で使うかどうか、DDS2台にするかどうか大きく判断が別れそうです。とはいえ、基本的にはDDS2台よりも安価で省電力そうです。

  1. トップ
  2. tech
  3. Dフリップフロップによる I/Q クロック生成

京都は住むのに心地良いところだったなあと思う。長く住んだらそうではないのかもしれないが、圧倒的に神社が充実していたし、気が滅入ったときに明確に休息のポイントがあった。

自分はどこにいても「余所者」扱いされていると感じるので、観光客という余所者が多いところはかえって孤独を感じず、心地が良く感じる気がする。鎌倉とかも良かった。東京も絶対数としては観光客は多いと思うが、圧倒的にクソみたいに馴染んでいる人間が多いのでクソが支配的でクソだと思う。

特に関東の中でも渋谷という土地は知っている中では最悪中の最悪で、どうしようもない。品川とか大崎とか、あるいは悪くとも新宿も比較的綺麗で落ちついている面もあるが、渋谷はどんなに新しいビルでもタバコ臭く、清潔感がない。どこを歩いてもドブの臭いがする。どこにいっても汚ならしいおっさんと汚ならしい若者が同時に存在しており混沌としている。谷底なせいで悪い空気が漂っているとしか思えない。

複素インピーダンスの場合、実数部は抵抗成分・虚数部はリアクタンス成分とわかれているので、イメージしやすいですが、電圧と電流の虚数部とは何なのでしょうか? と疑問に思ったので考えた結果をメモしておきます。

位相情報も含めた電圧・電流

実際のところ、位相も含めた電圧と電流は実数体で表現できます。つまり時間 、角周波数 、初期位相α、電圧振幅 E としたとき、時刻 t のときの電圧 v を表現するには

となります。この式は位相情報も完全に含んでいます。

ということで、位相を扱うには複素数が必須というわけではないわけで、なぜ複素数が必要なのかという気持ちになります。

しかし実数体で位相情報を含めて表現すると、上記のように三角関数を使うことになり、実際の計算はとても面倒になります。そこで、計算を便利にするために複素数の概念を入れます。

このとき使うのがオイラーの公式で、この場合、 三角関数が面倒なので指数関数にしてしまおう、そのためには電圧・電流表現を複素数体に拡大しよう、という感じのようです。

指数関数にするためにはこのような形式にする必要があるので、

と、電圧波形の式を複素形式にして (単に複素数部を付け加えているだけです。波形を表現するだけなら cos/sin はどっちがどっちでも良いので、オイラーの公式の形にあわせているだけです)

と指数関数に変換します。この形式で計算することで、オームの法則を使った普通の計算ができるようになって計算が楽になります。

例えばここでインピーダンスを考えると

e についている指数の割り算は指数同士の引き算になるので

指数の中を整理する

時間変数が消えてしまい、電圧と電流それぞれの初期位相 の位相差によって決まる定数がかかっている状態になります。この定数をまたオイラーの公式で戻してみると

この Z はインピーダンスなので、実数部は抵抗成分、虚数部はリアクタンス成分となっています。

はすなわち位相差なので、電圧と電流の位相差の cos() と sin() が単純な E と I との比にかかって複素インピーダンスを構成していることになります。

で、複素電圧と複素電流の虚数部は何なの?

複素電圧と複素電流の虚数部は何なのかというと「なんでもない」が答えのようです。というのも、電圧にしろ電流にしろ負荷との関係をもって「電圧と電流の位相差」が現われるので、負荷との関係を考えない状態での、単体の複素電圧・複素電流の虚数部は何の意味もないということです。

インピーダンスは定義からして「電圧と電流の比」という関係の表現ですから、この関係の中に位相差が表現されるのは自然なことです。

  1. トップ
  2. tech
  3. 複素電圧・複素電流とはなんなのか

オイラーの公式とは一生無縁だと思っていた

げんきの絵本 おかあさんといっしょ かぞえてんぐ はって はがせる シールえほん -

3.0 / 5.0

横山だいすけおにいさんは「かぞえてんぐ」をやってるときが一番キてる(キてるとしか言いようがない)と思うので、一番かぞえてんぐが面白い。

「かぞえてんぐ」は数を数えたくて数えたくて辛抱たまらん!というキャラなのだけど、数えおわったあと絶頂とともにいきりたったところから「何か」が出てくる。

つまり数フェチで、周囲を巻き込んで数を数えるというオナニーをしたうえ絶頂するという完全なる変態である。NHK で放送されていいものなのか不思議なぐらいの変態なんだけど、実績からすると合法っぽいので、汚れちまった人間にだけ変態に見えるということなのかもしれない。

http://www.rigexpert.com/index?s=articles&f=aas で紹介されている回路を一通り自分の中で整理してまとめました。詳しい動作は今まで書いた各エントリにして、ここではそれぞれの特徴を書いてみます。

「アンテナアナライザー」と書いていますが、これをさらに発展させて入出力ポート両方で測定するようにすればネットワークアナライザになるはずです。

ダイオードディテクタ

  • ダイオードで検波するので、小電力時の非直線性が問題になり (誤差が多い) キャリブレーションが必要になる

抵抗1本タイプ

[tech] アンテナアナライザの回路 シリーズ抵抗1本型 | Tue, Mar 1. 2016 - 氾濫原

入力電圧・負荷電圧・負荷電流

  • 回路が簡単
  • 電流検出部で小さな電圧を測ることになる
  • リアクタンスの符号は不明

ブリッジタイプ

[tech] アンテナアナライザの回路 ブリッジ型 | Tue, Mar 1. 2016 - 氾濫原

入力電圧・負荷電圧・負荷電流・平衡電圧

  • 電圧反射係数を別途測っているので、SWR の精度があがる (特に1.0付近)
  • リアクタンスの符号は不明

ログアンプ検波

[tech] アンテナアナライザの回路 - ブリッジの三つの電位差を測るタイプ | Thu, Mar 3. 2016 - 氾濫原

AD8307 を使って検波するタイプ。

入力電圧・負荷電圧・平衡電圧

  • キャリブレーション不要
  • 差動接続のためブリッジの平衡部に直結できる
  • リアクタンスの符号は不明

ログアンプ+位相検出

[tech] アンテナアナライザの回路 ー 位相検出器を使ったタイプ | Fri, Mar 4. 2016 - 氾濫原

AD8302 (ログアンプ+位相差) を使って検波するタイプ

方向性結合器 複素電圧反射係数

  • キャリブレーション不要
  • 移相器を使うものは移相器の調整が必要だがリアクタンスの符号がわかる

複素入力電圧・複素負荷電圧

  • キャリブレーション不要
  • リアクタンスの符号がわかる
  • DDS が2台必要

ヘテロダイン系

[tech] アンテナアナライザの回路 ー ヘテロダインを使ったタイプ | Fri, Mar 4. 2016 - 氾濫原

  • より高い周波数を扱う場合に検討の余地あり
  • 回路はより複雑
  • DSPが必要

雑感

ダイオードディテクタを使う場合、現実的には後段にオペアンプによるバッファ回路を検出電圧分だけつける必要があり、部品数がかなり増加する。

AD8307 で検波する場合、ほかの部品は殆どいらずMCUなどのADCに接続できる。しかも精度が高い。アナログ部分が格段に少なくなるので設計しやすい。値段が高いのだけが問題。

AD8302 で検波する場合、リアクタンス符号がわかるのが嬉しい。しかし AD8302 はかなり高い。そしてDDSも2台必要。

作るなら

これまでを踏まえて、〜50MHz ぐらいまでを対象に、コスト的にそこそこで楽に作れてよさそうというのは AD8307 とブリッジを使うタイプだと思う。

コストをもう少しかけていいのなら、AD8302 + DDS2台 も十分に簡単な回路で作りやすそう。リアクタンスの符号まで知りたいならこれが一番簡単そうに思う。


リアクタンスの符号までわからなくても、現実的にはあまり問題にならないことのほうが多そう。アンテナの調整を目的とする場合リアクタンスは「同調しているかどうか」の判断に使うなら符号はいらないし、調整してリアクタンスが増えるか減るかでも符号を推測できる。

  1. トップ
  2. tech
  3. アンテナアナライザーの回路 ー まとめ