I need help with a mathematical model

I have a set of signals and I need to obtaing a mathematical model (a function) for each type of signal. I do not know the base function in order to use curve fitting or any similar toolbox, I need the function/functions that models each type/types of signals. I do not know how to start. These measures have
been obtained using an oscilloscope.
I attach a .mat with some signals and some screen captures. Thanks in advance.

1 Comment

@Alberto Garcia: there are precisely infinite functions that will fit any finite set of data.
Practically you have a choice: either you know something about the underlying model of process, in which case you can perform curve fitting, otherwise you could fit some spline or the like.

Sign in to comment.

Answers (3)

I am not certain what you are doing. If your data are the result of using a known input signal to a system and recording the output signal (that you plotted and posted), and you want to discover the characteristics of the system that created your data from the input signal, you are doing system identification. There is an entire System Identification Toolbox devoted to such problems. The Signal Processing Toolbox has the invfreqz and related functions to do much the same.
Although it is possible to estimate the characteristics of the system that created your data from a known input, modeling the exact structure of that system may not be possible from the system identification data. However, if you know the structure, estimating the parameters of the components is at least possible.

2 Comments

The problem is that I can not measure my input and output at the same time and my input is always the same but the output is diferent. My input is the green signal, I tried system identification toolbox but I am not able to obtain a function that model this process.
You have posted 5 different outputs from the same system for apparently the same input. I have no idea how to generalise any model for that.
I will delete my Answer, since there does not seem to be any way to solve your problem.

Sign in to comment.

John D'Errico
John D'Errico on 18 Apr 2017
Edited: John D'Errico on 18 Apr 2017
I'll look back at this later when I have more time. BUT ... I think Stephen and Star are correct in their assessment.
There is no simple model that you will find. No simple function. So any attempt in that direction will be a waste of time.
If the input to the process (green) is always the same, and not at all related to the output in any way that I see, then I see one of several choices.
1. Use an interpolating spline. It will be pure crap, since a spline is not designed to handle such highly oscillatory problems.
2. Use a Fourier Series. fft comes to mind, and seems entirely logical here.
3. Use wavelets. The Wavelet toolbox seems reasonable.
I'd strongly advise at least considering #2 or #3, neither of which I have any serious expertise on. I also do not have the Wavelet TB, so I cannot tell you what to do there.

1 Comment

Sorry I did not express myself well, I have a different input for each output (in data2.mat S is the inputs and Y the outputs, X is the x-axis) but I do not see a extremely difference between them. The problem is that these signals have a strange FFT as we can see at the picture below
I do not have the Wavelet TB. The problem about interpolating spline is that I will have a different one for each output signal. I do not really know how to start. About using System Identification Toolbox, could I put all my inputs and outputs at the same time, or it would be a waste of time?
Thanks.

Sign in to comment.

Asked:

on 17 Apr 2017

Answered:

on 20 Apr 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!