📄 read me.txt
字号:
Description: We have designed a software tool in MATLAB, the Prony Toolbox, to perform Prony analysis. Prony Toolbox (PTbox) is designed based on several considerations including data preprocessing, model order selection, model order selection criteria, signal subspace selection, signal and noise separation, root inspection and assessing residuals. The PTbox provides flexibility to compare and display analysis results simultaneously for several parameter variations.
Installation Instructions:
- Download the Prony Toolbox Zip file
- Copy the "Prony Toolbox" folder from the CD to the user's machine.
- Use Set Path... option in File menu of MATLAB to add the path of the "Prony Toolbox" folder.
- Prony Toolbox can be started by entering pronytool at the MATLAB command prompt.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Zip file contents: about.html, applyprony.m, comparesessions.fig, comparesessions.m, demos.html, bbnoise_demo.mat, create_demo.m, pure_demo.mat, puretone_demo.mat, design.html, ecelogo.jpg, export_file.mat, exportresults.fig, exportresults.m, fft_analysis.m, gui.html, imageicons.mat, mmv2struct.m, 60Ar_i100.mat, 60Ar_i1000.mat, 60Ar_i1500.mat, 60Ar_i400.mat, 60Ar_i700.mat, 60Ar_v100.mat, 60Ar_v1000.mat, 60Ar_v1500.mat, 60Ar_v400.mat, 60Ar_v700.mat, i100.DAT, i1000.DAT, i1500.DAT, i400.DAT, i700.DAT, save_datafile.m, v100.DAT, v1000.DAT, v1500.DAT, v400.DAT, v700.DAT, Ar_I_MO12.cmp, Ar_I_MO14.cmp, Ar_I_MO18.cmp, Ar_I_MO22.cmp, Ar_I_saddle.cmp, perform_resultslist.m, performprony.fig, performprony.m, prepare_comparelist.m, prepare_savedata.m, preparecomparedata.m, pronyanalysistool.fig, pronyanalysistool.m, pronytool.fig, pronytool.m, pronytoolbar.m, pronytoolhelp.html, references.html, remove_mean.m, windowing_data.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
Introduction to the Prony Toolbox
We have designed a software tool in MATLAB, the Prony Toolbox, to perform Prony analysis. Prony Toolbox (PTbox) is designed based on several considerations including data preprocessing, model order selection, model order selection criteria, signal subspace selection, signal and noise separation, root inspection and assessing residuals. The PTbox provides flexibility to compare and display analysis results simultaneously for several parameter variations.
The PTbox is distributed as a freeware and it is copyrighted by Dr. Hamann and Satnam at the University of Wyoming. Any reproduction of the Prony Toolbox code will be considered as violation of copyright.
Contact:
Dr.Jerry C.Hamann, hamann@uwyo.edu
Satnam Singh, satnam@uwyo.edu
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Prony Toolbox Demos
Prony Toolbox demos are provided in the demos directory.
Pure Signal Demo
The pure_demo MAT-file contains a demo of a pure signal. The signal Y is constructed using 3 real damped sinusoids or 6 complex damped sinusoids:
c1 = 2e (-50t)sin(2π100t+π).
c2 = 3e(-20t)sin(2π200t+π/2).
c3 = 4e(-100t)sin(2π400t).
Y = c1+c2+c3.
Signal with Pure Tone Noise Demo
The puretone_demo MAT-file contains a demo of a signal with a pure tone noise. Test signal 揧1?is a noisy signal with pure tone noises n1 and n2.
c1 = 2e (-50t)sin(2π100t+π).
c2 = 3e(-20t)sin(2π200t+π/2).
c3 = 4e(-100t)sin(2π400t).
n1 = sin(2π150t).
n2= 6sin(2π300t).
Y1 = c1+c2+c3+n1+n2.
Signal with Broadband Noise Demo
The bbnoise_demo MAT-file contains a demo of a signal with a broadband noise. The testsignal Y2 is constructed Test using the following components:
c1 = 2e (-50t)sin(2π100t+π).
c2 = 3e(-20t)sin(2π200t+π/2).
c3 = 4e(-100t)sin(2π400t).
n = 2 randn(1,200).
Y2 = c1+c2+c3+n.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Design Basis of the Prony Toolbox
Application of Prony analysis (PA) to characterize Pulsed Corona Reactor (PCR) measurements is a real world application. Presently, there exist a few software tools (e.g. MATLAB, Auto Signal, DSI Tools Ringdown) available to perform PA and each of them has their own limitations: uncommon data input format, limited number of input signals, rigid software architecture, bugs and limited features. One of the main constraints of the existing software systems is inability or inflexibility for simultaneous display and comparison of several Prony analysis sessions. The analysis comparison ability is believed to be an essential requirement for the PCR signal characterization. Our hypothesis requires that the roots of the PA for various sets of experiments can be simultaneously inspected. Hence, we have designed a software tool, the Prony Toolbox (PTbox), built around MATLAB functions with a user-friendly graphical interface and containing all the necessary features to perform PA in the application setting of PCR characterization.
PA is a multi-step procedure which involves performing an autoregressive (AR) fit, rooting the AR coefficients for complex exponential parameters, filtering the roots, completing a least squares fit for complex amplitude parameters, and creating the final model with signal thresholding. All of these steps involve design considerations: data input format, data preprocessing and filtering, model order selection criteria, signal-noise separation, assessing residuals and root inspection. Data preprocessing is required including filtering and removal of the mean. A detailed numeric summary of a PA session results is an essential ingredient of the software tool. The subsequent sections of this Chapter describe the design requirements in detail.
Data Input Format
One of the fundamental themes of PTbox is simplicity. In order to attain this theme, it is important to design the tool in a data input format that is widely accepted in the research community and industry. It is also required that the file format is cross-platform-compatible (Hanselman, Littlefield 2001). The different platforms of MATLAB should not involve any special treatment. The native binary MAT-files fulfill all of the above requirements. MAT-files also have the ability to store the data with high precision and to load the data into the MATLAB base workspace with high speed. Due to the above qualities of the native binary MAT-files, PTbox is designed to import the data files in the MAT-file format.
Reduction in Data Length
Prony analysis involves the solution of an over-determined set of linear equations and rooting of a high-order polynomial, which are highly numerically intensive operations (Trudnowski 1995). Down-sampling the signal can increase the computational efficiency and performance of the Prony analysis. Hence, a flexibility to down-sample the signal is provided in the PTbox.
Data Range
Apart from down-sampling the signal, reduction in the data length can also be achieved by selecting a specific region of the data. This feature is especially useful when the signal damps out rapidly; in such a case, the user can specify a data range as the specific section of the signal where it is judged significant.
Data Preprocessing and Filtering
A linear trend, a signal mean, or noise in the raw data can cause significant errors in the PA results. Hence, it is important to preprocess the data before applying the Prony analysis. Data preprocessing involves filtering the data to isolate the signal components by frequency, detrending and removing the mean from the signal. Detrend removes any linear trend from the signal. It computes the least-squares fit of a straight line to the data and subtracts the resulting function from the data (MATLAB Help 2002).
Model Order Determination
PA requires some a priori information about the system to be identified; most obvious is the model order. Usually, in most real systems, the model order is unknown, however a system specialist may have a rough idea of the expected order. There are several methods available to estimate model order. The residue amplitude and minimum energy criterion are two of these sorting methods that presort the residues according to their amplitude and energy. Several other criteria exist, including specifically the Akaike information criterion (Trudnowski 1994) and Minimum Descriptive Length (Wax, Kailath 1985). In the literature, they are known to perform poorly for very closely spaced modes (Trudnowski, Hauer, Rogers 1995).
As there is no straightforward method to compute the model order of an arbitrary system, an initial estimate of model order can be obtained from the user. Subsequently, Prony analysis can be performed based on this initial guess, and residues can be presorted according to their amplitudes and energies.
A good rule of thumb is to initially assume a model order which is approximately one-third of the sample data length (Trudnowski, Hauer, Rogers 1995). A subset of the resulting modes can then be selected by iteratively increasing the number of modes in the model response until the model reconstruction accurately represents the original data. In order to implement the above rule of thumb, it is necessary to design the PTbox in such a way that it allows the user to select the specific residues from the presorted residues list. The feature to select the presorted residues should be implemented in a simple and user-friendly way.
Graphic Mode of Prony Analysis Fit
Prony analysis fit can be displayed in two graphic modes: time and frequency. To analyze the Prony fit, both graphic modes are necessary. The time domain graphic mode provides more information in the case of a signal containing low energy residues. The frequency domain graphic mode emphasizes the high energy residues and the major frequency components of the Prony fit.
Signal-Noise Separation
Most real signals are corrupted by additive broad-band noise that cannot simply be filtered out. It is difficult to separate the noise modes from the signal modes in such a signal. When there is sufficient signal-noise separation, residue amplitudes and residue energy plots will typically reveal one or more sharp transitions between the signal subspace and the noise subspace floor (Autosignal 2002). Hence, residue amplitude and energy plots should be provided in the PTbox to assist the user to distinguish the signal modes.
Root Inspection
The inspection of the Prony roots is believed to be an essential requirement to validate our hypothesis regarding PCR root clustering. The hypothesis validation also requires the ability to simultaneously display the Prony roots of several Prony analysis sessions. The root inspection in the Prony model can also assist the user to distinguish the signal modes.
Accuracy of Prony Fit
Computations of some of the key statistics should be available. For example, r2 goodness of fit index, squared error and mean squared error (MSE), would be helpful to determine the accuracy of the Prony fit.
Numeric Summary
A list of the key parameters of the Prony analysis should be displayed so that the user can analyze the Prony fit. There should be features to export and plot the results associated with each step of the Prony fit.
Non-Linear Optimization
The refinement of the parameters of the Prony fit can be achieved by non-linear optimization (Autosignal 2002). Constrained least-squares and robust (maximum likelihood) non-linear fitting are two non-linear optimization techniques that can be applied to improve the Prony results.
Assessing Residuals
The normal probability plot of the residuals indicates if the model is under specified or over specified (Autosignal 2002). Providing the ability to assess the residuals is an optional design feature of the PTbox.
Simultaneous Display of Several Prony Analysis Sessions
The ability to display and analyze several Prony analysis sessions is one of the fundamental and essential design requirements to validate our hypothesis. This is a unique feature of PTbox which is not present in any of the existing PA software tools examined by the author.
Graphical User Interface
PTbox is designed to provide an interface between the user and the application's underlying code hence the user can apply PA without knowing cumbersome command line interface commands.
The graphical user interfaces (GUIs) in the PTbox are built using the GUIDE (Graphical User Interface Development Environment) tool in MATLAB 6.5. The GUIDE tool provides an easy and efficient way to compose a GUI and add functionality to it (Marchand 1999). It allows the application programmer to place and modify MATLAB graphics objects (i.e., uicontrol (user interface control), uimenu (user interface menu) and axes) in a graphical manner. GUI development using MATLAB graphics objects can be time consuming and tedious. It requires a lot of experience and practice to estimate the position attributes of uicontrol and uimenu elements to obtain the desired look for a GUI (Marchand 1999). The GUIDE circumvents this tedious GUI development process and provides a simple and intuitive graphical approach to GUI design. By providing a user-friendly way to design GUIs, GUIDE cuts down the development time. Using GUIDE, the application programmer can focus on functionality of the GUI; the appearance and form of the GUI is taken care of by the GUIDE tool.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
GUIs in the Prony Toolbox
PTbox consists of five GUI抯:
Splash GUI
Prepare Prony Data GUI
Perform PA GUI
Compare PA Sessions GUI
Export Data GUI.
Each of the GUIs is designed to implement a particular task. For example, the Prepare Prony Data GUI performs data preprocessing tasks and prepares the data for PA. The data flow in the PTbox is summarized in Figure 4.4.1. First data is obtained and preprocessed in the Prepare Prony Data GUI and then PA is performed. In the last GUI, PA sessions are compared. The Export Data GUI allows the export of data associated with each GUI.
Prepare Prony Data GUI
The main features of this GUI are as follows:
Import Data:
A file open dialog window appears when the user presses this push button. The user has to choose a data file from the traditional file open dialog. The data file should be in MATLAB MAT-file form. Once the file is selected and successfully read, the variables are shown in two list boxes.
PTbox requires that the data should be stored along with variable names in the MAT-file; the read fails if the file does not contain variable names. PTbox uses the variable names for display in the selection list boxes. Presently, PTbox does not provide the flexibility of modifying the data names. However, this should not be a limitation as the names in the MAT-file can be modified directly by the user via the load and save commands of MATLAB.
Plot:
This push button plots the variables selected by the user from the dependent and independent variable list boxes. It is a plot of the original data with no preprocessing.
Decimation:
This option allows the user to specify a particular data range and reduce the data length by decimating the signal. The extent of data length reduction is typically described by the down sampling. PTbox obtains the down-sampling factor M from the user and performs M-fold decimation. For example: if the user has specified a down-sampling factor of two then the toolbox selects alternate samples of the data, hence the decimated signal samples appear at a rate slower than that of the original signal by a factor of two. The down-sampling process can cause aliasing in the frequency domain. Hence, an antialiasing filter with cut off frequency of pi/M should be used before down sampling. Presently PTbox does not provide the flexibility of filtering the decimated signal. PTbox has 慸ecimation off?by default, and consequently the user has to activate the decimation option.
Data Range:
This option allows the user to specify a specific section of the decimated or undecimated signal. This option is particularly useful when the signal damps out rapidly. Data range is specified by a left mouse click at two different locations on the plotted range.
Data Preprocessing:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -