Wiener filter / decorrelation
Hello, I'm trying to write a numerical implementation of Wiener filtering / decorrelation (extraction of a signal from noisy time series). What I'm trying to do is the construction of the time domain filter from a measurement of the power spectrum of the noise and the shape of the signal. However I'm encountering some problems that are beyond my knowledge of the matter. Can someone suggest me a reference text book, or other resource? Thank you in advance. Cheers, -- Daniele
Hi Daniele, I would recommend the Numerical recipes in Fortran 77, obviously not for the language but for its mathematical sections and its discussions of coding algorithms efficiently. Section 13.3 is about wiener filtering with FFT. Hope this helps, Jonathan On Tue, Jan 25, 2011 at 3:04 PM, Daniele Nicolodi <daniele@grinta.net>wrote:
Hello,
I'm trying to write a numerical implementation of Wiener filtering / decorrelation (extraction of a signal from noisy time series). What I'm trying to do is the construction of the time domain filter from a measurement of the power spectrum of the noise and the shape of the signal.
However I'm encountering some problems that are beyond my knowledge of the matter. Can someone suggest me a reference text book, or other resource?
Thank you in advance. Cheers, -- Daniele _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
-- Jonathan Rocher, Enthought, Inc. jrocher@enthought.com 1-512-536-1057 http://www.enthought.com
On 25/01/11 22:12, Jonathan Rocher wrote:
I would recommend the Numerical recipes in Fortran 77, obviously not for the language but for its mathematical sections and its discussions of coding algorithms efficiently. Section 13.3 is about wiener filtering with FFT.
Thank you, Jonathan. I took at look at my university library catalog, and the Fortran 77 version of Numerical Recipes is not available (I would have to get it at the engineering faculty). There is available the Fortran 90, and the C editions, plus another edition whose title is simply "Numerical Recipes". Is the content of the different editions equivalent, or should I look for this specific edition? Thank you again. Cheers, -- Daniele
On Tue, Jan 25, 2011 at 2:26 PM, Daniele Nicolodi <daniele@grinta.net>wrote:
On 25/01/11 22:12, Jonathan Rocher wrote:
I would recommend the Numerical recipes in Fortran 77, obviously not for the language but for its mathematical sections and its discussions of coding algorithms efficiently. Section 13.3 is about wiener filtering with FFT.
Thank you, Jonathan.
I took at look at my university library catalog, and the Fortran 77 version of Numerical Recipes is not available (I would have to get it at the engineering faculty). There is available the Fortran 90, and the C editions, plus another edition whose title is simply "Numerical Recipes". Is the content of the different editions equivalent, or should I look for this specific edition?
The edition/lanquage doesn't matter much. The older editions are available online, just google numerical recipes. Chuck
Actually I believe the version does matter: I have seen a C version of num rec that doesn't contain all the algorithmic part but only the codes. I cannot remember exactly which ones are the light versions. If I had to guess, the F90 is also a light version and that's why I bought the F77 book. Jonathan On Tue, Jan 25, 2011 at 4:00 PM, Charles R Harris <charlesr.harris@gmail.com
wrote:
On Tue, Jan 25, 2011 at 2:26 PM, Daniele Nicolodi <daniele@grinta.net>wrote:
On 25/01/11 22:12, Jonathan Rocher wrote:
I would recommend the Numerical recipes in Fortran 77, obviously not for the language but for its mathematical sections and its discussions of coding algorithms efficiently. Section 13.3 is about wiener filtering with FFT.
Thank you, Jonathan.
I took at look at my university library catalog, and the Fortran 77 version of Numerical Recipes is not available (I would have to get it at the engineering faculty). There is available the Fortran 90, and the C editions, plus another edition whose title is simply "Numerical Recipes". Is the content of the different editions equivalent, or should I look for this specific edition?
The edition/lanquage doesn't matter much. The older editions are available online, just google numerical recipes.
Chuck
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
-- Jonathan Rocher, Enthought, Inc. jrocher@enthought.com 1-512-536-1057 http://www.enthought.com
Den 25.01.2011 23:21, skrev Jonathan Rocher:
Actually I believe the version does matter: I have seen a C version of num rec that doesn't contain all the algorithmic part but only the codes. I cannot remember exactly which ones are the light versions. If I had to guess, the F90 is also a light version and that's why I bought the F77 book.
The F90 version is meant to be read in conjunction with the F77 version, not alone. It is very useful for NumPy programmers, as it is one of few text books that deals with vectorisation of algorithms. (F90 is an array-oriented language like Matlab and NumPy.) It is also the NR version with the "cleanest" source code examples. NR in C uses a nasty (and illegal) hack to get base-1 arrays in C. It is also notorious for numerically unstable code, and should never have been published. That is why the authors later published "NR in C++" to rescue their image. NR's third edition is utterly atrocious. It uses C++ OOP for code obfuscation, such as inheritance and functors (objects instead of functions), which is not instructive at all in explaining "numerical methods". They also play with methods and inheritance in structs, not just classes, which can confuse readers not knowing the dusty corners of C++. The text is also messier to read, less organized, and some of it is bady written compared to previous editions. But the scope is more extensive. It has many valuable details that should have been covered in previous versions, but it is presented in a way that makes me barf. Also beware of common NR pitfalls like unstable SVD, slow FFTs, bad PRNGs, etc. Always use proper libraries like LAPACK, BLAS, FFTW, et al. NR code is just for inspiration. :-) Sturla
Den 27.01.2011 23:47, skrev Sturla Molden:
The F90 version is meant to be read in conjunction with the F77 version, not alone. It is very useful for NumPy programmers, as it is one of few text books that deals with vectorisation of algorithms. (F90 is an array-oriented language like Matlab and NumPy.) It is also the NR version with the "cleanest" source code examples.
BTW, they are available here: http://www.nrbook.com/a/bookfpdf.php http://www.nrbook.com/a/bookf90pdf.php Sturla
Hi, On Tue, 25 Jan 2011 22:04:42 +0100, Daniele Nicolodi wrote: [clip]
However I'm encountering some problems that are beyond my knowledge of the matter. Can someone suggest me a reference text book, or other resource?
Scipy-user list would be more appropriate for queries not directly involving Numpy. -- Pauli Virtanen
On 25/01/11 22:20, Pauli Virtanen wrote:
However I'm encountering some problems that are beyond my knowledge of the matter. Can someone suggest me a reference text book, or other resource?
Scipy-user list would be more appropriate for queries not directly involving Numpy.
Sorry. I thought that the -discussion suffix meant a broader topic than numpy only. I'll address other similar questions to scipy-user. Thank. Cheers, -- Daniele
participants (5)
-
Charles R Harris
-
Daniele Nicolodi
-
Jonathan Rocher
-
Pauli Virtanen
-
Sturla Molden