Jump to content

aldosebastian

Members
  • Posts

    2
  • Joined

  • Last visited

Everything posted by aldosebastian

  1. I’m having trouble with the discrete transfer function implementation for a while now. So I discretized my PID controller with 100 us and Tustin method in MATLAB, and checked the response to a 1 Hz wave in discrete time using Simulink, with the discrete response as attached. Then I tried doing the same with Discrete transfer function VI in FPGA Labview, taking care to factorise the large numerator coefficients so that it respects the input limits of the VI, and then will multiply the coefficient later after the response of the VI. I also made sure the sampling time in the FPGA code is the same as the sampling time of the discrete controller. Despite this the response saturates to its minimum and doesn’t recover. I attach my LabView code and also the response I got (response before multiplying with the large numerator coefficient). I also tried to do this with a simple integrator, and with this case it actually worked. I attach the results with integrator as well. Could someone help please? : Simulation results : Discretized PID : Response of PID in Labview : Response of Integrator in Labview discretetransferfunction.zip
  2. I'm trying to simply do an integration with this VI. So I discretised a continuous integrator in MATLAB using the 'tustin' method, and feed its numerator and denominator into the discrete FXP transfer function. Then I deployed FXP transfer function to the Direct Transfer Function Direct that is compiled in the FPGA. I then tested it by feeding a sinusoidal input and and I am expecting a cosine. Indeed there is a cosine, but the amplitude varies as shown in the picture (https://1drv.ms/u/s!ApGS4APr_VQLhsR3EUfv68vaC9LMfw?e=x1ZemW); the red one is the input and white is output. Does anyone know why?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.