Forums

IIR filter design

Started by karjee_s January 13, 2004
hi,
I am designing an IIR filter for my application ... the problem is i
am confused with the transfer function...
some books say it is:
y[n]*x[n]+a1*x[n-1]......+b1*y[n-1]+b2*y[n-2]....

some other books says,

y[n]*x[n]+a1*x[n-1]......-b1*y[n-1]-b2*y[n-2]....

can anyone pls tell me what is the actual transfer function

Thanking You,
Satadru Karjee




hi,
i am trying to interface an ecg machine through the rs232 comm port. The
output of the machine is in digitized format having a sampling frequency of
500Hz. Now the problem is , ecg plotting has to be done at a speed of
either 25 mm/s or 50 mm/s. Lets take the 25 mm/s speed ... which means that
i have to plot 96 pixels(i.e 96 sample points) in one second out of the 500
points which i am getting in 1 sec.
At present i am taking the average of five points and plotting a point i.e
each pixel is equivalent to the average of the last five points, in that way
iam bringing down the number of points to be plotted to 100 points per sec.

I have also tried the following :
a.taking the highest of the last five points instead of averaging.
b.applying turning point algorithm ..but i could compress the data to only
125 samples per second.

I am still looking for some better way to bring down the sample points .....
i would be grateful if any better idea is given.
Thanking you.
Satadru >From: "Dillon, Tom" <>
>To: "'karjee_s'" <>
>Subject: RE: [matlab] IIR filter design
>Date: Tue, 13 Jan 2004 11:14:45 -0600
>
>In one equation the sign is encapsulated in the coefficients bi. So both
>equations are correct. If someone is giving you a set of coefficients and
>you just want to "plug and chug" then the second version is probably the
>one
>you need. >
>Regards,
>
>Tom Dillon >
>-----Original Message-----
>From: karjee_s [mailto:]
>Sent: Tuesday, January 13, 2004 5:00 AM
>To:
>Subject: [matlab] IIR filter design >
>hi,
>I am designing an IIR filter for my application ... the problem is i
>am confused with the transfer function...
>some books say it is:
>y[n]*x[n]+a1*x[n-1]......+b1*y[n-1]+b2*y[n-2]....
>
>some other books says,
>
>y[n]*x[n]+a1*x[n-1]......-b1*y[n-1]-b2*y[n-2]....
>
>can anyone pls tell me what is the actual transfer function
>
>Thanking You,
>Satadru Karjee >_____________________________________
>Note: If you do a simple "reply" with your email client, only the author of
>this message will receive your answer. You need to do a "reply all" if you
>want your answer to be distributed to the entire group.
>
>_____________________________________
>About this discussion group:
>
>To Join:
>
>To Post:
>
>To Leave:
>
>Archives: http://www.yahoogroups.com/group/matlab
><http://www.yahoogroups.com/group/matlab>
>
>More DSP-Related Groups: http://www.dsprelated.com/groups.php3
><http://www.dsprelated.com/groups.php3 ><http://rd.yahoo.com/SIGc08c17u/M&7637.4116730.5333196.1261774/D=egroup
>web/S05083376:HM/EXP74099820/A53618/R=0/*http:/www.netflix.com/Defa
>ult?mqso`178338&partidA16730> click here >
><http://us.adserver.yahoo.com/l?M&7637.4116730.5333196.1261774/D=egroupmai
>l/S=:HM/A53618/randE2511313 >
> _____
>
>Yahoo! Groups Links
>
>* To
>

_________________________________________________________________
Get head-hunted by 10,000 recruiters. http://go.msnserver.com/IN/35984.asp
Post your CV on naukri.com today.


Satadru-

> i am trying to interface an ecg machine through the rs232 comm port. The
> output of the machine is in digitized format having a sampling frequency of
> 500Hz. Now the problem is , ecg plotting has to be done at a speed of
> either 25 mm/s or 50 mm/s. Lets take the 25 mm/s speed ... which means that
> i have to plot 96 pixels(i.e 96 sample points) in one second out of the 500
> points which i am getting in 1 sec.
> At present i am taking the average of five points and plotting a point i.e
> each pixel is equivalent to the average of the last five points, in that way
> iam bringing down the number of points to be plotted to 100 points per sec.
>
> I have also tried the following :
> a.taking the highest of the last five points instead of averaging.
> b.applying turning point algorithm ..but i could compress the data to only
> 125 samples per second.
>
> I am still looking for some better way to bring down the sample points .....

So you're saying that the true ECG sampling rate, for plotting / display
purposes, is
only about 100 Hz, but you have a 500 Hz stream. If that's correct, then your
problem becomes sampling rate conversion. Why not convert your data to 96 Hz in
MATLAB and then plot the output? Probably the result is not going to look a
whole
lot different then what you were doing (running sum of 5 points) but it would be
technically more correct.

BTW, sampling rate decrease involves decimating your signal (throw out every
other 4
points) and low-pass filtering the result. You can read up on it.

-Jeff

> >From: "Dillon, Tom" <>
> >To: "'karjee_s'" <>
> >Subject: RE: [matlab] IIR filter design
> >Date: Tue, 13 Jan 2004 11:14:45 -0600
> >
> >In one equation the sign is encapsulated in the coefficients bi. So both
> >equations are correct. If someone is giving you a set of coefficients and
> >you just want to "plug and chug" then the second version is probably the
> >one
> >you need.
> >
> >
> >
> >Regards,
> >
> >Tom Dillon
> >
> >
> >
> >-----Original Message-----
> >From: karjee_s [mailto:]
> >Sent: Tuesday, January 13, 2004 5:00 AM
> >To:
> >Subject: [matlab] IIR filter design
> >
> >
> >
> >hi,
> >I am designing an IIR filter for my application ... the problem is i
> >am confused with the transfer function...
> >some books say it is:
> >y[n]*x[n]+a1*x[n-1]......+b1*y[n-1]+b2*y[n-2]....
> >
> >some other books says,
> >
> >y[n]*x[n]+a1*x[n-1]......-b1*y[n-1]-b2*y[n-2]....
> >
> >can anyone pls tell me what is the actual transfer function
> >
> >Thanking You,
> >Satadru Karjee