- #1
ConnorM
- 79
- 1
Thread moved from the technical forums, so no Homework Template is shown
I am a student trying to design a Butterworth LPF to meet the class 1000 specifications, by SAE J211 (https://law.resource.org/pub/us/cfr/ibr/005/sae.j211-1.1995.pdf). My sensor is an ADXL377 accelerometer with analog output.
My filter requirements (from J211) are
fp = 1000Hz (Pass band frequency)
fc = 1650Hz (Cutoff frequency)
Rp = 0.5db (Pass band ripple)
Rs = -40db (Stop band ripple)
Fs = 10,000Hz (Sample rate)
My goal is to come up with some filter design that I can then implement with an RC circuit.
J211 specifies that it a 4th order butterworth could be used to meet the above requirements but when I try inputting the values on Matlab I obtain an unstable filter.
Wp = 2*fp/Fs
fs comes from 4th order filter with -24octave/db, and fc at -3db.
fs = 3590Hz
Ws = 2*fs/Fs
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
[b,a] = butter(n,Wn);
G = tf(b,a);
isstable(G) —> outputs zero
Also the poles are in the right side of the imaginary axis in the pzplot...
Should I just use the “designfilt” function and take whatever it gives me?
Could someone help me out?
My filter requirements (from J211) are
fp = 1000Hz (Pass band frequency)
fc = 1650Hz (Cutoff frequency)
Rp = 0.5db (Pass band ripple)
Rs = -40db (Stop band ripple)
Fs = 10,000Hz (Sample rate)
My goal is to come up with some filter design that I can then implement with an RC circuit.
J211 specifies that it a 4th order butterworth could be used to meet the above requirements but when I try inputting the values on Matlab I obtain an unstable filter.
Wp = 2*fp/Fs
fs comes from 4th order filter with -24octave/db, and fc at -3db.
fs = 3590Hz
Ws = 2*fs/Fs
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
[b,a] = butter(n,Wn);
G = tf(b,a);
isstable(G) —> outputs zero
Also the poles are in the right side of the imaginary axis in the pzplot...
Should I just use the “designfilt” function and take whatever it gives me?
Could someone help me out?