# Is possible to get overshoot on bessel filter?

I tried to use bessel filter from here, but in the case of a large dataset, I have overshoot. Since I know a bessel filter shouldn't have overshoot, is this code wrong or am I doing something else wrong?

// Sample rate : 1e9
// Cut off Frequency : 50e6

int s=50000;
double[] sample = new double[s];

for(int i=s/2; i<s; i++) {
sample[i] = 1.0;
}

for (int i = 0; i<sample.length; i++) {
xv[0] = xv[1];
xv[1] = xv[2];
xv[2] = xv[3];
xv[3] = sample[i] / GAIN;
yv[0] = yv[1];
yv[1] = yv[2];
yv[2] = yv[3];
yv[3] = (xv[0] + xv[3]) + 3 * (xv[1] + xv[2])
+ (  0.3402988787 * yv[0])
+ ( -1.4152725242 * yv[1])
+ (  2.0223552191 * yv[2]);
filteredValue[i] = yv[3];
}


All coefficients have been calculated based on source on given website, it might been messy because its used for chebyshev and butterworth filters as well.

• More information would be helpful. Do you have example code or at least a plot that could show what you're asking about? Commented Aug 14, 2012 at 15:21
• example of code you have on website what i used, it automatically generated filter for given parameters. In my case parameters does not different, my graph has large overshoot if i use large dataset (100k elements, for smaller set (50 elements) overshoot is smaller, barely noticeable Commented Aug 15, 2012 at 10:29
• You need to provide much more information than you've given in order to get a good answer. We can't tell if you've done something wrong unless we see some indication of what you've actually done. While the linked page does generate C code that can implement a filter, it is not complete. A full example, or at the bare minimum, plots of what you're seeing would be needed. Commented Aug 15, 2012 at 12:48
• unfortunately i cant add plot because i dont have required reputation Commented Aug 15, 2012 at 14:59