Advanced Hydroacoustic Sonar Simulation and Optimization Platform
SonarCore is a comprehensive software platform for simulating and optimizing hydroacoustic sonar systems. It enables engineers and researchers to model underwater acoustic propagation, optimize CHIRP signal parameters, and analyze receiver chain performance before hardware implementation.
🌊 Part of Open Deep Water initiative
- Physical Modeling: Accurate simulation of underwater acoustic propagation using established models (Mackenzie, Francois-Garrison)
- Signal Processing: CHIRP signal generation and matched filtering with multiple window functions
- Receiver Chain Simulation: Detailed modeling of LNA, VGA, and ADC components with real hardware parameters
- Parameter Optimization: Automated optimization of system parameters to meet performance targets
- Interactive GUI: User-friendly interface for parameter input and result visualization
- Component Library: Extensive database of real transducers, amplifiers, and ADCs
- Transducer Modeling: Create BVD, MBVD, EBVD, Mason, and KLM models from Conductance and Susceptance data
# Install dependencies
pip install -r requirements.txt
# Run the application
python main.pyFor detailed installation instructions, see INSTALL.md.
Note: These simulators are currently under active development.
- Sub-Bottom Profiler (SBP): Ground profile and penetration depth analysis
- Side-Scan Sonar: Seafloor imaging and backscattering analysis
- USBL: Underwater positioning systems
- Underwater Acoustic Communication: Wideband LFM chirp signals with correlation reception (18-34 kHz)
- Harbor Defense: Passive underwater target detection and localization system for port security using distributed hydrophone arrays and TDOA (Time Difference of Arrival) methods
✅ Completed: Transducer model creation from Conductance and Susceptance data.
SonarCore now supports creating comprehensive transducer models from experimental impedance data:
- BVD (Butterworth-Van Dyke): Basic 4-parameter model
- MBVD (Modified BVD): Enhanced model with dielectric losses (5 parameters)
- EBVD (Extended BVD): Multi-resonance model with harmonics (7+ parameters)
- Mason Model: Physical wave-based model for ultrasonic transducers
- KLM Model: Equivalent circuit model for hydroacoustic transducers
- Data Import: Load Conductance and Susceptance from CSV files
- Model Fitting: Automatic parameter optimization with multiple error metrics
- Model Comparison: Compare different models and select the best fit
- Export: Save fitted models with all parameters for use in SonarCore simulations
- Visualization: Interactive plots showing model fit quality
# Run BVD model fitting tool
python scripts/bvd.pyFor detailed information, see TRANSDUCER_PARAMETERS_REQUIRED.md and scripts/transducer_models.md.
The SBP simulator enables detailed modeling of sub-bottom sediment layers and acoustic penetration analysis.
- Multi-Layer Sediment Modeling: Configure complex sediment profiles with up to 10 different layer types
- Natural sediments: Clay, Silt, Sand, Mud, Gravel, Soft Clay
- Artificial materials: Concrete, Steel, Wood (underwater)
- Biological materials: Biological tissue
- CHIRP Signal Processing: Linear CHIRP generation with configurable frequency range (3-12 kHz typical)
- Matched Filtering: Cross-correlation for echo detection and interface identification
- Visualization Modes:
- RAW Mode: Full signal from surface including water column
- Ground Mode: Sediment layers only (from first echo to end)
- Interface Detection: Automatic identification of layer boundaries with red markers
- Signal Path Analysis: Complete signal propagation path with transmission parameters
- Layer Management: Interactive GUI with layer reordering (Move Up/Down)
# Run SBP GUI
python main_sbp.pyEach layer is characterized by:
- Density (ρ): kg/m³
- Sound Speed (c): m/s
- Attenuation (α): dB/m at 1 kHz (frequency-dependent)
- Thickness: Layer depth, m
- Acoustic Impedance: Z = ρ × c (calculated automatically)
The simulator provides:
- Profile Visualization: A-scan with raw signal and correlation
- Detected Interfaces: Marked with red dots showing layer boundaries
- Signal Path Diagram: Complete transmission chain analysis
- Results Summary: Detected interfaces, depths, amplitudes, and transmission parameters
For detailed technical specifications, see SBP.md.
SonarCore consists of three main modules:
- CORE: Computational engine with physical models and optimization algorithms
- DATA: Component library with real hardware parameters (transducers, LNA, VGA, ADC)
- GUI: Interactive interface for simulation and visualization
Complete technical specifications and documentation:
- Sonar.md - Complete technical documentation for the SonarCore platform (in Russian)
- OSO.md - Output Stage Optimization (OSO) technical specification for underwater acoustic communication systems with CHIRP modulation. Includes multi-parameter optimization of Class D amplifier, transformer, matching inductance, and transducer parameters
- connection.md - Underwater acoustic communication simulator specification (wideband LFM chirp, correlation reception). Includes signal encoding (up/down chirp for bits), channel modeling, receiver chain, and BER analysis. Status of implementation in SonarCore is documented
- harbor_defense.md - Harbor defense system specification for passive underwater target detection and localization in port areas. Includes distributed hydrophone array modeling, TDOA (Time Difference of Arrival) estimation, multipath propagation, and target tracking. Covers mathematical models for signal propagation, noise, and environmental effects in shallow water
- SBP.md - Sub-Bottom Profiler (SBP) technical specification with ground profile and penetration depth modeling
- side_scan.md - Side-Scan Sonar technical specification (60-900 kHz) with digital IQ processing
- USBL.md - Ultra-Short Baseline positioning system technical specification
- INSTALL.md - Installation and setup guide
- Water Propagation: Mackenzie (1981) sound speed, Francois-Garrison (1982) attenuation
- Signal Processing: CHIRP generation, matched filtering, envelope detection
- Receiver Modeling: Thermal noise, quantization, clipping, ENOB calculation
- Optimization: Multi-parameter optimization with constraint handling
- Python 3.8+
- NumPy, SciPy
- PyQt5 (for GUI)
See LICENSE file for details.
Contributions are welcome! Please refer to the technical documentation for implementation details.
SonarCore - Bringing precision to underwater acoustic system design.