Gast
#2044852
Hallo zusammen, muss eine 50Hz Bandsperre in mein System einbauen. Hab schon ein Paar Beispiele im Forum gefunden. Ich habe da ein prog im Internet entdeckt, welches direkt einen digitalen Filter anhand der vorgegebenen Parameter entwirft und als C code darstellt. Kennt dieses jemand, ist es verlässlich? http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html habe folgende Parameter eingegeben, filtertype = Butterworth passtype = Bandstop ripple = order = 2 samplerate = 250 corner1 = 45 corner2 = 55 adzero = logmin = -80 und folgenden Code bekommen, #define NZEROS 4 #define NPOLES 4 #define GAIN 1.194615832e+00 static float xv[NZEROS+1], yv[NPOLES+1]; static void filterloop() { for (;;) { xv[0] = xv[1]; xv[1] = xv[2]; xv[2] = xv[3]; xv[3] = xv[4]; xv[4] = next input value / GAIN; yv[0] = yv[1]; yv[1] = yv[2]; yv[2] = yv[3]; yv[3] = yv[4]; yv[4] = (xv[0] + xv[4]) - 1.2458922097 * (xv[1] + xv[3]) + 2.3880618495 * xv[2] + ( -0.7008967812 * yv[0]) + ( 0.9497603088 * yv[1]) + ( -1.9723023606 * yv[2]) + ( 1.1360854939 * yv[3]); next output value = yv[4]; } } Kann mir eventuell ein Fachman sagen, ob diese darstellung des Filters als Bandsperre benutzt werden kann. Gruß Dennis