filtering decimation of a signal

I disagree. The essence of a limit cycle is a persistent nonzero output with a zero input. Its time variation or lack of same is a detail.

You can if you want, but it doesn't lead to any useful predictions that I know of. What does it mean to say that something has infinite gain over zero range?

Cheers,

Phil Hobbs

Reply to
Phil Hobbs
Loading thread data ...

sically never

it words, even

red variable

a spike. A FIR

ilters are

is nothing you

culate than

r measurement.

/

formatting link

s an

ou do

ed with

of a

t
d

It oscillates because of the quantization error. If the word width was infinite, it would settle towards it's final value, though you never reach it.

Reply to
miso

t

In order for something to be a "red apple" it must first be an "apple". In order for something to be a "limit cycle" it must first be a "cycle". Since the single pole case doesn't cycle, I don't agree with calling it some special type of "cycle".

Well notice the useful prediction that I said it shows about the single pole IIR and then you will know of a useful prediction that it leads to.

We do that sort of thing all the time. Any time you talk about a step function you say that it steps from one value to the other over a zero length time.

Reply to
MooseFET

basically never

bit words, even

tered variable

r a spike. A FIR

filters are

t is nothing you

alculate than

sor measurement.

://

formatting link

is an

you do

ined with

rt of a

o
o
e

n't

ind

al

n

I agree that there is a quantization error but this does not explain why there is an oscillation. The system could just stop at a final value and stay there. It doesn't need to oscillate. Elsewhere in this thread I showed step by step an example that stopped at an offset of 4.

Reply to
MooseFET

A common technique when you have large decimation ratios is to use a CIC or cascaded integrator comb filter. This is a computationally efficient way to implement a moving average, and it's usual to apply it several times (condensed on itself) for a sharper higher-order response. The response is ultimately a sync function raised to the power of the order, so it's not quite flat. The fancy way of dealing with that is to follow up with an FIR filter (at the low decimated sample rate) having an inverse sync response. The cheater way of dealing with it is to have the CIC decimate to 4 or 8 times your desired sample rate, then use FIR's to do the final decimation while selecting out the relatively flat part in the middle . For most purposes, the CIC response is "flat enough" in the central 1/8 to 1/4 of its output bandwidth around zero, which is the part you keep.

Reply to
cs_posting

You can redefine pre-existing terms if you like, but it doesn't help communication much. The nonzero output of a first-order IIR filter with zero input is usually called a 'DC limit cycle', e.g.

formatting link
formatting link

This permits a unified treatment of limit cycles, rather than having to treat the dc case specially for no reason other than terminology.

I'm using "Useful prediction" in the sense of "engineering result that helps you understand and fix the problem". (This is theoretically an engineering NG, which is sometimes hard to remember when all we hear for days is people bragging about their IQ/sex life/ miscellaneous superiority/election results/economic system/small government states/moral rectitude/you name it.)

But that doesn't help you *do* anything about it, it's just decoration. You're making an invalid analogy between linear systems theory and nonlinear difference equations, which has no practical utility.

Cheers,

Phil Hobbs

Reply to
Phil Hobbs

,
g
e
,

tput

e

Your use of the term for an offset is one that I have never seen before.

I have never seen it called that before now. The phrase only gets 96 hits on google so it can't be all that common.

e.g.http://books.google.com/books?id=3DaQvLUNWlen0C&pg=3DPA213&lpg=3DPA213&dq=3D%...

In the cases I have dealt with, the DC component is a different question from the AC one. The AC case can be removed by later filtering whereas the DC one can't.

ry

r
t

Since the prediction of what I stated has proved very useful to me and others, I think you are ignoring the usefulness. It answers the question of whether the system will have an (AC if you insist) limit cycle. A fairly simple argument based on there being no gain at which it oscillates settles it for all numerical values.

Reply to
MooseFET

Except that it doesn't. There's more to math than linear systems.

Cheers,

Phil Hobbs

Reply to
Phil Hobbs

h

I disagree.

I agree.

Reply to
MooseFET

e:

t basically never

8 bit words, even

iltered variable

for a spike. A FIR

IR filters are

it is nothing you

calculate than

ensor measurement.

tp://

formatting link

ch is an

ss you do

mbined with

part of a

m.

do

do

ave

don't

ehind

ical

ain

d
e

I reviewed your posts and didn't find the explanation. In any event, quantization error CAN inject energy back into the system, hence limit cycles.

Reply to
miso

ote:

it basically never

se 8 bit words, even

filtered variable

k for a spike. A FIR

IIR filters are

so it is nothing you

to calculate than

sensor measurement.

formatting link

hich is an

less you do

combined with

s part of a

lem.

a

ou do

ou do

e

have

t don't

behind

in

etical

gain

and

the

e.

s

No, we are talking about the simple case of a single pole IIR filter working on data that never goes anywhere but being recorded. There is no route back to the "system".

Reply to
MooseFET

t, it basically never

use 8 bit words, even

he filtered variable

ok for a spike. A FIR

r.

of IIR filters are

, so it is nothing you

r to calculate than

or sensor measurement.

which is an

unless you do

e combined with

as part of a

oblem.

ke a

you do

you do

the

er have

ust don't

em behind

gain

oretical

he gain

e and

e the

ere.

was

r
n
t

I view the filter as the system, hence by definition, there is feedback.

This whole "argument" shouldn't be rocket science. If it is a well known as you say that a single pole IIR filter doesn't have limit cycles, it should be some well known theorem. For example, a FIR filter with symmetric coefficients is linear phase. Your hypothesis should be a one liner in textbooks.

Reply to
miso

:

it, it basically never

ou use 8 bit words, even

the filtered variable

is ok for a spike. A FIR

ior.

e of IIR filters are

es, so it is nothing you

ter to calculate than

for sensor measurement.

s, which is an

n unless you do

ole combined with

IR as part of a

problem.

make a

ss you do

ss you do

e the

ever have

just don't

orem behind

o gain

heoretical

the gain

ize and

use the

t

there.

h was

ver

n

al

in

set

t
s

Do you mean looking at the IIR in complete isolation? If so then we agree on what we are talking about.

Since it is obvious that there can't be an oscillation, they may have left it out of the text books or just stated without proof. Pick the programming language that you like and construct an IIR filter with byte variables and try it. Since there is only one constant to set, you can try a goodly number of cases without working at it too hard.

X[n] =3D X[n-1] - A * X[N-1]

Where A < 1, can never change the sign of X[]

Reply to
MooseFET

te:

to it, it basically never

you use 8 bit words, even

55 the filtered variable

s is ok for a spike. A FIR

avior.

age of IIR filters are

cies, so it is nothing you

aster to calculate than

ng for sensor measurement.

les, which is an

ion unless you do

pole combined with

IIR as part of a

e problem.

u make a

less you do

less you do

ate the

never have

I just don't

heorem behind

no gain

theoretical

by the gain

.

size and

cause the

it

g there.

dth was

never

ain

inal

re in

ffset

,

mit

is

Bingo. Now that makes sense. It was worth the thread.

I recall in Openheim&Shafer, they have a homework exercise where you allow the accumulator in the FIR to overflow. If the result should have fit in the word width, then the overflow doesn't matter. It always seemed to me that they should have offered a proof.

Reply to
miso

[....] Now for the really important question: Is the OP still here or did they leave long ago?

I don't think an IIR is what he was after.

Reply to
MooseFET

Oh, who cares. ;-) The thread added to my general knowledge of DSP. I've only programmed it, i.e. never built any DSP hardware. I had an interesting project using a coordic which we were going to do in hardware, but the project got canceled.

Reply to
miso

Another little trick that I should throw out here is:

Remainder =3D 0

Loop: Error =3D New - Current + Remainder Remainder =3D Error MOD A Current =3D Current + Error DIV A goto loop

By bringing the remainder into the next loop, the offset of an IIR can be made to go away. It has the advantage over the "always round away from zero" trick that it is more linear.

Reply to
MooseFET

Still here, just catching up on all the messages. Happy New Year!

cheers, Jamie

Reply to
Jamie Morken

... and the best to you and yours.

Did we answer your question?

Reply to
MooseFET

Yes and lots of good general information too! I think I will try a CIC filter later but right now am using a 128 sample adder then a 7bit right shift (to average 128 samples) and then feeding this into a FIR filter.

cheers, Jamie

Reply to
Jamie Morken

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.