Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //*******************************************************************************
- float IIR_LPF_10(float xv)
- {
- // CHEBY LOW, order 9, R = 1.0, 1.075000e+01 BPM
- static float G1 = 0.0325847;
- static float b1[] = {1.0000000, 1.0346697, 0.0000000};
- static float a1[] = {1.0000000, -0.9822926, 0.0000000};
- static float G2 = 0.0010618;
- static float b2[] = {1.0000000, 2.0524836, 1.0536768};
- static float a2[] = {1.0000000, -1.9648932, 0.9666716};
- static float G3 = 0.0010618;
- static float b3[] = {1.0000000, 2.0108794, 1.0120511};
- static float a3[] = {1.0000000, -1.9675276, 0.9730169};
- static float G4 = 0.0010618;
- static float b4[] = {1.0000000, 1.9653564, 0.9665046};
- static float a4[] = {1.0000000, -1.9724589, 0.9821895};
- static float G5 = 0.0010618;
- static float b5[] = {1.0000000, 1.9366110, 0.9377444};
- static float a5[] = {1.0000000, -1.9812539, 0.9938168};
- {float declarations}
- y1M2 = y1M1; y1M1 = y1M0; x1M2 = x1M1; x1M1 = x1M0, x1M0 = G1*xv;
- yv = -a1[2]*y1M2 - a1[1]*y1M1 + b1[2]*x1M2 + b1[1]*x1M1 + b1[0]*x1M0;
- y1M0 = yv;
- y2M2 = y2M1; y2M1 = y2M0; x2M2 = x2M1; x2M1 = x2M0, x2M0 = G2*yv;
- yv = -a2[2]*y2M2 - a2[1]*y2M1 + b2[2]*x2M2 + b2[1]*x2M1 + b2[0]*x2M0;
- y2M0 = yv;
- y3M2 = y3M1; y3M1 = y3M0; x3M2 = x3M1; x3M1 = x3M0, x3M0 = G3*yv;
- yv = -a3[2]*y3M2 - a3[1]*y3M1 + b3[2]*x3M2 + b3[1]*x3M1 + b3[0]*x3M0;
- y3M0 = yv;
- y4M2 = y4M1; y4M1 = y4M0; x4M2 = x4M1; x4M1 = x4M0, x4M0 = G4*yv;
- yv = -a4[2]*y4M2 - a4[1]*y4M1 + b4[2]*x4M2 + b4[1]*x4M1 + b4[0]*x4M0;
- y4M0 = yv;
- y5M2 = y5M1; y5M1 = y5M0; x5M2 = x5M1; x5M1 = x5M0, x5M0 = G5*yv;
- yv = -a5[2]*y5M2 - a5[1]*y5M1 + b5[2]*x5M2 + b5[1]*x5M1 + b5[0]*x5M0;
- y5M0 = yv;
- return yv;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement