Eigendecomposition Filtering
·
This tutorial covers the signal filtering capabilities of TableCurve Studio using Eigendecomposition and reconstruction techniques.
Importing Test Data
For the Eigendecomposition in this tutorial, we will use a data stream consisting of a sine function, an exponential decay, and white (Gaussian) noise.
Click File > Import Data Source and select tutor1.csv from the Data subdirectory.
The following signal expression was used to generate this data:
F1=100*EXP(-X/1)
F2=10*SIN(2*PI*X*10)
Y=F1+F2
The X (time) values vary from 0 to 1.0 with a 0.002 sample increment. Gaussian noise is added at a 50% level. The aim is to explore the isolation and recovery of both the sinusoid and the exponential decay.
The 501-point data set loads directly into the main TableCurve Studio window.

Eigendecomposition Filtration
Unlike Fourier filtering, which isolates components by frequency, Eigendecomposition isolates data components by signal strength. In order for this test case to work, we had to be certain the first order decay had a greater power at all X-values than the sinusoid.
Select the Eigendecomposition
Filtering option in the Filter menu
or main toolbar. Be sure the CovM FB
algorithm is selected, set the matrix order to 60.
Also be sure that the Eigenvalues Normalize
% box is checked and that Data
is checked for the lower graph. Using the left mouse button, box only the first eigenmode in the upper
graph.

In an eigendecomposition, a continuously increasing or continuously decreasing data component is captured by a single eigenmode. Note that the first order exponential decay is recovered with virtually no trace of the sinusoid.
Click on OK
to close the Eigenfiltering procedure and answer Yes
to update the data table with this first isolated component.
Select the Curve-Fit Simple Equations
option in the Process menu or toolbar. When the fit is concluded, enter the Review by clicking the Graph
Start button.
Click on Search for Specific Equation and enter 8157 and click OK.

As you will recall, we defined the damped exponential with F1=100*EXP(-X/1). We would thus like to see parameters of (100,1) for the exponential. We are close with (97.9,1.058).
Click OK
to close the Review.
Click Reset XY Data
to restore the original data.
Again select the Eigendecomposition
Filtering option in the Filter menu
or main toolbar. Using the left mouse button, box the second and third eigenmodes in the upper graph.

Oscillatory components appear as pairs in an eigendecomposition. Note that the sinusoid is recovered with no presence of the exponential decay.
Check the FFT box and zoom in the spectral peak in the lower graph.

The FFT uses an automatic exact-n FFT procedure with a variable Kaiser-Bessel data taper. Note that the spectral peak's central frequency is at 10. Recall that the sinusoid was generated with F2=10*SIN(2*PI*X*10). The sinusoidal frequency was very accurately recovered.
Right click in the lower graph to restore standard scaling or click on Reset
Default Scaling in the graph's toolbar.
Using the left mouse button, box the first, second and third eigenmodes in the upper graph. Check the Data Comp. box.

Inspecting the individual components for the first three eigenmodes reveals the completeness of the separation. Bear in mind that a full 50% level of random noise is present in this data set.
Using the right mouse button, again box the first, second and third eigenmodes in the upper graph. Check the Data box.

When the right mouse button is used to box the eigenmodes, the enclosed eigenmodes are excluded from the reconstruction. Note that this high level of noise is contained almost entirely in these upper 57 eigenmodes.
Using the left mouse button, again box the second and third eigenmodes in the upper graph. Check the Data Comp. box.

These two components sum to produce the reconstructed sinusoid.
Click on OK
to close the Eigenfiltering procedure and answer Yes
to update the data table with this first isolated component.
Select the Curve-Fit Waveform Functions
option in the Process menu or toolbar. When the fit is concluded, enter the Review by clicking the Graph
Start button.
Select equation 8014, the sine-wave model.

The sinusoid was generated with F2=10*SIN(2*PI*X*10). The sinusoid's amplitude of 10.0 is recovered as 9.55. The phase of 0 (or 2p) is recovered as 1.978p. The frequency of 10 is recovered as 10.02 (1/wavelength). Although the variations in the sinusoidal amplitude suggest a less than ideal isolation, the sinusoid's parameters are recovered quite effectively.
Click OK
to close the Review.
Click Reset XY Data
to restore the original data.
Parametric Fitting
Select the Process menu’s User Functions
item. In the UDF entry screen, enter expsin
as the Function Name, 5
as the Adjustable parameter count, Y=A0*EXP(-X/A1)+A2*SIN(2*PI*X*A3+A4)
as the UDF expression, and the values 97.9,
1.06,
9.55,
10.02,
and 1.978*PI
for the five starting estimates.
Click on the Fit UDFs
button. When the fit is concluded, enter the Review by clicking the Graph
Start button.

Using the estimates from the two eigenfiltering procedures, the UDF was able to further refine the parameters. Apart from the fact the exponential's amplitude is slightly lower and the sinusoid's amplitude is slightly higher, the generating values are very effectively recovered.
Click OK
to close the Review.
Exit the program by closing the main window or by the Exit item in the File menu.