If your signal is sampled at 200 Hz (like in this example), and you want to
filter out everything above 4 Hz or 12 Hz, you might want to consider using
a wider LPF first, downsapling the signal, and then doing the filtering.
Usually, sampling rate is related to the frequency content of the signal
(Nyquist), and since your signal of interest is much narrower, you have very
high oversampling (maybe due to very wide noise?).
In any case, even Matlab wouldn't help you much if you wanted to implement
Post by Warren Weckesserb, a = butter(14, ws3, 'low')
C:\Python26\lib\site-packages\scipy\signal\filter_design.py:221:
BadCoefficients: Badly conditionned filter coefficients (numerator): the
results may be meaningless
"results may be meaningless", BadCoefficients)
C:\Python26\lib\site-packages\scipy\signal\filter_design.py:221:
BadCoefficients: Badly conditionned filter coefficients (numerator): the
results may be meaningless
"results may be meaningless", BadCoefficients)
0.040000000000000001
array([ 1.21542041e-16, 7.90023266e-16, 3.16009306e-15,
8.69025592e-15, 1.73805118e-14, 2.60707678e-14,
2.97951632e-14, 2.60707678e-14, 1.73805118e-14,
8.69025592e-15, 3.16009306e-15, 7.90023266e-16,
1.21542041e-16, 8.68157435e-18])
array([ 1.00000000e+00, -1.28776717e+01, 7.70365408e+01,
-2.83749831e+02, 7.18912579e+02, -1.32537586e+03,
1.83351674e+03, -1.93352359e+03, 1.56186993e+03,
-9.61728148e+02, 4.44354147e+02, -1.49385526e+02,
3.45431991e+01, -4.91770336e+00, 3.25194854e-01])
Post by Warren Weckesser[b,a]=butter(14, 0.04, 'low')
b =
Columns 1 through 12
0 0 0 0 0 0 0 0 0 0 0 0
Columns 13 through 15
0 0 0
a =
1.0e+003 *
Columns 1 through 7
0.0010 -0.0129 0.0770 -0.2837 0.7189 -1.3254 1.8335
Columns 8 through 14
-1.9335 1.5619 -0.9617 0.4444 -0.1494 0.0345 -0.0049
Column 15
0.0003
Post by Warren WeckesserHi Warren,
thanks for this example!
the results may be meaningless
"results may be meaningless", BadCoefficients)
For any attempt to filter a low-pass below 12 Hz in this example (so -
I don't get the plot you got - instead I get a flat line on the bottom
subplot). Do you (or anyone?) have any idea why that is?
Nils Wagner reported the same behavior a week or so ago, and I see the
same behavior now ("BadCoefficients" and a flat line in the last plot).
Try lowering the order of the Butterworth filter to order=6.
Warren
Cheers,
Ariel
On Wed, Feb 24, 2010 at 7:51 AM, Warren Weckesser
Hi all,
I have two questions concerning signal processing
I have used scipy.stats.signaltonoise to compute the
signal-to-noise ratio.
The value is 0.0447.
How can I judge it ?
How can I filter out high frequencies using scipy ?
I posted an example low-pass filtering using 'butter' and 'lfilter' from
http://mail.scipy.org/pipermail/scipy-user/2010-January/024032.html
Warren
How can I eliminate noise from the signal ?
Nils
_______________________________________________
SciPy-User mailing list
http://mail.scipy.org/mailman/listinfo/scipy-user
_______________________________________________
SciPy-User mailing list
http://mail.scipy.org/mailman/listinfo/scipy-user
--
Ariel Rokem
Helen Wills Neuroscience Institute
University of California, Berkeley
http://argentum.ucbso.berkeley.edu/ariel
------------------------------------------------------------------------
_______________________________________________
SciPy-User mailing list
http://mail.scipy.org/mailman/listinfo/scipy-user
_______________________________________________
SciPy-User mailing list
http://mail.scipy.org/mailman/listinfo/scipy-user