Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Removal of DC offset without Digital Highpass Filters

Status
Not open for further replies.

MohammadElwakeel

Junior Member level 1
Joined
Feb 18, 2007
Messages
18
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,441
dc offset removal

Dear friends,

I'm currently working on a project including AC current and voltage measurement.

The input signal to the ADC is a sine wave shifted by a constant dc offset, as the ADC is unipolar.

inside the microcontroller I need to remove that DC offset to restore the original signal.

my question is, Can I use some technique other than the digital high pass filter to do this, knowing that the controller is AVR 8 bit RISC core?

I'm thinking of this method: I get the maximum and the minimum of the sampled signal, and calculate the offset as minimum + (maximum - minimum)/2
and then subtract the offset of every sample

can I use these method?

thanks a lot, good luck to everyone,

Mohammad
 

dc removal filter

y u cann't use single capacitor???????
 

adc dc offset

dear xulfee,

thanks for your reply, the ADC is unipolar, that is, the input analog signal must be positive with respect to the ground, so I added that DC offset to shift the sine wave above zero before the adc. after sampling the shifted sine wave, I need to remove that offset again without using digital filters, that is my issue.

waiting for all your help guys??
 
remove dc offset

yes the use of a single capacitor will remove the dc componet of the voltage
 

removing dc offset high sampling rate

Dear,

If you know the dc offset value , subtract it from the all sample points.

if you don't know the dc offset value, find the mean of the sample points then subtract it from all your sample points.

SPHiNX
 
digital high pass

then just use difference amplifier ,apply ur signal at one input n dc offest in other one,u'll get ur result,anyhow also check single capacitor,wht result it can give u
 

dc offset high pass filter

The suggestion by Sphynx

"If you know the dc offset value , subtract it from the all sample points"

is correct if you consider an ideal system where the DC offset is known a priori and remains constant in time (thermal variations or aging of components could cause drifts) and keeps the same value on all the units you have to build.
In practice this is never true, so in a real world if you don't want to implement HP digital filtering, probably you will have to SW perform calibration procedure to estimate the dc component independently from the HW and then subtract it to the incoming samples: if the dc component is sufficiently stable could be sufficient doing this only once at start up of the system.
Calibration routines could be performed as "background tasks" avoiding the overload of the CPU due to digital filtering, specially when sample rate is relatively high and/or the HW resources are limited as in a 8-bit MCU.

Regards
Mowgli
 

remove dc component filter

You can remove dc offset from signal by
subtracting the average value of the entire signal from each element in the signal
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top