Main Menu
Home
Fusion Research
Graduate School
Electrodynamics
Everything Else

Plasma Physicists

Troy A. Carter
(my thesis advisor)

Anne E. White

Andrew Collette

RSS Info

 Subscribe in a reader

Enter your email address:

Delivered by FeedBurner


Signal Decomposition Using Farge Wavelet Method
Tuesday, 15 May 2007

Files associated with this content are available, just contact me to ask for them.

Wavelet analysis is becoming ever more popular in plasma and fusion research, though the methods have been known and applied in other fields (such as image processing and the monitoring of electrical power systems) for some time. In 2006 the following paper detailed a method for separating a time signal into its coherent and noise components,

Marie Farge, Kai Schneider, and Pascal Devynck. Extraction of coherent bursts from turbulent edge plasma in magnetic fusion devices using orthogonal wavelets. Physics of Plasmas, 13(4):042304, 2006.

Basically, if your experimental data is noisy and that noise contribution is Gaussian, then this method can remove that noise component and leave the rest of the signal for further analysis. This is more than simple filtering, however, because the method leaves the time behavior of the coherent signal intact. This routine separates out the Gaussian part of the signal from the rest.

There are a lot of wavelet resources out there and I am not expert enough to provide a tutorial on the subject. I have written a basic IDL function of the Farge Method. If you are interested in obtaining this routine, then please use the Contact Form to request it. A summary follows, and be sure to read the NOTES before using it.

The download file is a zip archive containing two files.

  • summary.pdf - Example of routine usage with test data set.
  • fargeMethod.pro - IDL functions

Excerpts from summary.pdf

Introduction

This document describes the implementation of the routines included in the file fargeMethod.pro for decomposing signals into their coherent and noise components. Two functions are provided:

  1. SIGS → generates test signals for immediate passing to the code
  2. WVINT → performs the wavelet decomposition to separate the input into coherent and noise components

Example Usage

This example uses the command line interface of IDL. The source code is commented to provide more information about the method and a description of any function arguments seen in this example. Compile the functions,

IDL> .r fargeMethods.pro

Generate the test signals with a noise amplitude of 0.2 (no particular reason for choosing this amplitude),

IDL> q = sigs( 0.2 )

The test signals are shown in figures 1 and 2. The amplitude of the noise signal is controlled by the argument to SIGS. The signal that will be passed to the decomposition routine is shown in figure 3.

test signal coherent part
Figure 1: Test signal coherent part.

 

test signal noise
Figure 2: Test signal noise component.

The input signal is generated by adding the signals shown above.

input signal
Figure 3: Input signal generated by adding noise and coherent test signals.

Perform the decomposition on the test signal,

IDL> w = wvint( q.sig + q.noi )

Figure 4 displays the result. This plot can be generated by use of the following commands (the first line plots the coherent component),

IDL> plot, w.coh
IDL> oplot, w.noi
result from analysis
Figure 4: Result returned from analysis. The red trace is the coherent return and the black trace is the returned noise.

Comparisons between the input signal components and the wavelet result are shown in figures 5 and 6.

coherent signal comparison
Figure 5: Comparison of the input and result coherent components. The red trace is the result from the analysis

 

noise comparison
Figure 6: Comparison between input and result noise. The red trace is the extracted, analysis result, signal.
 

NOTES:

This routine uses the basic wavelet functionality available in IDL. The options for wavelet basis are different from that used in the referenced paper. Furthermore, since I am still experimenting with different wavelet bases I have not finalized the frequency array calculation. The frequency array is important for people who are interested in the statistical analysis of the separate components and it is not necessary to make the rest of the routine work.

As always, this routine is not guaranteed and you use it at your own risk.

Tags: , ,

Last Updated ( Tuesday, 04 May 2010 )
 

 

© 2000-2010 David Pace
Design by David Pace