PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamically change the reference level or RF attenuation on 5603

Hi,

 

I have a need to implement an AGC using Labview software that runs on the PXIe-1075 PC. I am using the 5603 downconverter and the 5622 digitizer. As I understand, the RF attenuation can be changed to control the incoming signal level. 

What I want to do is listed below:

1. The Labview software calculates the power of the incoming signal

2. Based on the power, the RF attenuation is either increased or decreased to maintain the signal level at some acceptable value. 

 

I am wondering if there is a way to dynamically change the RF attenuation (or the reference level) using Labview software. I have been digging around for this but haven't managed to find anything that suggests this is possible.

 

(Note that it is possible to change the reference level to a fixed level using the ni-rfsa config. reference level VI  during initialisation, but this is not what I am after).

 

Thanks in advance

Chatu

0 Kudos
Message 1 of 6
(5,739 Views)

Hi Chatu,

 

The NI-5663 is a combination of the NI-5601 RF downconverter, NI-5622 IF digitizer, and NI-5652 LO source.

 

There are fixed amplifiers and adjustable attenuators in the NI 5601, as shown in its block diagram.  As mentioned in the NI 5663/5663E Amplitude (Spectrum) help documentation, large amplitude signals can overload the system and cause spurious effects. The NI-RFSA driver uses the reference level to determine the optimum attenuator settings in order to minimize this. However, you could use the RF Attenuation property, which is accessible through the NI-RFSA property node, to change the attenuation level.

 

It is possible that you might run into an error when trying to tune the attenuation level, when the device is in a running state. If this is the case, you may want to consider using an external attenuator for on the fly attenuation control. For example, you could use the PXIe-5695 to attenuate the signal based on the power that's measured by the NI-5663.

 

Regarding measuring the power, you could use the SMT Peak Search for niRFSA.vi to determine the peak power of the signal. This example requires the Spectral Measurements Toolkit and it can be found in the Hardware Input and Output>>Modular Instruments>>NI-RFSA>>Spectral Measurements Toolkit section of the LabVIEW Example Finder.

 

As an alternative, if you have NI-RFmx SpecAn, you could use the RFmxSpecAn Spectrum Example.vi to find the peak amplitude of the signal.

 

I hope this helps.

 

Regards,

Tunde S.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 6
(5,725 Views)

Hi Tunde,

 

Thanks for your reply, much appreciated.

 

I did try to change the reference level (dBm) using a property node. Prior to using the property node I used niRFSA Abort.vi then used property node to change the reference level (dBm) and finally used niRFSA initiate.vi. However, when I run this Vi, it gives an error. I have attached a copy of the PC vi.

 

Is there a low level C function I can use to control the Attenuators or the Reference Level?

 

Thanks again for your help

 

Chatu

0 Kudos
Message 3 of 6
(5,711 Views)

Hi Chatu,

 

Can you explain why you want to maintain a specific power level coming into the 5603?  I'm not sure that Tunde or I understand the overall goal of your application, I think that would add valuable perspective to the issue.  Also, do you have other hardware with the 5603 and 5622?  Tunde mentioned that the 5663 is composed of these, there are several other modules as well that use the 5603/5622 combination.  What are you using as the LO source?

 

Thanks,

 

David B

Applications Engineer

National Instruments

0 Kudos
Message 4 of 6
(5,685 Views)

Hi David,

 

Thanks for your reply.

 

We are trying to build an AGC. For this to happen we need to change the Attenuator level or reference level based on the received power.

 

Since talking to Tunde, I actually have managed to get this going by Disabling P2P, Abort niRFSA, change attenuator levels (or reference level) and initiating niRFSA and finally by enabling P2P.

 

However, this is not ideal, since we are losing data during this process. That’s why I am keen to know if I can use low level C function to control the Attenuators or the Reference Level?

 

Following are all the hardware we use

 

Ni PXIe-5653 Synthersizer 

Ni PXIe-5603 Downconverter

Ni PXIe-5622 Digitizer

Ni PXIe-7965R FlexRio Card

 

We are using an Agilent VSG (E4438C) to generate the signal with 10MHz out out. This goes in (by wire) to REF IN to the downconverter.

 

Looking forward to your response.

 

Cheers

Chatu

0 Kudos
Message 5 of 6
(5,647 Views)

Hi chatu,

 

Unfortunately the attenuators cannot be changed except by stopping the RFSA session, reconfiguring the attenuators, then restarting the session.  What kind of response time were you looking for?  Also, I understand that it's an AGC, can I ask what specifically your goal is with the AGC?  Are you testing an AGC algorithm on the FlexRIO?  Is this prototyping for an actual hardware circuit in the future?

 

Thanks,

 

David B

National Instruments

Applications Engineer

0 Kudos
Message 6 of 6
(5,632 Views)