QuantiaMagica — ADC 行動レベルイベント駆動シミュレータ
概要
QuantiaMagica は「ADC 行為級(振る舞いレベル)イベント駆動シミュレータ」を目指す Python ライブラリです。ADC の変換フローにおける各フェーズ(サンプリング、保持、量子化、エンコーディング等)に対してイベントを発行し、ユーザー定義のイベントハンドラで非理想現象(ノイズ、ジッタ、非線形、遅延、ビットエラーなど)を注入できます。内蔵の解析ツールで ENOB、SNR、SFDR、THD、INL、DNL といった一般的な指標を計算でき、IEEE/JSSC スタイルの図を出力可能。シンプルな API によって短いスクリプトでシミュレーションから可視化、評価までを行えます。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 4
- ファイル数: 10
- メインの言語: Python
主な特徴
- イベント駆動アーキテクチャ:ADC 変換の各段階にカスタム動作を差し込める
- 簡潔な API:数行でシミュレーション、プロット、解析が可能
- 高拡張性:イベントハンドラで任意の非理想効果をモデル化可能
- 内蔵解析/可視化:ENOB/SNR/SFDR/THD/INL/DNL などの評価指標と学術スタイルの図をサポート
技術的なポイント
QuantiaMagica の核心は「イベント駆動での振る舞いモデリング」にあります。ADC の各処理ステージをイベント(フック)として定義し、ユーザーはそれらに対するハンドラを登録して作用を加えます。これにより、回路レベルではなく「動作(behavioral)」レベルでノイズ、ジッタ、チャネル不整合、非線形歪み、サンプリング遅延、ビットフリッピングなどの効果を容易に差し替え・組合せできます。Python 実装のため解析・可視化ツール群(FFT に基づくスペクトル解析、SNR/ENOB 計算、SFDR/THD 算出、INL/DNL のプロットなど)との連携が容易で、研究・評価フローをスクリプトで自動化できます。設計面では、API を簡潔に保つことに重きが置かれており、典型的なワークフローは「モデル定義 → イベントハンドラ登録 → シミュレーション実行 → 結果解析/プロット」の 3 ステップで完結します。拡張性を確保するためイベントハンドラはプラグイン的に追加可能で、モデルアーキテクチャ(SAR、ΔΣ、フラッシュ等)や入力波形/環境条件を柔軟に切り替えられます。実行性能は Python ベースのため大規模サンプル数や高速ループでは注意が必要ですが、プロトタイピングやアルゴリズム評価、教育用途には十分な利便性を提供します。ドキュメントと examples ディレクトリが整備されており、導入から実験再現までのハードルが低い点も特徴です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .github: dir
- LICENSE: file
- README.md: file
- docs: dir
- examples: dir
- quantiamagica: dir(ソースコード本体)
- setup.py: file(インストール設定)
- requirements.txt: file(依存一覧)
- tests: dir(テスト/サンプル/スクリプト)
- .gitignore: file
…他 5 ファイル
まとめ
イベント駆動で柔軟に非理想効果をモデル化できる、教育・研究向けの実用的な ADC 振る舞いシミュレータ。
リポジトリ情報:
- 名前: QuantiaMagica
- 説明: ADC Behavioral Event-Driven Simulator
- スター数: 1
- 言語: Python
- URL: https://github.com/KonataLin/QuantiaMagica
- オーナー: KonataLin
- アバター: https://avatars.githubusercontent.com/u/22834072?v=4
README の抜粋:
QuantiaMagica
ADC 行为级事件驱动仿真器
事件系统的 Python ADC 建模框架
特性
- 事件驱动架构: 像 Minecraft Bukkit 插件一样,在 ADC 转换的每个阶段注入自定义行为
- 简洁 API: 3 行代码完成仿真、绘图、分析
- 高度可扩展: 通过事件处理器轻松建模任意非理想效应
- 内置分析工具: ENOB, SNR, SFDR, THD, INL, DNL 等指标及 IEEE JSSC 风格绘图
- 多种架构支持: …