接続済み SSH セッションからファイルをダウンロードする というエントリを2012年ぐらいに書いて、その中で uutransfer という、screen ウィンドウを通じて uuencode したファイルを転送して書きだすツールを紹介しました。

便利に使っていたんですが、最近 tmux に移行した ので、このツールが動かなくなって困りました。ということで書きなおして独立したレポジトリに移動しました。

  1. トップ
  2. tech
  3. uutransfer for tmux (接続済み SSH セッションからファイルをダウンロードする)

Chrome 80 (2020年2月予定) からは挙動が変更され、SameSite 属性がない (なにも対応していない場合) は SameSite=Lax の挙動がデフォルトになる。かなり厳しい制約が増えるので対応必須。

また、既存の挙動に戻すためには SameSite=None を指定する必要があるが、SameSite=None は Secure 属性が必須になる。

ということでいずれかが最低限必須

  • https 化 と Secure 属性
  • SameSite=Lax で問題ないサイトづくり

最低工数

  • 常時 https 化する
  • Secure 属性と SameSite=None 属性をつける

既に https 化されているなら最も手軽で追加の検証がいらない。

→ 今まで通りの挙動。CSRF 耐性は特になく、セキュリティは向上しないが不具合はでない

ちょっとは頑張れる

  • SameSite=Lax 属性をつける

→ ほぼ今まで通りだが、外部からのフォーム POST など、CSRF に繋がりそうなケースで挙動がかわり安全になる。XHR や iframe でも cross-site の場合はデフォルトでクッキーが送られなくなるので、対応のうえ全体で再度QAが必要

もっと頑張れる?

SameSite=Strict にすると、あらゆる外部サイトからのページ遷移のときにクッキーが送信されなくなる。最初に開くと必ず非ログイン状態になり、そのあと遷移するとログイン状態が復活したりする。ユーザー体験上、Strict をそのまま既存のセッションクッキーに適用するのは困難。

副作用が発生するクッキーだけを Strict クッキーに分けるような設計をすれば活用できるが、サイトのページ遷移から見なおす必要がある。

個人の見解では Strict を使うケースはないんじゃないかと思う。SameSite=Strict は銀の弾丸ではなく、アプリケーションの問題は CSRF だけではない。結局、総合的に他の施策も必要なので、SameSite=Strict している暇があったら他のことをしたほうが良さそう。

  1. トップ
  2. tech
  3. SameSite 属性結局どうすりゃいい?

なんかしらないけど直接ターミナルから実行してやらないとウィンドウがでない

~/Downloads/en.stm32cubemx_v5.4.0/SetupSTM32CubeMX-5.4.0.app/Contents/MacOs/SetupSTM32CubeMX-5_4_0_macos 

このようにやると Java で書かれたウィンドウが出るようになる。なんでだろう?

  1. トップ
  2. tech
  3. macOS で SetupSTM32CubeMX-5.4.0

伝送路インピーダンス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) のプロトコルと勘所

高周波リレー・同軸切替器・同軸リレーとからへんの話です。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シリーズを使ってみる

みんな大好き 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キャプチャカード 1080p60 4K30 ビデオ会議/ホームオフィス/ゲーム配信向け OBS/Zoom/Teams連携 PC/Mac対応 - Elgato

Elgato

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 αをウェブカメラとして使う

若干ややこしい。というのも、Shotcut の字幕は「フィルタ」として実装されており、元動画がなければつけることができない。しかしタイムラインのメインの動画にフィルタとして字幕を追加してしまうとフェードすることができない。これの問題は字幕用のタイムラインを作ってあげれば解決する。この場合、フィルタをかけるための「元動画」が必要になるので、別途用意してやる。といっても単にアスペクト比があった透過 PNGで良い。

この画像において V2 V3 は字幕用にしてある。はりつけているのはただの透過 PNG

追記:ファイル → その他を開く → 色 → transparent で OK を押すと同様のことが Shotcut 内で完結するようだ。開いた状態でプレイリストの+を押すとライブラリにtransparentが追加されるため、これをタイムラインにドラッグするやりかたが簡単

そしてフィルタをかける

テキストをかけるフィルタはいくつかあるので適当に適用する。フェードは「動画のフェードアウト」などいくつかある動画用のフィルタを使うことができる。「黒でフェードする代わりに不透明率を調整」にチェックを入れておくとお手軽にフェードアウトできる。

スペアナでスプリアス測定してみる (KX3 CW) | tech - 氾濫原 というのを書いた。SSB でさらに測定してみる。途中で「帯域外領域」の測定について勘違いに気付いたため、前のエントリも修正している。

測定方法について

特性試験の試験方法 を参照するのが一番正しそうなので、少し細かくみていく。

「スプリアス発射又は不要発射の強度の測定方法については、別表第1に定める方法」となっている。ただし、平成16年総務省告示第88号によって、「スプリアス領域における不要発射の強度の測定を行う周波数範囲」が緩和されて定義されているので、こちらも見る必要がある。

別表第1がスプリアス測定の方法なのだけど「占有周波数帯幅の測定と同じ状態」として他の資料を参照している。

「占有周波数帯幅の測定と同じ状態」は特性無線設備の種別ごとに定義されている。アマチュアの場合は別表第35に全ての変調方式について記述がある。特に「別表 各電波型式の変調条件」が大事。

擬似音声発生器

「擬似音声発生器は、白色雑音をITU-T勧告G.227の特性を有するフィルタによって帯域制限したものとする。」なのでまた別の規格を見る必要がある。G.227 : Conventional telephone signal

この装置は少し前にこれのためにつくった ブラウザで動く擬似音声発生器 (ITU-T G.227 フィルタ) | tech - 氾濫原。yak-shaving...

手順

⑴ 変調信号は擬似音声とする。
⑵ 擬似音声の変調入力は、正弦波の1,500Hzで空中線電力が飽和レベルの80%程度となる変調入
力電圧と同じ値とする。

まず正弦波 1500Hz を入力し、飽和レベルの80%程度となるようにマイク入力ゲインを調整する。

飽和レベルはSSBの場合送信機の尖頭電力のことなので、設定した出力電力と同じになる。つまり10W出力で飽和レベル80%なら8Wになるように調整する (0.8 = 1dBひく)。

「擬似音声発生器」は電圧がひとしくなるように作ってあるので、そのまま疑似音声に切り替えれば状態が整う。

10W 出力で計測する。40dBm。1500Hz 正弦波のとき 39dBm に出力を調整する。スペアナの前に40dB アッテネータをいれている。ところで今回はスペアナに Ref Offset の設定があることに気付いたので、前もって 40dB 分のオフセットをつけて、測定値を直読できるようにしている。

帯域外領域


(再掲)

無変調で測定する領域だが、SSBの場合は搬送波がないため実質的に意味がない (搬送波の綺麗さを見る試験のようだ?)。

SSB の 占有周波数帯幅の許容値 は 3kHz。スプリアス領域 は 2.5BN 離れた領域なため、± 7.5kHz の内側が帯域外領域、外がスプリアス領域。

7100kHz を帯域の中心にしたいので、LSB モードの場合は 7101.5kHz に送信周波数をセットする。これで 7098.5kHz より下、7101.5kHz より上が帯域外

1500Hz 正弦波入力

なぜ 1500Hz?と最初思ったが、帯域幅が3000Hzなので、真ん中にくるようにですね。

無音での場合

つまり入力雑音のみの変調をかけた場合どうなるか。混乱しないでほしいが、これはスプリアス測定ではなく参考データとしてとった。

スプリアス領域

RBW=1kHz 9kHz〜150kHz

RBW=10kHz 150kHz〜7100kHz

RBW=10kHz 7100kHz〜30MHz

-21dBm の高調波。50μW (13dBm) 以下なので合格

RBW=100kHz 30MHz〜71MHz

「ITU-R 勧告SM.329-10における指針」に従って、基本周波数の10倍高調波まで見れば良いことにはなっている。つまり 7.1MHz なら 71MHz まで見れば十分なはず。

  1. トップ
  2. tech
  3. スペアナでスプリアス測定してみる2 KX3 SSB の測定

の続き AM(A3E)。帯域幅は6kHz。疑似音声発生器 を使う。

測定方法について

以下を根拠に測定する

変調度

1kHz で変調度 60% の状態で、同レベルの疑似音声を入力するということなので、まず1kHzで変調度 60% の状態を作る必要がある。

変調度 をスペアナで求める場合、搬送波振幅 (電圧) 側波帯振幅 (電圧) とすると

または、搬送波電力 、側波帯電力 とすると

1kHz で変調度 60% なら、 。つまり搬送波電力に対して 側波帯電力が -10.5dB になるようにゲインを調整する。

0スパンにしてうまく設定すると変調信号を表示できる。この結果を使っても変調度を求められる。ただトリガをうまくかけられないといけない。

帯域外領域

帯域幅は6kHzなので、±15kHz が帯域外領域

無変調で搬送波だけの状態で見る。

スプリアス領域

RBW=1kHz 9kHz〜150kHz

RBW=10kHz 150kHz〜30MHz

前回まで側波帯ごとにわけて見てたが面倒なので一括で見る

-21dBm の高調波。50μW (13dBm) 以下なので合格

RBW=100kHz 30MHz〜71MHz


ref.

https://www.hakodate-ct.ac.jp/~moriya/class/5SCE_Exp/text05-1.pdf
https://dl.cdn-anritsu.com/ja-jp/test-measurement/files/Technical-Notes/White-Paper/Guide_to_SpectrumAnalysis_J.PDF

  1. トップ
  2. tech
  3. スペアナでスプリアス測定してみる3 KX3 AM の測定

最初に知ること

  • 周波数変調は、入力信号 (変調信号) の振幅が周波数の変化に変わる
    • 変調後の最大周波数偏移は入力の振幅によって決まる
    • 振幅の最大値のときの最大周波数偏移は場合によって異なる
      • 広帯域FM: ±75kHz (FM放送)
      • 広帯域FM: ±5kHz (アマチュア FM)
      • 狭帯域FM: ±2.5kHz (アマチュア FM-N)

「振幅の最大値のときの最大周波数偏移」と「ある入力に対する最大周波数偏移」で若干ややこしいので注意。単に「最大周波数偏移」といったときどっちのことを言っているか気をつける。

スペアナで見る FM スペクトラム

1kHz の正弦波で変調した場合、キャリアを中心にして、1kHz ごとにピークが立つ。各ピークのレベルについては後述

入力信号周波数を変化させるとこのように変化する。ピークの幅と、ピークの振幅それぞれが変化する。

変調指数

ある周波数の入力信号 を変調して、最大周波数偏移が だった場合、変調指数 は以下のようになる。

変調指数には以下のような特徴がある

  • 入力信号が大きくなるほど、高い変調指数になる (Δf は入力信号振幅が大きいほど大きくなるので)
  • 入力信号周波数が低いほど高い変調指数になる
  • 変調指数は側波帯のピークの数と対応している。変調指数 m + 1 番目の側波帯ピークまでで電力の99%が伝達される
  • 変調指数が高いほどSNRが良い

各ピークの振幅

出力のキャリア周波数の振幅及び、側波帯の各ピークの振幅は、変調指数をとる第1種ベッセル関数にしたがう。

縦(y)軸が振幅で、横(x)軸が変調指数。J(n,m) は変調指数 m のときの、側波帯ピークn番目(ただし0はキャリア)の振幅をあらわす。負の値が出るがスペアナで観測できるのは絶対値。

変調指数が一定の値、例えば 2.4 とかになるとキャリアの振幅は0になる。


入力=500Hz (最大周波数偏位=1200Hz)


入力=1000Hz (最大周波数偏位=2400Hz)


入力=1500Hz (最大周波数偏位=3600Hz)

どれも最初のキャリアゼロにあわせているので変調指数は2.4。結果、最大周波数偏位・入力ゲインが変わる。変調指数が同じなので、各ピークの大きさはどれも一致するはずだが、実際は出力バンドパスフィルタとかの影響で帯域が広くなると誤差が増える。

スペクトラムから最大周波数偏移を知りたい場合 (ゼロキャリアをさがす)

最大周波数偏移は入力信号振幅によるため、同じ振幅を持ち、キャリア周波数振幅が0となるように入力信号周波数を加減する。キャリア周波数振幅が最初に0となったとき m=2.4 なので、入力信号周波数 * m で最大周波数偏移を求めることができる。

ただしこの方法は、入力信号周波数を変化させても、無線機内部で振幅が変化しないことを前提としているので、イコライザやコンプレッサーなどがあり、周波数応答がフラットではない場合は成立しない。

スペクトラムから最大周波数偏移を知りたい場合 (瞬時周波数偏位を直接読む)

RBWを十分に大きくして、FM波全体を見るようにする。この状態で Max Hold / Min Hold して偏位の最大周波数と最小周波数をさがす。少し測定に時間がかかるのと、スペアナのスイープタイミングと入力信号周波数が互いに素になっていないと最悪いつまでたっても結果がでないのが欠点

マーカーを2つ使い、Max Hold / Min Hold それぞれのトレースで同ゲインにくるように調整する。そのときの周波数の値を読んで、差を計算する。これが最小と最大の周波数偏位になる。(51008700 - 51004100) = 4600 なので、最大周波数偏位はこの半分の ±2300Hz になる。この画像の場合は信号周波数が 1000Hz なので、変調指数は 2.3。

特定の変調指数になるようにゲインを調整したい場合

例えば 1000Hz で変調指数 3.5、つまり最大周波数偏位を3500Hzにしたい場合。これは変調指数から振幅を求めて、近くなるようにゲインを調整するのが一番簡単。


ベッセル関数を使って各ピークを求めて、それにあうようにする。

これでやって調整して、上記の方法で、最大周波数偏位を測定しなおすとより良い。

(51009800 - 51003050) / 2 = 3375 (最大周波数偏位)。3375 / 1000 = 3.375 (変調指数)。なかなかぴったりにはいかない…

  1. トップ
  2. tech
  3. スペアナでFMの信号を見る

測定方法について

以下を根拠に測定する

測定前の知識

アマチュアの F3E の占有周波数帯幅の許容値は 40kHz (ただし 430-440MHz では 30kHz)。ただし事実上の帯域幅は 16kHz 程度になっていることが多い。

周波数変調は振幅が周波数偏移になるため、最大振幅でどれぐらい周波数偏移をするかを決めなければならない。アマチュアで通常使われてる狭帯域FMで、最大振幅時の最大周波数偏移は ±5kHz。

測定準備

標準変調度とは、通常、規定の最大周波数偏移許容値を100%としたものであり、最大周波数偏移の許容値が規定されていない場合は工事設計書の設計値(工事設計書に記載される値)の最大周波数偏移を100%としたものである。基準周波数偏移とは、試験機器の最大周波数偏移が規則で規定されていない場合、測定のための基準点の周波数偏移である。

で F3E では、「標準変調度又は基準周波数偏移(位)」は「正弦波1kHzで最大周波数偏移の70%」になる。測定時には「基準周波数偏移の入力から10dB増加(擬似音声)」

アマチュアのF3Eの場合「標準変調度とは (略) 工事設計書の設計値(工事設計書に記載される値)の最大周波数偏移を100%としたものである」が適用される。工事設計書の設計値の最大周波数偏移は通常±5kHzなので、つまり 1kHz 入力したときに、5 * 0.7 = 3.5kHz 周波数偏移するように入力ゲインを変更し、疑似音声はこのときのレベルに +10dB することになる。

前に書いた「特定の変調指数になるようにゲインを調整したい場合」にそって 1kHz で変調指数 3.5 になるようにして、疑似音声をそれの +10dB で出力できるように信号源のゲインを調整する。

今回は温度制限がかかるので、出力は 5W (37dBm) でやる。(本来は最大でやらなければならない)

1kHz で最大周波数偏位 3500Hz にあわせる。


(52013416 - 52006833) / 2 = 3291Hz

測定周波数

FM なので 50MHz 帯で測定することにする。別表第三十五 証明規則第2条第1項第12号に掲げる無線設備の試験方法によれば、50MHzは50〜54MHzと、2MHz以上の帯域があり、この場合の試験周波数は3波になる。

  • 下限周波数に 60kHz 加えた周波数
    • 50060000Hz
  • 中央の周波数
    • 52000000Hz
  • 上限周波数から60kHz減じた周波数
    • 53940000Hz

正直めんどい。同じことを3回やるだけなので、今回は省略して中央のみで行う。

帯域外領域

占有周波数帯幅の許容値が40kHz なので 帯域外領域は 2.5倍して ±100kHz。
無変調で測定する。

「30MHzを超え54MHz以下」「1Wを超え50W以下」の条件では「1mW以下であり、かつ、基本周波数の平均電力より60dB低い値」

スプリアス領域

「50μW以下又は基本周波数の搬送波電力より70dB低い値」-13dBm または搬送波電力-70dB以下ならよい

RBW=1kHz 9kHz〜150kHz

RBW=10kHz 150kHz〜30MHz

RBW=100kHz 30MHz〜520MHz

ref

https://www.hakodate-ct.ac.jp/~moriya/class/5SCE_Exp/text05-1.pdf
http://ja5fp.org/bessel.pdf

  1. トップ
  2. tech
  3. スペアナでスプリアス測定してみる3 KX3 FMの測定