FlexPro Forum – Discuss Your Topic!

Level Crossing Function

Home > Community > FPScript > Level Crossing Function

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #12540
    Krista TweedKrista Tweed
    Member

    When I use the Level Crossing function to search for a value that does not fall exactly on a data point, I always get the data point BEFORE the level returned as the result.

    For example: I use the Signal function in the Analysis folder of the Examples database. The signal is a y=x line. I use the following function in the formula:
    LevelCrossings(Signal, 5.000, 0.001, EVENT_POSITIVE, EVENT_INDEX)

    The Signal data set has two data points that fall on either side of 5.00 volts:
    Signal[499] = 4.994995
    Signal[500] = 5.005005

    I would expect the result of the LevelCrossings function above to be 500 since that is the index of the first data point in the signal that has crossed the specified 5.000 level. In FlexPro, the result of the function is 499. Why is that the correct result?

    #8203
    Krista TweedKrista Tweed
    Member

    When I use the Level Crossing function to search for a value that does not fall exactly on a data point, I always get the data point BEFORE the level returned as the result.

    For example: I use the Signal function in the Analysis folder of the Examples database. The signal is a y=x line. I use the following function in the formula:
    LevelCrossings(Signal, 5.000, 0.001, EVENT_POSITIVE, EVENT_INDEX)

    The Signal data set has two data points that fall on either side of 5.00 volts:
    Signal[499] = 4.994995
    Signal[500] = 5.005005

    I would expect the result of the LevelCrossings function above to be 500 since that is the index of the first data point in the signal that has crossed the specified 5.000 level. In FlexPro, the result of the function is 499. Why is that the correct result?

    #8873
    Bernhard KantzBernhard Kantz
    Participant

    It is a question of defintion of the event “Level Crossing”. Should it be the position where the level will be crossed or where it has been crossed? Currently the function returns the positions where the level will be crossed. Of course it makes sense to change the behaviour to the second alternative because then the values found at the level crossings would definitely lie above the level. We will investigate this and probably change the behaviour with the next FlexPro Service Release.

    We appreciate further comments on this post.

    support@weisang.com

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.