Class SineSweep
Defined in File sine_sweep.hpp
Class Documentation
-
class SineSweep
Generates a sine sweep for frequency analysis of a joint.
This class basically calculates the output for a sine sweep. Where the signal is a sine wave, whose frequency is exponentially increased from \(\omega_1\) to \(\omega_2\) over \(T\) seconds.
\(s(n) = A \sin [ K(e^{\delta t/L} - 1) ]\)
where:\(K = \frac{\omega_1T}{\ln \frac{\omega_2}{\omega_1} }\)\(L = \frac{T}{\ln \frac{\omega_2}{\omega_1} }\).
Public Functions
-
SineSweep()
Constructor.
-
double update(rclcpp::Duration dt)
Update the SineSweep loop with nonuniform time step size.
- Parameters:
dt – Change in time since last call
-
bool init(double start_freq, double end_freq, double duration, double amplitude)
Initializes everything and calculates the constants for the sweep.
- Parameters:
start_freq – Start frequency of the sweep, \(\omega_1\) .
end_freq – End frequency of the sweep, \(\omega_2\).
duration – The duration of the sweep, \(T\).
amplitude – The amplitude of the sweep, \(A\).
-
SineSweep()