carnoise_parameters_generator
Class to generate random parameters for the Car noise signal generation
These are 2 separated class to keep the logic separated
- class clarity.utils.car_noise_simulator.carnoise_parameters_generator.CarNoiseParametersGenerator(primary_filter_cutoff: float = 0.14, primary_filter_constant_hz: float = 2.86, secondary_filter_cutoff: float = 0.8, secondary_filter_constant_hz: float = 200, random_flag: bool = True, random_seed: int | None = None)[source]
Bases:
object
A class to generate noise parameters for a car. The constructor takes a boolean flag to indicate whether some parameters should be randomized or not.
The method gen_parameters takes a speed in kilometers per hour and returns a dictionary of noise parameters.
The global variables GEAR_LOOKUP and RPM_LOOKUP are used to determine the gear and RPM for a given speed.
Example
>>> car_noise_parameters = CarNoiseParameters(random_flag=True) >>> parameters = car_noise_parameters.gen_parameters(speed_kph=100) >>> parameters { "speed": 70, "gear": 4, "rpm": 1890.0, "primary_filter": { "order": 1, "btype": "lowpass", "cutoff_hz": 12.685320000000003, }, "secondary_filter": { "order": 2, "btype": "lowpass", "cutoff_hz": 276.22400000000005, }, "bump": {"order": 1, "btype": "bandpass", "cutoff_hz": [34, 66.64000000000001]}, "dip_low": {"order": 1, "btype": "lowpass", "cutoff_hz": 90}, "dip_high": {"order": 1, "btype": "highpass", "cutoff_hz": 220.12494775682322},
}
- GEAR_LOOKUP: Final = {50: [3], 60: [4], 75: [4, 5], 85: [5], 100: [5, 6], 110: [6]}
- REFERENCE_CONSTANT_DB: Final = 30
- RPM_LOOKUP: Final = {3: 0.6, 4: 0.45, 5: 0.34, 6: 0.28}
- gen_parameters(speed_kph: float) dict [source]
Generate a dictionary of noise parameters for a given speed.
- Parameters:
speed_kph (float) – The speed of the car in kilometers per hour between 50 and 120 km/h.
- Returns:
parameters – A dictionary of noise parameters.
- Return type:
dict
- set_new_randomisation_range_freq_multiplier()[source]
Set a new frequency multiplier use in the primary and secondary filters