みんな大好き Desmos Graphing Calculator の話。

グラフの色に設定できるのが、デフォルトだと6色しかないけど、簡単に増やすことができる。

開発者ツールを開いて

Calc.colors.GREY = "#999999";

とかする。GREY のところは適当でよい。

こうすると色選択するパレットに単に色が増えるので、増やた色を選択すればグラフの色を設定できる。

パレット追加した色はリロードしたりすると消えてしまうが、グラフに設定した色は保存される。

Calc.colors をダンプするとわかるが、色IDをキー・色値を値にもつオブジェクトになっている。

Calc.colors = {
BLACK: "#000000"
BLUE: "#2d70b3"
GREEN: "#388c46"
ORANGE: "#fa7e19"
PURPLE: "#6042a6"
RED: "#c74440"
};
  1. トップ
  2. tech
  3. desmos で使う色を増やす方法

↑この画像は静止画ではなく、録画のスナップショット (α7R II 2160p モードを CamLink 4K/30FPS NV12 でとりこみ)

Elgato Cam Link 4K [録画・配信用コンパクトHDMIキャプチャカード(日本国内正規品)] 10GAM9901 - CORSAIR

CORSAIR

5.0 / 5.0

結論からいうと CamLink という HDMI → UVC 変換器 (キャプチャボードの一種) を使うのがおすすめ。カメラの HDMI 出力と繋ぎ、カメラ側は動画モードにして、HDMI INFO の設定 (HDMI に OSD を出さない) をするだけでよい。

カメラ側で HDMI 出力設定を変えて 1080p か 2160p かを選べる機種の場合は、カメラ側で設定を好みのほうに変える必要がある。デフォルトだと 4K でしかとれないので、1080p で十分なら下げたほうが負荷が低いと思う。

もっと安い HDMI USB キャプチャあるけど?

知ってるぞ! こういうのだろ!

HDMI → UVC 変換器もピンキリで、キャプチャできる解像度や、画質に差がある。しかし商品説明からは全くわからないことが多い。具体的に何が違うか

  • 解像度 2160p(4K) 1080p(Full-HD) 720p (HD)
    • 4K はパススルーだけでキャプチャできないのが大多数。
    • 1080p 対応と書いてあっても、実際の画質は 720p 相当のことがある
  • 圧縮方法 MJPEG YUY2(YUV422)
    • MJPEG はフレームごとに JPEG 圧縮する方法。扱うデータ量が大幅に減るので安い。画質は悪い
    • YUY2 は色差だけを間引いて若干圧縮する方法。USB3.0 でなければまともな fps がでない。画質は良い
  • 何かほかの要素
    • 単純な変換処理なのでは?と思っていたがどうも画質がちがうことがある

残念ながら買ってみるまで詳細なことはわからない。HDMI キャプチャについては安物を買わないほうが良い (安物を2台ほど買って失敗した人間の言っていることです)。

CamLink は以下のような仕様で、現状手に入る中では本当にベストだと思う。脳死でこれ買いましょう。

  • 2160i 30FPS: I420/NV12 - 4:2:0 interlaced
  • 1080p 60FPS: YUY2: 4:2:2

ref. https://www.reddit.com/r/ElgatoGaming/comments/a0y2c9/introducing_cam_link_4k_4k301080p60_camera/eaolvkb/

  1. トップ
  2. photo
  3. SONY αをウェブカメラとして使う
  1. トップ
  2. tech
  3. SONY αをウェブカメラとして使う

高周波リレー・同軸切替器・同軸リレーとからへんの話です。50W 通せる高周波リレーHF3シリーズを使ってみます。

TEHF3 Relay という製品を最近知った。これは DC から 3GHz までの高周波リレーだが、高周波リレーとしては大きな耐電力を謳っている。最大で 60W, 62.5VA、2.5GHz 23℃ では 50W の連続通過と書いてある。定格電圧と電流はそれぞれ 250VAC / 2A。高周波リレーは通常、小信号用であり、2W程度が定格になっていることが多いのでこれは結構珍しい。

このリレーは DigiKey でも購入することができる。しかも $12 程度と、この手のリレーとしてかなり安い部類に入る。DigiKey の RF リレーのカテゴリでは、2A までのリレーしか扱っておらず、その 2A のリレーはこのシリーズだけになっている。

2003年ぐらいからあるようで、特に新しいコンポーネントというわけではない。検索してみると実際アマチュア無線用途に使用している海外の例がヒットしたりする。

実験基板


リレー単体だと使えないので、リレーを載せるための基板を作る。再現性のため2層にして、PCB製造サービスを使うことにした。

余計なコンポーネントを乗せず、リレーとダイオードだけを乗せた基板にした。コネクタは安価な SMA のエッジコネクタ。一応伝送路はマイクロストリップライン (Coplanar Waveguide with Ground) として設計している。いまいち伝送路端の接続方法がわかっていないので適当につないでいるが正しくない気がする。

PCB 製造は PCBWay へ注文。部品は前述の通り、DigiKey で購入した。1週間せずすべてのパーツがそろった。

測定してみる

見るべき値は

  • 反射損失
  • アイソレーション (端子間の信号漏れ)
  • 通過損失

手持ちのスペアナの上限が 1.5GHz なので、そこまでしか測れない。

参考として 第一電波工業株式会社 同軸切換器 CX210N のスペックを引用する。

●価格:9,800円+税
●外形寸法:W71×H57×D42mm
●重量:440g
●周波数範囲:DC〜3000MHz●インピーダンス:50Ω
●入出力コネクター:N-J
●VSWR:1.05以下(DC〜500MHz)、1.1以下(500〜1000MHz)、1.15以下(500〜1000MHz)、1.15以下(1000〜2000MHz)、1.2以下(2000〜3000MHz)
●挿入損失:0.05dB以下(DC〜500MHz)、0.1dB以下(500〜1000MHz)、0.15dB以下(1000〜2000MHz)、0.2dB以下(2000〜3000MHz)
●アイソレーション(終端時):70dB以上(DC〜200MHz)、60dB以上(200〜1000MHz) 、55dB以上(1000〜2000MHz)、50dB以上(2000〜3000MHz)
●通過電力(SWR1.12以下時):1.5kW(DC〜30MHz)、 1kW(30〜150MHz)、500W(150〜500MHz)250W(500〜1000MHz)、150W(1000〜3000MHz)
●最大許容電力:1.5kW

反射損失


NanoVNA の結果。

コモン側の反射波、NC (Normally Closed)/NO (Normally Open) にダミーロード。(S11)

  • DC〜50MHz: -43dB (SWR 1.01)
  • 50〜500MHz: -27dB (SWR 1.09)
  • 500MHz〜900MHz: -19dB (SWR 1.25)

リレーのスペック上は 1.5GHz 以下なら最大でも1.08 程度なので基板などの影響が大きい。

挿入損失



スルーコネクタでノーマライズ後、コモンに TG (トラッキングジェネレータ)、NC (Normally Closed)/NO (Normally Open) にダミーロードをつけて、コンタクトしているほうをスペアナに入力。

  • DC〜500MHz: 0.12dB
  • 500〜1000MHz: 0.38dB
  • 1000MHz〜: 0.67dB

リレーのスペック上は 1.5GHz 以下なら、-0.15dB 未満。

アイソレーション



スルーコネクタでノーマライズ後、コモンに TG (トラッキングジェネレータ)、NC (Normally Closed)/NO (Normally Open) にダミーロードをつけて、コンタクトしてない状態でスペアナに入力。

  • DC〜200MHz: 69dB以上
  • 200〜1000MHz: 51dB以上
  • 1000MHz〜: 44dB以上

リレーのスペック上は 1.5GHz 以下なら、70dB 以上。500MHz 以下なら 80dB 以上ある。

全体の比較

メーカー製 CX210N 同軸切換器と比べると耐電力・諸特性に劣っている。ただ、耐電力以外はリレーのスペック的にはもっと良い値になるはずなので、基板設計によるところが大きそう。一方安価で電子制御可能なのが大きいメリット。

感想

長々と遠隔で切り替えられる同軸リレーについて悩んでいて、汎用パワーリレーを使ったものを作ったり、既製品の同軸切替器をモーターで回すのを試したりしていたが、これでいいんじゃないかという感じになった。

さすがに一発でうまく基板がつくれる感じではないので、気がむいたら何度か作りなおしてみる予定。

駆動

4.5V モデルが安かったので 4.5V モデルにしたため、コイルは 145Ω (28mA) 約 140mW。5V で駆動するなら追加で 18Ω、12V で駆動するなら 268Ω が必要になる。

コントローラについてはまた別途書く。

備考

G6K(U)-2F(P)-RF(-S, -T) の場合 VSWR 1.2 で 3W まで。接点容量は 1A

  1. トップ
  2. tech
  3. 50W 通せる高周波リレーHF3シリーズを使ってみる

伝送路インピーダンス50Ω 送信機出力 50W では、完全に整合していれば、50Vrms 1A になる。ただ、SWR が悪化すると (すなわち反射が増えると)、定在波が発生する。これにより最大2倍の電圧・電流が伝送路上に発生する。

信号源が整合している場合の、定在波電圧・電流を数式で確認しておく。 が定在波の最大電圧、 は定在波のピーク電圧、 が定在波の最大電流、 は反射係数。

多重反射

多重反射、つまり信号源も負荷も整合していない場合も考えてみる。

信号源側の反射係数を に、負荷側の反射係数を にする。

は起電力、単位は V。起電力を発生させた直後の初期状態で信号源端の伝送路にかかる電圧 は、伝送路インピーダンスと信号源インピーダンス(内部抵抗)に分圧されるので、

進行波が伝送路をすすみ、負荷端に辿りつくと反射係数 で反射されるので、合成すると

反射波が伝送路を戻ってきて、信号源に辿りつくと反射係数 で再度反射されるので、さらに合成すると

これが無限に繰替えされる。このように多重反射していくと以下のようになる。

上記は時系列だが、これを発生箇所ごと、つまり進行波と反射波ごとにまとめてみる。

1ずつインクリメントされる法則性が見えるので sum の形にする。

Maxima で以下を実行して sum を整理する。 が positive か negative か zero かを訊かれるので、negative と答える。これはつまり反射係数が0よりも大きく、収束することを Maxima に伝えている。

v_i * sum( (Γ_S * Γ_L)^n, n, 0, inf) +  v_i * sum(Γ_L * (Γ_S * Γ_L)^n, n, 0, inf), simpsum;

以下のように整理される。

を展開したいので、 と、 を使って だけ残るようにする。

これでほぼ十分だが、 と SWR は互いに単独で変換できるので、SWR から求める形にしてみると、

これが多重反射の定常状態の電圧 (ただし反射係数は0より大きいこと)。ちなみに起電力 は、送信機出力 からすると、分圧されるので になる。これを代入すると

となる。

ところでここで、信号源 SWR である を 1 にしてみると、

となって、多重反射がない場合の と一致する。

計算してみるとわかるけど、信号源が整合していない場合、結局発生する初期電圧 も低くなっていくため、伝送路に発生する電圧は2倍を超えないことがわかった。

備考: 反射電力はどこで消費されるか?

信号源が完全にマッチングされているなら、信号源の内部抵抗で消費される。実際は伝送路損失もあるので、伝送路損失をひいた電力が信号源内部抵抗で消費される。

もうすこし具体的には出力トランジスタの抵抗成分で消費されて熱に変わる。送信機の出力回路を考えてみると、電力増幅トランジスタがあり、トランジスタには素子ごとにある程度決まった出力インピーダンスがある。そしてそれを50Ωに整合するトランスがある。反射電力からすると、出力端子からトランスを逆方向にすすみ、電力増幅トランジスタまで辿りつくことになる。

ref

  1. トップ
  2. tech
  3. 伝送路中の定在波の最大電圧と最大電流

手元にある UVC デバイスの構成を dot で書きだして graphviz してみたのがこれ。イメージしやすいかな?

https://www.usb.org/document-library/video-class-v15-document-set

仕様読めば概念はわかりやすい書いてあるので細かく書く必要はないけど、ざっと読んだ感じを記録しておく。

Video のストリーム以外のところ、つまりカメラなどをコントロールするプロトコルを見ていく。

コントロールするインターフェイスには Video Interface Class / Video Control Subclass がついている。

UVC は「Unit」を組合せてデバイスを表現するようになっている。これは USB の仕様にある device / configuration / interface に、さらに加えて存在している。

「Unit」は動画機能の構成する基本ブロックで、1つ以上の入力と、ただ1つの出力を持つ。

「Terminal」は入力または出力いずれか1つしかない Unit の一種。

  • Input Terminal (IT)
  • Output Terminal (OT)
  • Camera Terminal (CT)
  • Processing Unit (PU)
  • Selector Unit (SU)
  • Encoding Unit
  • Extension Unit (XU)

Camera Terminal は Input Terminal の一種で、典型的な webcam は以下のような構成になる。

  • Camera Terminal → Processing Unit → Output Terminal (→ エンドポイント)

Camera Terminal には以下のような「コントロール」がついており、パラメータを操作することができる。

  • Scanning Mode (Progressive or Interlaced)
  • Auto-Exposure Mode
  • Auto-Exposure Priority
  • Exposure Time
  • Focus
  • Auto-Focus
  • Simple Focus
  • Iris
  • Pan
  • Roll
  • Tilt
  • Digital Windowing
  • Region of Interest
  • Zoom

Processing Unit は入力を処理して出力するための画像処理 Unit で、以下のようなコントロールがついている。基本的に PC 側でもできるような処理。

  • Brightness
  • Hue
  • Saturation
  • Sharpness
  • Gamma
  • Digital Multiplier (Zoom)
  • White Balance Temperature
  • White Balance Component
  • Backlight Compensation
  • Contrast
  • Gain
  • Power Line Frequency
  • Analog Video Standard
  • Analog Video Lock Status

プロトコル上、これらのコントロールは属するものが違うので、ちゃんと区別してコントロールする必要がある。

  1. トップ
  2. tech
  3. UVC (USB Video Class) のプロトコルと勘所