comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: signal processing package for IDL
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: signal processing package for IDL [message #459 is a reply to message #456] Thu, 30 July 1992 05:56 Go to previous messageGo to previous message
dpkemp is currently offline  dpkemp
Messages: 4
Registered: July 1992
Junior Member
In article <14663@umd5.umd.edu> dmatthews@uap.umd.edu writes:
> If you don't have to do your filtering in real time, do it in the
> frequency domain, i.e. take the Fourier transform of the data,
> _multiply_ the result by the desired transfer function, and transform
> that result back to the time domain. It's faster and easier to understand
> than filtering in the time domain directly.
>

I'm certain it isn't faster.
It may or may not be easier to understand.
I don't believe it is even possible to do exactly.

Everyone :-) knows that convolution in the time domain is equivalent
to multiplication in the frequency domain, which is the basis for
Fourier transform filtering. This works well if your filter has a
relatively large, but finite length impulse response.

If the impulse response is short, filtering in the time domain takes
much less computation than doing a forward and inverse FFT.

If the impulse response is infintely long (such as you might get
with even a tiny single pole-pair filter, if the poles are near the
unit circle), I don't know if it is even possible to do the filtering
using FFT's. If it is possible, then keeping track of the filter
state to enable reconstruction of the time domain signal from the
Fourier transform blocks is a nightmare.

Here is how to filter L samples of a signal X, producing signal Y, using
an all-pole filter of length N, in the time domain:

do i = 1, L
y(i) = x(i)
do j = 1, N
y(i) = y(i) + filt(j)*y(i-j)
end do
end do

I doubt that an FFT based filter could be any easier to understand than
that (but perhaps I am left-brained and you are right-brained, and "easy"
is in the eye of the beholder :-).

-----

My complaint with PVI is that they don't seem to realize that all-pole
filters even exist. It seems like it would be easier for PVI to add
an IIR filter primitive to PV-wave, than for MathWorks to add good
graphics to Matlab!

Mr. Anderson's package to link Matlab and PV-wave sounds excellent,
and it would be great to have it included with the PV-wave distribution,
but I'd hate to tie up *two* expensive licenses on a routine basis
just so the user could do filtering and good graphics simultaneously.

--
Dave Kemp dpkemp@afterlife.ncsc.mil
------------------------------------------------------------ -----------------
"The use of history as therapy means the corruption of history as history."
-- Arthur Schlesinger (quote stolen from Chet Ramey, CWRU)
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: IDL + Emacs' shell mode = an IDL 'next-error' elisp function
Next Topic: PVI jerk toots own horn on net [flame; how'd you guess? :-]

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 08:33:56 PDT 2025

Total time taken to generate the page: 0.85957 seconds