The Cyber-Spy.Com Usenet Archive Feeds Directly
From The Open And Publicly Available Newsgroup
This Group And Thousands Of Others Are Available
On Most IS NNTP News Servers On Port 119.
Cyber-Spy.Com Is NOT Responsible For Any Topic,
Opinions Or Content Posted To This Or Any Other
Newsgroup. This Web Archive Of The Newsgroup And
Posts Are For Informational Purposes Only.
From: Chuck Simmons
Organization: You jest.
X-Mailer: Mozilla 4.61 [en] (X11; U; Linux 2.0.33 i586)
Subject: Re: Historical question: negative feedback and the op amp
References: <3DD25F72.5793B8D5@webaccess.net> <6PuA9.5701$XF5.firstname.lastname@example.org> <3DD27F3D.667A4D75@webaccess.net> <3DD2FD36.8877972F@webaccess.net>
Date: Thu, 14 Nov 2002 13:27:21 GMT
NNTP-Posting-Date: Thu, 14 Nov 2002 05:27:21 PST
> "Chuck Simmons" wrote in message
> > Mike wrote:
> > >
> > > "Chuck Simmons" wrote in message
> > > news:3DD27F3D.667A4D75@webaccess.net...
> > > > Mike wrote:
> > > > >
> > > > > "Jeroen" wrote in message
> > > > > news:GyuA9.80964$I6.email@example.com...
> > > > > >
> > > > > >
> > > > > > In case of IIR filters, feedback reduces the number of
> > > > > needed.
> > > > > > In this case feedback isn't a thing that slows things down.
> > > > >
> > > > > Actually, it does slow down the maximum operating frequency. I can
> > > pipeline
> > > > > an FIR filter almost without limit, and obtain very high clock
> > > frequencies.
> > > > > In an IIR filter, the maximum operating frequency is often
> determined by
> > > the
> > > > > feedback loop. In the general case, the feedback term has to be
> > > > > calculated in one clock cycle.
> > > >
> > > > An IIR can produce output with one multiply and one add at the arrival
> > > > of the sample for that iteration. Does anyone not do this? It is
> > > > This means that there is no difference in output speed of an FIR
> > > > an IIR with fixed sampling and infinite speed arithmetic.
> > >
> > > Yes, but if your arithmetic isn't infinite speed, then there's a
> > > limitation due to the feedback loop in the IIR filter. As a result, the
> > > clock rate can be significantly faster than for an IIR filter with
> > > equivalent word widths.
> > I don't see this at all. Forgetting that an FIR filter cannot be used as
> > a compensator for controlling a dynamical system of order two or
> > greater, exactly the same amount of time is available for computation at
> > fixed sample rate for both. For both the IIR and the FIR, the
> > computation is a difference equation but the FIR has no output terms in
> > it. In the control situation, the pipeline used for the FIR must be
> > short because, in most cases, the nth output from the controller depends
> > on the nth input. If not, the controller will fail anyway unless made
> > even more complex than the high order already required to control a
> > dynamical system because of delay. Delay requires estimation which
> > simply means the order goes up. Estimators are of limited use because of
> > errors introduced from the outside that are unknown to the estimator
> > which is designed for perfect dynamics (what else?).
> Okay, here's what I'm thinking: the FIR output is given by
> y(k) = a0*x(k-1) + a1*x(k-2) + .... + aN-1*x(k-N)
> For the sake of simplicity, let's ignore the multiplications for this
> example. Once the multiplications are completed, I still have to find the
> sum of the products. If I'm running at a fast clock rate, there's not time
> to do all these additions, but I can start pipelining. On the first clock
> cycle, I'll add adjacent terms in pairs:
> b01(k) = a0*x(k-1) + a1*x(k-2)
> b23(k) = a2*x(k-3) + a3*x(k-4)
> On the next clock cycle, add the b terms in pairs:
> c02(k) = b01(k) + b23(k)
> c46(k) = b45(k) + b67(k)
> Keep going until the process is complete. Each level is registered; the c(k)
> computation takes place at the same time that the b(k+1) terms are being
> We can go further: if there's inadequate time to complete the additions in
> one clock cycle, they can be pipelined as well. I built an FIR a few years
> ago that used a Booth multiplier with a latency of three clock cycles, and a
> tree of adders with latency of two clocks at the top of the tree, and three
> clocks at the bottom (as the word widths increased). The overall latency was
> something like 12 clock cycles from the time that the last data word entered
> the filter.
> In the IIR filter, the y(k) result is needed during the next clock cycle,
> and there's no practical way to delay it in the general case.
> -- Mike --
But in typical IIR implementations the data present in the processor at
each sample is only one data point less than for your FIR. However,
piplining will usually not be of interest because of the lower order
required for realization of an IIR filter.
However, let's take up the control of dynamical systems and see why an
FIR, in general, will not work.
Generally, a sampled system modelled by a system of n linear first order
ODEs (the same as an nth order ODE) with constant coefficients gives
rise to a quotient of polynomials say p(z)/q(z) where the degree of q(z)
is n and the degree of p(z)<=n (deg(p)>deg(q) is non-causal). Assume
that there is an FIR controller we wish to apply which is given by
r(z)/z^k where r(z) is a polynomial of degree k. Obviously, the closed
loop system including the FIR is stable if all of the zeros (roots) of
z^k*q(z)-r(z)*p(z) are inside the unit circle. There will be n+k zeros
of this polynomial. However, of the coefficients of this polynomial, we
may select arbitrarily at most k+1 leaving n-1 coefficients to chance.
In other words, we can force at most k+1 zeros inside the unit circle by
selecting the coefficients of r(z) while the other n-1 can be anywhere.
That is, give an arbitrary p(z)/q(z), we cannot, in general, stabilize
it with an FIR.
An interesting point is that if n=1, we can always use an FIR. At n=2,
we have one pole we cannot place.
It is easy to see that for any p(z) and q(z) there is a stabilizing
controller of the IIR type which is of at most order n (the polynomials
are of degree at most n).
Another FIR problem is that an FIR places k system zeros at the origin
of the unit circle. This causes extreme parameter sensitivity which
translates to poor stability margin even assuming an FIR stabilizing
controller exists (by no means given as shown).
An advantage in an IIR is that it can be broken into cascades of order
at most 2. This greatly reduces parameter sensitivity. The penalty for
cascades is one multiply and add for each cascade section if we require
that output from a new sample be available with one multiply and add.
Cleary, there is little reason to even look for a possible but unlikely
FIR to controller for a dynamical system.
... The times have been,
That, when the brains were out,
the man would die. ... Macbeth
Chuck Simmons firstname.lastname@example.org
Go Back To The Cyber-Spy.Com
Usenet Web Archive Index Of
The sci.electronics.design Newsgroup