Maker Pro
Maker Pro

Butterworth Filter

Hello,
I am working on data acquisition. I have collected some EMG data and
now according to the research papers, the EMG data has to be filtered
using 2nd order dual pass butterworth filter with the cut-off frequency
of 40 Hz. What is 'dual pass'? Can anyone elaborate on it.

thank you
 
M

martin griffith

Jan 1, 1970
0
Hello,
I am working on data acquisition. I have collected some EMG data and
now according to the research papers, the EMG data has to be filtered
using 2nd order dual pass butterworth filter with the cut-off frequency
of 40 Hz. What is 'dual pass'? Can anyone elaborate on it.

thank you
probably means 2 pole. there are some "sallen and key" websites that
will help



martin
 
R

Rich Grise

Jan 1, 1970
0
Hello,
I am working on data acquisition. I have collected some EMG data and
now according to the research papers, the EMG data has to be filtered
using 2nd order dual pass butterworth filter with the cut-off frequency
of 40 Hz. What is 'dual pass'? Can anyone elaborate on it.
EMG: ElectroMyeloGraph?

The EMG data has to be filtered, yes.

Going for a "2nd order dual pass butterworth filter with the cut-off
frequency of 40 Hz" tells us that you're not paying attention to what's
important here.

The guy who wrote the paper you're trying to copy used a certain filter.
Fine. What are you trying to accomplish with this filter? EMG data
changes relatively slowly, AFAIK, compared to sample rates of some
modern-day ADCs.

If the particular textbook/examination papers for that particular
filter are what you're looking for, then please go make love to the
books on your own. If it's a flagrant test question, then go find out
if your d!ck reaches your a55.

Otherwise, filtering for EMG could make a really fun topic for
sci.electronics.design ! I'd bet there's some spikes below 1Hz,
but wildly varying, which would make the tracking of them all
that much more fun!

I'd use a cap and a resistor, and fudge around with the values until
I got a usable output.

Anyone?

Cheers!
Rich
 
F

Fred Bloggs

Jan 1, 1970
0
Hello,
I am working on data acquisition. I have collected some EMG data and
now according to the research papers, the EMG data has to be filtered
using 2nd order dual pass butterworth filter with the cut-off frequency
of 40 Hz. What is 'dual pass'? Can anyone elaborate on it.

thank you

"dual pass" could possibly mean a notch filter. A notch has two
passbands and a bandlimited stopband. The requirement is probably to
notch the power line frequency.
 
M

Mac

Jan 1, 1970
0
Hello,
I am working on data acquisition. I have collected some EMG data and
now according to the research papers, the EMG data has to be filtered
using 2nd order dual pass butterworth filter with the cut-off frequency
of 40 Hz. What is 'dual pass'? Can anyone elaborate on it.

thank you

Maybe dual pass means you have to put the data through the filter twice,
once forwards, and once backwards.

--Mac
 
B

Ban

Jan 1, 1970
0
Mac said:
Maybe dual pass means you have to put the data through the filter
twice, once forwards, and once backwards.

--Mac

Yeah, this would indicate a digital filter.
But when an analog filter is meant, maybe it is a cascaded Butterworth,
which forms a Linkwitz-Riley filter of 4th order. The word "dual pass" is
meaningful only inthe digital domain.
 
R

Rich Grise

Jan 1, 1970
0
Hey Rich,
no one asked you for your a55 hole opinion.

Maybe not, but I do note that you've singled this out of several other
options.

So, I'm guessing that it really _was_ a test question, am I right?
(or homework - same difference)

And I really, really wish that googlegroupies would clue up to
copying and pasting context, if they can't find that other google
option, which supposedly automatically quotes context when you
post a followup.

Thanks,
Rich
 
H

Helmut Sennewald

Jan 1, 1970
0
----- Original Message -----
From: <[email protected]>
Newsgroups: sci.electronics.design
Sent: Thursday, June 23, 2005 12:20 AM
Subject: Butterworth Filter

Hello,
I am working on data acquisition. I have collected some EMG data and
now according to the research papers, the EMG data has to be filtered
using 2nd order dual pass butterworth filter with the cut-off frequency
of 40 Hz. What is 'dual pass'? Can anyone elaborate on it.

thank you

Hello Dan,

I bet it means run the signal twice through this filter.
So it's finally a 4th degree filtering.
The trick is to run it backward through the filter in the
second pass. This removes nonlinear phase and delay.
It can be only done with with digital signal processing.

http://www.abdn.ac.uk/~psy359/dept/Papers/obsavoid.pdf
"The raw X-, Y- and Z-coordinates
of each IRED were digitally filtered by a dual pass through a
2nd-order Butterworth filter with a cut-off frequency of 20 Hz
(equivalent to a 4th-order filter with no phase lag and a cut-off
of ~16 Hz)."

Best regards,
Helmut
 
T

Terry Given

Jan 1, 1970
0
Helmut said:
----- Original Message -----
From: <[email protected]>
Newsgroups: sci.electronics.design
Sent: Thursday, June 23, 2005 12:20 AM
Subject: Butterworth Filter





Hello Dan,

I bet it means run the signal twice through this filter.
So it's finally a 4th degree filtering.
The trick is to run it backward through the filter in the
second pass. This removes nonlinear phase and delay.
It can be only done with with digital signal processing.

http://www.abdn.ac.uk/~psy359/dept/Papers/obsavoid.pdf
"The raw X-, Y- and Z-coordinates
of each IRED were digitally filtered by a dual pass through a
2nd-order Butterworth filter with a cut-off frequency of 20 Hz
(equivalent to a 4th-order filter with no phase lag and a cut-off
of ~16 Hz)."

Best regards,
Helmut

Hi Helmut,

can you clarify "run it backward" please?

do you mean take N samples, n = 0...(N-1)

and feed through the filter, giving y0...yN-1

Then starting with the last output YN-1 and working backwards to the
first output Y0, feed them through the same filter to give yy0...yyN-1 ?

So the second pass through the filter is in negative time, hence the
phase lags cancel.

Cheers
Terry
 
H

Helmut Sennewald

Jan 1, 1970
0
Terry Given said:
Hi Helmut,

can you clarify "run it backward" please?

do you mean take N samples, n = 0...(N-1)

and feed through the filter, giving y0...yN-1

Then starting with the last output YN-1 and working backwards to the first
output Y0, feed them through the same filter to give yy0...yyN-1 ?

So the second pass through the filter is in negative time, hence the phase
lags cancel.

Cheers
Terry

Hello Terry,

yes I have exactly tried that. The only thing we additionally need
is reversing the order of the samples after the second run through
the filter. y(N)=y(0), Y(N-1)=y(1), ....
I had a hard time with Scilab to check this, because I had no
experience with it before.
The result has been indeed a filtered signal with zero delay.

The example below runs a stored data sequence two times
through a 4th degree lowpass filter. The second pass
is done with the sequence reversed(last sample first).
The result is a zero delay dual pass 4th order Butterworth filter.

Best regards,
Helmut



Scilab example
--------------
! The for-loops reverse the data sequence.
! fg=0.02*fs fs=10kHz

t=(0:1e-4:0.1);

sigbase=sin(2*%pi*t*50)+0.5*sin(2*%pi*t*150);

signoise=sigbase+0.5*sin(2*pi*t*1100);

[hz]=iir(4,'lp','butt', [0.02 0], [0 0]);

y1=rtitr(hz(2),hz(3),signoise);

y2for=rtitr(hz(2),hz(3),y1);

for j=1:1001, y1rev(1,j)=y1(1002-j);end ;

y20rev=rtitr(hz(2),hz(3),y1rev);

for j=1:1001, y2rev(1,j)=y20rev(1002-j);end ;

xbasc
plot2d(t,signoise,style=3);
plot2d(t,sigbase,style=1);
plot2d(t,y2for,style=4);
plot2d(t,y2rev,style=5);
 
H

Helmut Sennewald

Jan 1, 1970
0
Hello,
sorry, I forgot the % in front of pi in one place.


Helmut Sennewald said:
Terry Given said:
Hi Helmut,

can you clarify "run it backward" please?

do you mean take N samples, n = 0...(N-1)

and feed through the filter, giving y0...yN-1

Then starting with the last output YN-1 and working backwards to the
first output Y0, feed them through the same filter to give yy0...yyN-1 ?

So the second pass through the filter is in negative time, hence the
phase lags cancel.

Cheers
Terry

Hello Terry,

yes I have exactly tried that. The only thing we additionally need
is reversing the order of the samples after the second run through
the filter. y(N)=y(0), Y(N-1)=y(1), ....
I had a hard time with Scilab to check this, because I had no
experience with it before.
The result has been indeed a filtered signal with zero delay.

The example below runs a stored data sequence two times
through a 4th degree lowpass filter. The second pass
is done with the sequence reversed(last sample first).
The result is a zero delay dual pass 4th order Butterworth filter.

Best regards,
Helmut



Scilab example
--------------
! The for-loops reverse the data sequence.
! fg=0.02*fs fs=10kHz

t=(0:1e-4:0.1);

sigbase=sin(2*%pi*t*50)+0.5*sin(2*%pi*t*150);

signoise=sigbase+0.5*sin(2*pi*t*1100);
signoise=sigbase+0.5*sin(2*%pi*t*1100);


[hz]=iir(4,'lp','butt', [0.02 0], [0 0]);

y1=rtitr(hz(2),hz(3),signoise);

y2for=rtitr(hz(2),hz(3),y1);

for j=1:1001, y1rev(1,j)=y1(1002-j);end ;

y20rev=rtitr(hz(2),hz(3),y1rev);

for j=1:1001, y2rev(1,j)=y20rev(1002-j);end ;

xbasc
plot2d(t,signoise,style=3);
plot2d(t,sigbase,style=1);
plot2d(t,y2for,style=4);
plot2d(t,y2rev,style=5);
 
T

Terry Given

Jan 1, 1970
0
Helmut said:
Hello,
sorry, I forgot the % in front of pi in one place.


Helmut Sennewald wrote:

----- Original Message -----
From: <[email protected]>
Newsgroups: sci.electronics.design
Sent: Thursday, June 23, 2005 12:20 AM
Subject: Butterworth Filter




Hello,
I am working on data acquisition. I have collected some EMG data and
now according to the research papers, the EMG data has to be filtered
using 2nd order dual pass butterworth filter with the cut-off frequency
of 40 Hz. What is 'dual pass'? Can anyone elaborate on it.

thank you


Hello Dan,

I bet it means run the signal twice through this filter.
So it's finally a 4th degree filtering.
The trick is to run it backward through the filter in the
second pass. This removes nonlinear phase and delay.
It can be only done with with digital signal processing.

http://www.abdn.ac.uk/~psy359/dept/Papers/obsavoid.pdf
"The raw X-, Y- and Z-coordinates
of each IRED were digitally filtered by a dual pass through a
2nd-order Butterworth filter with a cut-off frequency of 20 Hz
(equivalent to a 4th-order filter with no phase lag and a cut-off
of ~16 Hz)."

Best regards,
Helmut

Hi Helmut,

can you clarify "run it backward" please?

do you mean take N samples, n = 0...(N-1)

and feed through the filter, giving y0...yN-1

Then starting with the last output YN-1 and working backwards to the
first output Y0, feed them through the same filter to give yy0...yyN-1 ?

So the second pass through the filter is in negative time, hence the
phase lags cancel.

Cheers
Terry

Hello Terry,

yes I have exactly tried that. The only thing we additionally need
is reversing the order of the samples after the second run through
the filter. y(N)=y(0), Y(N-1)=y(1), ....
I had a hard time with Scilab to check this, because I had no
experience with it before.
The result has been indeed a filtered signal with zero delay.

The example below runs a stored data sequence two times
through a 4th degree lowpass filter. The second pass
is done with the sequence reversed(last sample first).
The result is a zero delay dual pass 4th order Butterworth filter.

Best regards,
Helmut



Scilab example
--------------
! The for-loops reverse the data sequence.
! fg=0.02*fs fs=10kHz

t=(0:1e-4:0.1);

sigbase=sin(2*%pi*t*50)+0.5*sin(2*%pi*t*150);

signoise=sigbase+0.5*sin(2*pi*t*1100);

signoise=sigbase+0.5*sin(2*%pi*t*1100);


[hz]=iir(4,'lp','butt', [0.02 0], [0 0]);

y1=rtitr(hz(2),hz(3),signoise);

y2for=rtitr(hz(2),hz(3),y1);

for j=1:1001, y1rev(1,j)=y1(1002-j);end ;

y20rev=rtitr(hz(2),hz(3),y1rev);

for j=1:1001, y2rev(1,j)=y20rev(1002-j);end ;

xbasc
plot2d(t,signoise,style=3);
plot2d(t,sigbase,style=1);
plot2d(t,y2for,style=4);
plot2d(t,y2rev,style=5);

Hi Helmut,

thanks for that. I've archived it, its a neat idea, and has got me
thinking.

Cheers
Terry
 
Top