BUTTERWORTH - Functions to design and apply Butterworth filters: bfdesign design a Butterworth filter bfhighpass apply a high-pass Butterworth filter bflowpass apply a low-pass Butterworth filter Function Prototypes: void bfhighpass (int npoles, float f3db, int n, float p[], float q[]); void bflowpass (int npoles, float f3db, int n, float p[], float q[]); void bfdesign (float fpass, float apass, float fstop, float astop, int *npoles, float *f3db); bfdesign: Input: fpass frequency in pass band at which amplitude is >= apass apass amplitude in pass band corresponding to frequency fpass fstop frequency in stop band at which amplitude is <= astop astop amplitude in stop band corresponding to frequency fstop Output: npoles number of poles f3db frequency at which amplitude is sqrt(0.5) (-3 db) bfhighpass and bflowpass: Input: npoles number of poles (and zeros); npoles>=0 is required f3db 3 db frequency; nyquist = 0.5; 0.0<=f3db<=0.5 is required n length of p and q p array[n] to be filtered Output: q filtered array[n] (may be equivalent to p) Notes: (1) Nyquist frequency equals 0.5 (2) The following conditions must be true: (0.0