# Homework Help: Filter Design -- Butterworth LPF for aan ADXL377 accelerometer with analog output

1. Nov 9, 2017

### ConnorM

• 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?

2. Nov 9, 2017

### Tom.G

3. Nov 10, 2017

### donpacino

how much do you know about control systems and stability?

4. Nov 11, 2017

### ConnorM

Realized I was looking at a digital filter and not an analog filter. It was in Z domain so the poles were contained within the unit circle.

Did my best to replicate the digital filter response with the analog filter I made.

5. Nov 12, 2017

### donpacino

:)

did you manage to fix it. do you know how to convert from digital to analog?

6. Nov 12, 2017

### ConnorM

Yes I think I managed to fix it! I’m not quite sure how to convert from digital to analog, I was able to find a lot about how to convert from analog to digital though.

Would I just apply a reverse bilinear transform to the Z space transfer function?

7. Nov 12, 2017

### donpacino

Yup!. Its called the inverse bilinear transformation.

A cheating way to do it (depending on your goals and requirements) is increase your sample time until it greatly exceeds the characteristics of your system.
At infinite frequency, digital domain will equal analog. As you get closer to infinite, they'll converge. Eventually they'll get close enough.

So if you are ever simulating a digital system, and want to see what would happen if you used an analog system, just crank up the sample frequency!