Difference between revisions of "TwinRX"
(→RF Connectors) |
(→Device Overview) |
||
(28 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== Device Overview == | == Device Overview == | ||
− | The TwinRX daughterboard for the USRP X Series SDR platform is a two-channel superheterodyne receiver designed for high performance spectrum monitoring and direction finding applications. The receiver is tunable from 10 MHz - 6 GHz and has 80 MHz of instantaneous bandwidth per channel, providing the versatility | + | The TwinRX daughterboard for the USRP X Series SDR platform is a two-channel superheterodyne receiver designed for high performance spectrum monitoring and direction finding applications. The receiver is tunable from 10 MHz - 6 GHz and has 80 MHz of instantaneous bandwidth per channel, providing the versatility necessary to analyze a variety of signals in multiple bands of interest. Each channel has an independent RF signal chain with preampilifiers, preselectors, and two mixer stages for superior selectivity. Users can tune the two channels independently to simultaneously monitor uplink and downlink communication with a combined bandwidth of 160 MHz. The ability to share the LO between channels across multiple daughterboards enables the phase-aligned operation required to implement scalable multi-channel phased-arrays. The receiver is capable of fast frequency hopping to detect frequency agile emitters. Configurable RF attenuation and preamplication allow users to optimize dynamic range in favor of noise figure for faint signals, or IP3 for stronger signals. UHD automatically configures the RF signal path for optimized performance in the pre-defined use cases, and provides the flexibility to adjust settings manually. Support for RFNoC on the X Series motherboard enables deterministic FPGA-accelerated computations for real-time spectrum analysis. |
+ | |||
+ | [[File:TwinRX BlockDiagram.png|1000px|center]] | ||
== Key Features== | == Key Features== | ||
Line 10: | Line 12: | ||
* RF shielding | * RF shielding | ||
* Independent RF signal channels with optional LO sharing | * Independent RF signal channels with optional LO sharing | ||
− | + | |[[File:TwinRX large.png|250px|center]] | |
|} | |} | ||
Line 16: | Line 18: | ||
===Features=== | ===Features=== | ||
* 2 superheterodyne frontends (2 receive) | * 2 superheterodyne frontends (2 receive) | ||
+ | * 80 MHz per channel | ||
+ | * Independent tuning | ||
+ | * LO Sharing Capability | ||
+ | * Coherent and phase-aligned operation | ||
+ | * Preselection Filters | ||
+ | * RF Shielding | ||
===Antennas=== | ===Antennas=== | ||
Line 31: | Line 39: | ||
===Ports=== | ===Ports=== | ||
The TwinRX has six MMCX RF connectors on it. | The TwinRX has six MMCX RF connectors on it. | ||
+ | |||
+ | {| | ||
+ | |style="vertical-align:top"| | ||
{|class="wikitable" | {|class="wikitable" | ||
− | !Connector | + | |
− | !Description | + | ! Connector |
− | !Damage | + | ! Description |
+ | ! Min | ||
+ | ! Nominal | ||
+ | ! Damage | ||
|- | |- | ||
| J1 | | J1 | ||
| LO2 Export | | LO2 Export | ||
− | | 0 dBm | + | | 0 dBm |
+ | | 3 dBm | ||
+ | | NA (Output) | ||
|- | |- | ||
| J2 | | J2 | ||
| LO2 Input | | LO2 Input | ||
− | | | + | | 0 dBm |
+ | | 2 dBm | ||
+ | | 20dBm | ||
|- | |- | ||
| J3 | | J3 | ||
| LO1 Export | | LO1 Export | ||
− | | | + | | -12 dBm |
+ | | 5 dBm | ||
+ | | NA (Output) | ||
|- | |- | ||
| J4 | | J4 | ||
| LO1 Input | | LO1 Input | ||
− | | | + | | -10 dBm |
+ | | -5 dBm | ||
+ | | 10dBm | ||
|- | |- | ||
| J5 | | J5 | ||
− | | Antenna 1 connector | + | | Antenna 1 connector RX 1 |
− | | | + | | |
+ | | | ||
+ | | 10 dBm | ||
|- | |- | ||
+ | |||
| J6 | | J6 | ||
− | | Antenna 2 connector | + | | Antenna 2 connector RX 2 |
− | | | + | | |
+ | | | ||
+ | | 10 dBm | ||
|- | |- | ||
+ | |||
+ | |||
|} | |} | ||
===Preselector Filters=== | ===Preselector Filters=== | ||
+ | {| | ||
+ | |style="vertical-align:top"| | ||
+ | |||
{|class="wikitable" | {|class="wikitable" | ||
!Band | !Band | ||
Line 107: | Line 139: | ||
|- | |- | ||
+ | |} | ||
+ | |||
+ | |style="vertical-align:top"|[[File:TwinRX Normalized Preselector Response.png|650px|center]] | ||
|} | |} | ||
* Each preselector filter has a ±40 MHz band overlap. | * Each preselector filter has a ±40 MHz band overlap. | ||
− | |||
==RF Specifications== | ==RF Specifications== | ||
− | + | ===Freq Range=== | |
* 10MHz - 6GHz | * 10MHz - 6GHz | ||
− | + | ===Noise Figure=== | |
− | + | {| class="wikitable" style="width:60%" | |
+ | !Frequency | ||
+ | !Preamp Enabled | ||
+ | |- | ||
+ | |||
+ | | 10 MHz - 3 GHz | ||
+ | | < 5 | ||
+ | |- | ||
+ | |||
+ | | 3 GHz - 5 GHz | ||
+ | | < 4 | ||
+ | |- | ||
+ | |||
+ | | 5 GHz - 6 GHz | ||
+ | | < 8 | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | |||
+ | ===RX Third Order Intercept (dBm)=== | ||
+ | {| class="wikitable" style="width:60%" | ||
+ | |||
+ | !Frequency | ||
+ | !Full Scale = -45 dBm | ||
+ | !Full Scale = -30 dBm | ||
+ | !Full Scale = -20 dBm | ||
+ | |- | ||
+ | |||
+ | | 10 MHz - 1.8 GHz | ||
+ | | -8 | ||
+ | | -2 | ||
+ | | 16 | ||
+ | |- | ||
+ | |||
+ | | 1.8 GHz - 3 GHz | ||
+ | | -10 | ||
+ | | -1 | ||
+ | | 14 | ||
+ | |- | ||
+ | |||
+ | | 3 GHz - 6 GHz | ||
+ | | -13 | ||
+ | | -1 | ||
+ | | 12 | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | |||
+ | |||
+ | ===Phase Noise (dBc/Hz)=== | ||
+ | {| class="wikitable" style="width:60%" | ||
+ | !Frequency Offset | ||
+ | ! 0.9 GHz | ||
+ | ! 2.4 GHz | ||
+ | ! 5.8 GHz | ||
+ | |- | ||
+ | |||
+ | | 10 kHz | ||
+ | | -88 | ||
+ | | -86 | ||
+ | | -82 | ||
+ | |- | ||
+ | |||
+ | |||
+ | | 100 kHz | ||
+ | | -105 | ||
+ | | -107 | ||
+ | | -103 | ||
+ | |- | ||
+ | |||
+ | |||
+ | | 1 MHz | ||
+ | | -124 | ||
+ | | -127 | ||
+ | | -127 | ||
+ | |- | ||
+ | |||
+ | |} | ||
− | + | ===Input/Output Impedance=== | |
− | * | + | * All RF Ports are matched to 50 Ohm with -10dB or better return loss generally. Detailed test is pending. |
− | + | ===Input Power Levels=== | |
− | * | + | * The maximum input power for the TwinRX is +10 dBm. |
==Hardware Specifications== | ==Hardware Specifications== | ||
Line 141: | Line 252: | ||
==USRP Compatibility== | ==USRP Compatibility== | ||
* X Series only | * X Series only | ||
+ | |||
+ | ==Phase Synchronization== | ||
+ | The TwinRX daughterboard is capable of phase-synchronous operation, and is recommended for phase-coherent applications. Please note that the TwinRX is receive-only. The SBX and UBX daughterboards are also recommended for phase-coherent applications, and are capable of both transmit and receive operations. | ||
==Schematics== | ==Schematics== | ||
− | [ | + | The TwinRX daughterboard is composed of two PCBs, the Intermediate Frequency (IF) board and the RF board. There are two functionally identical revisions of TwinRX at the moment. Please check the back of your TwinRX to see which you have. The schematics for TwinRX revision B should answer most possible questions. If you have any further questions please email [mailto:support@ettus.com support@ettus.com]. |
+ | |||
+ | TwinRX Revision A - (159685A-01) | ||
+ | * IF Board Revision B - (158671B-01L) | ||
+ | * RF Board Revision C - (156263C-01L) | ||
+ | |||
+ | TwinRX Revision B - (159685B-01) | ||
+ | * IF Board Revision C - (158671C-01L) | ||
+ | * RF Board Revision D - (156263D-01L) | ||
+ | |||
+ | [[File:TwinRX IF Board Rev C.pdf]] | ||
− | + | [[File:TwinRX RF Board Rev D.pdf]] | |
− | + | ||
− | + | ||
==RF Connectors== | ==RF Connectors== | ||
Line 157: | Line 279: | ||
==Local Oscillator Connectors== | ==Local Oscillator Connectors== | ||
+ | Note: LO sharing cables are not required for a single TwinRX setup. LO sharing cables are only required with two TwinRX daughterboards in a single USRP X300/X310. | ||
+ | |||
+ | {| | ||
+ | |style="vertical-align:top"| | ||
+ | |||
+ | |||
+ | {| | ||
+ | |style="vertical-align:top"| | ||
+ | |||
{|class="wikitable" | {|class="wikitable" | ||
Line 169: | Line 300: | ||
| LO2 Export | | LO2 Export | ||
| 0 dBm | | 0 dBm | ||
− | | | + | | 3 dBm |
| NA (Output) | | NA (Output) | ||
|- | |- | ||
Line 176: | Line 307: | ||
| LO2 Input | | LO2 Input | ||
| 0 dBm | | 0 dBm | ||
− | | | + | | 2 dBm |
+ | | 20dBm | ||
|- | |- | ||
Line 182: | Line 314: | ||
| LO1 Export | | LO1 Export | ||
| -12 dBm | | -12 dBm | ||
− | | | + | | 5 dBm |
| NA (Output) | | NA (Output) | ||
|- | |- | ||
Line 190: | Line 322: | ||
| -10 dBm | | -10 dBm | ||
| -5 dBm | | -5 dBm | ||
− | | | + | | 10dBm |
|- | |- | ||
+ | |||
+ | | J5 | ||
+ | | Antenna 1 connector RX 1 | ||
+ | | | ||
+ | | | ||
+ | | 10 dBm | ||
+ | |- | ||
+ | |||
+ | |||
+ | | J6 | ||
+ | | Antenna 2 connector RX 2 | ||
+ | | | ||
+ | | | ||
+ | | 10 dBm | ||
+ | |- | ||
+ | |||
|} | |} | ||
+ | |||
+ | | style="padding-left: 30px" | [[File:TwinRX 80 LOs.jpg|250px|center]] | ||
+ | |} | ||
+ | |||
+ | ===LO Sharing with Neighbour TwinRXs=== | ||
+ | {|class="wikitable" | ||
+ | !TwinRX (A Slot) | ||
+ | !TwinRX (B Slot) | ||
+ | |- | ||
+ | |J1 LO2 Export | ||
+ | |J2 LO2 Input | ||
+ | |- | ||
+ | |J2 LO2 Input | ||
+ | |J1 LO2 Export | ||
+ | |- | ||
+ | |J3 LO1 Export | ||
+ | |J4 LO1 Input | ||
+ | |- | ||
+ | |J4 LO1 Input | ||
+ | |J3 LO1 Export | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | |||
+ | ==Software API== | ||
+ | |||
+ | ===New Multi USRP Functions=== | ||
+ | The advanced functionalities of the TwinRX will be exposed through new functions implemented in [http://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html Multi-USRP]. | ||
+ | |||
+ | ===Antenna Mapping=== | ||
+ | The two channels of the TwinRX can be independently configured to use either of the two antenna ports, '''RX1''' and '''RX2''' using the standard antenna selection function in <code>multi_usrp</code>. | ||
+ | |||
+ | virtual void set_rx_antenna(const std::string &ant, size_t chan = 0) = 0; | ||
+ | |||
+ | Select the RX antenna on the frontend. | ||
+ | * '''ant''' the antenna name | ||
+ | * '''chan''' the channel index 0 to N-1 | ||
+ | |||
+ | |||
+ | ===Local Oscillator Control and Routing=== | ||
+ | The TwinRX has two channels, '''CH1''' and '''CH2''' and each channel has two local oscillators, '''LO1''' and '''LO2'''. The local oscillators for a channel can be sourced from that channel's '''internal''' synthesizers, the '''companion''' channel's synthesizers, or '''external''' inputs. The value <code>multi_usrp::ALL_LOS</code> can be used to specify that the command be run on both synthesizers for a channel. The defaults are to operate on | ||
+ | |||
+ | virtual std::vector<std::string> get_rx_lo_names(size_t chan = 0) = 0; | ||
+ | |||
+ | Get a list of possible LO stage names | ||
+ | * '''chan''' the channel index 0 to N-1 | ||
+ | * Returns a vector of strings for possible LO names | ||
+ | |||
+ | |||
+ | virtual void set_rx_lo_source(const std::string &src, const std::string &name = ALL_LOS, size_t chan = 0) = 0; | ||
+ | |||
+ | Set the LO source for the usrp device. For USRPs that support selectable LOs, this function allows switching between them. Supported options for source: internal, external, companion. | ||
+ | * '''src''' a string representing the LO source | ||
+ | * '''name''' the name of the LO stage to update | ||
+ | * '''chan''' the channel index 0 to N-1 | ||
+ | |||
+ | |||
+ | virtual const std::string get_rx_lo_source(const std::string &name = ALL_LOS, size_t chan = 0) = 0; | ||
+ | |||
+ | Get the currently set LO source. | ||
+ | * '''name''' the name of the LO stage to query | ||
+ | * '''chan''' the channel index 0 to N-1 | ||
+ | * Returns the configured LO source | ||
+ | |||
+ | |||
+ | virtual std::vector<std::string> get_rx_lo_sources(const std::string &name = ALL_LOS, size_t chan = 0) = 0; | ||
+ | |||
+ | Get a list of possible LO sources. | ||
+ | * '''name''' the name of the LO stage to query | ||
+ | * '''chan''' the channel index 0 to N-1 | ||
+ | * Returns a vector of strings for possible settings | ||
+ | |||
+ | |||
+ | virtual double set_rx_lo_freq(double freq, const std::string &name, size_t chan = 0) = 0; | ||
+ | |||
+ | Set the RX LO frequency. | ||
+ | * '''freq''' the frequency to set the LO to | ||
+ | * '''name''' the name of the LO stage to update | ||
+ | * '''chan''' the channel index 0 to N-1 | ||
+ | * Returns a coerced LO frequency | ||
+ | |||
+ | |||
+ | virtual double get_rx_lo_freq(const std::string &name, size_t chan = 0) = 0; | ||
+ | |||
+ | Get the current RX LO frequency. | ||
+ | * '''name''' the name of the LO stage to query | ||
+ | * '''chan''' the channel index 0 to N-1 | ||
+ | * Returns the configured LO frequency | ||
+ | |||
+ | |||
+ | virtual freq_range_t get_rx_lo_freq_range(const std::string &name, size_t chan = 0) = 0; | ||
+ | |||
+ | Get the LO frequency range of the RX LO. | ||
+ | * '''name''' the name of the LO stage to query | ||
+ | * '''chan''' the channel index 0 to N-1 | ||
+ | * Returns a frequency range object | ||
+ | |||
+ | |||
+ | ===Exporting Local Oscillators=== | ||
+ | |||
+ | virtual void set_rx_lo_export_enabled(bool enabled, const std::string &name = ALL_LOS, size_t chan = 0) = 0; | ||
+ | |||
+ | Set whether the LO used by the usrp device is exported For USRPs that support exportable LOs, this function configures if the LO used by chan is exported or not. | ||
+ | * '''enabled''' if true then export the LO | ||
+ | * '''name''' the name of the LO stage to update | ||
+ | * '''chan''' the channel index 0 to N-1 for the source channel | ||
+ | |||
+ | |||
+ | virtual bool get_rx_lo_export_enabled(const std::string &name = ALL_LOS, size_t chan = 0) = 0; | ||
+ | |||
+ | Returns true if the currently selected LO is being exported. | ||
+ | * '''name''' the name of the LO stage to query | ||
+ | * '''chan''' the channel index 0 to N-1 | ||
+ | |||
+ | ==Drawings== | ||
+ | * [[File:cu usrp twinrx cca.pdf]] | ||
==Certifications== | ==Certifications== | ||
Line 199: | Line 463: | ||
As of December 1st, 2010 all Ettus Research products are RoHS compliant unless otherwise noted. More information can be found at [http://ettus.com/legal/rohs-information http://ettus.com/legal/rohs-information] | As of December 1st, 2010 all Ettus Research products are RoHS compliant unless otherwise noted. More information can be found at [http://ettus.com/legal/rohs-information http://ettus.com/legal/rohs-information] | ||
− | == | + | ===China RoHS=== |
− | + | '''Management Methods for Controlling Pollution Caused by Electronic Information Products Regulation''' | |
+ | |||
+ | '''Chinese Customers''' | ||
− | + | National Instruments is in compliance with the Chinese policy on the Restriction of Hazardous Substances (RoHS) used in Electronic Information Products. For more information about the National Instruments China RoHS compliance, visit [http://www.ni.com/environment/rohs_china ni.com/environment/rohs_china]. | |
− | + | ||
==Downloads== | ==Downloads== |
Revision as of 10:26, 11 July 2019
Contents
- 1 Device Overview
- 2 Key Features
- 3 Daughterboard Specifications
- 4 RF Specifications
- 5 Hardware Specifications
- 6 Environmental Specifications
- 7 USRP Compatibility
- 8 Phase Synchronization
- 9 Schematics
- 10 RF Connectors
- 11 Local Oscillator Connectors
- 12 Software API
- 13 Drawings
- 14 Certifications
- 15 Downloads
Device Overview
The TwinRX daughterboard for the USRP X Series SDR platform is a two-channel superheterodyne receiver designed for high performance spectrum monitoring and direction finding applications. The receiver is tunable from 10 MHz - 6 GHz and has 80 MHz of instantaneous bandwidth per channel, providing the versatility necessary to analyze a variety of signals in multiple bands of interest. Each channel has an independent RF signal chain with preampilifiers, preselectors, and two mixer stages for superior selectivity. Users can tune the two channels independently to simultaneously monitor uplink and downlink communication with a combined bandwidth of 160 MHz. The ability to share the LO between channels across multiple daughterboards enables the phase-aligned operation required to implement scalable multi-channel phased-arrays. The receiver is capable of fast frequency hopping to detect frequency agile emitters. Configurable RF attenuation and preamplication allow users to optimize dynamic range in favor of noise figure for faint signals, or IP3 for stronger signals. UHD automatically configures the RF signal path for optimized performance in the pre-defined use cases, and provides the flexibility to adjust settings manually. Support for RFNoC on the X Series motherboard enables deterministic FPGA-accelerated computations for real-time spectrum analysis.
Key Features
|
Daughterboard Specifications
Features
- 2 superheterodyne frontends (2 receive)
- 80 MHz per channel
- Independent tuning
- LO Sharing Capability
- Coherent and phase-aligned operation
- Preselection Filters
- RF Shielding
Antennas
Receive: RX1 or RX2
Gains
- Receive Gains Range: 0-95dB
Bandwidths
- TwinRX: 80 MHz per channel ( 160 MHz total )
Sensors
- lo_locked: boolean for LO lock state
Ports
The TwinRX has six MMCX RF connectors on it.
Preselector Filters
RF SpecificationsFreq Range
Noise Figure
RX Third Order Intercept (dBm)
Phase Noise (dBc/Hz)
Input/Output Impedance
Input Power Levels
Hardware Specifications
TwinRX
Environmental SpecificationsOperating Temperature Range
Operating Humidity Range
USRP Compatibility
Phase SynchronizationThe TwinRX daughterboard is capable of phase-synchronous operation, and is recommended for phase-coherent applications. Please note that the TwinRX is receive-only. The SBX and UBX daughterboards are also recommended for phase-coherent applications, and are capable of both transmit and receive operations. SchematicsThe TwinRX daughterboard is composed of two PCBs, the Intermediate Frequency (IF) board and the RF board. There are two functionally identical revisions of TwinRX at the moment. Please check the back of your TwinRX to see which you have. The schematics for TwinRX revision B should answer most possible questions. If you have any further questions please email support@ettus.com. TwinRX Revision A - (159685A-01)
TwinRX Revision B - (159685B-01)
File:TwinRX IF Board Rev C.pdf File:TwinRX RF Board Rev D.pdf RF Connectors
Local Oscillator ConnectorsNote: LO sharing cables are not required for a single TwinRX setup. LO sharing cables are only required with two TwinRX daughterboards in a single USRP X300/X310.
|