PLOTTING A SINE WAVE USING TRIGNOMETRIC FOURIER SERIES
3 次查看(过去 30 天)
显示 更早的评论
2 个评论
回答(1 个)
Thiago Henrique Gomes Lobato
2020-5-3
You have an analytical waveform, so you can generate it for 4 cycles without using any fourier function. Then, if you use the fft function you can become the coefficients (The results are complex numbers, how do they related with sin and cos?). Also, to plot the approximation with a reduced number of coefficients you can simply set all the unwanted coefficients to 0 (why?). Here is an example implementation that will plot some approximations of your waveform as a function of the number of coefficients:
% Analytical waveform
t = 0:1/100:2*pi-1/100;
y = exp(-t);
y = [y,y,y,y]; % 4 cycles
t = 0:1/100:2*pi*4-2/100;
NofCoeff = 60;
figure
plot(t,y)
FFT = fft(y);
FFT(NofCoeff+1:end) = 0; % Remove unwanted coefficients
hold on
plot(t,ifft(FFT,'symmetric'))
legend({'Analytical function',['Fourier with ',num2str(NofCoeff),' coeff']})
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Waveform Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!