MPIFilterGainPIVCoeff

Definition

 
typedef		enum {
    MPIFilterGainPIVCoeffGAINPOSITION_PROPORTIONAL,	/* Kpp */
    MPIFilterGainPIVCoeffGAINPOSITION_INTEGRAL,		/* Kip */


    MPIFilterGainPIVCoeffGAINVELOCITY_PROPORTIONAL,	/* Kpv */


    MPIFilterGainPIVCoeffFEEDFORWARD_POSITION,		/* Kpff */
    MPIFilterGainPIVCoeffFEEDFORWARD_VELOCITY,		/* Kvff */
    MPIFilterGainPIVCoeffFEEDFORWARD_ACCELERATION,	/* Kaff */
    MPIFilterGainPIVCoeffFEEDFORWARD_FRICTION,		/* Kfff */


    MPIFilterGainPIVCoeffINTEGRATIONMAX_MOVING,		/* MovingIMax */
    MPIFilterGainPIVCoeffINTEGRATIONMAX_REST,		/* RestIMax */


    MPIFilterGainPIVCoeffGAINVELOCITY_FEEDBACK,		/* Kdv */


    MPIFilterGainPIVCoeffOUTPUT_LIMIT,		/* OutputLimit */
    MPIFilterGainPIVCoeffOUTPUT_LIMITHIGH,	/* OutputLimitHigh */
    MPIFilterGainPIVCoeffOUTPUT_LIMITLOW,	/* OutputLimitLow */
    MPIFilterGainPIVCoeffOUTPUT_OFFSET,		/* OutputOffset */


    MPIFilterGainPIVCoeffGAINVELOCITY_INTEGRAL,		/* Kiv */
    MPIFilterGainPIVCoeffGAINVELOCITY_INTEGRATIONMAX,	/* Vintmax */


    MPIFilterGainPIVCoeffNOISE_POSITIONFFT,      /* Ka0 */
    MPIFilterGainPIVCoeffSMOOTHINGFILTER_GAIN,   /* Ka1 */
MPIFilterGainPIVCoeffNOISE_FILTERFFT, /* Ka2 */ } MPIFilterGainPIVCoeff;
  Change History: Modified in the 03.02.00

Description

MPIFilterGainPIVCoeff is a structure of enums that defines the filter coefficients for the PIV filter algorithm.

Sample Code

/* Sets reasonable tuning parameters for a Trust TA9000 test stand */
void setPIDs(MPIFilter filter)
{
MPIFilterGain gain;
int32_t returnValue;
returnValue = mpiFilterGainGet(filter, 0, &gain); msgCHECK(returnValue); gain.coeff[MPIFilterGainPIDCoeffGAIN_PROPORTIONAL].f = (float)100; gain.coeff[MPIFilterGainPIDCoeffGAIN_INTEGRAL].f = (float)0.2; gain.coeff[MPIFilterGainPIDCoeffGAIN_DERIVATIVE].f = (float)1000;
gain.coeff[MPIFilterGainPIDCoeffFEEDFORWARD_POSITION].f = (float)0;
gain.coeff[MPIFilterGainPIDCoeffFEEDFORWARD_VELOCITY].f = (float)45;
gain.coeff[MPIFilterGainPIDCoeffFEEDFORWARD_ACCELERATION].f = (float)101000;
gain.coeff[MPIFilterGainPIDCoeffFEEDFORWARD_FRICTION].f = (float)450;
gain.coeff[MPIFilterGainPIDCoeffINTEGRATIONMAX_MOVING].f = (float)15000;
gain.coeff[MPIFilterGainPIDCoeffINTEGRATIONMAX_REST].f = (float)15000;
gain.coeff[MPIFilterGainPIDCoeffDRATE].f = (float)0;
gain.coeff[MPIFilterGainPIDCoeffOUTPUT_LIMIT].f = (float)32767;
gain.coeff[MPIFilterGainPIDCoeffOUTPUT_LIMITHIGH].f = (float)32767;
gain.coeff[MPIFilterGainPIDCoeffOUTPUT_LIMITLOW].f = (float)-32767;
gain.coeff[MPIFilterGainPIDCoeffOUTPUT_OFFSET].f = (float)0;
gain.coeff[MPIFilterGainPIDCoeffNOISE_POSITIONFFT].f = (float)0;
gain.coeff[MPIFilterGainPIDCoeffNOISE_FILTERFFT].f = (float)0;
gain.coeff[MPIFilterGainPIDCoeffNOISE_VELOCITYFFT].f = (float)0; returnValue = mpiFilterGainSet(filter, 0, &gain);
msgCHECK(returnValue);
}

See Also

High/Low Output Limits section for special instructions regarding MPIFilterGainPIV.
MPIFilterGainPIV