# Low-Pass Filter: Calculating RC Values for Noise Reduction

• j777
In summary: The sensor is measuring the force of the impacts. It is not measuring the material itself.What is the frequency of the signal?The frequency of the signal is a function of how fast the motor is spinning the blades.
j777
Hi,

I would like to figure out the RC values for a low-pass filter to filter out the noise depicted in the attachment (the spikes). The ADC I'm using is capable of 250kSPS and I'm reading samples in a loop with very little processing between them. The noise seems to only exist for 2-4 samples so if I'm calculating this properly it lasts about 16 microseconds per spike. I already have an RC low-pass filter between the instrumenation amplifier and the ADC; R=1k and C=2.7nF. Would increasing the C value be the proper way to filter out the noise and if so by how much?

Thanks

#### Attachments

• graph.jpg
12.8 KB · Views: 442
J77,

I didn't intend for you to design an analog filter. I intended for you to design a digital filter. Unfortunately, digital filter design is not easy.

Is this noise present at the ADC inputs? Or is this noise actually being created by the ADC itself? This is admittedly rather unusual-looking "noise," as is it not periodic and not at all white. It almost looks like sparkle to me.

- Warren

The noise is being created by a motor. I'm using a motor to spin some blades that cause material to impact a plate. The ADC is used to measure the force of these impacts. When I switch the motor on I get the noise you see in the attachement. I'm not sure if the noise from the motor is coming in on the analog inputs or the supply lines for the amplifier and ADC.

By the way...what is sparkle?

Ah, I see.. You should really determine whether the noise is actually present at the ADC input (with an oscilloscope), or whether power-supply effects are creating the "noise" within the ADC itself.

You might want to try to isolate the power and ground of the ADC circuit and the motor as much as possible. You should also try to shield your signal lines with parallel ground lines.

You probably can filter out these spikes in software, but it would be better to actually solve the fundamental problem instead.

- Warren

You're right...I'll have to figure out where the noise is coming from. The motor is actually driven by a separate variable speed control (separate from the board I designed that includes the ADC). The noise would have to be coming in on the AC power lines or be RF interference.

Do you have a metal box you could put your ADC board in? Do you have any long lines between the sensor and the ADC? Could you replace any transmission lines with shielded cable, or twisted pair?

- Warren

What is the signal source, and what are its signal characteristics. Is it always a sine wave at some frequency, and the amplitude varies, or can the frequency vary as well? How fast can the amplitude and frequency vary?

If the signal is a pretty steady (slowly changing) sine wave, then your DSP gets a lot easier. Just emulate a digital PLL to lock on to the signal (fast lock then slow changes only allowed). You end up with an expected value for each next sample, and only make adjustments to amplitude and phase with a small percentage of the new input sample and a large percentage of your previous sample. It's basically like a very sharp digital bandpass filter, but you allow the center frequency to slowly move with the input sine wave.

I agree that you should find and fix the noise coupling as best as you can, but even the noisy waveform you showed can be turned back into a very good sine wave with the digital PLL trick.

The sensor lines are shielded but they can be shortened. I am going to shorten them and see if I can provide some shielding for my ADC board.

Berkeman both the amplitude and frequency can vary. The amplitude is a function of the quantity of material impacting the plate and the frequency depends on how fast I have the variable speed motor set to spin the blades. Your PLL trick is interesting...I will have to study up on it and see if it would be better than doing some filtering in software if I am not able to sufficiently fix the noise coupling.

A digital PLL won't be appropriate if the frequency of the signal is not (relatively) fixed. If the frquency varies very, very slowly, you might be able to use such a solution, but even the little waveform snippet you showed us does not look like it would be a good candidate for a PLL.

- Warren

j777 said:
Berkeman both the amplitude and frequency can vary. The amplitude is a function of the quantity of material impacting the plate and the frequency depends on how fast I have the variable speed motor set to spin the blades.
What exactly is the sensor sensing? How is it made, and how is it attached to the blades or whatever? Why is its output sinusoidal?

The sensor is a single point load cell with a plate attached to it's sensing end. It is used to measure the impact force of material propelled by blades/paddles attached to a motor. The output appears to be sinusoidal because the material impacts the plate at consistent intervals. A portion of the signal you are seeing are the vibrations that occur after an impact. This device is a little research project I am playing around with...maybe it will work and maybe it won't :) The overall goal is to be able to totalize the flow of granular materials with approx. +-5% accuracy in a cost effective way.

Well, I've always tried to eliminate the noise at the source. You haven't said whether the motor is AC or DC. The noise looks a little like brush (arcing) noise.

I would also guess there is a grounding or power issue since the spike is an amplified version of a vibration, which I presume is high frequency, and because the big jumps in the data suggest the ADC is loosing msbs which is a pretty major thing. But another possibility is that you need a remote sense for the differential input to your instrumentation amplifier.

This is the classic part for handling your amplifier and sensing needs all in one nifty place:
http://www.analog.com/en/prod/0,,759_782_AMP01,00.html

Also, you might want to check what input impedances and capacitances your adc can accept. Fast adcs are no where near ideal loads. This could very well be an impedance mismatch.

Perhaps you could use a slower adc that has more desireable input characteristics and longer integration times?

Last edited by a moderator:
dlgoff you may very well be correct. I did a little more investigating and the noise is definitely being generated by the motor and seems to be coming in on the analog inputs. When the load cell is in close priximity to the motor (1-2 feet) I get the noise in the output from the ADC and when the load cell is moved several feet away the output is clean. Would software filtering be the best solution at this point or is there something else that can be done to eliminate the noise (the load cell has to be in close proximity to the motor)?

You might want to experiment with placing a capacitor (try a 0.1mf) across the brushes if it's a DC motor. Hopefully this will shunt the noise a little.

You might consider using a different motor. Maybe a brushless DC motor.

Regards

its looks periodic, or cyclic, occurring at about the same point with each revolution of the motor, it might just be one spot on the motor commutator that is causing the brushes to bounce or skip.

its certaily best to fix the noise at the source, and fix the cause of the problem instead of working around the effects.

but about DSP, PLL and filtering etc, you risk losing the data you want, if you can't remove the spikes, you might just be able to modify your code to throw out crazy readings, say any measurements at are 10% away from "expected" measured value at that time, might solve your problem.

or any reading the is a large value compared to the previous reading, you ignore, with will take out the spikes from your data, (you can also fill in that value with the last "real" measured value, to keep your dataset more accurate.

mabey a new set of brushes, and commutator skim, and undercut, and some filter capacitors.

## 1. What is a low-pass filter?

A low-pass filter is an electronic circuit that allows low-frequency signals to pass through while attenuating (reducing) high-frequency signals. It is commonly used to remove noise from an input signal.

## 2. How does a low-pass filter work?

A low-pass filter works by using a resistor (R) and capacitor (C) in series. The resistor allows the flow of current, while the capacitor blocks high-frequency signals. This combination creates a smoother output signal with reduced noise.

## 3. How do you calculate the values for R and C in a low-pass filter?

The values for R and C in a low-pass filter can be calculated using the formula RC = 1/(2πf), where R is the resistance in ohms, C is the capacitance in farads, and f is the desired cutoff frequency in hertz.

## 4. What is the importance of choosing the correct RC values for a low-pass filter?

Choosing the correct RC values for a low-pass filter is crucial in achieving the desired cutoff frequency and effectively reducing noise. If the values are too low, the filter may not be effective in removing high-frequency noise. If the values are too high, the filter may attenuate the desired signal.

## 5. What are some factors that can affect the performance of a low-pass filter?

The performance of a low-pass filter can be affected by factors such as temperature, aging of components, and variations in the manufacturing process. It is important to regularly check and adjust the values of R and C to maintain the desired performance of the filter.

• Electrical Engineering
Replies
3
Views
1K
• Electrical Engineering
Replies
7
Views
3K
• Engineering and Comp Sci Homework Help
Replies
3
Views
1K
• Introductory Physics Homework Help
Replies
2
Views
1K
• Computing and Technology
Replies
9
Views
2K
• Electrical Engineering
Replies
1
Views
2K
• Electrical Engineering
Replies
1
Views
2K
• Electrical Engineering
Replies
11
Views
2K
• Electrical Engineering
Replies
2
Views
1K
• Engineering and Comp Sci Homework Help
Replies
11
Views
3K