Reply by glen herrmannsfeldt●January 30, 20042004-01-30
Jerry Avins wrote:
(snip)
> How do you make a digital filter non-linear without saturating? A truly
> non-linear filter doesn't have a single impulse response. I suppose that
> a liberal interpretation of "filter" would include squaring and
> transcendental functions, but that doesn't seem to be under
> consideration here.
After just answering a post about X-ray diffraction spectroscopy
with a reference to one of my favorite books, "Deconvolution,
with applications to spectroscopy", by Jansson, which has a lot
of discussion over linear and non-linear deconvolution, maybe
some examples.
Consider an optical emission spectrum, taken with a diffraction
grating and finite width slits. Now, apply a linear deconvolution
algorithm. One requirement of an emission spectrum is that the
intensity is always positive. Restricting the result to always
be positive makes a big difference in the results.
Some of the more interesting results from deconvolution are from
the original Hubble space telescope, with the defective mirror.
(Also, good examples of the difference between accuracy and
precision.) The mirror was very precisely made with the wrong
shape, so that the spot function was very well known. One can
then ask what input signal, that is never negative, would most
likely result in the signal coming out of the telescope.
-- glen
Reply by Jim Adamthwaite●January 30, 20042004-01-30
You may want to run the filter for X times the filter's impulse response to
get it to settle down internally before capturing the next 1000 samples for
yor DFT.
Also, DC offset error can creep in due to the (sum of the DFT samples) not
being equal to zero. This can add considerably to your "noise floor" in the
bottom bin.
I think you could divide that (sum of samples) by 1000 to produce a value
which can then be subtracted from each and all the DFT samples to cancel the
DC error over the whole block.
I think. I did an audio spectrum analyzer as an exercise a while ago and
used a simple HP filter, which approximates to the same thing. The reason
then was to get rid of ADC offset errors, as a 1% DC error equates to a best
noise floor of -40dB (poor).
By the way, do you use DFT o/p bin averaging to tame your display? It helps
a lot if you want to take measurements when using noise as a test signal.
Jim Adamthwaite.
Reply by Piergiorgio Sartor●January 30, 20042004-01-30
Jerry Avins wrote:
> How do you make a digital filter non-linear without saturating? A truly
> non-linear filter doesn't have a single impulse response. I suppose that
> a liberal interpretation of "filter" would include squaring and
> transcendental functions, but that doesn't seem to be under
> consideration here.
"Filter" is everything that transforms data.
"grep" is a filter.
The non-linear story was related to the white
noise measurament technique.
White noise must be used, even if is not necessarily
sufficient, in case of non linear filters.
Was just a comment on that.
bye,
--
piergiorgio
Reply by Jerry Avins●January 29, 20042004-01-29
Piergiorgio Sartor wrote:
> Jerry Avins wrote:
>
>>> the impulse maybe does not reflect
>>> the real filter performance.
>>
>>
>> How not?
>
>
> If the filter is non-linear, it means it cannot
> neccessarily be decomposed, so the impulse response
> can be misleading.
>
> I think something like "abs(x)" is a simple example of this.
>
> bye,
How do you make a digital filter non-linear without saturating? A truly
non-linear filter doesn't have a single impulse response. I suppose that
a liberal interpretation of "filter" would include squaring and
transcendental functions, but that doesn't seem to be under
consideration here.
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by Ray Andraka●January 29, 20042004-01-29
An impulse is often not enough energy to get an accurate
representation of the filter when dealing with longer fixed
point filters. For example, a 100 tap FIR filter set up as
a low pass filter with a fairly narrow bandwidth is going to
have a rather small response to an impulse input. That
response can easily get lost in the quantization that goes
on in a fixed point implementation. A step input can
provide the same information, and does not suffer from the
quantization as badly.
Frequency sweeps work too, but you have to be careful to
sweep the frequency slowly enough that you don't get
artifacts due to your sweep rate. A swept frequency test
also takes longer to execute than an impulse or step
response.
When debuggin filter hardware, I normally start with an
impulse because it is really easy to see if the coefficients
are coming through correctly, followed by a step which
confirms that contributions from each tap are summing
correctly, followed by a sweep. If the impulse and step
outputs of various magnitudes and polarities match a matlab
model exactly, the time consuming (in hardware simulation)
sweep simulation can usually be skipped.
Piergiorgio Sartor wrote:
> Rick Lyons wrote:
>
> > I've always wondered if it's better to test a
> > filter implementation by applying a unit sample
> > impulse, and then FFTing the impulse response, or
> > apply "white" noise and average multiple
> > FFTs of the filter's output.
>
> And what about a frequency sweep?
>
> I was always thinking that such a signal should
> give the "visual" frequency response in the time
> domain, but I never got if it is meaningful...
>
> > Off the top of my head, I can't answer that simple
> > question.
>
> Well, I guess white noise is a must in non-linear
> filters, since the impulse maybe does not reflect
> the real filter performance.
>
> bye,
>
> --
> Piergiorgio Sartor
--
--Ray Andraka, P.E.
President, the Andraka Consulting Group, Inc.
401/884-7930 Fax 401/884-7950
email ray@andraka.com
http://www.andraka.com
"They that give up essential liberty to obtain a little
temporary safety deserve neither liberty nor safety."
-Benjamin
Franklin, 1759
Reply by jim●January 29, 20042004-01-29
Jerry Avins wrote:
>
> Piergiorgio Sartor wrote:
>
> ...
>
> > the impulse maybe does not reflect
> > the real filter performance.
>
> How not?
The how was in the first half of the sentence that you snipped. He's
talking about non-linear filters. But I don't know exactly how that
relates to the original question.
-jim
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----
Reply by Piergiorgio Sartor●January 29, 20042004-01-29
Jerry Avins wrote:
>> the impulse maybe does not reflect
>> the real filter performance.
>
> How not?
If the filter is non-linear, it means it cannot
neccessarily be decomposed, so the impulse response
can be misleading.
I think something like "abs(x)" is a simple example of this.
bye,
--
Piergiorgio Sartor
Reply by Jerry Avins●January 29, 20042004-01-29
Piergiorgio Sartor wrote:
...
> the impulse maybe does not reflect
> the real filter performance.
How not?
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by Piergiorgio Sartor●January 29, 20042004-01-29
Rick Lyons wrote:
> I've always wondered if it's better to test a
> filter implementation by applying a unit sample
> impulse, and then FFTing the impulse response, or
> apply "white" noise and average multiple
> FFTs of the filter's output.
And what about a frequency sweep?
I was always thinking that such a signal should
give the "visual" frequency response in the time
domain, but I never got if it is meaningful...
> Off the top of my head, I can't answer that simple
> question.
Well, I guess white noise is a must in non-linear
filters, since the impulse maybe does not reflect
the real filter performance.
bye,
--
Piergiorgio Sartor
Reply by Rick Lyons●January 29, 20042004-01-29
On Mon, 26 Jan 2004 11:45:55 -0800, "Bhaskar Thiagarajan"
<bhaskart@deja.com> wrote:
(snipped)
>
>Try this link - should take you to a archived thread in Google groups that
>talks about this topic
>(else try searching yourself in google groups for a thread with subject
>'filter freq response'.
>http://tinyurl.com/yud6z
>
>Cheers
>Bhaskar
Hi Bhaskar,
I went further than that website's thread
indicated. 8-10 guys here added "testing" ideas
to the list that I created. I've had it in the back
of my mind that, when I get time, I'll rewrite that
list, add the stuff from the other guys here and
try to publish it. (I wonder if a magazine will
publish an article with 10 authors?)
Actually, Malcolm asks a good question.
I've always wondered if it's better to test a
filter implementation by applying a unit sample
impulse, and then FFTing the impulse response, or
apply "white" noise and average multiple
FFTs of the filter's output.
Off the top of my head, I can't answer that simple
question.
But I will say, I'd never use a filter in an
application without testing the living heck
out of the filter first. Many filters
"work" fine on paper, but not when implemented
with finite binary word widths.
[-Rick-]