USRP Hardware Driver and USRP Manual  Version: 4.7.0.0
UHD and USRP Manual
uhd::tune_request_t Struct Reference

#include <uhd/types/tune_request.hpp>

Public Types

enum  policy_t { POLICY_NONE = int('N'), POLICY_AUTO = int('A'), POLICY_MANUAL = int('M') }
 Policy options for tunable elements in the RF chain. More...
 

Public Member Functions

 tune_request_t (double target_freq=0)
 
 tune_request_t (double target_freq, double lo_off)
 

Public Attributes

double target_freq
 
policy_t rf_freq_policy
 
double rf_freq
 
policy_t dsp_freq_policy
 
double dsp_freq
 
device_addr_t args
 

Detailed Description

A tune request instructs the implementation how to tune the RF chain. The policies can be used to select automatic tuning or fine control over the daughterboard IF and DSP tuning. Not all combinations of policies are applicable. Convenience constructors are supplied for most use cases.

See also Tuning Notes

Member Enumeration Documentation

◆ policy_t

Policy options for tunable elements in the RF chain.

Enumerator
POLICY_NONE 

Do not set this argument, use current setting.

POLICY_AUTO 

Automatically determine the argument's value.

POLICY_MANUAL 

Use the argument's value for the setting.

Constructor & Destructor Documentation

◆ tune_request_t() [1/2]

uhd::tune_request_t::tune_request_t ( double  target_freq = 0)

Make a new tune request for a particular center frequency. Use an automatic policy for the RF and DSP frequency to tune the chain as close as possible to the target frequency.

Parameters
target_freqthe target frequency in Hz

◆ tune_request_t() [2/2]

uhd::tune_request_t::tune_request_t ( double  target_freq,
double  lo_off 
)

Make a new tune request for a particular center frequency. Use a manual policy for the RF frequency, and an automatic policy for the DSP frequency, to tune the chain as close as possible to the target frequency.

Parameters
target_freqthe target frequency in Hz
lo_offthe LO offset frequency in Hz

Member Data Documentation

◆ args

device_addr_t uhd::tune_request_t::args

The args parameter is used to pass arbitrary key/value pairs. Possible keys used by args (depends on implementation):

  • mode_n: Allows the user to tell the daughterboard tune code to choose between an integer N divider or fractional N divider. Default is fractional N on boards that support fractional N tuning. Fractional N provides greater tuning accuracy at the expense of spurs. Possible options for this key: "integer" or "fractional".

◆ dsp_freq

double uhd::tune_request_t::dsp_freq

The DSP frequency in Hz. Set when the policy is set to manual.

Note that the meaning of the DSP frequency's sign differs between TX and RX operations. The target frequency is the result of target_freq = rf_freq + sign * dsp_freq. For TX, sign is negative, and for RX, sign is positive. Example: If both RF and DSP tuning policies are set to manual, and rf_freq is set to 1 GHz, and dsp_freq is set to 10 MHz, the actual target frequency is 990 MHz for a TX tune request, and 1010 MHz for an RX tune request.

◆ dsp_freq_policy

policy_t uhd::tune_request_t::dsp_freq_policy

The policy for the DSP frequency. Automatic behavior: the difference between the target and IF.

◆ rf_freq

double uhd::tune_request_t::rf_freq

The RF frequency in Hz. Set when the policy is set to manual.

◆ rf_freq_policy

policy_t uhd::tune_request_t::rf_freq_policy

The policy for the RF frequency. Automatic behavior: the target frequency + default LO offset.

◆ target_freq

double uhd::tune_request_t::target_freq

The target frequency of the overall chain in Hz. Set this even if all policies are set to manual.


The documentation for this struct was generated from the following file: