Value of data become near zero after filter

2 次查看(过去 30 天)
+
This is my original data with green line showing the average of 30sets of data, blue line showing average plus five times std, black showing average minus five times std and red line showing bad data.
After I apply the butterworth highpass filter which I show the code below
[d,c] = butter(order,fcl / (fs / 2),'high');
dataout_h = filter(d,c,dataset);
datahigh = dataout_h;
The average data becomes nearly zero and does anyone know the reason?

回答(1 个)

Ayham Zedan
Ayham Zedan 2019-7-23
The answer is in your question. You are high filtering your data. In otherwords, removing low frequency components of your data.
The average of the data is basically the DC value of your data (non changing part), corresponding to a frequency of 0Hz. which is a part of the low frequency components removed by your high pass filter, it is actually the lowest "frequency" of your data.

Community Treasure Hunt

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

Start Hunting!

Translated by