Signal filtering and FFT

4 ビュー (過去 30 日間)
vanrapa
vanrapa 2019 年 4 月 10 日
編集済み: vanrapa 2020 年 3 月 24 日
Hello,
I have a real time vibration data for 3.0599 seconds sampled at 9600 Hz.
I need to compute the FFT of the signal and find the peaks.
My frequency of interest is 0 to 600 Hz. I used low pass filter to filter the signal,
Fs = 9600;
Fn = Fs/2;
Wp = 600/Fn;
Ws = 601/Fn;
Rp = 10;
Rs = 50;
[n,Ws] = cheb2ord(Wp,Ws,Rp,Rs);
[c,b,a] = cheby2(n,Rs,Ws);
[soslp,glp] = zp2sos(c,b,a);
figure;
freqz(soslp, 2^16, Fs)
fAW1 = filtfilt(soslp, glp, AW1);
figure;
plot(f1,fAW1)
But I am not satisfied with the FFT results that I am getting from my filtered signal.
Is the procedure I am adopting correct? If not, what am I supposed to do to improve the result?
Thanks in advance.
  3 件のコメント
vanrapa
vanrapa 2019 年 4 月 12 日
Thanks for your reply.
I am looking into wavelet denoising for my signal now. Do you know of any procedure to choose the appropriate wavelet type and level pertaining to my signal?
Star Strider
Star Strider 2019 年 4 月 12 日
My pleasure.
I would begin with the wdenoise (link) function, and go from there. That might be all you need.

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeSmoothing and Denoising についてさらに検索

製品


リリース

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by