Calculating Fourier Series Coefficients
630 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am trying to compute the trigonometric fourier series coefficients of a periodic square wave time signal that has a value of 2 from time 0 to 3 and a value of -12 from time 3 to 6. It then repeats itself. I am trying to calculate in MATLAB the fourier series coefficients of this time signal and am having trouble on where to begin.
The equation is x(t) = a0 + sum(bk*cos(2*pi*f*k*t)+ck*sin(2*pi*f*k*t))
The sum is obviously from k=1 to k=infinity.
a0, bk, and ck are the coefficients I am trying to find. Thanks for the help.
1 Commento
omar seraj
il 1 Nov 2021
How to plot in Fourier series given a time interval -1.5 to 2.5I need a step by step answer to this problem please
Risposte (7)
Rick Rosson
il 6 Mar 2013
Modificato: Rick Rosson
il 6 Mar 2013
>> doc fft
>> doc real
>> doc imag
0 Commenti
Youssef Khmou
il 6 Mar 2013
Modificato: Youssef Khmou
il 6 Mar 2013
hi Jay , computing a0 bk and ck is bout theory i think, anyway try :
You have first to construct the original signal "Square(t)" so as to compare it with Fourier approximation :
clear , close all;
Fs=60;
t=0:1/Fs:20-1/Fs;
y=square(t,50);
y(y>0)=2;
y(y<0)=-12;
figure, plot(t,y);
axis ([0 20 -20 10])
% Fourier Series
a0=0;
Fy=zeros(size(t));
N=10;
for n=1:2:N
Fy=Fy+(4/n*pi)*sin(2*pi*n*t/(2*pi));
end
hold on,
plot(t,Fy,'r')
legend(' Square ','Fourier Approx');
Try now to to compute an, and bn and increase the number of iterations N and conclude
You have also to adjust the amplitudes
0 Commenti
Kamal Kaushal
il 1 Mar 2020
clear , close all;
Fs=60;
t=0:1/Fs:20-1/Fs;
y=square(t,50);
y(y>0)=2;
y(y<0)=-12;
figure, plot(t,y);
axis ([0 20 -20 10])
% Fourier Series
a0=0;
Fy=zeros(size(t));
N=10;
for n=1:2:N
Fy=Fy+(4/n*pi)*sin(2*pi*n*t/(2*pi));
end
hold on,
plot(t,Fy,'r')
legend(' Square ','Fourier Approx');
0 Commenti
Hemang Mehta
il 23 Ott 2020
clear , close all;
Fs=60;
t=0:1/Fs:20-1/Fs;
y=square(t,50);
y(y>0)=2;
y(y<0)=-12;
figure, plot(t,y);
axis ([0 20 -20 10])
% Fourier Series
a0=0;
Fy=zeros(size(t));
N=10;
for n=1:2:N
Fy=Fy+(4/n*pi)*sin(2*pi*n*t/(2*pi));
end
hold on,
plot(t,Fy,'r')
legend(' Square ','Fourier Approx');
2 Commenti
Aaron Vargas
il 9 Dic 2020
hello , is there any chance that you can explain to me the variables and how it works ? im stuck in a homework for college
Rik
il 31 Mar 2022
Comment posted as flag by Hariharan Hariharan:
need the flowof code for case study
Gabriele Bunkheila
il 29 Lug 2024
Modificato: Gabriele Bunkheila
il 29 Lug 2024
From a computational perspective, the Fourier Series is closely related to the Discrete Fourier Transform when talking about discrete signals (say sampled at a sampling rate fs, i.e. using a sampling period Ts = 1/fs). The Discrete Fourier Transform, in turn, is most often computed through the Fast Fourier Transform (or FFT, implemented by the fft function). That said, the Fourier Series only applies to periodic signals (say with period T).
Some of the key ideas to keep in mind when using the FFT to compute the Fourier Series include:
- The time-domain signal segment provided as input to the fft function should include exactly an integer number of periods or the signal. The simplest case is when that's exactly 1 period made of N samples, or T = N*Ts
- The coefficients returned by the FFT will be complex numbers. To obtain back the cosine and sine coefficients of the bk and ck coefficients, use cos and sin on the k-th complex coefficient returned by the FFT
- The FFT will only provide a "finite" sequence of separate complex coefficients, from k=0 to k equal just below T/(2*Ts). That is N/2-1 for N even and (N-1)/2 for N odd. The actual number of complex values returned by the FFT will be up to double that number, but the second half of those can be ignored if the input time-domain sequence is real
If you need a review of the basics on this topic, I recommend taking a look at the following resources:
- The fantastic Fourier Analysis learning module on MATLAB Central File Exchange (including the Sine and Cosine series App captured below)
- The super-popular video by Brian Douglas on Understanding the Discrete Fourier Transform and the FFT
- The section Fourier Analysis and Filtering from the MATLAB documentation
0 Commenti
NIHAD
il 18 Nov 2024 alle 5:49
we know that fourier series coefficients are given by and To find them just write these formulas in matlab.
your give example is 2 for t=0-3 and -12 for t=3-6. So the time period is T=6.
syms t n
assume(k>0)
assume (k,‘integer’) %assume k is a positive integer
a_0=(1/T)*(int(2,t,0,3)+int(-12,t,3,6))
a_k=(2/T)*(int(2*cos(2*k*pi*t/T),t,0,3)+int(-12*cos(2*k*pi*t/T),t,3,6))
b_k=(2/T)*(int(2*sin(2*k*pi*t/T),t,0,3)+int(-12*sin(2*k*pi*t/T),t,3,6))
0 Commenti
Vedere anche
Categorie
Scopri di più su Spectral Measurements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!