Design a low pass filter for time domain data

6 次查看(过去 30 天)
Hi,all I wish to design a low pass filter for the time domain data.I have transformed the data into frequency domain, which showed below. But I have no idea on how to design a low pass filter, because I can not determine the sampling frequency and cutoff frequency. The data is a 87238x1 vector. The total time for recording this data is 300 seconds.

采纳的回答

Star Strider
Star Strider 2016-8-9
You already have much of the information you need, particularly the length of the vector and the total time.
Assuming a constant sampling interval, you can calculate these:
Lv = 87238; % Data Vector Length (samples)
Tv = 300; % Data Vector Length (sec)
Ts = Tv/Lv; % Sampling Interval (sec/sample)
t = linspace(0, 1, Lv)*Ts; % Time Vector (sec)
Fs = 1/Ts; % Sampling Frequency (Hz)
Fn = Fs/2; % Nyquist Frequency (Hz)
You have to choose the cutoff frequency.
There are several ways to design filters in MATLAB, including dfilt and designfilt, however the IIR filter design procedure I usually use may be easier. It is here: How to design a lowpass filter for ocean wave data in Matlab?

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Digital and Analog Filters 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by