저주파 통과 필터(Low-Pass Filter) : 기준주파수 이하의 데이터만 통과하게함.
ts : 데이터 입력 주기
ts : 데이터 입력 주기
int Lowpass_Filter(int input)
{
int tau=5.4; //정하는 기준을 아직 잘 모르겠음.
return tau/(tau+ts)*pre_y+ts/(tau+ts)*input;
//원리 : 필터결과 = 이전 데이터의 (80%)? + 입력데이터의 (20%)?
}
고주파 통과 필터(High-Pass Filter) : 기준 주파수 이상의 데이터만 통과 하게 됨.
ts : 데이터 입력 주기
int Highpass_Filter(int input)
이동평균필터
MoveAverageFilter
고주파 통과 필터(High-Pass Filter) : 기준 주파수 이상의 데이터만 통과 하게 됨.
ts : 데이터 입력 주기
int Highpass_Filter(int input)
int tau=5.4; //정하는 기준을 아직 잘 모르겠음.
return tau/(tau+ts)*pre_y+ts/(tau+ts)*(input-pre_input);
//원리 : 필터결과 = 이전 데이터의 (80%)? + (입력데이터-이전입력데이터)(20%)?
}
이동평균필터
MoveAverageFilter
#define FILTERSIZE 10
int data[FILTERSIZE];
int Moving_Average(int input)
{
int sum, average, i;
for(i=0; i<FILTERSIZE; i++)
sum += data[i];
sum += input;
average = sum/(FILTERSIZE+1);
for(i=0; i<FILTERSIZE-1; i++)
data[i] = data[i+1];
data[i] = average;
return average;
}