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-]