## Getting Frequency and amplitude from input velocity and output velocity

I am interested on getting the frequency responce (bode plot) from a physical system (complex spring-mass-damper system). Essentially my goal is to gather matrixes of velocity vs time of the input and the velocity vs time of the output and then I want to generate the frequency vs time graph of and the amplitude vs time graph which can be used to create a bode plot.

I am familiar with the FFT function which I use frequently; however, the input frequency would not be constant in this data set and the frequency may change over a range of 0-100 Hz. I thought about applying the FFT function to small sets of the data (say split the data into 100 sections and determine the average frequency and amplitude of that section) to estimate it.

I believe you can fit a transfer function to the data based on the input and output data in the time domain but I have not sucessfully done that yet. Furthmore, I want to descretly do this to pick up things in the physical system which do not always follow the ideal bode plot (for example if there is another point of resonance in the system from poor construction or something)

I can also "brute force it" by writing a function to determine the data I am looking for based on the period between peaks and the amplitude of the peaks however I do not like this method very much.

I am hoping that there is a function in matlab which is able to continiously determine the freqnency and amplitude of a data set and plot it.

Here is a mathmatical example of way I am trying to do but I want to do it discretly with data from accelerometers:

Here is the input signal: v = sin(2*pi*t^2) where t is time. In this case, the frequency plot would be f = t, or constlantly increasing at a constant rate. What I am trying to get is essently "f = t" based on a descrete set of data of sin(2*pi*t^2). Of course the rate of change of freqnecy would not be constant and may be irratic.

Thanks and let me know if you need any more information!I am interested on getting the frequency responce (bode plot) from a physical system (complex spring-mass-damper system). Essentially my goal is to gather matrixes of velocity vs time of the input and the velocity vs time of the output and then I want to generate the frequency vs time graph of and the amplitude vs time graph which can be used to create a bode plot.

I am familiar with the FFT function which I use frequently; however, the input frequency would not be constant in this data set and the frequency may change over a range of 0-100 Hz. I thought about applying the FFT function to small sets of the data (say split the data into 100 sections and determine the average frequency and amplitude of that section) to estimate it.

I believe you can fit a transfer function to the data based on the input and output data in the time domain but I have not sucessfully done that yet. Furthmore, I want to descretly do this to pick up things in the physical system which do not always follow the ideal bode plot (for example if there is another point of resonance in the system from poor construction or something)

I can also "brute force it" by writing a function to determine the data I am looking for based on the period between peaks and the amplitude of the peaks however I do not like this method very much.

I am hoping that there is a function in matlab which is able to continiously determine the freqnency and amplitude of a data set and plot it.

Here is a mathmatical example of way I am trying to do but I want to do it discretly with data from accelerometers:

Here is the input signal: v = sin(2*pi*t^2) where t is time. In this case, the frequency plot would be f = t, or constlantly increasing at a constant rate. What I am trying to get is essently "f = t" based on a descrete set of data of sin(2*pi*t^2). Of course the rate of change of freqnecy would not be constant and may be irratic.

Thanks and let me know if you need any more information! I am interested on getting the frequency responce (bode plot) from a physical system (complex spring-mass-damper system). Essentially my goal is to gather matrixes of velocity vs time of the input and the velocity vs time of the output and then I want to generate the frequency vs time graph of and the amplitude vs time graph which can be used to create a bode plot.

I am familiar with the FFT function which I use frequently; however, the input frequency would not be constant in this data set and the frequency may change over a range of 0-100 Hz. I thought about applying the FFT function to small sets of the data (say split the data into 100 sections and determine the average frequency and amplitude of that section) to estimate it.

I believe you can fit a transfer function to the data based on the input and output data in the time domain but I have not sucessfully done that yet. Furthmore, I want to descretly do this to pick up things in the physical system which do not always follow the ideal bode plot (for example if there is another point of resonance in the system from poor construction or something)

I can also "brute force it" by writing a function to determine the data I am looking for based on the period between peaks and the amplitude of the peaks however I do not like this method very much.

I am hoping that there is a function in matlab which is able to continiously determine the freqnency and amplitude of a data set and plot it.

Here is a mathmatical example of way I am trying to do but I want to do it discretly with data from accelerometers:

Here is the input signal: v = sin(2*pi*t^2) where t is time. In this case, the frequency plot would be f = t, or constlantly increasing at a constant rate. What I am trying to get is essently "f = t" based on a descrete set of data of sin(2*pi*t^2). Of course the rate of change of freqnecy would not be constant and may be irratic.

Thanks and let me know if you need any more information! varying freqnecy, fft, descrete data MATLAB Answers — New Questions