Signal processing frequency analysis functions

Frequency analysis functionalities with mainly FFT operation.

scared.signal_processing.frequency_analysis.fft(data, frequency, axis=-1)[source]

Compute rFFT on real data along the given axis.

Parameters:
  • data (numpy.ndarray) – N-dimensional real values array.

  • frequency (float) – the sampling rate/frequency, in Hz.

  • axis (int) – The axis of the input data array along which to apply the FFT. FFT is applied to each subarray along this axis. (default: -1).

Returns:

frequencies, magnitude, phase

Return type:

(numpy.ndarray, numpy.ndarray, numpy.ndarray)

Example

>>> import scipy.signal
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> frequency = 10e3
>>> f = 100
>>> signal = scipy.signal.square(2 * np.pi * int(f) * np.linspace(0, 1, int(frequency)))
>>> frequencies, magnitude, phase = frequency_analysis.fft(signal, frequency)
>>> plt.plot(frequencies, magnitude)
>>> plt.show()
>>> plt.plot(frequencies, phase)
>>> plt.show()