Designing Butterworth LPF to Meet J211 Specs with ADXL377 Sensor

  • Thread starter Thread starter ConnorM
  • Start date Start date
  • Tags Tags
    Designing Sensor
Click For Summary

Discussion Overview

The discussion revolves around the design of a Butterworth low-pass filter (LPF) to meet specific SAE J211 specifications using the ADXL377 accelerometer. Participants explore the requirements for filter design, stability issues encountered in MATLAB, and the conversion between digital and analog filter representations.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • A participant outlines the specifications for the Butterworth LPF, including pass band frequency, cutoff frequency, pass band ripple, stop band ripple, and sample rate.
  • Concerns are raised about obtaining an unstable filter in MATLAB, with specific reference to the poles being on the right side of the imaginary axis in the pole-zero plot.
  • Another participant questions the knowledge of control systems and stability in relation to the filter design.
  • A realization occurs that the participant was initially looking at a digital filter rather than an analog filter, leading to confusion regarding stability.
  • There is a discussion about converting from digital to analog filters, with one participant suggesting the use of the inverse bilinear transformation.
  • Another participant mentions a method of increasing sample time to approximate analog behavior from a digital system.

Areas of Agreement / Disagreement

Participants express uncertainty regarding the stability of the filter design and the conversion methods between digital and analog filters. There is no consensus on the best approach to resolve the stability issues or the conversion process.

Contextual Notes

Limitations include potential misunderstandings between digital and analog filter characteristics, as well as unresolved mathematical steps in the filter design process.

Who May Find This Useful

This discussion may be useful for students and practitioners involved in filter design, particularly those working with Butterworth filters and seeking to understand the implications of digital versus analog implementations.

ConnorM
Messages
77
Reaction score
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?
 
Physics news on Phys.org
ConnorM said:
Ws = 2*fs/Fs

ConnorM said:
Wp = 2*fp/Fs

ConnorM said:
I obtain an unstable filter.

ConnorM said:
Also the poles are in the right side of the imaginary axis in the pzplot

how much do you know about control systems and stability?
 
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.
 
:)

did you manage to fix it. do you know how to convert from digital to analog?
 
donpacino said:
:)

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

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?
 
  • Like
Likes   Reactions: 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!
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
3K