MATLAB Answers

how to create magnitude spectrum signal based on data from excel

1 ビュー (過去 30 日間)
shila kaimi
shila kaimi 2019 年 11 月 22 日
Commented: Star Strider 2019 年 11 月 25 日
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 件のコメント

サインイン to comment.

採用された回答

Star Strider
Star Strider 2019 年 11 月 22 日
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 件のコメント

ahmad syaiful md subri
ahmad syaiful md subri 2019 年 11 月 25 日
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
Star Strider 2019 年 11 月 25 日
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.

サインイン to comment.

More Answers (0)

サインイン してこの質問に回答します。


Translated by