Skip to content

Releases: k-iseri/BonDriver_PlutoSDR

v1.5.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 22:46

v1.5.1 の変更点(v1.5.0 から)

  • XO(基準発振器)の周波数補正を自動化。選局後に同期で測ったサンプルクロック偏差を AD9361 の xo_correction に
    書き、LO のずれ(CFO)とサンプルレートのずれ(SFO)を同時に直します。FPGA 前段(pluto-fw-isdbt v2)では SFO が
    帯域端の ICI になって B 層の MER が約 24 dB で頭打ちになっていましたが、raw 経路と同等(ch27 で 28〜29 dB)になりました。
    raw 経路も分数リサンプルの残差が消えて 27 → 30 dB。ini の [SDR] XoPpm=auto(既定)。接続後の最初の選局だけ
    測定に約 1.2 秒かかります(測った値を XoPpm=-16.1 のように書けば省けます)。
  • 受信機の DC(LO リーク)が乗る中央付近のキャリア(±3 本)を消失扱いにし、MER の集計からも除きました(A 層 25 → 29 dB)。
  • recpluto / isdbtd の配布バイナリを添付: Linux x86-64、Linux arm64(Raspberry Pi 4/5 の 64bit OS)、macOS
    Apple Silicon の tar.gz(libiio 同梱)と、Windows 版の recpluto.exe / isdbtd.exe(この zip に同梱)。
    Raspberry Pi の実機は未確認です。
  • isdbtd のリプレイ試験の競合(macOS で TS の順序が崩れる)を修正。
  • Windows の BonDriver は XO 補正と DC キャリアの消失扱い以外は v1.5.0 と同じです。

v1.5.0 の変更点(v1.4.2 から)

  • Linux / macOS(Apple Silicon 含む)でも復調コアと isdbtd がビルドできるようになりました。CMake だけで
    make rt。GitHub Actions が ubuntu と macOS(arm64)で ref/ との一致テストを回しています。
  • Mirakurun 用チューナーコマンド recpluto(recpt1 互換の引数)を追加。地デジとケーブル TV の BS/CS 再送信を
    1 本の tuner として扱え、--scan で channels.yml の雛形を出します。MacBook Air M5 + Pluto で Mirakurun 4.1.5 からの
    視聴・EPG 取得を確認済み。手順は docs/mirakurun.md、雛形は tools/mirakurun/。
  • arm64 の FEC(ビタビ・RS)を NEON 化、raw 経路の前段(リサンプル・FFT・等化)を高速化。Apple M5 で raw 約 0.5 コア、
    FPGA 前段で約 0.2 コア。
  • ライブの raw 経路も 8bit ビタビ + 範囲復号になり、選局後の遅延が 1 フレーム短くなりました(Windows の BonDriver も同じ)。
  • isdbtd --stdout(TS を標準出力へ。SIGTERM / Ctrl-C で終了)を追加。
  • ファーム pluto-fw-isdbt v2.0.2 で、弱い入力で FPGA 前段の MER が raw より落ちる問題(GI 相関器のオフセット →
    残留 CFO の ICI)が直りました。DLL 側の変更はありませんが、v2.0.1 以前では [SDR] FpgaEq=0 が回避策です。
  • Windows の BonDriver 機能は v1.4.2 と同じです(bontest で UHF / CATV とも同期崩れ 0 を確認)。

v1.4.2 の変更点(v1.4.1 から)

  • TVTest 起動直後のチャンネルスキャンで 13ch / 14ch を取りこぼすことがある問題を修正。選局直後の立ち上がりを
    詰め(最初のウィンドウを短く。AGC 待ちは 1.0 秒のまま)、最初の約 1.2 秒分を捨ててから出すようにしました。
    選局から番組情報(PSI)が出るまで約 5 秒です。
  • 真因は、選局直後に FPGA の同期が取れない間に USB のブロック待ちがタイムアウトし、DLL が「ストリーム断」と誤認して
    約 8 秒の再接続に入っていたことでした。タイムアウト時は再接続せず raw に戻してやり直すようにし、起動直後の
    仮周波数では前段に入らないようにしました。
  • ini の WinFrames が 16 のままだと 2 本目のウィンドウが遅く、スキャンが際どくなります。配布の ini.sample どおり
    WinFrames=8 / Workers=3 を推奨します。

v1.4.1 の変更点(v1.4.0 から)

  • FPGA 前段使用時の CPU をさらに削減(約 0.4 → 約 0.3 コア。等化済みキャリアを 8bit のまま後段に通す)。
  • ケーブルテレビ(ISDB-C)の復調を軽量化(約 0.63 → 約 0.35 コア。RS をまとめて復号、CFO 回転・位相推定・
    等化器の係数計算を AVX2 化、補間をまとめて計算)。受信品質・TS の内容は変わりません。
  • FPGA 前段使用時、選局直後の最初の約 0.6 秒分を捨てるようにし、映像が出始める瞬間の乱れ(TEI 付きパケット)を無くしました。
  • 文書: docs/architecture.md に FPGA 前段経路の説明、decisions.md に 10/15 の設計判断を追記。

v1.4.0 の変更点(v1.3.1 から)

  • FPGA 前段使用時の CPU 使用率をさらに削減(約 1.1 コア → 約 0.4 コア。純正ファームの raw 復調は約 2.7 コア)。
    ライブ受信のウィンドウで重なっている部分を復号し直さず出力するフレームだけを復号し、ビタビ(8bit 計量 × 32 レーン)と
    RS のシンドローム(32 TSP 同時)を AVX2 で書き直し、デマップ〜量子化を 1 パスにしました。受信品質・TS の内容は変わりません
    (ビタビの軟値を 5bit に量子化しますが、RS 訂正後の TS は同一です)。
  • ログ統計に fpga_last_start / fpga_start_hi(ファーム v2.0.1 の 64bit 窓開始の確認用)を追加。

v1.3.1 の変更点(v1.3.0 から)

  • FPGA 前段使用時、視聴開始から最長約 9 分で映像が止まる問題を修正(選局し直すと復帰していたもの)。
    ファーム v2.0.0 が出す窓の開始サンプル番号が 32bit で 528 秒ごとに一周し、TS の継ぎ合わせが止まっていました。
    DLL 側で周回を数えるようにしたので、ファームはそのままで直ります。
  • 継ぎ合わせの位置が大きく飛んだときに黙って捨て続けず仕切り直す安全弁を追加(ログ統計 splice_resets)。

v1.3.0 の変更点(v1.2.0 から)

  • カスタムファームウェア pluto-fw-isdbt v2.0.0 の FPGA 前段(同期・FFT・等化)に対応。
    ファームが対応していれば自動で使い(ini の [SDR] FpgaEq=auto が既定。0 で従来どおり)、
    復調の CPU 使用率が 約 2.7 コア → 約 1.1 コア に下がります。受信品質(MER)は従来と同等です。
    v1.0.0 のファームや純正ファームではこれまでどおり PC 側で全段復調します。
  • FPGA 前段を使うときも、ファームの ADC レベル計を読んでソフトウェア AGC を回し続けます(長時間視聴で
    信号レベルが変わってもゲインが追従)。
  • ケーブルテレビ(_TC 版の CATV 空間)のチャンネルスキャンで、受信できない VHF 1〜12ch に直前の局
    (例: NHK BS)が何度も見つかる問題を修正(周波数が設定できないときは無信号として扱う)。
  • FPGA 前段使用時、地デジのチャンネルスキャンで局を取りこぼすことがあった問題を修正(選局 1.5 秒で
    実測の MER を信号レベルとして返す)。
  • ログ統計に fpga_eq / fpga_delta / fpga_symbols / fpga_symbol_gaps を追加(デーモンの status にも同じ項目)。

v1.2.0 の変更点(v1.1.1 から)

  • カスタムファームウェア pluto-fw-isdbt に対応(任意。純正ファームのままでも従来どおり動きます)。
    接続時にファームが申告するサンプル幅を読み、8bit ファームなら公称 8.127 MSPS で取り込みます
    (純正 16bit は従来どおり 7/8 レート)。ファームのサンプルカウンタが読めれば、USB 帯域不足で
    捨てられたサンプル数 hw_dropped をログ統計に出します。ファームの判別は申告ベースで、
    DLL は 1 種類のままです。
  • ini の [SDR] Fs 未指定時はファームに合わせて自動選択になりました(既存の ini はそのまま使えます)。
  • 8bit ファームでは Gain=hw(AD936x 内蔵 AGC)を指定してもソフトウェア AGC に切り替えます
    (内蔵 AGC だと 8bit 側でクリップするため)。
  • tools/iq_record.py も申告ベースでサンプル幅と既定レートを自動判別します。

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは約 10 秒、ケーブルは 2〜3 秒かかります(異常ではありません。地デジは番組情報だけ約 5 秒で先に出るので、チャンネルスキャンは既定設定で検出できます)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

カスタムファームウェア(任意)

HamGeek 製 PlutoSDR Nano 向けのファームウェア pluto-fw-isdbt を書くと、
I/Q を 8bit で転送して USB 2.0 の帯域余裕が 2 倍になり(v1.0.0 以降)、さらに v2.0.0 以降では地デジの同期・FFT・等化を
FPGA が行うので PC 側の復調負荷が約 2.7 コアから約 1.1 コアに下がります。DLL は接続時に自動で判別して使い分けます
(ini の [SDR] FpgaEq=auto が既定。純正ファームとの併用可。入れなくても動作は変わりません)。
対象基板・書き込み方法・戻し方は向こうの README を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 16:05

v1.5.0 の変更点(v1.4.2 から)

  • Linux / macOS(Apple Silicon 含む)でも復調コアと isdbtd がビルドできるようになりました。CMake だけで
    make rt。GitHub Actions が ubuntu と macOS(arm64)で ref/ との一致テストを回しています。
  • Mirakurun 用チューナーコマンド recpluto(recpt1 互換の引数)を追加。地デジとケーブル TV の BS/CS 再送信を
    1 本の tuner として扱え、--scan で channels.yml の雛形を出します。MacBook Air M5 + Pluto で Mirakurun 4.1.5 からの
    視聴・EPG 取得を確認済み。手順は docs/mirakurun.md、雛形は tools/mirakurun/。
  • arm64 の FEC(ビタビ・RS)を NEON 化、raw 経路の前段(リサンプル・FFT・等化)を高速化。Apple M5 で raw 約 0.5 コア、
    FPGA 前段で約 0.2 コア。
  • ライブの raw 経路も 8bit ビタビ + 範囲復号になり、選局後の遅延が 1 フレーム短くなりました(Windows の BonDriver も同じ)。
  • isdbtd --stdout(TS を標準出力へ。SIGTERM / Ctrl-C で終了)を追加。
  • ファーム pluto-fw-isdbt v2.0.2 で、弱い入力で FPGA 前段の MER が raw より落ちる問題(GI 相関器のオフセット →
    残留 CFO の ICI)が直りました。DLL 側の変更はありませんが、v2.0.1 以前では [SDR] FpgaEq=0 が回避策です。
  • Windows の BonDriver 機能は v1.4.2 と同じです(bontest で UHF / CATV とも同期崩れ 0 を確認)。

v1.4.2 の変更点(v1.4.1 から)

  • TVTest 起動直後のチャンネルスキャンで 13ch / 14ch を取りこぼすことがある問題を修正。選局直後の立ち上がりを
    詰め(最初のウィンドウを短く。AGC 待ちは 1.0 秒のまま)、最初の約 1.2 秒分を捨ててから出すようにしました。
    選局から番組情報(PSI)が出るまで約 5 秒です。
  • 真因は、選局直後に FPGA の同期が取れない間に USB のブロック待ちがタイムアウトし、DLL が「ストリーム断」と誤認して
    約 8 秒の再接続に入っていたことでした。タイムアウト時は再接続せず raw に戻してやり直すようにし、起動直後の
    仮周波数では前段に入らないようにしました。
  • ini の WinFrames が 16 のままだと 2 本目のウィンドウが遅く、スキャンが際どくなります。配布の ini.sample どおり
    WinFrames=8 / Workers=3 を推奨します。

v1.4.1 の変更点(v1.4.0 から)

  • FPGA 前段使用時の CPU をさらに削減(約 0.4 → 約 0.3 コア。等化済みキャリアを 8bit のまま後段に通す)。
  • ケーブルテレビ(ISDB-C)の復調を軽量化(約 0.63 → 約 0.35 コア。RS をまとめて復号、CFO 回転・位相推定・
    等化器の係数計算を AVX2 化、補間をまとめて計算)。受信品質・TS の内容は変わりません。
  • FPGA 前段使用時、選局直後の最初の約 0.6 秒分を捨てるようにし、映像が出始める瞬間の乱れ(TEI 付きパケット)を無くしました。
  • 文書: docs/architecture.md に FPGA 前段経路の説明、decisions.md に 10/15 の設計判断を追記。

v1.4.0 の変更点(v1.3.1 から)

  • FPGA 前段使用時の CPU 使用率をさらに削減(約 1.1 コア → 約 0.4 コア。純正ファームの raw 復調は約 2.7 コア)。
    ライブ受信のウィンドウで重なっている部分を復号し直さず出力するフレームだけを復号し、ビタビ(8bit 計量 × 32 レーン)と
    RS のシンドローム(32 TSP 同時)を AVX2 で書き直し、デマップ〜量子化を 1 パスにしました。受信品質・TS の内容は変わりません
    (ビタビの軟値を 5bit に量子化しますが、RS 訂正後の TS は同一です)。
  • ログ統計に fpga_last_start / fpga_start_hi(ファーム v2.0.1 の 64bit 窓開始の確認用)を追加。

v1.3.1 の変更点(v1.3.0 から)

  • FPGA 前段使用時、視聴開始から最長約 9 分で映像が止まる問題を修正(選局し直すと復帰していたもの)。
    ファーム v2.0.0 が出す窓の開始サンプル番号が 32bit で 528 秒ごとに一周し、TS の継ぎ合わせが止まっていました。
    DLL 側で周回を数えるようにしたので、ファームはそのままで直ります。
  • 継ぎ合わせの位置が大きく飛んだときに黙って捨て続けず仕切り直す安全弁を追加(ログ統計 splice_resets)。

v1.3.0 の変更点(v1.2.0 から)

  • カスタムファームウェア pluto-fw-isdbt v2.0.0 の FPGA 前段(同期・FFT・等化)に対応。
    ファームが対応していれば自動で使い(ini の [SDR] FpgaEq=auto が既定。0 で従来どおり)、
    復調の CPU 使用率が 約 2.7 コア → 約 1.1 コア に下がります。受信品質(MER)は従来と同等です。
    v1.0.0 のファームや純正ファームではこれまでどおり PC 側で全段復調します。
  • FPGA 前段を使うときも、ファームの ADC レベル計を読んでソフトウェア AGC を回し続けます(長時間視聴で
    信号レベルが変わってもゲインが追従)。
  • ケーブルテレビ(_TC 版の CATV 空間)のチャンネルスキャンで、受信できない VHF 1〜12ch に直前の局
    (例: NHK BS)が何度も見つかる問題を修正(周波数が設定できないときは無信号として扱う)。
  • FPGA 前段使用時、地デジのチャンネルスキャンで局を取りこぼすことがあった問題を修正(選局 1.5 秒で
    実測の MER を信号レベルとして返す)。
  • ログ統計に fpga_eq / fpga_delta / fpga_symbols / fpga_symbol_gaps を追加(デーモンの status にも同じ項目)。

v1.2.0 の変更点(v1.1.1 から)

  • カスタムファームウェア pluto-fw-isdbt に対応(任意。純正ファームのままでも従来どおり動きます)。
    接続時にファームが申告するサンプル幅を読み、8bit ファームなら公称 8.127 MSPS で取り込みます
    (純正 16bit は従来どおり 7/8 レート)。ファームのサンプルカウンタが読めれば、USB 帯域不足で
    捨てられたサンプル数 hw_dropped をログ統計に出します。ファームの判別は申告ベースで、
    DLL は 1 種類のままです。
  • ini の [SDR] Fs 未指定時はファームに合わせて自動選択になりました(既存の ini はそのまま使えます)。
  • 8bit ファームでは Gain=hw(AD936x 内蔵 AGC)を指定してもソフトウェア AGC に切り替えます
    (内蔵 AGC だと 8bit 側でクリップするため)。
  • tools/iq_record.py も申告ベースでサンプル幅と既定レートを自動判別します。

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは約 10 秒、ケーブルは 2〜3 秒かかります(異常ではありません。地デジは番組情報だけ約 5 秒で先に出るので、チャンネルスキャンは既定設定で検出できます)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

カスタムファームウェア(任意)

HamGeek 製 PlutoSDR Nano 向けのファームウェア pluto-fw-isdbt を書くと、
I/Q を 8bit で転送して USB 2.0 の帯域余裕が 2 倍になり(v1.0.0 以降)、さらに v2.0.0 以降では地デジの同期・FFT・等化を
FPGA が行うので PC 側の復調負荷が約 2.7 コアから約 1.1 コアに下がります。DLL は接続時に自動で判別して使い分けます
(ini の [SDR] FpgaEq=auto が既定。純正ファームとの併用可。入れなくても動作は変わりません)。
対象基板・書き込み方法・戻し方は向こうの README を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要

v1.4.2

Choose a tag to compare

@github-actions github-actions released this 15 Oct 09:04

v1.4.2 の変更点(v1.4.1 から)

  • TVTest 起動直後のチャンネルスキャンで 13ch / 14ch を取りこぼすことがある問題を修正。選局直後の立ち上がりを
    詰め(AGC 待ち 1.0 → 0.65 秒、最初のウィンドウを短く)、最初の約 1.2 秒分を捨ててから出すようにしました。
    選局から番組情報(PSI)が出るまで約 5 秒です。
  • 真因は、選局直後に FPGA の同期が取れない間に USB のブロック待ちがタイムアウトし、DLL が「ストリーム断」と誤認して
    約 8 秒の再接続に入っていたことでした。タイムアウト時は再接続せず raw に戻してやり直すようにし、起動直後の
    仮周波数では前段に入らないようにしました。
  • ini の WinFrames が 16 のままだと 2 本目のウィンドウが遅く、スキャンが際どくなります。配布の ini.sample どおり
    WinFrames=8 / Workers=3 を推奨します。

v1.4.1 の変更点(v1.4.0 から)

  • FPGA 前段使用時の CPU をさらに削減(約 0.4 → 約 0.3 コア。等化済みキャリアを 8bit のまま後段に通す)。
  • ケーブルテレビ(ISDB-C)の復調を軽量化(約 0.63 → 約 0.35 コア。RS をまとめて復号、CFO 回転・位相推定・
    等化器の係数計算を AVX2 化、補間をまとめて計算)。受信品質・TS の内容は変わりません。
  • FPGA 前段使用時、選局直後の最初の約 0.6 秒分を捨てるようにし、映像が出始める瞬間の乱れ(TEI 付きパケット)を無くしました。
  • 文書: docs/architecture.md に FPGA 前段経路の説明、decisions.md に 10/15 の設計判断を追記。

v1.4.0 の変更点(v1.3.1 から)

  • FPGA 前段使用時の CPU 使用率をさらに削減(約 1.1 コア → 約 0.4 コア。純正ファームの raw 復調は約 2.7 コア)。
    ライブ受信のウィンドウで重なっている部分を復号し直さず出力するフレームだけを復号し、ビタビ(8bit 計量 × 32 レーン)と
    RS のシンドローム(32 TSP 同時)を AVX2 で書き直し、デマップ〜量子化を 1 パスにしました。受信品質・TS の内容は変わりません
    (ビタビの軟値を 5bit に量子化しますが、RS 訂正後の TS は同一です)。
  • ログ統計に fpga_last_start / fpga_start_hi(ファーム v2.0.1 の 64bit 窓開始の確認用)を追加。

v1.3.1 の変更点(v1.3.0 から)

  • FPGA 前段使用時、視聴開始から最長約 9 分で映像が止まる問題を修正(選局し直すと復帰していたもの)。
    ファーム v2.0.0 が出す窓の開始サンプル番号が 32bit で 528 秒ごとに一周し、TS の継ぎ合わせが止まっていました。
    DLL 側で周回を数えるようにしたので、ファームはそのままで直ります。
  • 継ぎ合わせの位置が大きく飛んだときに黙って捨て続けず仕切り直す安全弁を追加(ログ統計 splice_resets)。

v1.3.0 の変更点(v1.2.0 から)

  • カスタムファームウェア pluto-fw-isdbt v2.0.0 の FPGA 前段(同期・FFT・等化)に対応。
    ファームが対応していれば自動で使い(ini の [SDR] FpgaEq=auto が既定。0 で従来どおり)、
    復調の CPU 使用率が 約 2.7 コア → 約 1.1 コア に下がります。受信品質(MER)は従来と同等です。
    v1.0.0 のファームや純正ファームではこれまでどおり PC 側で全段復調します。
  • FPGA 前段を使うときも、ファームの ADC レベル計を読んでソフトウェア AGC を回し続けます(長時間視聴で
    信号レベルが変わってもゲインが追従)。
  • ケーブルテレビ(_TC 版の CATV 空間)のチャンネルスキャンで、受信できない VHF 1〜12ch に直前の局
    (例: NHK BS)が何度も見つかる問題を修正(周波数が設定できないときは無信号として扱う)。
  • FPGA 前段使用時、地デジのチャンネルスキャンで局を取りこぼすことがあった問題を修正(選局 1.5 秒で
    実測の MER を信号レベルとして返す)。
  • ログ統計に fpga_eq / fpga_delta / fpga_symbols / fpga_symbol_gaps を追加(デーモンの status にも同じ項目)。

v1.2.0 の変更点(v1.1.1 から)

  • カスタムファームウェア pluto-fw-isdbt に対応(任意。純正ファームのままでも従来どおり動きます)。
    接続時にファームが申告するサンプル幅を読み、8bit ファームなら公称 8.127 MSPS で取り込みます
    (純正 16bit は従来どおり 7/8 レート)。ファームのサンプルカウンタが読めれば、USB 帯域不足で
    捨てられたサンプル数 hw_dropped をログ統計に出します。ファームの判別は申告ベースで、
    DLL は 1 種類のままです。
  • ini の [SDR] Fs 未指定時はファームに合わせて自動選択になりました(既存の ini はそのまま使えます)。
  • 8bit ファームでは Gain=hw(AD936x 内蔵 AGC)を指定してもソフトウェア AGC に切り替えます
    (内蔵 AGC だと 8bit 側でクリップするため)。
  • tools/iq_record.py も申告ベースでサンプル幅と既定レートを自動判別します。

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは約 10 秒、ケーブルは 2〜3 秒かかります(異常ではありません。地デジは番組情報だけ約 5 秒で先に出るので、チャンネルスキャンは既定設定で検出できます)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

カスタムファームウェア(任意)

HamGeek 製 PlutoSDR Nano 向けのファームウェア pluto-fw-isdbt を書くと、
I/Q を 8bit で転送して USB 2.0 の帯域余裕が 2 倍になり(v1.0.0 以降)、さらに v2.0.0 以降では地デジの同期・FFT・等化を
FPGA が行うので PC 側の復調負荷が約 2.7 コアから約 1.1 コアに下がります。DLL は接続時に自動で判別して使い分けます
(ini の [SDR] FpgaEq=auto が既定。純正ファームとの併用可。入れなくても動作は変わりません)。
対象基板・書き込み方法・戻し方は向こうの README を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要

v1.4.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 08:03

v1.4.1 の変更点(v1.4.0 から)

  • FPGA 前段使用時の CPU をさらに削減(約 0.4 → 約 0.3 コア。等化済みキャリアを 8bit のまま後段に通す)。
  • ケーブルテレビ(ISDB-C)の復調を軽量化(約 0.63 → 約 0.35 コア。RS をまとめて復号、CFO 回転・位相推定・
    等化器の係数計算を AVX2 化、補間をまとめて計算)。受信品質・TS の内容は変わりません。
  • FPGA 前段使用時、選局直後の最初の約 0.6 秒分を捨てるようにし、映像が出始める瞬間の乱れ(TEI 付きパケット)を無くしました。
  • 文書: docs/architecture.md に FPGA 前段経路の説明、decisions.md に 10/15 の設計判断を追記。

v1.4.0 の変更点(v1.3.1 から)

  • FPGA 前段使用時の CPU 使用率をさらに削減(約 1.1 コア → 約 0.4 コア。純正ファームの raw 復調は約 2.7 コア)。
    ライブ受信のウィンドウで重なっている部分を復号し直さず出力するフレームだけを復号し、ビタビ(8bit 計量 × 32 レーン)と
    RS のシンドローム(32 TSP 同時)を AVX2 で書き直し、デマップ〜量子化を 1 パスにしました。受信品質・TS の内容は変わりません
    (ビタビの軟値を 5bit に量子化しますが、RS 訂正後の TS は同一です)。
  • ログ統計に fpga_last_start / fpga_start_hi(ファーム v2.0.1 の 64bit 窓開始の確認用)を追加。

v1.3.1 の変更点(v1.3.0 から)

  • FPGA 前段使用時、視聴開始から最長約 9 分で映像が止まる問題を修正(選局し直すと復帰していたもの)。
    ファーム v2.0.0 が出す窓の開始サンプル番号が 32bit で 528 秒ごとに一周し、TS の継ぎ合わせが止まっていました。
    DLL 側で周回を数えるようにしたので、ファームはそのままで直ります。
  • 継ぎ合わせの位置が大きく飛んだときに黙って捨て続けず仕切り直す安全弁を追加(ログ統計 splice_resets)。

v1.3.0 の変更点(v1.2.0 から)

  • カスタムファームウェア pluto-fw-isdbt v2.0.0 の FPGA 前段(同期・FFT・等化)に対応。
    ファームが対応していれば自動で使い(ini の [SDR] FpgaEq=auto が既定。0 で従来どおり)、
    復調の CPU 使用率が 約 2.7 コア → 約 1.1 コア に下がります。受信品質(MER)は従来と同等です。
    v1.0.0 のファームや純正ファームではこれまでどおり PC 側で全段復調します。
  • FPGA 前段を使うときも、ファームの ADC レベル計を読んでソフトウェア AGC を回し続けます(長時間視聴で
    信号レベルが変わってもゲインが追従)。
  • ケーブルテレビ(_TC 版の CATV 空間)のチャンネルスキャンで、受信できない VHF 1〜12ch に直前の局
    (例: NHK BS)が何度も見つかる問題を修正(周波数が設定できないときは無信号として扱う)。
  • FPGA 前段使用時、地デジのチャンネルスキャンで局を取りこぼすことがあった問題を修正(選局 1.5 秒で
    実測の MER を信号レベルとして返す)。
  • ログ統計に fpga_eq / fpga_delta / fpga_symbols / fpga_symbol_gaps を追加(デーモンの status にも同じ項目)。

v1.2.0 の変更点(v1.1.1 から)

  • カスタムファームウェア pluto-fw-isdbt に対応(任意。純正ファームのままでも従来どおり動きます)。
    接続時にファームが申告するサンプル幅を読み、8bit ファームなら公称 8.127 MSPS で取り込みます
    (純正 16bit は従来どおり 7/8 レート)。ファームのサンプルカウンタが読めれば、USB 帯域不足で
    捨てられたサンプル数 hw_dropped をログ統計に出します。ファームの判別は申告ベースで、
    DLL は 1 種類のままです。
  • ini の [SDR] Fs 未指定時はファームに合わせて自動選択になりました(既存の ini はそのまま使えます)。
  • 8bit ファームでは Gain=hw(AD936x 内蔵 AGC)を指定してもソフトウェア AGC に切り替えます
    (内蔵 AGC だと 8bit 側でクリップするため)。
  • tools/iq_record.py も申告ベースでサンプル幅と既定レートを自動判別します。

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは約 10 秒、ケーブルは 2〜3 秒かかります(異常ではありません。地デジは番組情報だけ約 5 秒で先に出るので、チャンネルスキャンは既定設定で検出できます)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

カスタムファームウェア(任意)

HamGeek 製 PlutoSDR Nano 向けのファームウェア pluto-fw-isdbt を書くと、
I/Q を 8bit で転送して USB 2.0 の帯域余裕が 2 倍になり(v1.0.0 以降)、さらに v2.0.0 以降では地デジの同期・FFT・等化を
FPGA が行うので PC 側の復調負荷が約 2.7 コアから約 1.1 コアに下がります。DLL は接続時に自動で判別して使い分けます
(ini の [SDR] FpgaEq=auto が既定。純正ファームとの併用可。入れなくても動作は変わりません)。
対象基板・書き込み方法・戻し方は向こうの README を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 06:56

v1.4.0 の変更点(v1.3.1 から)

  • FPGA 前段使用時の CPU 使用率をさらに削減(約 1.1 コア → 約 0.4 コア。純正ファームの raw 復調は約 2.7 コア)。
    ライブ受信のウィンドウで重なっている部分を復号し直さず出力するフレームだけを復号し、ビタビ(8bit 計量 × 32 レーン)と
    RS のシンドローム(32 TSP 同時)を AVX2 で書き直し、デマップ〜量子化を 1 パスにしました。受信品質・TS の内容は変わりません
    (ビタビの軟値を 5bit に量子化しますが、RS 訂正後の TS は同一です)。
  • ログ統計に fpga_last_start / fpga_start_hi(ファーム v2.0.1 の 64bit 窓開始の確認用)を追加。

v1.3.1 の変更点(v1.3.0 から)

  • FPGA 前段使用時、視聴開始から最長約 9 分で映像が止まる問題を修正(選局し直すと復帰していたもの)。
    ファーム v2.0.0 が出す窓の開始サンプル番号が 32bit で 528 秒ごとに一周し、TS の継ぎ合わせが止まっていました。
    DLL 側で周回を数えるようにしたので、ファームはそのままで直ります。
  • 継ぎ合わせの位置が大きく飛んだときに黙って捨て続けず仕切り直す安全弁を追加(ログ統計 splice_resets)。

v1.3.0 の変更点(v1.2.0 から)

  • カスタムファームウェア pluto-fw-isdbt v2.0.0 の FPGA 前段(同期・FFT・等化)に対応。
    ファームが対応していれば自動で使い(ini の [SDR] FpgaEq=auto が既定。0 で従来どおり)、
    復調の CPU 使用率が 約 2.7 コア → 約 1.1 コア に下がります。受信品質(MER)は従来と同等です。
    v1.0.0 のファームや純正ファームではこれまでどおり PC 側で全段復調します。
  • FPGA 前段を使うときも、ファームの ADC レベル計を読んでソフトウェア AGC を回し続けます(長時間視聴で
    信号レベルが変わってもゲインが追従)。
  • ケーブルテレビ(_TC 版の CATV 空間)のチャンネルスキャンで、受信できない VHF 1〜12ch に直前の局
    (例: NHK BS)が何度も見つかる問題を修正(周波数が設定できないときは無信号として扱う)。
  • FPGA 前段使用時、地デジのチャンネルスキャンで局を取りこぼすことがあった問題を修正(選局 1.5 秒で
    実測の MER を信号レベルとして返す)。
  • ログ統計に fpga_eq / fpga_delta / fpga_symbols / fpga_symbol_gaps を追加(デーモンの status にも同じ項目)。

v1.2.0 の変更点(v1.1.1 から)

  • カスタムファームウェア pluto-fw-isdbt に対応(任意。純正ファームのままでも従来どおり動きます)。
    接続時にファームが申告するサンプル幅を読み、8bit ファームなら公称 8.127 MSPS で取り込みます
    (純正 16bit は従来どおり 7/8 レート)。ファームのサンプルカウンタが読めれば、USB 帯域不足で
    捨てられたサンプル数 hw_dropped をログ統計に出します。ファームの判別は申告ベースで、
    DLL は 1 種類のままです。
  • ini の [SDR] Fs 未指定時はファームに合わせて自動選択になりました(既存の ini はそのまま使えます)。
  • 8bit ファームでは Gain=hw(AD936x 内蔵 AGC)を指定してもソフトウェア AGC に切り替えます
    (内蔵 AGC だと 8bit 側でクリップするため)。
  • tools/iq_record.py も申告ベースでサンプル幅と既定レートを自動判別します。

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは約 10 秒、ケーブルは 2〜3 秒かかります(異常ではありません。地デジは番組情報だけ約 5 秒で先に出るので、チャンネルスキャンは既定設定で検出できます)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

カスタムファームウェア(任意)

HamGeek 製 PlutoSDR Nano 向けのファームウェア pluto-fw-isdbt を書くと、
I/Q を 8bit で転送して USB 2.0 の帯域余裕が 2 倍になり(v1.0.0 以降)、さらに v2.0.0 以降では地デジの同期・FFT・等化を
FPGA が行うので PC 側の復調負荷が約 2.7 コアから約 1.1 コアに下がります。DLL は接続時に自動で判別して使い分けます
(ini の [SDR] FpgaEq=auto が既定。純正ファームとの併用可。入れなくても動作は変わりません)。
対象基板・書き込み方法・戻し方は向こうの README を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要

v1.3.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 02:05

v1.3.1 の変更点(v1.3.0 から)

  • FPGA 前段使用時、視聴開始から最長約 9 分で映像が止まる問題を修正(選局し直すと復帰していたもの)。
    ファーム v2.0.0 が出す窓の開始サンプル番号が 32bit で 528 秒ごとに一周し、TS の継ぎ合わせが止まっていました。
    DLL 側で周回を数えるようにしたので、ファームはそのままで直ります。
  • 継ぎ合わせの位置が大きく飛んだときに黙って捨て続けず仕切り直す安全弁を追加(ログ統計 splice_resets)。

v1.3.0 の変更点(v1.2.0 から)

  • カスタムファームウェア pluto-fw-isdbt v2.0.0 の FPGA 前段(同期・FFT・等化)に対応。
    ファームが対応していれば自動で使い(ini の [SDR] FpgaEq=auto が既定。0 で従来どおり)、
    復調の CPU 使用率が 約 2.7 コア → 約 1.1 コア に下がります。受信品質(MER)は従来と同等です。
    v1.0.0 のファームや純正ファームではこれまでどおり PC 側で全段復調します。
  • FPGA 前段を使うときも、ファームの ADC レベル計を読んでソフトウェア AGC を回し続けます(長時間視聴で
    信号レベルが変わってもゲインが追従)。
  • ケーブルテレビ(_TC 版の CATV 空間)のチャンネルスキャンで、受信できない VHF 1〜12ch に直前の局
    (例: NHK BS)が何度も見つかる問題を修正(周波数が設定できないときは無信号として扱う)。
  • FPGA 前段使用時、地デジのチャンネルスキャンで局を取りこぼすことがあった問題を修正(選局 1.5 秒で
    実測の MER を信号レベルとして返す)。
  • ログ統計に fpga_eq / fpga_delta / fpga_symbols / fpga_symbol_gaps を追加(デーモンの status にも同じ項目)。

v1.2.0 の変更点(v1.1.1 から)

  • カスタムファームウェア pluto-fw-isdbt に対応(任意。純正ファームのままでも従来どおり動きます)。
    接続時にファームが申告するサンプル幅を読み、8bit ファームなら公称 8.127 MSPS で取り込みます
    (純正 16bit は従来どおり 7/8 レート)。ファームのサンプルカウンタが読めれば、USB 帯域不足で
    捨てられたサンプル数 hw_dropped をログ統計に出します。ファームの判別は申告ベースで、
    DLL は 1 種類のままです。
  • ini の [SDR] Fs 未指定時はファームに合わせて自動選択になりました(既存の ini はそのまま使えます)。
  • 8bit ファームでは Gain=hw(AD936x 内蔵 AGC)を指定してもソフトウェア AGC に切り替えます
    (内蔵 AGC だと 8bit 側でクリップするため)。
  • tools/iq_record.py も申告ベースでサンプル幅と既定レートを自動判別します。

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは約 10 秒、ケーブルは 2〜3 秒かかります(異常ではありません。地デジは番組情報だけ約 5 秒で先に出るので、チャンネルスキャンは既定設定で検出できます)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

カスタムファームウェア(任意)

HamGeek 製 PlutoSDR Nano 向けのファームウェア pluto-fw-isdbt を書くと、
I/Q を 8bit で転送して USB 2.0 の帯域余裕が 2 倍になり(v1.0.0 以降)、さらに v2.0.0 以降では地デジの同期・FFT・等化を
FPGA が行うので PC 側の復調負荷が約 2.7 コアから約 1.1 コアに下がります。DLL は接続時に自動で判別して使い分けます
(ini の [SDR] FpgaEq=auto が既定。純正ファームとの併用可。入れなくても動作は変わりません)。
対象基板・書き込み方法・戻し方は向こうの README を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 00:48

v1.3.0 の変更点(v1.2.0 から)

  • カスタムファームウェア pluto-fw-isdbt v2.0.0 の FPGA 前段(同期・FFT・等化)に対応。
    ファームが対応していれば自動で使い(ini の [SDR] FpgaEq=auto が既定。0 で従来どおり)、
    復調の CPU 使用率が 約 2.7 コア → 約 1.1 コア に下がります。受信品質(MER)は従来と同等です。
    v1.0.0 のファームや純正ファームではこれまでどおり PC 側で全段復調します。
  • FPGA 前段を使うときも、ファームの ADC レベル計を読んでソフトウェア AGC を回し続けます(長時間視聴で
    信号レベルが変わってもゲインが追従)。
  • ケーブルテレビ(_TC 版の CATV 空間)のチャンネルスキャンで、受信できない VHF 1〜12ch に直前の局
    (例: NHK BS)が何度も見つかる問題を修正(周波数が設定できないときは無信号として扱う)。
  • FPGA 前段使用時、地デジのチャンネルスキャンで局を取りこぼすことがあった問題を修正(選局 1.5 秒で
    実測の MER を信号レベルとして返す)。
  • ログ統計に fpga_eq / fpga_delta / fpga_symbols / fpga_symbol_gaps を追加(デーモンの status にも同じ項目)。

v1.2.0 の変更点(v1.1.1 から)

  • カスタムファームウェア pluto-fw-isdbt に対応(任意。純正ファームのままでも従来どおり動きます)。
    接続時にファームが申告するサンプル幅を読み、8bit ファームなら公称 8.127 MSPS で取り込みます
    (純正 16bit は従来どおり 7/8 レート)。ファームのサンプルカウンタが読めれば、USB 帯域不足で
    捨てられたサンプル数 hw_dropped をログ統計に出します。ファームの判別は申告ベースで、
    DLL は 1 種類のままです。
  • ini の [SDR] Fs 未指定時はファームに合わせて自動選択になりました(既存の ini はそのまま使えます)。
  • 8bit ファームでは Gain=hw(AD936x 内蔵 AGC)を指定してもソフトウェア AGC に切り替えます
    (内蔵 AGC だと 8bit 側でクリップするため)。
  • tools/iq_record.py も申告ベースでサンプル幅と既定レートを自動判別します。

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは約 10 秒、ケーブルは 2〜3 秒かかります(異常ではありません。地デジは番組情報だけ約 5 秒で先に出るので、チャンネルスキャンは既定設定で検出できます)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

カスタムファームウェア(任意)

HamGeek 製 PlutoSDR Nano 向けのファームウェア pluto-fw-isdbt を書くと、
I/Q を 8bit で転送して USB 2.0 の帯域余裕が 2 倍になり(v1.0.0 以降)、さらに v2.0.0 以降では地デジの同期・FFT・等化を
FPGA が行うので PC 側の復調負荷が約 2.7 コアから約 1.1 コアに下がります。DLL は接続時に自動で判別して使い分けます
(ini の [SDR] FpgaEq=auto が既定。純正ファームとの併用可。入れなくても動作は変わりません)。
対象基板・書き込み方法・戻し方は向こうの README を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 07:07

v1.2.0 の変更点(v1.1.1 から)

  • カスタムファームウェア pluto-fw-isdbt に対応(任意。純正ファームのままでも従来どおり動きます)。
    接続時にファームが申告するサンプル幅を読み、8bit ファームなら公称 8.127 MSPS で取り込みます
    (純正 16bit は従来どおり 7/8 レート)。ファームのサンプルカウンタが読めれば、USB 帯域不足で
    捨てられたサンプル数 hw_dropped をログ統計に出します。ファームの判別は申告ベースで、
    DLL は 1 種類のままです。
  • ini の [SDR] Fs 未指定時はファームに合わせて自動選択になりました(既存の ini はそのまま使えます)。
  • 8bit ファームでは Gain=hw(AD936x 内蔵 AGC)を指定してもソフトウェア AGC に切り替えます
    (内蔵 AGC だと 8bit 側でクリップするため)。
  • tools/iq_record.py も申告ベースでサンプル幅と既定レートを自動判別します。

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは約 10 秒、ケーブルは 2〜3 秒かかります(異常ではありません。地デジは番組情報だけ約 5 秒で先に出るので、チャンネルスキャンは既定設定で検出できます)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

カスタムファームウェア(任意)

HamGeek 製 PlutoSDR Nano 向けに、I/Q を 8bit で転送して USB 2.0 の帯域余裕を 2 倍にし、
サンプル落ちを FPGA で数えるファームウェア pluto-fw-isdbt があります。
本バージョン以降の DLL が自動で対応します(純正ファームとの併用可。入れなくても動作は変わりません)。
対象基板・書き込み方法・戻し方は向こうの README を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 01:13

v1.1.1 の変更点(v1.1.0 から)

  • TVTest のチャンネルスキャンで地デジが検出できない問題を修正(選局直後から暫定の信号レベルを返す。
    スキャンは既定の待ち時間 5 秒・リトライ 4 回のままでよい)
  • 地デジのチャンネル切替後に映像が一瞬出てから止まる・かくつく問題を修正。選局から約 6 秒で番組情報、
    約 10〜12 秒で映像が連続して始まる([SDR] FirstBurst で切替可。既定 psi)
  • 信号のある局が続くとスキャンで交互に落ちる問題を修正
  • 地デジのウィンドウ既定を WinFrames=8 / Workers=3 に変更(v1.1.0 の ini を使い回している場合は
    WinFrames=16 / Workers=2 を書き換えるか、新しい ini.sample から作り直す)

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは約 10 秒、ケーブルは 2〜3 秒かかります(異常ではありません。地デジは番組情報だけ約 5 秒で先に出るので、チャンネルスキャンは既定設定で検出できます)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 16:28

Pluto SDR で地上デジタル放送(ISDB-T フルセグ)と、ケーブルテレビの BS/CS トランスモジュレーション
(ISDB-C、64QAM)を受信する TVTest / EDCB 用 BonDriver。
復調は DLL 内で行うため、添付の zip だけで動作します(復調デーモン不要)。

zip には 2 種類の DLL が入っています。どちらか片方をインストールしてください:

DLL 受信できるもの チューニング空間
BonDriver_PlutoSDR_T.dll 地デジのみ UHF
BonDriver_PlutoSDR_TC.dll 地デジ + ケーブルテレビのトラモジ(BS/CS) UHF、CATV

インストール

  1. Analog Devices の PlutoSDR-M2k-USB-Drivers をインストールし、Pluto SDR(互換機可)を USB で接続
  2. 使う方の DLL と libiio の DLL 一式(lib*.dll、msvcp140.dll、vcruntime140.dll)を TVTest(x64 版)の BonDriver フォルダへコピー
  3. 同名の .ini.sample(例: BonDriver_PlutoSDR_TC.ini.sample)を同じ場所へコピーし .sample を外す(そのままで動く)
  4. アンテナ線またはケーブルテレビの同軸を Pluto の RX 端子へ(F型→SMA 変換)
  5. TVTest のドライバに DLL を選び、チャンネルスキャン(地デジ = UHF、ケーブルの BS/CS = _TC 版の CATV)

CATV 空間のチャンネル番号は BonDriver_BDA の TransModulation と同じ通し番号(VHF 1〜12ch、UHF 13〜62ch、C13〜C63)なので、
BonDriver_BDA 用の .ch2 は空間番号(2 列目)を 0 → 1 に書き換えれば流用できます。

選局から映像が出るまで地デジは 5〜8 秒、ケーブルは 2〜3 秒かかります(異常ではありません)。
チャンネルスキャンで局が見つからないときは、スキャンの詳細設定で待ち時間を 10 秒以上にしてください。
受信ゲインは帯域内 −24 dBFS 目標のソフトウェア AGC で、ケーブル端子のように全チャンネルが強い入力でも
フロントエンドが歪まないようにしています(AD936x 内蔵 AGC では MER が 20 dB 前後に張り付く)。
B-CAS / スクランブル解除は TVTest 側の設定で、本パッケージの範囲外です。
詳細な手順とトラブルシュートは docs/setup-tvtest.md を参照してください。

動作要件

  • Windows 11 x64 / 64bit 版 TVTest(32bit 版では読み込めません)
  • Pluto SDR 互換機(AD9363、USB 2.0。Pluto+ / LibreSDR は ini の Uri=ip:… で LAN 接続可)
  • CPU は AVX2 対応(Haswell 以降)が必要