real_fourier_stf_signal
Graph.real_fourier_stf_signal(duration, initial_coefficient_lower_bound=-1, initial_coefficient_upper_bound=1, fixed_frequencies=None, optimizable_frequency_count=None, randomized_frequency_count=None)
Create a real sampleable signal constructed from Fourier components.
Use this function to create a signal defined in terms of Fourier (sine/cosine) basis signals that can be optimized by varying their coefficients and, optionally, their frequencies.
Parameters
- duration (float) – The total duration of the signal.
- initial_coefficient_lower_bound (float , optional) – The lower bound on the initial coefficient values. Defaults to -1.
- initial_coefficient_upper_bound (float , optional) – The upper bound on the initial coefficient values. Defaults to 1.
- fixed_frequencies (np.ndarray or None , optional) – A 1D array containing the fixed non-zero frequencies to use for the Fourier basis. If provided, must be non-empty and specified in the inverse units of duration (for example if duration is in seconds, these values must be given in Hertz).
- optimizable_frequency_count (int or None , optional) – The number of non-zero frequencies to use, if the frequencies can be optimized. Defaults to 0.
- randomized_frequency_count (int or None , optional) – The number of non-zero frequencies to use, if the frequencies are to be randomized but fixed. Defaults to 0.
Returns
The optimizable, real-valued, sampleable signal built from the appropriate Fourier components.
Return type
WARNING
You must provide exactly one of fixed_frequencies, optimizable_frequency_count, or randomized_frequency_count.
SEE ALSO
Graph.real_fourier_pwc_signal
: Corresponding operation for Pwc.
Notes
This function sets the basis signal frequencies depending on the chosen mode:
- For fixed frequencies, you provide the frequencies directly.
- For optimizable frequencies, you provide the number of frequencies , and this function creates unbounded optimizable variables , with initial values in the ranges .
- For randomized frequencies, you provide the number of frequencies , and this function creates randomized constants in the ranges .
After this function creates the frequencies , it produces the signal
where are (unbounded) optimizable variables, with initial values bounded by and . This function produces the final signal .
You can use the signals created by this function for chopped random basis (CRAB) optimization 1.