RF Measurement Devices

cancel
Showing results for 
Search instead for 
Did you mean: 

RFSA IQ power trigger & checking for new records for collecting infinite number of records

Solved!
Go to solution

Hi All,


I'm have some difficulty with using the IQ power edge trigger & querying the RFSA if it has available samples/records ready for fetching.  I've reviewed the documentation on the supporting VIs and the examples provided with the RFSA driver and have not been able to solve my problem on my own.    What I am trying to do is have this VI capture periodic RF bursts that are greater than a specified threshold level.


I am going about this in the following manner:

    I set the number of samples I want captured (finite) for each burst that crosses the threshold
    I set the number of records to capture to be infinite
    I specify the rising slope and the appropriate threshold
    I then commit the RFSA configuration and initiate the acquisition
    I then enter a loop and check the backlog for samples and the acquisition being done
        If either of the above is true then I fetch the samples with the IQ fetch complex WDT vi
        I keep looping until the user stops the vi with a button on the front panel
        I went about this way as I didn't want to block indefinitely or for long periods of times

What I observe is the following:

    I'll capture a single burst and then nothing else
    that the backlog samples never goes above zero
    that the acquisition is never complete
    that if I switch out the IQ fetch with the equivalent IQ read and ignore the backlog and acquisition completion that I get records like I expect

My understanding is as follows:

    IQ Power trigger does not need to be re-armed in the VI
    that each triggering of the IQ Power trigger will create a new record containing the number of samples that I requested

My questions:

    it appears that when the number of records is infinite that the acquisition is never considered done when the acquisition status is checked, is this correct?
    Will I get multiple records queued up on the VSA using this configuration?
    Why is a record number provided with the get fetch backlog VI?
    Why would I want to fetch any record but the zeroth record?
    Am I doing something wrong here?
    Is there a better way to go about doing this?
    
Thank you,
Russell

Download All
0 Kudos
Message 1 of 9
(5,336 Views)

I found the attached state diagram in the RFSA help buried under the devices section.  Reviewing the state diagram, I expect that if I set records to infinite or at least to more than one then the state transition from "Record Complete" to the "Wait for Advance Trigger" will occur after capturing a record.  What is not clear is how the IQ Power threshold reference trigger would cause (or what would need to be done to cause) the exit from "Wait for Advance Trigger" state.  The orange line indicates that I can configure this but it is not clear how at least from a VI perspective.

 

Some more questions:

  • Advance trigger should be 'None' when using the IQ power threshold reference trigger, correct?
    • So the transition from "Wait for Advance Trigger" should be automatic?
  • What needs to be done at the VI level for the state to exit "Wait for Advance Trigger"?
  • Is it possible at the VI software level to get the "record complete event" or some indication?
  • What is the difference between the read IQ and fetch IQ VIs (the help says not use read if capturing multiple records or infinite samples, but other than that is there any other fundamental differences)?
    • This makes me question how I can use the read IQ and get multiple records from the IQ power threshold trigger (or maybe I'm not getting multiple records but rather sets of samples, also how does this work in the state diagram?)

 

Thank you,

Russell

0 Kudos
Message 2 of 9
(5,319 Views)
Solution
Accepted by topic author rtcote

Hi Russell,

 

You are on the right track to get your application doing what you want. Instead of checking for fetch backlog, I suggest you use the RFSA Property Node to read the " Acquisition>>Fetch>>Records Done" property to know when a new record has been acquired.

 

>  it appears that when the number of records is infinite that the acquisition is never considered done when the acquisition status is checked, is this correct?

 

That is correct.


>    Will I get multiple records queued up on the VSA using this configuration?

 

Yes

 

>    Why is a record number provided with the get fetch backlog VI?
>    Why would I want to fetch any record but the zeroth record?

 

You are asking RFSA for an infinite number of records. Record 0 starts at first trigger seen. Record 1 at second trigger (after record 0 is completed), and so on.

 

 

Message 3 of 9
(5,300 Views)

In case you need a demo, try the attached VI. Sorry it's not all that pretty, but I had most of it lying around from a test I ran recently.

0 Kudos
Message 4 of 9
(5,285 Views)

Sorry for the delay.  The RFSA Property Node appears to do the trick in terms of determining if data is being collected though I cringe at it in terms of not being proivded a boolean interface to determine if data is available on the RFSA but instead being required to count how many records I've collected versus how many the RFSA has collected.

 

Do you know if there is an NI resource that provides more detailed answers to these questions?

 

Thank you JMota for the help.

0 Kudos
Message 5 of 9
(5,182 Views)

Hi shawn.t,

 

Can you save it in Labview 2009 format or provide a screenshot of the VI you attached?  I don't have access to LV2013 on the controller connected to the RFSA.

 

Thank you,

Russell

 

 

0 Kudos
Message 6 of 9
(5,180 Views)

You're welcome. Other than the documentation for the API, the state diagram I think you already looked at and by looking and analysisng the installed examples, I can't think of any other resources.

 

Given your use case where you want to fetch every single record having a boolean telling you a new record is available would make it easier. However, the API is more generic and allows records to be fetched in arbitrary order, skip records or even retrieve a record more than once (given it has not been overwritten).

 

0 Kudos
Message 7 of 9
(5,162 Views)

Here's the VI in 2009. I apologize if some of the formatting went wonky...

Message 8 of 9
(5,148 Views)

Thank you Shawn; appreciate the example as it is helpful.

0 Kudos
Message 9 of 9
(5,139 Views)