how to create magnitude spectrum signal based on data from excel
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
shila kaimi
am 22 Nov. 2019
Kommentiert: Star Strider
am 25 Nov. 2019
dataset=xlsread('Group3.xlsx','Sheet1','A1:ALM1');
stepsize=0.001;
N=1;
t=0:stepsize:N;
x= dataset;
X=fft(x);
f=size(x,2)/2;
mag_spec=abs(x)/f;
freq=(0:499/2*f*stepsize);
plot(freq,mag_spec(1:500));
i already tried this code, but the error state :
'Error using plot
Vectors must be the same length.'
0 Kommentare
Akzeptierte Antwort
Star Strider
am 22 Nov. 2019
Your code needs a few slight improvements:
dataset=xlsread('Group3.xlsx','Sheet1','A1:ALM1');
stepsize=0.001;
N=1;
t=0:stepsize:N;
x= dataset;
X=fft(x);
f=size(x,2)/2;
mag_spec=abs(X)/(2*f); % Normalise By The Length Of The Original Vector
freq=(0:499*(2*f)*stepsize); % Use Full Vector Length To Create A Compatible Frequency Vector
figure
plot(freq,mag_spec(1:500));
xlim([0 50])
2 Kommentare
ahmad syaiful md subri
am 25 Nov. 2019
From the amplitude spectrum diagram of the signal (codding that you have give), how to design the lowpass filter to extract low frequency signal using Butterworth approximation
Star Strider
am 25 Nov. 2019
Choose the frequencies you want the filter to select, then follow the instructions in the documentation for buttord, butter, and zp2sos functions. Use filtfilt to do the actual filtering.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Digital Filter Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!