torchsig.transforms.transforms.Quantize¶
- class torchsig.transforms.transforms.Quantize(num_bits: tuple[int, int] = (6, 18), ref_level_adjustment_db: tuple[float, float] = (-10, 3), rounding_mode: list[str] = ['floor', 'ceiling'], **kwargs)[source]¶
Bases:
SignalTransformQuantize signal I/Q samples into specified levels with a rounding method.
- num_levels¶
Number of quantization levels.
- num_levels_distribution¶
Random draw from num_levels distribution.
- rounding_mode¶
Quantization rounding method. Must be ‘floor’ or ‘ceiling’.
- rounding_mode_distribution¶
Random draw from rounding_mode distribution.
Methods
Add parent Seedable object and set up RNGs accordingly.
Create distribution function with proper seeding.
Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds.
Seed number generators with given seed.
Initialize torch and numpy number generators, and update its children.
Update numpy and torch number generators with parent seed.
- __init__(num_bits: tuple[int, int] = (6, 18), ref_level_adjustment_db: tuple[float, float] = (-10, 3), rounding_mode: list[str] = ['floor', 'ceiling'], **kwargs)[source]¶
Initialize the Quantize transform.
- Parameters:
num_bits – Number of quantization bits. Defaults to (6, 18).
ref_level_adjustment_db – Reference level adjustment in dB. Defaults to (-10, 3).
rounding_mode – Quantization rounding method. Must be ‘floor’ or ‘ceiling’. Defaults to [“floor”, “ceiling”].
**kwargs – Additional keyword arguments passed to the parent class.
- __call__(signal: Signal) Signal¶
Validates signal, performs transform, updates bookeeping, (optionally) enforces data type.
- Parameters:
signal – Signal to be transformed.
- Returns:
Transformed signal.
- __repr__() str¶
Transform string representation.
Should be able to recreate class from this string.
- Returns:
Transform representation.
- __str__() str¶
String representation of the transform.
- Returns:
String representation of the transform.
- add_parent(parent: Seedable) None¶
Add parent Seedable object and set up RNGs accordingly.
- Parameters:
parent – Parent Seedable object to add.
- get_distribution(params: list | tuple | float, scaling: str = 'linear') Distribution¶
Create distribution function with proper seeding.
- Parameters:
params – Parameters for distribution.
scaling – Scaling param for distribution. Defaults to ‘linear’.
- Returns:
Distribution function, seeded.
- Return type: