This function is a modified version of the function denois. It provides graphic user interface (GUI) for parameter input and displaying denoising results. Instead of filter banks, the wavelet is specified with its name. The original data, the decomposed data in different levels, the denoised data in all levels and the denoised data are displayed with diagrams. In addition, the noise that is removed from the signal is displayed in a diagram, too.
The default input values provide an example to show the functionality of this function.
function denoisGUI import Modelica_LinearSystems2.Utilities.Plot.Records.Diagram; import Modelica_LinearSystems2.Utilities.Plot.Records.Curve; input Real u[:] = {-1.3853, 1.5788, 2.2041, 3.9822, 3.3831, 6.7019, 5.1197, 5.9217, 4.2061, 3.5389, 3.4177, 2.1313, -0.7999, -2.4885, -3.2673, -4.6569, -4.0413, -5.1036, -5.3449, -6.2969, -3.7925, -3.4697, -3.0802, -0.8552, -1.5134, 1.0541, 2.2248, 3.3398, 3.1799, 4.8989, 4.4210, 4.0804, 3.4891, 5.1387, 2.3952, 1.9965, -0.2529, -0.6175, -4.8076, -3.8146, -5.1278, -5.4474, -5.0879, -5.3228, -2.8489, -4.8475, -3.7284, -4.0229, -1.7457, -1.3380} "Signal to be analyzed" annotation( Dialog(group = "Input data")); input Records.wavletDefinition wd "Wavelet definition. Note: Only (bi)orthogonal wavelets can be used for MRA. Valid parameters are wavID (<=7), Nd, Nr and range (dMeyer)" annotation( Dialog(group = "Input data")); input Records.denoisParameters dp "Data and parameters for wavelet denoising" annotation( Dialog(group = "Input data")); output Real y[:] "Denoised signal" annotation( Dialog(enable = false)); output Real noise[:] "Noise removed from signal" annotation( Dialog(enable = false)); output Real c[:] "Original wavelet coefficients of all levels, details see wavDec()" annotation( Dialog(enable = false)); output Real cth[:] "Wavelet coefficients of all levels after applying thresholds" annotation( Dialog(enable = false)); output Integer len[:] "Lengths of coefficients for each levels, details see wavDec()" annotation( Dialog(enable = false)); end denoisGUI;