{"id":50637329,"url":"https://github.com/jf9som/gpredict-improved","last_synced_at":"2026-06-26T03:00:45.510Z","repository":{"id":356897321,"uuid":"1234490498","full_name":"JF9SOM/gpredict-improved","owner":"JF9SOM","description":"Improvements to GPredict — satellite tracking with built-in Hamlib Doppler control, SDR support (HackRF/RTL-SDR), and browser access from phones on the same LAN.","archived":false,"fork":false,"pushed_at":"2026-06-24T02:08:50.000Z","size":1448,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-24T02:10:26.231Z","etag":null,"topics":["amateur-radio","ctcss","doppler","fastapi","gpredict","ham-radio","hamlib","pyside6","python","satellite","satellite-tracking","sdr"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JF9SOM.png","metadata":{"files":{"readme":"README.ja.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-10T08:51:04.000Z","updated_at":"2026-06-24T02:05:40.000Z","dependencies_parsed_at":"2026-06-10T01:00:25.279Z","dependency_job_id":null,"html_url":"https://github.com/JF9SOM/gpredict-improved","commit_stats":null,"previous_names":["jf9som/gpredict-improved"],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/JF9SOM/gpredict-improved","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JF9SOM%2Fgpredict-improved","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JF9SOM%2Fgpredict-improved/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JF9SOM%2Fgpredict-improved/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JF9SOM%2Fgpredict-improved/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JF9SOM","download_url":"https://codeload.github.com/JF9SOM/gpredict-improved/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JF9SOM%2Fgpredict-improved/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34801014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amateur-radio","ctcss","doppler","fastapi","gpredict","ham-radio","hamlib","pyside6","python","satellite","satellite-tracking","sdr"],"created_at":"2026-06-07T04:01:39.717Z","updated_at":"2026-06-26T03:00:45.502Z","avatar_url":"https://github.com/JF9SOM.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GPredict-Improved\n\n🌐 日本語 | [English](README.md)\n\n**GPredict の現代的後継** — アマチュア衛星追尾ソフトウェア\n\n[![CI](https://github.com/JF9SOM/gpredict-improved/actions/workflows/ci.yml/badge.svg)](https://github.com/JF9SOM/gpredict-improved/actions)\n[![Release](https://img.shields.io/github/v/release/JF9SOM/gpredict-improved)](https://github.com/JF9SOM/gpredict-improved/releases/latest)\n[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](LICENSE)\n[![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://python.org)\n\nGPredict-Improved は、長年アマチュア無線家に愛用されてきた\n[GPredict](https://github.com/csete/gpredict)（Alexandru Csete OZ9AEC 作）の設計を引き継ぎつつ、\n現代的な Python スタックで一から作り直したソフトウェアです。\n\n---\n\n## 主な改善点\n\n| 機能 | GPredict | GPredict-Improved |\n|------|----------|-------------------|\n| プラットフォーム | デスクトップのみ | デスクトップ + **同一LAN内のスマホ・タブレットからブラウザでアクセス** |\n| 無線機制御 | rigctld を別途起動 | **Hamlib 内蔵**（700機種以上）— GUIで無線機を選択するだけ |\n| SDR対応 | なし | **HackRF / RTL-SDR（SoapySDR経由）** — スペクトラム・復調・IQ録音 |\n| ドップラー補正 | 周波数のみ | **周波数 + モード + CTCSS/DCSトーン**を自動設定 |\n| デュアルリグ | 対応 | **Rig 1 + Rig 2** — SDRドングルをリグとして割り当て可能 |\n| 衛星周波数DB | SATNOGSのみ・テキスト編集 | SATNOGS自動同期 + **GUIから手動追加・編集** |\n| TLE更新 | 自動更新あり | **複数ソースから自動更新・品質スコアリング** |\n| パス予測表示 | リスト表示のみ | **グラフィカルパスチャート + スカイレーダー + 世界地図フットプリント** |\n| ローテーター制御 | 別途 rotctld | **Hamlib内蔵 — GUIでローテーターを選択するだけ。rotctld不要** |\n| 対応OS | Linux・Windows・macOS（GTK+）| **Linux・Windows・macOS・Raspberry Pi** |\n\n---\n\n## 主な機能\n\n### デスクトップUI（Qt6）\n- **ダッシュボード** — ズームマップ + レーダー + ライブステータスバーを一画面に統合\n- **世界地図** — 衛星フットプリント・地上軌跡・ドットクリックで衛星選択\n- **レーダー（スカイビュー）** — 北固定、AOS/LOS時刻表示、複数衛星を色分け表示\n- **パスチャート** — 仰角カーブをグラフ表示（品質ランク色分け：excellent/good/fair/low）\n- **グループパスチャート** — 複数衛星のパスをまとめて表示、ホバーでツールチップ\n- **アップカミングパス** — 対象衛星またはグループで検索、カレンダー選択、CSV出力\n- **ラジオコントロール** — ドップラー補正、モード/CTCSS自動設定、トランスポンダーリスト\n- **SDRコントロール** — リアルタイムスペクトラムアナライザー、NFM/USB/LSB/CW復調、IQ録音、トランスポンダーロック付きパスバンドチューニング\n- **Autotrack/Record** — 衛星を順次自動追尾。タイマーで開始・停止時刻を設定可能。AOS時にリグ・ローテーターを自動接続、LOS時に自動切断。SDR Audio/IQ録音をAOS〜LOS間で自動制御\n- **AOS/LOSデスクトップ通知**（Linux: notify-send / macOS: osascript / Windows: PowerShell）\n\n### Communications（デジタル通信）\nメニューバーの **Communications**（Radio と Autotrack/Record の間）からアクセス。各機能は × で閉じられる非常駐タブとして開きます。\n\n- **APRS** — Rig + サウンドカード + Direwolf（TCP KISS）または SDR 内蔵の Bell 202 AFSK 復調器でAX.25/APRSパケットを受信・デコード。APRSメッセージ・位置ビーコンの送信にも対応（PTTはCAT制御）。受信した位置パケットはDashboardマップにシアン▲ピンで表示。コールサイン・SSID・Viaパスを保存。ADIF出力対応。\n- **Telemetry** — アマチュア衛星のAX.25テレメトリーフレームをデコード。12衛星分のバイナリフォーマット定義を同梱（ISS、FO-29、SO-50、AO-73、JO-97、RS-44、MO-122 等）。定義のない衛星は生Hex表示。CSV出力対応。\n- **SSTV / SSDV** — アマチュア衛星（例：ISS 145.800 MHz PD120・437.550 MHz Robot36）のSSTV画像（Robot36、PD120、Martin、Scottie）とSSDVパケットを受信。SDR音声またはリグのサウンドカード入力に対応。トランスポンダー説明に「SSTV」「SSDV」「IMAGING」が含まれると自動オープン。\n- **FT4** — 内蔵 ft8_lib（ctypes）でFT4の送受信が可能（WSJT-X不要）。Rig + PTTで送信。RS-44・JO-97・MO-122 等のFT4運用衛星で自動オープン。ADIF出力対応。\n- **Help → Direwolf Installation…** — 全プラットフォームでDirewolfの検出・インストール・更新が可能\n- **Help → gr-satellites…** — gr-satellitesのインストール状態確認・インストール案内（apt / brew / pip）\n\n### モバイルブラウザUI\n同じLAN内のスマホ・タブレットからアプリインストール不要でアクセス可能です。\n\n- **Trackingタブ** — 衛星リスト、リアルタイムEL/AZ/距離 + レーダー\n- **Antennaタブ** — 大きな数字でAZ/ELを表示、パス進行バー、トランスポンダーカード、リモートRIG接続/切断\n- **Pass Predictionタブ** — 衛星ごとのアップカミングパス一覧\n- **Group Passタブ** — グループ検索とパス表示\n- **コンパス連動レーダー**（Android：デバイスの向きに連動して自動回転）\n\n### 無線機・ローテーター制御\n- Hamlib 4.7.1 内蔵 — rigctld 別途起動不要\n- NET Controlモード（rigctld/rotctld互換）— 既存環境と併用可能\n- デュアルリグ：Rig 1 + Rig 2 独立制御（例：IC-9700 + HackRF）\n- 反転トランスポンダー対応、パスバンドチューニング\n- キャッチアップ追尾（タイムアウト再送信付き）\n\n### データ管理\n- **SATNOGS** トランスポンダーDB 自動同期（日次）\n- **コミュニティ周波数DB** — FT4コーリング周波数など、SANTOGSにない慣習周波数\n- **TLE複数ソース**: CelesTrak Amateur/CubeSat/Weather/Earth-Obs/Science/Stations、SATNOGS TLE API、手動入力\n- TLE品質スコアリング：excellent（6時間未満）/ good（24時間未満）/ fair（72時間未満）/ poor\n- 仮NORAD ID（90000番台）を実IDへ自動移行\n- 手動入力のTLE・トランスポンダーは自動同期で絶対に上書きされない\n- カスタムFavoriteグループ（グループ名・数を自由に設定）\n\n### 自動フェッチスケジュール\n\nGPredict-ImprovedはTLEおよびトランスポンダーデータをバックグラウンドで自動的に取得・更新します。\n**通常、手動更新は不要です。**\n手動更新は、打ち上げたばかりの衛星のパス直前など、直ちに最新データが必要な場合のみ行ってください。\n\n| データ種別 | 更新間隔 |\n|---|---|\n| Space Stations（ISS・CSS等） | **1時間**ごと |\n| Amateur Satellites（アマチュア衛星） | **2時間**ごと |\n| CubeSats | **4時間**ごと |\n| Weather Satellites（気象衛星） | **6時間**ごと |\n| Earth Observation / Science（地球観測・科学衛星） | **12時間**ごと |\n| Provisional TLEs（NORAD ≥ 90000の仮ID衛星） | **12時間**ごと |\n| Active TLE fallback（NORAD 10000–89999） | **24時間**ごと |\n| AMSAT運用状況 | **24時間**ごと |\n\nSATNOGSトランスポンダーデータは初回起動時に自動取得されます。\n以降は必要に応じて **Satellite → Sync SATNOGS** で手動更新してください。\nアプリ内では **Help → Auto Fetch Rules** でこのスケジュールを確認できます。\n\n### アプリ内アップデーター\n- **Help → Check for Updates** — 最新リリースを自動ダウンロードしてインストール\n- **Help → Hamlib Update** — アプリを再インストールせずにHamlibのみアップグレード\n\n---\n\n## インストール\n\n### Windows\n\n[Releases](https://github.com/JF9SOM/gpredict-improved/releases/latest) ページから\n`GPredict-Improved-Setup.exe` をダウンロードして実行してください。\n\n### macOS\n\n[Releases](https://github.com/JF9SOM/gpredict-improved/releases/latest) ページから\n`GPredict-Improved.dmg` をダウンロードし、開いてアプリケーションフォルダにドラッグしてください。\n\n### Linux（AppImage）\n\n```bash\n# ダウンロード後、実行権限を付与して起動\nchmod +x GPredict-Improved-*.AppImage\n./GPredict-Improved-*.AppImage\n```\n\n### Linux（ソースから — Ubuntu/Debian）\n\n```bash\n# 1. システム依存パッケージ\nsudo apt install python3.11 python3-pip libhamlib-dev python3-hamlib \\\n                 python3-soapysdr soapysdr-module-rtlsdr soapysdr-module-hackrf\n\n# 2. リポジトリをクローン\ngit clone https://github.com/JF9SOM/gpredict-improved.git\ncd gpredict-improved\n\n# 3. Python仮想環境\npython3.11 -m venv .venv\nsource .venv/bin/activate\npip install -e .\n\n# 4. udevルール設定（USB無線機アクセス権）\nsudo cp scripts/99-gpredict-improved.rules /etc/udev/rules.d/\nsudo udevadm control --reload-rules\nsudo usermod -aG dialout $USER\n# 一度ログアウト・ログインしてください\n\n# 5. 起動\npython -m src.main\n```\n\n---\n\n## SDR クイックスタート\n\n1. SDRデバイス（HackRF One、RTL-SDR等）を接続\n2. **Settings → Rig Settings → SDR Settings** を開く\n3. **Enumerate** をクリックしてデバイスを検出\n4. デバイスを選択し、サンプルレート・ゲインを設定して Rig 1 または Rig 2 に割り当て\n5. **Connect** をクリック — **SDR Controlタブ** がアクティブになる\n6. 衛星とトランスポンダーを選択 — モードが自動設定される\n\n### SDR — プラットフォーム対応状況\n\n| プラットフォーム | SDR 対応 |\n|---|---|\n| **Windows** | ✅ RTL-SDR・HackRF One のみ（ctypes 直接接続 — Zadig で WinUSB ドライバー要） |\n| **Linux** | ✅ SoapySDR 対応デバイス全般（システムパッケージでインストール） |\n| **macOS** | ✅ SoapySDR 対応デバイス全般（Homebrew でインストール） |\n\n**Windows** — Windows では SoapySDR が WinUSB ドライバーと根本的に非互換であり、\nデバイスを正常に開けません。RTL-SDR と HackRF は SoapySDR をバイパスして、\nデバイス DLL（`librtlsdr.dll` / `hackrf.dll`）を ctypes で直接呼び出します。\n**RTL-SDR・HackRF ともに、初回のみ Zadig で WinUSB ドライバーを当てる必要があります。**\nAirspy・Airspy HF+・ADALM-Pluto は **Windows では非対応** です。\n\n\u003e ⚠️ **Windows Zadig セットアップ（RTL-SDR・HackRF 共通）**\n\u003e 1. デバイスを USB に接続する。\n\u003e 2. [Zadig](https://zadig.akeo.ie/)（無料）をダウンロードして起動する。\n\u003e 3. Zadig で **Options → List All Devices** を選択し、デバイスを選ぶ\n\u003e    （RTL-SDR: *Bulk-In, Interface 0* / HackRF: *Hackrf One*）。\n\u003e    ドライバーを **WinUSB** に設定 → **Install Driver** をクリック。\n\u003e    **libusbK は絶対に選ばない** — デバイス検出が失敗します。\n\u003e 4. GPredict-Improved を再起動する。\n\u003e\n\u003e 詳細は **Help → SDR Device Installation** を参照してください。\n\n**Linux** — apt でインストール：\n```bash\nsudo apt install python3-soapysdr soapysdr-module-rtlsdr soapysdr-module-hackrf \\\n                 soapysdr-module-airspy\n```\n\n**macOS** — Homebrew でインストール：\n```bash\nbrew install soapysdr soapyrtlsdr soapyhackrf soapyairspy\n```\n\n\u003e LimeSDR など他の SoapySDR 対応デバイスは、Linux/macOS で対応モジュールを\n\u003e インストールすれば動作する可能性がありますが、Windows 版インストーラーには同梱されていません。\n\n\u003e **SDRplay（RSP1、RSP2、RSPdx 等）** — 全プラットフォームで同梱されていません。\n\u003e SoapySDRPlay3 が SDRplay 社の独自プロプライエタリ API ライブラリに依存しており、再配布できないためです。\n\u003e\n\u003e SDRplay デバイスを使用するには（全プラットフォーム共通）：\n\u003e 1. **SDRplay API** を [sdrplay.com/downloads](https://www.sdrplay.com/downloads/) からインストール\n\u003e    （Windows/macOS はインストーラー、Linux は `.run` スクリプト）\n\u003e 2. **SoapySDRPlay3** をインストール：\n\u003e    - Linux: `sudo apt install soapysdr-module-sdrplay3`\n\u003e    - macOS: ソースビルドまたは `conda install -c conda-forge soapysdr-module-sdrplay3`\n\u003e    - Windows: [github.com/pothosware/SoapySDRPlay3](https://github.com/pothosware/SoapySDRPlay3) からビルドまたは conda\n\u003e 3. 本ソフトウェアを再起動 — SoapySDR 経由でデバイスが自動検出されます。\n\n\u003e **ADALM-Pluto（PlutoSDR）** — 全プラットフォームで同梱されていません（Windows は CI ビルドが不安定、Linux/macOS はパッケージマネージャーで簡単にインストール可能）。\n\u003e\n\u003e **PlutoSDR ネットワーク接続の仕組み：** USB で接続すると、PlutoSDR は仮想 Ethernet アダプターを作成します。\n\u003e どのプラットフォームでも特別なドライバー（Zadig / WinUSB）は不要で、IP アドレス **192.168.2.1** で通信できます。\n\u003e\n\u003e ADALM-Pluto を使用するには（全プラットフォーム共通）：\n\u003e 1. PlutoSDR を USB で接続（USB ネットワークアダプターが自動インストールされます）\n\u003e 2. **libiio** をインストール：\n\u003e    - Linux: `sudo apt install libiio-dev`\n\u003e    - macOS: `brew install libiio`\n\u003e    - Windows: [github.com/analogdevicesinc/libiio/releases](https://github.com/analogdevicesinc/libiio/releases) からインストーラーを使用\n\u003e 3. **SoapyPlutoSDR** をインストール：\n\u003e    - Linux: `sudo apt install soapysdr-module-plutosdr`\n\u003e    - macOS: `brew install soapyplutosdr` または `conda install -c conda-forge soapysdr-module-plutosdr`\n\u003e    - Windows: `conda install -c conda-forge soapysdr-module-plutosdr` または [github.com/pothosware/SoapyPlutoSDR](https://github.com/pothosware/SoapyPlutoSDR) からビルド\n\u003e 4. 本ソフトウェアを再起動 — PlutoSDR が自動検出されます。\n\n---\n\n## アーキテクチャ\n\n```\ngpredict-improved/\n├── src/\n│   ├── core/     # 衛星追尾エンジン（Skyfield）— 仰角・ドップラー・パス予測\n│   ├── ui/       # PySide6 Qt6 デスクトップUI\n│   ├── web/      # FastAPI + WebSocket（LAN内ブラウザアクセス、ポート8080）\n│   ├── rig/      # Hamlib 無線機・ローテーター制御 + SdrRigAdapter\n│   ├── sdr/      # SoapySDR バックエンド — デバイス・パイプライン・復調・録音\n│   ├── comms/    # デジタル通信 — APRSエンジン・Direwolf管理・Bell 202 AFSK復調・AX.25パーサー\n│   ├── data/     # TLE/SATNOGS同期・SQLite DB・手動入力\n│   └── i18n/     # 多言語対応（gettextベース）\n├── locale/\n│   ├── en/LC_MESSAGES/   # 英語文字列\n│   └── ja/LC_MESSAGES/   # 日本語文字列\n└── tests/\n```\n\n起動時の動作：\n1. Qt6メインウィンドウを起動\n2. FastAPI/uvicorn をバックグラウンドスレッドで起動（ポート8080）\n3. `DataSyncManager` がTLE・SATNOGSデータを自動取得（初回または期限切れ時）\n4. ステータスバーにLAN内アクセスURL + QRコードボタンを表示\n\n---\n\n## 開発環境セットアップ\n\n```bash\npip install -e \".[dev]\"\n\n# フォーマット\nruff format src/ tests/\n\n# リント\nruff check src/ tests/\n\n# 型チェック\nmypy --strict src/\n\n# テスト（低スペック環境では test_rig.py のみ推奨）\npython -m pytest tests/test_rig.py -q\n\n# .po ファイルを編集した後は再コンパイル\nmsgfmt locale/ja/LC_MESSAGES/gpredict_improved.po \\\n      -o locale/ja/LC_MESSAGES/gpredict_improved.mo\n```\n\nClaude Code 向け開発指示書は [CLAUDE.md](CLAUDE.md) を参照してください。\n\n---\n\n## 動作確認済みハードウェア\n\n| デバイス | 種別 | Windows | Linux/macOS | 備考 |\n|---------|------|---------|-------------|------|\n| Yaesu FTX-1F | トランシーバー | ✓ | ✓ | Hamlib 4.7.1 モデル1051、NET Control、ドップラー補正確認済 |\n| Yaesu FT-991AM | トランシーバー | ✓ | ✓ | Hamlib 4.7.1 モデル1036、NET Control、ドップラー補正確認済 |\n| Icom IC-9100 | トランシーバー | — | ✓ | Hamlib 4.7.1 モデル3068、NET/Direct、SATモード、ドップラー補正確認済（v0.1.27） |\n| Icom IC-9700 | トランシーバー | ✓ | ✓ | Hamlib 4.7.1 モデル3081、NET/Direct、SATモード、ドップラー補正確認済（v0.1.27） |\n| RTL-SDR | SDR | ✓（WinUSB/Zadig 要）* | ✓ | Windows: ctypes 直接、Linux/macOS: SoapyRTLSDR |\n| HackRF One | SDR | ✓（WinUSB/Zadig 要）* | ✓ | Windows: ctypes 直接、Linux/macOS: SoapyHackRF |\n| Airspy R2 / Mini | SDR | ❌ 非対応 | ✓ | SoapyAirspy（Linux/macOS のみ） |\n| Airspy HF+ | SDR | ❌ 非対応 | ✓ | SoapyAirspyHF（Linux/macOS のみ） |\n| ADALM-Pluto | SDR | ❌ 非対応 | ✓ | SoapyPlutoSDR（Linux/macOS のみ） |\n| FTX-1F + RTL-SDR | デュアルリグ | ✓ | ✓ | パスバンドチューニング + Lock連動確認済 |\n\n\\* Windows では RTL-SDR・HackRF ともに Zadig で WinUSB ドライバーを当てる必要があります（初回一回限り）。\nWindows の SoapySDR は WinUSB との根本的な非互換性があるため、RTL-SDR と HackRF は ctypes でバイパスしています。\n\n---\n\n## 今後の予定（フェーズ2）\n\n### デジタルモード — アマチュア衛星（SDR）\n- **HRPT / LRPT** — SatDump連携による気象衛星画像受信\n- **CW解析** — AIベースのデコーダー（機械学習推論）\n- **gr-satellites 深度統合** — gr-satellites サブプロセス経由で100機種以上のテレメトリーフォーマットに対応\n\n### 業務用衛星受信（SDR）— 計画中\nHackRF / RTL-SDR + 適切な LNA・フィルターで受信可能な業務用衛星信号。\nいずれもオープンソースのデコーダーが存在し、SDR プラグインとして組み込む計画です。\n\n| 衛星システム | 周波数帯 | 内容 | 主なOSSデコーダー |\n|---|---|---|---|\n| **Inmarsat-C（STD-C）** | 1.5 GHz L帯 | 海事安全情報（MSI）・EGC・LRIT | [JAERO](https://github.com/jontio/JAERO) |\n| **Cospas-Sarsat L帯** | 1544.5 MHz | 捜索救助ビーコン位置情報（PLB/EPIRB/ELT） | gr-satellites |\n| **Iridium L帯 ACARS** | 1616〜1626.5 MHz | Iridium経由の航空ACARSメッセージ | [iridium-toolkit](https://github.com/dholm/iridium-toolkit) |\n| **Orbcomm** | 137〜138 MHz VHF帯 | IoT/M2Mデータメッセージ・AIS補完 | [gr-orbcomm](https://github.com/dholm/gr-orbcomm) |\n| **みちびき（QZSS）データ放送** | 1278.75 MHz L6帯 | 高精度測位補強（MADOCA-PPP）・災害危機管理通報 | [qzsl6tool](https://github.com/yoronneko/qzsl6tool) |\n\n各デコーダーはサブプロセスとして起動し、デコード結果を SDR Control タブの専用プラグインパネルに表示します。IQ録音ファイルからのオフライン再解析にも対応予定です。\n\n### UI / UX\n- **日本語UI** — 翻訳ファイルはすでに準備済み。フェーズ2で正式対応予定\n- **観測ログ** — 運用した衛星パスの記録・集計・エクスポート\n- **SDRデバイスインストールダイアログ** — USB VID/PIDスキャン、RTL-SDR/HackRFのドライバーインストール誘導\n\n### ハードウェア\n- TS-2000・FT-817ND 等での実機ドップラー制御テスト（IC-9100・IC-9700 は v0.1.27 で確認済み）\n- WSJT-X / JS8Call との周波数・モード同期\n\nご意見・ご要望は [GitHub Issues](https://github.com/JF9SOM/gpredict-improved/issues) またはプルリクエストでお寄せください。\n\n---\n\n## 新しい言語を追加する\n\n1. `locale/en/LC_MESSAGES/gpredict_improved.po` を\n   `locale/\u003c言語コード\u003e/LC_MESSAGES/gpredict_improved.po` にコピー\n2. `msgstr` の行を翻訳\n3. コンパイル: `msgfmt locale/\u003c言語コード\u003e/LC_MESSAGES/gpredict_improved.po -o locale/\u003c言語コード\u003e/LC_MESSAGES/gpredict_improved.mo`\n4. 新しい言語は設定ダイアログに自動で表示されます\n\n---\n\n## ライセンス\n\nGPL-2.0-or-later（GPredict互換）\n\n---\n\n## 謝辞\n\n- [GPredict](https://github.com/csete/gpredict) — Alexandru Csete OZ9AEC\n- [Skyfield](https://rhodesmill.org/skyfield/) — Brandon Rhodes\n- [Hamlib](https://hamlib.github.io/) — Hamlib Development Team\n- [SATNOGS](https://satnogs.org/) — Libre Space Foundation\n- [SoapySDR](https://github.com/pothosware/SoapySDR) — Pothosware\n- [Direwolf](https://github.com/wb2osz/direwolf) — WB2OSZ（John Langner）— AX.25 / APRS / KISS ソフトウェアTNC\n- [ft8_lib](https://github.com/kgoba/ft8_lib) — Kārlis Goba YL3JG — FT4/FT8コーデック（C ライブラリ、GPL-2.0）\n- [pySSTV](https://github.com/dholm/pySSTV) — Dominik Heidler DL2DH — SSTVエンコーダー/デコーダー\n- [gr-satellites](https://github.com/daniestevez/gr-satellites) — Daniel Estévez EA4GPZ — アマチュア衛星テレメトリーデコーダー\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjf9som%2Fgpredict-improved","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjf9som%2Fgpredict-improved","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjf9som%2Fgpredict-improved/lists"}