这是用于ECG滤波处理的函数
其中的低通滤波器的时域表达式为
y[n] = 2*y[n-1] - y[n-2] + x[n] - 2*x[t-24 ms] + x[t-48 ms]
请问这个截止频率是多少?
{
static signed long y1 = 0, y2 = 0 ;
static signed long d0,d1,d2,d3,d4,d5,d6,d7,d8,d9 ;
signed long y0 ;
signed long output ;
if(init)
{
d0=d1=d2=d3=d4=d5=d6=d7=d8=d9=0 ;
y1 = y2 = 0 ;
}
// y[n] = 2*y[n-1] - y[n-2] + x[n] - 2*x[t-24 ms] + x[t-48 ms]
y0 = (y1 << 1) - y2 + datum - (d4<<1) + d9 ;
y2 = y1;
y1 = y0;
if(y0 >= 0) output = y0 >> 5;
else output = (y0 >> 5) | 0xF800 ;
d9=d8 ;
d8=d7 ;
d7=d6 ;
d6=d5 ;
d5=d4 ;
d4=d3 ;
d3=d2 ;
d2=d1 ;
d1=d0 ;
d0=datum ;
return(output) ;
}