usrp
dec 15
Intro:
We have 2 N210 usrps. One with a sbx daughter
board and a second with a wbx daughter board.
We are using the wbx daughter board to take plasma line data
for aeronomy (using juha's software).
Devices:
name
|
mother board
|
Rx daughter board
|
|
Name
|
serial# |
ipAdr |
macAdr |
Freq
Mhz
|
Name
|
freq Range
Mhz
|
Gain
|
Notes
|
usrp2
|
N210r4
|
F4A7C3
|
192.168.10.2
|
00:80:2f:0a:e7:f2
|
-50 to 50
|
SBXv3 RX
|
400 to
4400
|
0,.0-31.5
.5db step
|
IQ
no lo offset
|
usrp2
|
N210r4
|
F4A737
|
192.168.10.3
|
00:80:2f:0a:e7:d5
|
-50 to 50
|
WBXv3 RX+GDB
$480
|
68.75 to
2200
|
0,.0-31.5
.5db step |
IQ
no lo offset
|
- Use uhd_find_devices to get devices
- use uhd_usrp_probe --args addr=ipadr to probe each
device.
- Note: We are currently using
the 2nd usrp with the wbx daughter board for plasma line
observations.
usrp2/n210 specs
- external pps reference
- external 10Mhz reference
- fixed 100Mhz clock rate
- 100Ms/s dual adc.
- fpga:
- xilinx spartan 3a dsp 3400 fpga
- 2 rx DDC chains in fpga
- 16 bit and 8 bit sample modes (sc8 and sc16)
- Up to 25 Mhz or rf bandwidth with 16 bit samples
- Up to 50 Mhz of rf bandwidth with 8 bit samples
- LED'S:
- A: transmitting
- B: mimo cable link
- C: receiving
- D:firmware loaded
- E: reference lock
- F: cpld loaded
- Ref Clock 10Mhz
- usrp2: 5 to 15dbm
- N210: 0 to 15 dbm
- PPS:
- usrp2: 5V pp
- N210: 3.3 to 5V pp
- Only 1 daughter board slot.
- WBX Daugherboard
- 5db noise figure
- 2 quadratrure frontends (1 transmit, 1 rcv)
- Defaults to direct conversion.
- Can be used in low IF mode through lo_offset with
uhd:tune_request_t
- receive lo. can be set to integer=N tuning for better spur
performance.
- rcv antennas: tx/rx or rx2
- Bandwidth: 40 Mhz rx & tx
- SBX Daugtherboard
- 2 quadratrure frontends (1 transmit, 1 rcv)
- Defaults to direct conversion.
- Can be used in low IF mode through lo_offset with
uhd:tune_request_t
- receive lo. can be set to integer=N tuning for better spur
performance.
- rcv antennas: tx/rx or rx2
- Bandwidth: 40 Mhz rx & tx
- LEDs
- All flash when daughterboard is initialized
- TX LD: transmit synth lock detect
- TX/RX: receiver on Tx/Tx antenna port (no TX)
- RX ld: receive synth lock detect
- RX1/RX2: receiver on RX2 antenna port
- Tuning
- usrp has 2 tuning stages:
- rf frontend goes rf to if (daughter board)
- DSP: goes IF to base band (mother board)
- After tuning, check for lo's locked.. or wait for up to a
second.
Documentation:
Measurements (in date order):
170131 measuring the basic rx brd response
We have been using (feb17) the wbx daughter
board for usrp datataking with the 430 tx. The wbx has a built in
mixer that allows it to mix 260 MHz down to DC. It generates
an I and Q datastream, each of which is sampled by a different
AtoD converter. The mixer is convenient, but using 2 digitizers
can cause phase errors in the I,Q dataset.
We have also purchased 2 basic rx daughter
boards. They pass the IF signal through to a single
digitizer which does real sampling (at 100 MHz). This
guarantees that there are no IQ phase errors.
How the basic rx, usrp mother board works:
- The basic rx board passes the IF signal through to a single
digitizer (real sampling).
- the a/d runs at 100 MHz
- The 100 MHz sampling digitally down converts the IF input to 0
to 50 MHz. The nyquist zones are:
- 0-50 MHz not flipped in freq
- 50-100 MHz flipped
- 100-150 MHz not flipped
- 150-200 MHz flipped
- 200-250 Mhz not flipped
- 250-300 Mhz flipped
- If the input band crosses a nyquist zone (like the 260 MHz IF
example below, then part of the band will be aliased at 50 MHz
(into the same side since it is real sampling).
- The usrp will then digitally mix the requested cfr down to -25
to 25 MHz.
- If the band at 0-50 MHz was flipped by the digital
down conversion, then the digital mixer will reflip the band
so it is in increasing freq
- there is a cic and halfband filter that then reduces the
bandwidth to 25MHz (if we use the maximum clock).
Stepping a sine wave through the band.
A synthesizer was stepped through the
IF (+/- 20 MHz about the IF center) to see the
falloff/aliasing in the basic rx,usrp n210 combination.
- Stepping the synth.
- /share/megs/phil/x101/170131/swpfreq.proc was used on
vxWorks. It does:
- Set synth output to -40 dbm
- loop through the 41 1 Mhz steps
- sync to 1 sec tick
- set freq
- wait 2 ticks
- endloop
- so there are 2 seconds of stable sine wave, and 1 sec when
the sine wave was changing.
- The usrp was started on a hardware 1 sec tick prior to
stepping the synth.
- unfortunately we weren't running ntp on usrp167 computer, so
the system clock did not match real time.
- I had to search for the the correct "second" datafile that
had the clean sine wave. After this i just stepped by 3 1
second files..
SETUP
- hp 3GHz synth to set to -30 dbm amp. routed through the
external output
- 2nd IF noise source selected
- synth output and noise src combined
- Tests with filters:
- -> 6db -> filter -> 6db pad -> usrp
- Test with no filter
Three tests were done:
- 31jan17 IF cfr =260Mhz, 240-280 MHz IF filter. step 240
to 280
- this test crossed a nyquist zone (240-250 zone, 250-280 next
zone) so it shows the aliasing
- 31jan17 IF cfr = 230 Mhz 215-245 MHz IF filter.
step 210 to 250 MHz
- 16feb17 IF cfr = 125 MHz, no IF FILTER. STEP 105 to 145
MHz
- this is the band we will eventually use.
Processing the data:
- for each test
- Find the usrp file with the starting sine wave
- For each 1 MHz freq step
- Read in 20 records of 2^20 points each.
- compute power spectrum on each 2^20 len dataset
- average the 20 spectra
- smooth,decimate by 16
- We ended with a 64K long spectra over 25 MHz (giving
381.47 hz resolution
- Convert to DB, scaling by global max value.
- For each freq step find all of the points that were above
-40db (-35db for 260 test)
Plotting the results:
Summary of the 3 tests with the
band shapes (.ps) (.pdf)
- Page 1 Nyquist zones and the 2 tests..
- top: nyquist zones and the tests
- black are nyquist zones that are not flipped, red are zones
that get flipped.
- blue lines: the 260 +/- 20Mhz test. You see that 240-250Mhz
crosses a nyquist zone .. thus causing aliasing.
- I did the 260 test to show that we should use the 260Mhz
IF (with it's filters) with the basic rx board.
- green lines: 230 +/- 20 Mhz test. This sits within 1 nyquist
zone.
- middle:
- where the digital down conversion leaves the tests.. the 125
test is not shown, it is in the middle of the band.
- bottom:
- where the freq end up after the digital mixing.. the plot is
mislabeled.. it should be centered at 0 hz.
- Page 2 230 and 125 Mhz band shapes.
- top: usrp band response. 230 Mhz test with 230Mhz IF
filter.
- the black line is the response of the 30Mhz IF analog filter
that was used.
- the dashed red lines show the 25 Mhz band edges
- The lines to the right and left will be aliased back into
the band.
- bottom: usrp band response 125 MHz test, no filter
- I've over plotted what the 230Mhz filter response would be
if it's center was shifted to 125 MHz.
- the digital filter aliases are:
- 112 -10db
- 111 -18db
- 110 -32db
Plotting the individual tests. The
41 spectra with 10 spectra per frame.
- When plotting the various spectra, i increased the freq for
each sine wave by a small amount so you could see harmonics that
sat on top of another sine wave.
- 31jan17: step 240 to 260 Mhz.
260 +/- 20 Mhz filter (.pdf)
- 260 folds down to 40Mhz and it is flipped.
- top frame 240 to 249 Mhz. These are aliased by the
sampling/digital down conversion since they sit below the 250
to 300 Mhz nyquist zone.
- 2nd frame: 250 to 259 . not sure why 251,252,253 are
aliased. this is at the edge of the 50 Mhz band
- 3rd frame : 260 to 269
- bottom: 270 to 279. 273,274,275 are the alias from the
digital filtering.
- 31jan17: step 210 to 250 Mhz.
230 +/- 15 Mhz filter (.pdf)
- 230 folds down to 30 Mhz. it is unflipped.
- the digital filter edges are at 217.5 and 242.5
- top frame: 215,216,217 are aliases from the digital
filter (edge 217.5
- 2nd 220 to 229
- 3rd 230 to 239
- The low level spikes spaced by 2 Mhz are the 1st harmonic
from the synth.
- bottom 240 to 249. 243,244,245 are aliases from the digital
filter.
- 16feb17: step 105 to 145 MHz
(.pdf)
- 125 cfr folds down to 25 Mhz (unflipped). no filter used.
this is the setup we will probably use.
- The digital filter edges are at 112.5 and 137.5 Mhz
- The vertical scale was switched -50 to -60 db (i had less
noise source power).
- The 2 MHz spikes at -40dbm are from the synthesizer (2st
harmonic).
- top: 105 to 114 Mhz. 110,111, 112 Mhz are aliased at the
digital filter edge.
- 2nd 115 to 124 Mhz
- 3rd: 125 to 134 MHz
- bottom: 135 to 144 Mhz. 138,139,140 are aliased at the edge
of the digital filter.
Summary:
- The usrp basic rx board was tested at 260,230 and 125 Mhz. A
sine wave was stepped +/- 20Mhz in 1 Mhz steps.
- the 260 IF should not be used with the basic rx board.. too
much aliasing
- The 230 MHz filter used for the 230 Mhz test does a good job
of anti aliasing.
- 125 Mhz test shows that this is an acceptable cfr to use for
observations.
- the band shape of the 230 Mhz filter (but centered at 125
Mhz) will do a good job of anti aliasing.
- start to fall off at 107 Mhz, down 32 db at 100Mhz
- We could ask for a steeper filter.. although i don't think
it is necessary.
- It might be nice to ask for a linear phase filter (in case
the pulsar people ever use this).
- 2.5 Mhz away from the edge of the 25 Mhz band, the alias
power is down 33 db.
processing: x101/170131/usrswpsyn.pro
<-
page up
home_~phil