From: Sseziwa Mukasa on 20 Mar 2010 03:46 On Mar 19, 2010, at 3:46 AM, Paul Floyd wrote: > On Mon, 15 Mar 2010 10:03:35 +0000 (UTC), Nasser M. Abbasi > <nma(a)12000.org> wrote: >> "Luigi B" <l.balzano(a)gmail.com> wrote in message >> news:hnkfa8$po0$1(a)smc.vnet.net... >>> Dear All, >>> I have a table {{x,y}} of measured data with significant noise. >>> I am not into signal processing and I would like to filter this >>> table >>> with a Butterworth type of filter. >>> Does anyone have a suitable routine? (That would allow changin the >>> order of the filter as well, like the function 'butter' in another >>> system). Perhaps you're not getting many responses because your question is somewhat unclear. A Butterworth filter is typically used for analog signal processing, but your data is digitized so you'd have to use a digital filter. One can digitize Butterworth filters but they don't have all the properties of an analog Butterworth filter, furthermore, it is trivial to implement an ideal low pass filter with superior performance to a Butterworth for digitized data: Fourier transform the signal, zero out all values greater than the desired cut off frequency, Inverse Fourier transform to get the filtered signal. Without further information about your data whether this is appropriate or not, but if the goal is a low pass filter why insist on a Butterworth? >> >> This is not much help to you now, but there used to be a >> Mathematica add-on >> application called signals and systems which had this and more >> filters: >> >> http://documents.wolfram.com/applications/signals/ >> FilterAnalysisandDesign.html >> >> Too bad this application is no longer available. > > Hi > > I'd be interested in this as well. > > Do you know who produced it, and whether it'd be possible to get it > working again with Mathematica 7? The Digital Image Processing package has some digital filter design features, the Control Systems package can handle analog filters, but admittedly not in the way signal processing is usually done. Regards, Sseziwa
From: WetBlanket on 20 Mar 2010 03:47 On Mar 19, 2:46 am, Paul Floyd <r...(a)127.0.0.1> wrote: > On Mon, 15 Mar 2010 10:03:35 +0000 (UTC), Nasser M. Abbasi > <n...(a)12000.org> wrote: > > > > > "Luigi B" <l.balz...(a)gmail.com> wrote in message > >news:hnkfa8$po0$1(a)smc.vnet.net... > >> Dear All, > >> I have a table {{x,y}} of measured data with significant noise. > >> I am not into signal processing and I would like to filter this table > >> with a Butterworth type of filter. > >> Does anyone have a suitable routine? (That would allow changin the > >> order of the filter as well, like the function 'butter' in another > >> system). > > > This is not much help to you now, but there used to be a Mathematica ad= d-on > > application called signals and systems which had this and more filters: > > >http://documents.wolfram.com/applications/signals/FilterAnalysisandDe... > > > Too bad this application is no longer available. > > Hi > > I'd be interested in this as well. > > Do you know who produced it, and whether it'd be possible to get it > working again with Mathematica 7? > > A bientot > Paul I would also be interested in getting this package working with Mathematica 7.
From: Nasser M. Abbasi on 20 Mar 2010 03:47 "Paul Floyd" <root(a)127.0.0.1> wrote in message news:hnva5f$87t$1(a)smc.vnet.net... > On Mon, 15 Mar 2010 10:03:35 +0000 (UTC), Nasser M. Abbasi > <nma(a)12000.org> wrote: >> "Luigi B" <l.balzano(a)gmail.com> wrote in message >> news:hnkfa8$po0$1(a)smc.vnet.net... >>> Dear All, >>> I have a table {{x,y}} of measured data with significant noise. >>> I am not into signal processing and I would like to filter this table >>> with a Butterworth type of filter. >>> Does anyone have a suitable routine? (That would allow changin the >>> order of the filter as well, like the function 'butter' in another >>> system). >> >> This is not much help to you now, but there used to be a Mathematica >> add-on >> application called signals and systems which had this and more filters: >> >> http://documents.wolfram.com/applications/signals/FilterAnalysisandDesign.html >> >> Too bad this application is no longer available. > > Hi > > I'd be interested in this as well. > > Do you know who produced it, and whether it'd be possible to get it > working again with Mathematica 7? > > A bientot > Paul > My guess it came from Georgia Tech Research, if you look at this page, more information can be found about DSP for Mathematica, and I think, from looking at it, it that this is the origin of the application that WRI had on its web page: http://users.ece.utexas.edu/~bevans/projects/symbolic/spp.html I could be wrong ofcourse. Try to contact WRI. But it is not a supported application any more so good luck getting any answer. Also, I generated PDF of the documents of this application here http://12000.org/my_notes/faq/mma_notes/Mathematica_for_signal_processing.htm It will be really neat if these functions became part of Mathematica itself in version 8. I mean the code is there, so it just needs to be updated to run on Mathematica ! As I said, I can't get it to run on version 7. I did not spend time to find out why. --Nasser
From: Kevin J. McCann on 21 Mar 2010 03:12 This is not a very good way to filter a signal. The resulting time series will "ring" due to the "sharp edges" in the filter. A much better way to filter the signal is with a Hamming or Hanning weighted bandpass or lowpass (whichever is appropriate) filter. This gives a much better response without the ring. This ringing is 13dB down from the peak, and can be significant, but with a Hamming filter the ringing is around 60dB down from the peak. Kevin Sseziwa Mukasa wrote: > > Perhaps you're not getting many responses because your question is > somewhat unclear. A Butterworth filter is typically used for analog > signal processing, but your data is digitized so you'd have to use a > digital filter. One can digitize Butterworth filters but they don't > have all the properties of an analog Butterworth filter, furthermore, > it is trivial to implement an ideal low pass filter with superior > performance to a Butterworth for digitized data: Fourier transform > the signal, zero out all values greater than the desired cut off > frequency, Inverse Fourier transform to get the filtered signal. > Without further information about your data whether this is > appropriate or not, but if the goal is a low pass filter why insist > on a Butterworth? >
From: Sseziwa Mukasa on 22 Mar 2010 03:46 On Mar 21, 2010, at 3:04 AM, Kevin J. McCann wrote: > This is not a very good way to filter a signal. The resulting time > series will "ring" due to the "sharp edges" in the filter. A much > better > way to filter the signal is with a Hamming or Hanning weighted > bandpass > or lowpass (whichever is appropriate) filter. This gives a much better > response without the ring. This ringing is 13dB down from the peak, > and > can be significant, but with a Hamming filter the ringing is around > 60dB > down from the peak. The position of the side lobes depends on the cutoff frequency, if the passband is wide enough the ringing is negligible. At any rate implementing a windowed low pass filter in Mathematica is still relatively easy: Fourier the data, apply the window function of your choice, for example; windowedspectrum = Table[spectrum[[i]]*0.5*(1+Cos[2*Pi*i/(Length [spectrum]-1]),{i,0,Length[spectrum]-1}] and then inverse Fourier transform. For other approaches to data smoothing, there are two relevant Demonstration projects at http://demonstrations.wolfram.com/ WaveletShrinkageDenoising/ and http://demonstrations.wolfram.com/ DataSmoothing/. > > Kevin > > Sseziwa Mukasa wrote: >> >> Perhaps you're not getting many responses because your question is >> somewhat unclear. A Butterworth filter is typically used for analog >> signal processing, but your data is digitized so you'd have to use a >> digital filter. One can digitize Butterworth filters but they don't >> have all the properties of an analog Butterworth filter, furthermore, >> it is trivial to implement an ideal low pass filter with superior >> performance to a Butterworth for digitized data: Fourier transform >> the signal, zero out all values greater than the desired cut off >> frequency, Inverse Fourier transform to get the filtered signal. >> Without further information about your data whether this is >> appropriate or not, but if the goal is a low pass filter why insist >> on a Butterworth? >> >
First
|
Prev
|
Pages: 1 2 Prev: Mathematica SparseArray Access Non-Default Values Next: Equating real and imaginary part |