plot the fundamental harmonic wave

11 views (last 30 days)
hamid k
hamid k on 19 Nov 2023
Commented: Abdullah on 24 Apr 2024
Hello everyone. I have exported data to an Excel spreadsheet where the x-axis is represented by theta (in radians). How can I plot the fundamental harmonic wave from this wave data?
  6 Comments
hamid k
hamid k on 23 Nov 2023
You can find the attached data and code files here.

Sign in to comment.

Accepted Answer

Mathieu NOE
Mathieu NOE on 23 Nov 2023
hello again
so this is it, we do a single frequency DFT (aka order extraction) at the second harmonic (as we have two period of signal for theta ranging from 0 to 2*pi
result :
code :
%Load Excel file
data = readmatrix('Book1.xlsx'); % theta(Rad) Br(T)
%Extract theta and y columns
theta = data(:,1); % theta (0 - 2pi)
y = data(:,2); % y data
%%%%%%%%%%%%% main code %%%%%%%%%%%%%%%%%
% 2nd order extraction (DFT)
order = 2;
% model fit : X = A*cos(order*theta) + B*sin(order*theta) + C
C = mean(y);
y = y-C;
n = numel(theta);
A = 2/n*trapz(y.*cos(order*theta));
B = 2/n*trapz(y.*sin(order*theta));
yfit = A*cos(order*theta) + B*sin(order*theta) + C;
% plot
figure(1),
plot(theta, y, 'b',theta, yfit, 'r')
legend('data','model fit');
  1 Comment
Abdullah
Abdullah on 24 Apr 2024
Hello Mathieu,
i tried to use your code with my data, but it does not work, do you have an idea?
https://de.mathworks.com/matlabcentral/answers/2110271-how-to-plot-the-fundamental-harmonic-wave-from-given-data?s_tid=srchtitle

Sign in to comment.

More Answers (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 20 Nov 2023
Here are two MATLAB fcns (bandpass() and fft()) which can be applied to solve your exercise.

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!