Search code examples
matlabsignal-processingsimulinktransfer

Transfer function estimation


I am trying to find a transfer function of bldc motor speed over duty cycle percent. I made two measurements for different duty cycle percentages in order to both estimate transfer function and its validation.

For the first one (%65 duty cycle step input) I got below measurement and its transfer function estimation.

enter image description here enter image description here

For the second one (%70 duty cycle step input) I got below measurement and it transfer function estimation.

enter image description here enter image description here

The problem is that my transfer functions are not validating each other as shown below. They do not give the same response for the same input. Can anyone explain the reason?

enter image description here


Solution

  • It looks like the two measurements are very different. One has a maximum of 220, the other has a maximum of 350. This means the data acquisition is at fault, or the motor is itself variable.

    Why don't you try measuring 20 times, and see if the raw data look similar?

    Otherwise would need more info about your recording setup and the protocol for testing the duty cycles. It doesn't sound like a matlab or programming problem.

    -- edit

    Transfer functions are usually the output as a function of the input. Not functions of time.