Skip to content

Config Module

config

Location: config.py


Description

The config.py file provides predefined parameter configurations for signal variations, noise modulation, and device-specific frequency ranges. It defines parameter sweeps, noise functions, and device constraints, enabling realistic signal augmentation and synthetic dataset generation.

This configuration allows for: - Device-Specific Signal Ranges: Defines the frequency and amplitude constraints for various embedded devices, sensors, and communication systems. - Parameter Sweeps: Provides preset variation ranges for different transformation operations like time shifts, gain variations, amplitude modulation, and baseline drift. - Noise Functions: Specifies different types of envelopes for modulating noise over time. - Noise Power and Modulation Factor Levels: Predefined scaling factors for controlling noise intensity and variability across experiments.


Embedded Device Frequency and Amplitude Ranges

The EMBEDDED_DEVICE_RANGES dictionary contains predefined amplitude and frequency constraints for different embedded systems. These constraints ensure that generated signals remain realistic within the operational bounds of the target device.

Examples:

Device Amplitude (V) Frequency (Hz)
Arduino Board (0, 5) (0, 12e3)
Drones (0, 1) Control: (2.398e9, 2.402e9)
Cameras (0, 1) (24, 120) (Frames per second)
Smartphones (0, 1) LTE: (699e6, 701e6), 5G: (38.9e9, 39.1e9)
Wi-Fi Routers (0, 1) WiFi 2.4 GHz: (2.395e9, 2.405e9)
Smart Watches (0, 0.9e-3) (2.398e9, 2.402e9)

These ranges ensure that generated signals for augmentation or simulation remain within the physical constraints of real-world embedded systems.


Parameter Sweeps

The param_sweeps dictionary defines predefined transformation parameters for different device types. These parameters control variations in time shift, warping, gain, and baseline drift, allowing for customized augmentation of signals.

Example: Cameras

Transformation Range
time_shift [1, 51, 101, 151, 201, 251, 301]
time_warp [0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07]
gain_variation [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]
baseline_drift_region [0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4]

Example: Arduino Board

Transformation Range
time_shift [1, 51, 101, 151, 201, 251, 301]
time_warp [0, 0.06, 0.12, 0.18]
gain_variation [0, 0.1, 0.2, 0.3, 0.4]
baseline_drift [0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0]

These parameter sweeps allow systematic variations in signal transformations, ensuring realistic data augmentation for different device categories.


Noise Functions

The noise_funcs list defines envelope-based noise modulation functions, controlling how noise evolves over time.

Available Noise Envelopes:

Function Description
None No modulation (stationary noise).
envelope_linear Gradual increase/decrease in noise intensity.
envelope_sine Cyclic noise modulation with sinusoidal fluctuations.
envelope_random_walk Stochastic amplitude variations (random walk process).
envelope_blockwise Step-like changes in noise amplitude (intermittent bursts).

These modulation functions allow for non-stationary noise effects, making simulations more realistic for machine learning and signal processing applications.


Noise Power and Modulation Factor Levels

npw_levels: Noise Power Scaling

Defines noise power variation ranges, allowing for controlled randomness in noise intensity through different measurements.

Level Range
1 [1, 1] (No variation)
2 [0.9, 1.1]
3 [0.85, 1.2]
4 [0.8, 1.3]
5 [0.75, 1.4]
6 [0.7, 1.5]
7 [0.65, 1.6]
8 [0.6, 1.7]

mf_levels: Modulation Factor Scaling

Controls random fluctuations in signal amplitude, adding variability to synthetic signals through different measurements.

Level Range
1 [0.75, 0.85]
2 [0.8, 0.9]
3 [1, 1] (No variation)
4 [1.0, 1.1]
5 [1.0, 1.2]

These levels introduce realistic signal fluctuations, making augmented data more robust and diverse.


Summary

The config.py file defines parameter constraints for signal transformations, noise modeling, and device-specific characteristics. It provides: 1. Device-Specific Ranges: Ensuring generated signals stay within real-world constraints. 2. Parameter Sweeps: Predefined ranges for augmentations like time shifts, warping, and gain variation. 3. Noise Functions: Modulation techniques for introducing realistic noise evolution. 4. Noise Power & Amplitude Modulation Levels: Randomized variability controls for robust signal augmentation.