Fourier series of real signals
Fourier series of real signals.
Written by Dr. Yoash Levron, January 2013.
This function computes the fourier series of a signal x(t). The amplitudes of the fourier series have the same dimension
of the original signal, so this function is useful for immediate computation of the actual frequency components, without
further processing.
for example, x(t) = 2 + 3*cos(2*pi*50*t) will result in :
dc value = 2
frequencies = [50 100 150 ...]
amplitudes = [3 0 0 ...]
phases = [0 0 0 ...]
x(t) is one cycle of an infinite cyclic signal. The function computes the fourier transform of that infinite signal.
The period of the signal (T) is determined by the length
of the input time vector, t.
x(t) must be real (no imaginary values).
The signal x(t) is represented as:
x(t) = Adc + A1*cos(w*t + ph1) + A2*cos(2*w*t + ph2) + ...
the function computes the amplitudes, Adc,A1,A2...
and the phases ph1,ph2,...
T = period of the signal = t(end) - t(1)
w = basic frequency = 2*pi/T
The function automatically interpolates the original signal to avoid aliasing. Likewise, the function automatically determines the number of fourier components, and truncates trailing zeros.
inputs:
t - [sec] time vector. Sample time may vary within the signal.
x - signal vector. same length as t.
outputs:
freq - [Hz] frequencies of the fourier series, not including zero.
amp - amplitudes vector. amp=[A1 A2 A3 ...], not including the DC component.
phase - [rad/sec] . phases, not including the DC component.
dc - the DC value (average of the signal).
Citar como
yoash levron (2024). Fourier series of real signals (https://www.mathworks.com/matlabcentral/fileexchange/40017-fourier-series-of-real-signals), MATLAB Central File Exchange. Recuperado .
Compatibilidad con la versión de MATLAB
Compatibilidad con las plataformas
Windows macOS LinuxCategorías
- Signal Processing > Signal Processing Toolbox > Transforms, Correlation, and Modeling > Transforms > Discrete Fourier and Cosine Transforms >
Etiquetas
Agradecimientos
Inspiración para: Demonstration of Fourier series in continuous time signal
Comunidades de usuarios
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.
Versión | Publicado | Notas de la versión | |
---|---|---|---|
1.3.0.0 | Signal bandwidth criterion is made easier. high frequency amplitudes are compared to rel_tol instead of rel_tol^2 |
||
1.2.0.0 | Added the function construct_harmonic_signal, which reconstructs the signal in time domain, given its harmonics. |
||
1.0.0.0 |