Value of data become near zero after filter

8 ビュー (過去 30 日間)
Dongwei Bai
Dongwei Bai 2019 年 7 月 23 日
回答済み: Ayham Zedan 2019 年 7 月 23 日
+
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 件のコメント
Adam
Adam 2019 年 7 月 23 日
Depends entirely on what order and fcl are I imagine.

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

回答 (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