Skip to content

Linear Frequency modulation

timecave.data_generation.frequency_modulation.FrequencyModulationLinear(freq_init, slope)

Bases: BaseFrequency

Represents a linear frequency modulation.

Parameters:

Name Type Description Default
freq_init float or int

The initial frequency value.

required
slope float

Slope of the frequency modulation over time.

required

Methods:

Name Description
modulate

Adjusts the frequency based on the given time.

Source code in timecave/data_generation/frequency_modulation.py
def __init__(self, freq_init: int or float, slope: int or float):
    self._check_freq_init(freq_init)
    self._check_slope(slope)
    super().__init__()
    self._slope = slope
    self._freq_init = freq_init

modulate(time)

Adjusts the frequency based on the given time.

This method should be implemented by subclasses to perform frequency modulation.

Parameters:

Name Type Description Default
time int

Number of timesteps for which modulation is meant to be performed.

required

Returns:

Type Description
float or int

The modulated frequency value at the given time instant.

Examples:

>>> from timecave.data_generation.frequency_modulation import FrequencyModulationLinear
>>> mod = FrequencyModulationLinear(1, 10);
>>> mod.modulate(5)
51
>>> mod.modulate(10)
101
Source code in timecave/data_generation/frequency_modulation.py
def modulate(self, time: int):
    """
    Adjusts the frequency based on the given time.

    This method should be implemented by subclasses to perform frequency modulation.

    Parameters
    ----------
    time : int
        Number of timesteps for which modulation is meant to be performed.

    Returns
    -------
    float or int
        The modulated frequency value at the given time instant.

    Examples
    --------
    >>> from timecave.data_generation.frequency_modulation import FrequencyModulationLinear
    >>> mod = FrequencyModulationLinear(1, 10);
    >>> mod.modulate(5)
    51
    >>> mod.modulate(10)
    101
    """
    return self._freq_init + self._slope * time