A high-precision RF simulation tool written in Zig, featuring a modern graphical user interface, and an advanced Entity Component System (ECS) archite...
A modern RF (Radio Frequency) simulation and analysis tool built in Zig, featuring a cross-platform user interface built with DVUI and SDL3, and an advanced Entity Component System (ECS) architecture for flexible RF component management.
Features
Core Functionality
RF Chain Simulation: Cascaded analysis of RF component chains with industry-standard calculations
Gain, noise figure, and intermodulation distortion analysis
Support for amplifiers, mixers, filters, attenuators, and other RF components
Real-time parameter updates with automatic chain recalculation
Comprehensive handling of extreme values and edge cases
Version Tracking: Guidelines for version management and release processes
Development
Building and Testing
# Standard development build
zig build
# Run with development flags
zig build run
# Execute unit tests
zig build test
# Release build for distribution
zig build -Doptimize=ReleaseSmall
For detailed information about the build system, cross-compilation, dependency management, and CI/CD workflows, see the Build System Documentation.
Code Organization
The codebase follows modern Zig conventions and architectural patterns:
Naming: camelCase for functions, snake_case for variables, PascalCase for types
ECS Architecture: Clean separation of data (Components) and behavior (Systems)
Memory Management: Explicit allocator patterns with proper cleanup
Error Handling: Comprehensive error types with informative messages
Configuration: Centralized settings management with validation
Testing: Integrated unit tests for all calculation modules
Documentation: Extensive inline documentation with usage examples
Contributing
Contributions are welcome! Please see our contribution guidelines:
Code Style: Follow existing Zig conventions and architectural patterns
Testing: Include unit tests for new functionality
Documentation: Update relevant documentation for changes
Issues: Report bugs and feature requests through GitHub Issues
Discussions: Technical discussions and usage questions via GitHub Discussions
Roadmap
Version 0.1.0 (Current)
✅ Core RF Simulation: Cascaded analysis with industry-standard calculations ✅ ECS Architecture: Complete Entity Component System implementation ✅ Interactive UI: Component placement, connection management, and property editing ✅ Project Files: Save/load functionality with .zrfs format ✅ Cross-platform: Windows, macOS, and Linux support via SDL3
Version 0.2.0 (Planned)
Configuration persistence (.ini/.cfg config file)
Enhanced component library with additional RF component types
Improved visualization features and performance metrics display
Advanced keyboard shortcuts and workflow optimizations
Enhanced error handling and user feedback systems
Version 0.3.0 (Future)
Advanced plotting and graphing features with data import ability (CSV files)
Component parameter sweeping and optimization tools
Enhanced RF analysis capabilities and measurement tools
Interactive Smith chart for impedance matching with 2-port S-parameter import/export capability (.s2p files)
Advanced simulation features and analysis tools
License
This project is licensed under the GNU General Public License v3.0 - see the COPYING file for details.