The TI E2E™ design support forums will undergo maintenance from Sept. 28 to Oct. 2. If you need design support during this time, contact your TI representative or open a new support request with our customer support center.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Band Pass Filter Help

Other Parts Discussed in Thread: OPA2227, OPA4227, INA116, INA121, LM358, INA333, OPA2333, OPA2137

Hello, TI Community!

I am currently working on an ECG circuit. I am having some difficulty building the band pass filter. The op-amp keeps saturating, so I am wondering why this is happening. I am enclosing pictures of the filter design from the TI Design Program. I am using two OPA2227, I also was using an OPA4227, but I thought the saturation issue came from attempting to use one IC, so I went with two separate IC's, but the issue persists. I need to use an opamp that comes in a DIP package to test on a breadboard, so that's why I went with this option. Any better op amps that come in an DIP package would also be considered. 

Any advice you can provide would be greatly appreciated. 


Low Pass Filter - fc = 40.6Hz

HPF - fc = 0.49

Here is a schematic of the entire circuit (I replaced the filters in this circuit -  Two LM358, with the filters shown above), instead of INA116, I am using INA121:

  • Jason,

    Thanks for taking a look at the WEBENCH filter designer for your filter needs. Let's talk about your saturating amplifier fisrt. For the corner frequencies that you are working with, the OPA2227 and the OPA4227 will work fine in this circuits, as the GWP is 8 MHz. I can see that you are using +/-12V supplies with the instrumenation amplifer. If that is true with the OPA2227, the output range of these amplifiers is +/- 10V. I am not sure what your input signal ranges are equal to or what gain you are using with the low pass filters so it is difficult to tell whether this is true.  

    It looks like you are using WEBENCH Filter Designer for your solutions. I am not clear what you filter design looks like. For instance, what is the gain of the Low pass filter, what is the stopband attenuation, what is the stopband frequency, and what are the approximation types (butterworth, Bessel, Chebyshev, etc.)

    It is hard to read these diagrams and the R/C values so I am working on this somewat blind. Can you attach a file with these diagrams in it so readability is easier?

  • Thanks for replying, Bonnie!

    That is the schematic I am referencing for this project, however in my actual circuit there are some minor differences.

    see this link for a larger view of the schematic (for component values): If you open the schematic in a new tab and zoom in, you should be able to see the component values just fine. 

    Basically I am attempting to build an ECG circuit. The inputs come from two pulse grips taken from an old treadmill. I am attempting to amplify the signal (about 1mV p-p) up to a range large enough to be read by a 3.3V Arduino board. The gain setting I am using for the instrumentation amplifier is 51, and therefore I was looking for a gain of 40 from the LPF. The HPF is for DC restoration (from what I've read on this matter). Gain of 1 there. so the total gain should be ~2000. The filters shown in the design are 0.2db Chebyshev. In my actual circuit I am using +/- 15V, but I have also used +/- 5V and the saturation occurs in both cases. It would be much easier for me to use single supply but I'm not sure how to implement the single supply design for the OPA2227. The stopband frequency is 150Hz @ -45dB attenuation for the LPF and the HPF stopband frequency is 0.1Hz @ -45dB attenuation. You can ignore the HPF and LPF filters in the circuit diagram as I am looking to use the ones designed using FilterPro instead. 

    Essentially, I am looking to limit the frequency range between 0.49Hz and 40.6Hz, so that the signal is free of noise and also not having to deal with 60Hz mains noise. This bandwidth should give me a solid ECG waveform.

    FYI, the LM358 in the schematic (the one to the right of the INA is a feedback loop op-amp to help keep the INA from saturating). Again the LM358's used for LPF and HPF, will be replaced by the OPA2227 amps for those respective filters.

    Here's a schematic I created using TINA software and is shows the circuit (minus the filters):


    Please advise. 


    Jason Hammond

  • Jason,

    There are a few issues that we need to look at.

    INA121: I am not sure what connections that you are using. I can understand the input and output connects, but I am unclear about the small square about the device. This device only has 8 pins.

    LM358 Under that INA121: You have the input pinout of this device reversed. tThis is configured for positive feedback. Swap pin 2 and 3 in your circuit.. This will cauase your saturation conditions that you described above. I would also recommend that you use an op amp that has lower input bias current in the specification sheet. FET or CMOS amplifiers will suit this need.

    LM358, Low Pass filter: The resistor placed on the non-inverting input pin (2) of the op amp is 300 K ohms. The typical input bias curret is -250 nA. An offset voltage that will be generated by this configuation is equal to -75 mV. You claime that ht egain of this stage is 40, however from your circuit diagram I am seeing a gain of 1 + 270k / 12k = 23.5. The offst created by the feedback loop and input bias current is 12k||270k * -250 nA or 2.87 mV. With this gain the output will have a constant  -1.76 DC error. I would recommend that you use a FET or CMOS amplifier in this position.

    LM358, high pass filter: The input bias current of this device is again causing problems with your resistors in the circuit. This is again causing a voltage error, but not as high as the low pass filter stage.

    My reommendations for this circuit:

    • Replace the INA121 with the INA333. Be careful. The gain equation is different. Also, you can configure this circuit into a single supply circut if you adjust yoru input stage so it is baised to 1/2 way between the supplies.
    • Replace the LM358 under the INA with the OPA2333 (see Figure 37 in INA333 data sheet.
    • Replace the LM358 lowpass amplifier with the OPA2333. See Figure 37 in the INA333 data sheet.
    • Remove your high pass filter from the circuit.
  • I am actually looking to implement the OPA2227 amps as the filters, not the ones in that schematic, rather the ones designed in FilterPro. The only LM358 I was using was for the feedback loop, and I've replaced it with a OPA2227 as well. When I tried to connect the INA121/Feedback loop combination to the OPA2227 designed filters from FilterPro, that's when saturation occurs. I get a decent signal from the output of the INA121. Also, I don't believe that the INA333 comes in a DIP package, which is what I need for this application. What would be some DIP package FET op amps that you would recommend to use for the filtering?

    So here is my current config:

    Signal from pulse grips fed into INA121, Feedback loop now using OPA2227....I am looking to build a LPF w/ fc of 100Hz, and a HPF with a fc of 0.5Hz. Whatever has the best attenuation with least number of stages for simplicity sake.

  • Jason,

    The OPA2227 is a good amplifier, however the input bias current for this device is 10 nA. It is once again has a bipolar input. If you are still interested in PDIP and you dual supply arrangement, please give the OPA137P (single), OPA137PA (single),  OPA2137P (dual), or OPA2137PA (dual) FET input op amps.

    The FilterPro software is a good tool to use when designing filters, however the WEBENCH Filter Designer is also a good option. With the Fitler Designer, you will have actual op amps, resistors, and capacitors recommended for your circuit. You can pick and choose your amplifier to suit your needs. Additionally, there is a simulation function.

  • Thanks for your assistance. I've been encountering some issues regarding this filter. I am still experiencing op amp saturation (I did change the feedback loop from the earlier posted schematic to negative feedback) at the output of the first stage of my low pass filter. The circuit was working fine originally. I was getting a solid signal. Now the signal is fine coming out of the INA121, but once I hook up the scope to the output of the first op amp stage of the OPA2137, it saturates at -5VDC. Given that I have less than two weeks to get this signal filtered and amplified properly. I am willing to just start the filter design process over with your help. 

    Here's what I am looking to design:

    I am attempting to obtain the heart signal from the body (about 1mV peak), amplify it up to a level about 1.5V so that I can feed that voltage into a comparator to convert the heart beat into a square pulse wave. This way I can simply count the time between pulses to calculate heart hate in beats per minute via Arduino. 

    I also need to filter out as much noise as possible (which I why I am attempting to cut the frequency at 40.6Hz, as to avoid and 60 AC noise that usually poses a problem in an ECG circuit.

    LPF with cutoff frequency of 40.6Hz and stopband attenuation of 150Hz, with a gain of 40. I already have a gain of 51 from the INA, although I am not sure if I should lower the gain there and increase the gain of the LPF Chebychev response 0.2dB (or best alternate option).  

    HPF with a cutoff frequency of 0.49Hz, with a stopband attenuation of 0.1Hz, gain of 1, Chebychev response 0.2dB (or best alternate option). 

    I probably would need singly supply op amps that have FET inputs (similar to OPA2137, except for single supply operation)

    I'll post a schematic of the circuit later tonight to help visualize the circuit. 

    Any suggestions on the best way to amplify and filter this signal would be greatly appreciated.

    Thanks, Bonnie!