Forums

Problem in design filter -- Is it possible to avoid the division operation?

Started by Henry Chang October 9, 2002
Hi all,

Currently, I am designing low-pass filter that will be implemented
in mcu processor and the result filter response is like this:
-6 -4 -2
-z + 3z - 3z + 1
h = ---------------
-6 -5 -4 -3 -2 -1
z + 6z + 17z - 29z + 38z - 33z + 13

Then the system input-output equation for implemenation will be
like this:

y[n] = 1/13 * (x[n] -3x[n-2] + 3x[n-4] ...)

There is a "1/13" denominator for division operation. However, the
division operation take a lot of processing time. Is there any common
way to avoid this division operation.

Thank you for your help.

Cheers
Henry



Hi,
The easiest way in a digital system is to scale your input and
outputs by a factor of 2 ( which is easily achievable ).
You divide the numerator and the denominator by a factor of 2 say 64 /
32 here and since it looks like u can multiply easily, a multiply by 13
should not be difficult.
Thanks.

Regards,
Gautam

-----Original Message-----
From: Henry Chang [mailto:]
Sent: Wednesday, October 09, 2002 5:52 PM
To:
Subject: [matlab] Problem in design filter -- Is it possible to avoid
the division operation?

Hi all,

Currently, I am designing low-pass filter that will be implemented
in mcu processor and the result filter response is like this:
-6 -4 -2
-z + 3z - 3z + 1
h = ---------------
-6 -5 -4 -3 -2 -1
z + 6z + 17z - 29z + 38z - 33z + 13

Then the system input-output equation for implemenation will be
like this:

y[n] = 1/13 * (x[n] -3x[n-2] + 3x[n-4] ...)

There is a "1/13" denominator for division operation. However, the
division operation take a lot of processing time. Is there any common
way to avoid this division operation.

Thank you for your help.

Cheers
Henry

_____________________________________
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

More DSP-Related Groups: http://www.dsprelated.com/groups.php3

">http://docs.yahoo.com/info/terms/




hi,
As 1/13 could be = 0.0769 and if multipliaction does not take much processing
time that would be an option.
You could think of implementing this in 2's compliment form.
bye
On Wed, 09 Oct 2002 12:22:09
Henry Chang wrote:
>Hi all,
>
> Currently, I am designing low-pass filter that will be implemented
>in mcu processor and the result filter response is like this:
> -6 -4 -2
> -z + 3z - 3z + 1
> h = ---------------
> -6 -5 -4 -3 -2 -1
> z + 6z + 17z - 29z + 38z - 33z + 13
>
> Then the system input-output equation for implemenation will be
>like this:
>
> y[n] = 1/13 * (x[n] -3x[n-2] + 3x[n-4] ...)
>
> There is a "1/13" denominator for division operation. However, the
>division operation take a lot of processing time. Is there any common
>way to avoid this division operation.
>
> Thank you for your help.
>
>Cheers
>Henry >
>
>_____________________________________
>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
>
>More DSP-Related Groups: http://www.dsprelated.com/groups.php3
>
>">http://docs.yahoo.com/info/terms/ >


____________________________________________________________
Watch a championship game with Elway or McGwire.
Enter Now at http://champions.lycos.com