This function carries out the complete wavelet MRA and outputs decomposed signals in all levels after coefficient tuning. Please note that only the wavelets of types 1 (orthogonal), 2 (bi-orthogonal) and 3 (discrete Meyer) are possible for MRA. Otherwise running errors will occur.
Since default values are provided with this function, a direct execution of this function without extra input parameters will deliver a simple example.
Refer to the description of Families for detailed information about the available wavelets.
function mra import Modelica_LinearSystems2.Utilities.Plot.Records.Diagram; import Modelica_LinearSystems2.Utilities.Plot.Records.Curve; input Real u[:] = {0.9594, 3.6278, 7.6766, 8.3415, 11.8650, 9.9187, 7.3011, 2.1178, -0.6917, -5.4113, -8.2192, -10.2508, -10.9104, -9.3952, -5.9226, -3.7118, 2.6206, 5.5949, 9.1856, 10.1543, 10.1751, 6.4246, 3.8328, 0.5647, -2.8840, -5.3850, -9.2680, -8.7256, -8.9021, -6.0738, -3.8166, -0.6568} "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.mraParameters mp "Parameters for MRA" annotation( Dialog(group = "Input data")); output Real y[:, :] "Reconstructed signals with tuned coefficients in all levels. y[1,:] -- reconstructed signal, y[2,:] -- 1st detail level, y[3,:] -- 2nd detail level, ..., y[N+1,:] -- N-th detail level, y[N+2,:] -- approximation level, where N is the number of the decomposition levels."; end mra;