Blue Pebble

Contents

  • Installation
    • Core package
    • Development install
    • Documentation and examples
  • Tutorials
    • Single Target Passive-Sonar Tracking Tutorial
      • Background & Key Concepts
      • Simulation Timing and Reproducibility
      • Build a Passive Towed Array Platform
      • Attach Acoustic Metadata to the Ground Truth
      • Choose a Blue Pebble Propagation Model
      • Configure Source and Noise Models
      • Run the Blue Pebble Simulator, Beamformer, and Detector Chain
      • Feed Blue Pebble Detections into a Stone Soup Tracker
      • Adapting This Tutorial
    • Multi-Target Passive-Sonar Tracking Tutorial
      • Simulation Timing and Reproducibility
      • Build a Manoeuvring TowedArrayPlatform
      • Create Multiple Truth Paths with Acoustic Metadata
      • Configure a Blue Pebble Propagation Model
      • Configure Shared Source and Noise Models
      • Run Beamforming and Passive-Sonar Detection
      • Track Multiple Bearings with Stone Soup Association
      • Adapting This Tutorial
  • Examples
    • Measured Data Examples
  • API Reference
    • bluepebble
    • bluepebble.detector
      • CACFARDetector
        • CACFARDetector.num_guard_cells
        • CACFARDetector.num_training_cells
        • CACFARDetector.threshold_factor
        • CACFARDetector.mode
        • CACFARDetector.detect()
      • DetectionAlgorithm
        • DetectionAlgorithm.detect()
      • OSCFARDetector
        • OSCFARDetector.num_guard_cells
        • OSCFARDetector.num_training_cells
        • OSCFARDetector.rank
        • OSCFARDetector.threshold_factor
        • OSCFARDetector.detect()
      • PeakDetector
        • PeakDetector.distance
        • PeakDetector.detect()
      • PassiveSonarDetector
        • PassiveSonarDetector.detection_chain
        • PassiveSonarDetector.sensor_data_gen
        • PassiveSonarDetector.steering_azimuths_rad
        • PassiveSonarDetector.snr_history
        • PassiveSonarDetector.detections_gen()
      • SweepResult
        • SweepResult.precision
        • SweepResult.recall
        • SweepResult.tpr
        • SweepResult.fpr
        • SweepResult.f1
        • SweepResult.auc_roc
        • SweepResult.auc_pr
        • SweepResult.best_param
        • SweepResult.param_at_fpr()
      • SweepSpec
      • ThresholdDetector
        • ThresholdDetector.threshold
        • ThresholdDetector.detect()
    • bluepebble.models
      • bluepebble.models.environment
        • Arctan
        • Bathymetry
        • Constant
        • FlatBathymetry
        • GEBCOBathymetry
        • LeroyCopernicusSoundSpeedProfile
        • Linear
        • Mackenzie
        • Munk
        • SeamountBathymetry
        • SoundSpeedProfile
        • WedgeBathymetry
      • bluepebble.models.propagation
        • AcousticPropagationModel
        • CylindricalAcousticPropagationModel
        • SpectrumPropagationModel
        • rtrsAcousticPropagationModel
        • SphericalAcousticPropagationModel
    • bluepebble.platform
      • TowedArrayPlatform
        • TowedArrayPlatform.num_sensors
        • TowedArrayPlatform.cable_length_m
        • TowedArrayPlatform.sensor_spacing_m
        • TowedArrayPlatform.array_depth_m
        • TowedArrayPlatform.velocity_mapping
        • TowedArrayPlatform.reference_sensor_idx
        • TowedArrayPlatform.move()
        • TowedArrayPlatform.get_platform_state_at()
        • TowedArrayPlatform.get_host_state_at()
        • TowedArrayPlatform.get_sensor_states_at()
        • TowedArrayPlatform.host_path
        • TowedArrayPlatform.sensor_paths
    • bluepebble.plotter
      • apply_shared_colourscale()
      • deduplicate_legend()
      • launch_bathymetry_and_sound_speed_viewer()
      • plot_world()
      • plot_btr()
      • plot_spectrogram()
      • plot_roc()
      • plot_pr()
      • plot_roc_pr()
    • bluepebble.signal
      • Signal
        • Signal.duration_s
        • Signal.sampling_rate_hz
        • Signal.num_samples
      • BiologicalSignal
        • BiologicalSignal.get_source_waveform()
        • BiologicalSignal.generate()
      • RandomSignal
        • RandomSignal.amplitude_upa
        • RandomSignal.seed
        • RandomSignal.generate()
      • WhiteNoiseSignal
        • WhiteNoiseSignal.generate()
      • ColouredNoiseSignal
        • ColouredNoiseSignal.spectral_exponent
        • ColouredNoiseSignal.generate()
      • AnthropogenicSignal
        • AnthropogenicSignal.frame_len
        • AnthropogenicSignal.hop_factor
        • AnthropogenicSignal.window_type
        • AnthropogenicSignal.compute_stft()
        • AnthropogenicSignal.get_stft()
        • AnthropogenicSignal.get_source_signal()
        • AnthropogenicSignal.get_source_waveform()
        • AnthropogenicSignal.stft_geometry()
        • AnthropogenicSignal.reset()
      • SyntheticAnthropogenicSignal
        • SyntheticAnthropogenicSignal.tonal_bandwidth_hz
        • SyntheticAnthropogenicSignal.noise_amplitude_upa
        • SyntheticAnthropogenicSignal.noise_spectral_exponent
        • SyntheticAnthropogenicSignal.noise_freq_range_hz
        • SyntheticAnthropogenicSignal.noise_variance
        • SyntheticAnthropogenicSignal.tonal_noise_is_constant
        • SyntheticAnthropogenicSignal.use_powerlaw_noise
        • SyntheticAnthropogenicSignal.noise_is_constant
        • SyntheticAnthropogenicSignal.seed
        • SyntheticAnthropogenicSignal.reset()
      • RecordedAnthropogenicSignal
        • RecordedAnthropogenicSignal.wav_path
        • RecordedAnthropogenicSignal.segment_start_s
        • RecordedAnthropogenicSignal.segment_duration_s
        • RecordedAnthropogenicSignal.duration_match_mode
        • RecordedAnthropogenicSignal.level_db_re_1upa
      • compute_stft()
      • inverse_stft()
      • apply_fade_in()
      • apply_fade_out()
      • bluepebble.signal.effects
        • Effect
        • Reverb
    • bluepebble.sigproc
      • Beamformer
        • Beamformer.beamform()
      • DelayAndSumBeamformer
        • DelayAndSumBeamformer.sampling_rate_hz
        • DelayAndSumBeamformer.domain
        • DelayAndSumBeamformer.nfft
        • DelayAndSumBeamformer.overlap
        • DelayAndSumBeamformer.f0
        • DelayAndSumBeamformer.fmin
        • DelayAndSumBeamformer.fmax
        • DelayAndSumBeamformer.shading
        • DelayAndSumBeamformer.beamform()
        • DelayAndSumBeamformer.das_broadband_power()
      • MinimumVarianceDistortionlessResponseBeamformer
        • MinimumVarianceDistortionlessResponseBeamformer.sampling_rate_hz
        • MinimumVarianceDistortionlessResponseBeamformer.nfft
        • MinimumVarianceDistortionlessResponseBeamformer.overlap
        • MinimumVarianceDistortionlessResponseBeamformer.f0
        • MinimumVarianceDistortionlessResponseBeamformer.fmin
        • MinimumVarianceDistortionlessResponseBeamformer.fmax
        • MinimumVarianceDistortionlessResponseBeamformer.beamform()
      • SteeringCalculator
        • SteeringCalculator.ssp
        • SteeringCalculator.steering_azimuths_rad
        • SteeringCalculator.calculate()
    • bluepebble.simulator
      • PassiveSonarArraySimulatorBase
        • PassiveSonarArraySimulatorBase.platform
        • PassiveSonarArraySimulatorBase.propagation_model
        • PassiveSonarArraySimulatorBase.noise_model
        • PassiveSonarArraySimulatorBase.beamformer
        • PassiveSonarArraySimulatorBase.steering_calculator
        • PassiveSonarArraySimulatorBase.ground_truth_paths
        • PassiveSonarArraySimulatorBase.sensor_data_gen()
      • ContinuousSTFTPassiveSonarArraySimulator
        • ContinuousSTFTPassiveSonarArraySimulator.signal_models
        • ContinuousSTFTPassiveSonarArraySimulator.mode
        • ContinuousSTFTPassiveSonarArraySimulator.fade_in_ms
        • ContinuousSTFTPassiveSonarArraySimulator.fade_out_ms
        • ContinuousSTFTPassiveSonarArraySimulator.norm_floor_ratio
        • ContinuousSTFTPassiveSonarArraySimulator.sensor_data_gen()
      • DiscretePassiveSonarArraySimulator
        • DiscretePassiveSonarArraySimulator.signal_models
        • DiscretePassiveSonarArraySimulator.sensor_data_gen()
      • ContinuousFractionalDelayPassiveSonarArraySimulator
        • ContinuousFractionalDelayPassiveSonarArraySimulator.signal_models
        • ContinuousFractionalDelayPassiveSonarArraySimulator.fade_in_ms
        • ContinuousFractionalDelayPassiveSonarArraySimulator.fade_out_ms
        • ContinuousFractionalDelayPassiveSonarArraySimulator.sensor_data_gen()
    • bluepebble.types
      • PassiveSonarSensorData
        • PassiveSonarSensorData.raw_signals
        • PassiveSonarSensorData.beamformed_data
        • PassiveSonarSensorData.timestamp
  • Development
    • Common checks
    • Documentation workflow
    • Development environment
      • Requirements
      • Using the dev container in VS Code
      • Using the container from the command line
  • Testing
    • How the suite is structured
    • Coverage by area
      • Package API
      • Signal models and utilities
      • Seed management
      • Beamforming
      • Environment models
      • Detection
      • Plotting helpers
      • Propagation models
      • Simulators
      • Towed-array models
      • Types
    • Current gaps
    • Running the tests
  • Citation
    • Licensing
    • Third-party components
  • Roadmap
    • Environmental modelling
    • Signal and source modelling
    • Detection and performance analysis
    • Extended sensing modalities
Blue Pebble
  • Overview: module code

All modules for which code is available

  • bluepebble.detector.algorithms
  • bluepebble.detector.metrics
  • bluepebble.detector.passive
  • bluepebble.models.environment.bathymetry
  • bluepebble.models.environment.sound_speed_profile
  • bluepebble.models.propagation.acoustic
  • bluepebble.platform.towedarray
  • bluepebble.plotter
  • bluepebble.signal.anthropogenic
  • bluepebble.signal.base
  • bluepebble.signal.biological
  • bluepebble.signal.effects
  • bluepebble.signal.random
  • bluepebble.signal.utils
  • bluepebble.sigproc.beamformer
  • bluepebble.simulator.base
  • bluepebble.simulator.continuous
  • bluepebble.simulator.discrete
  • bluepebble.types.sensordata
  • stonesoup.base

© Copyright 2026, Joshua J Wakefield and Finley Boulton.

Built with Sphinx using a theme provided by Read the Docs.