pdev hardware (jeff mock's spectrometer)


Spectrometer specifications
Single pixel observing specifications
Alfa, pdev schematic

A/D,mixer specs (counts/volts)
Clock Freq for integral dump times

fftlen and minimum integration times
Using multiple bandwidths in 1 observation
rfi issues
Compression levels

spectral jumps at 2^n channels
controlling the attenuators
Adjusting the power levels

Pdev data formats.

pdev parameters:hr_shift,pshift,dshift,ashift

Monitor hardware (temp,fans)
List of pdevBoxes and their status
bandpass shapes
spectral mean and rms
spectrometer trouble
Testing voltage sampling

All Measurements in Chronological order
Digitizer to Output. The computational pipeline

Other pdev info.
Examples of various datataking configurations



Spectrometer specifications:

Spectrometer configuration
spectrometer Boxes
  • 14 spectrometer boxes in use
    • 7 boxes used to cover alfa's 7 pixels (primary observer)
    • 7 boxes used for alfa's 7 pixel (commensal observer)
File servers
  • 14 file servers (1 per spectrometer box)
  • giga bit Ethernet spectrometer box to file server via network switch
  • giga bit Ethernet file server to external world via 2nd network switch
  • Each file server can access any of the 14 spectrometer boxes via the switch.
Single spectrometer box
  • fpga based fft spectrometer using polyphase filter bank.
freq bands
  • 2 frequency bands per box (170MHz Bandwidth each).
  • 340 MHz total frequency coverage per box.
  • Each frequency band can compute spectra for:
    •  polA,polB
    • polA,polB, stokes U, and stokes V
    • stokes I by itself.
  • 8  12bit A/D converters running at 170 MHz doing comlex sampling.
  • 4 A/Ds sample polA,B Lower 170 MHz band
  • 4 A/Ds sample polA,B Upper 170 MHz band
# channels
  • programmable length 4 to 8192 channels per spectra in powers of 2 steps.
  • 4 times overlap
  • Greatly improves the channel to channel leakage.
  • programmable: 32, 16, or 8 bits spectral output.
Digital Mixing
  • Digital mixer after the A/D converters can shift the band in steps of 1/2048 of the A/D sample rate
  • Normally used with the digital low pass filter
Digital Lowpass
  • Digital Low pass filter follows the digital mixer.
  • Decimation 1 to 1024 in steps of 1 gives 1024 different bandwidths.
  • Filter coef are loadable from disc so then can be modified. Currently:
    • hanning,hamming, blackman, triangle, bartlett, rectangle.

Time domain sampling
  • A/D converter
  • Digital mixer
  • Digital low pass filter
  • packing and then output.
  • 12 (packed to 16 bits), 8, or 4 bits
  • 14 file servers. 1 for each spectrometer box
  • Dual cpu 2.67 GHz clock
  • 4 GBytes per fileserver
Disc Space
  • 4 TeraBytes per file server
  • Total disc space all file servers (4*14 = 56 teraBytes).
  • 60 to 80 Mbytes/second from spectrometer box to disc.
    • This includes both of the frequency bands per spectrometer box so the i/o rate per frequency band would be 30 to 40 MBytes/second.
  • Total throughput all boxes: 14*70=980 MBytes/second...
  • Time to fill discs at 70MBytes/second: 15.8 hours.

A/D and mixer Specs:   (top)

A/D, Mixer levels for Full Scale A/D output
A/D MaxLevel  counts (12 bit A/D)
2047 Counts
A/D MaxLevel rms counts (pnet --sigstat)
1448 Counts
MaxPwr (at A/D) for full scale
2.5 dbm
.78 Volts PkToPk
MaxMixer output at compression onset
-4 dbm
Mixer inputLevel at compression
-17 dbm (3 db attn)

A/D rms at bbm 1db compression (using noise):
700 counts (lo band)
550 counts (hiband)

PDEV Data formats: (top)

    This is the data format as it comes out of the spectrometer, gets massaged by psrv, bpinp, and then gets output in pdev format by bpOut. The fits format is described in pdev fits format.

Clock frequencies for integral dump times:  (top)

    The table below shows clock frequencies close to 170 MHz that give integral number of dumps for the specified time. Some notes on the Table:

Clock Frequencies for integral dump times (150<clk<175MHz)
fftlen 1_sec 100_msec 1_ms 100_usec 64_usec 50_usec
- ndump clock ndump clock ndump clock ndump clock ndump clock ndump clock
8192 20752 170000384 2075 169984000 21 172032000 - 163840000 - 128000000 - 163840000
4096 41504 170000384 4150 169984000 42 172032000 4 163840000 - 192000000 - 163840000
2048 - 170000384 8301 170004480 83 169984000 8 163840000 5 160000000 4 163840000
1024 - 170000384 16602 170004480 166 169984000 17 174080000 - 176000000 8 163840000
512 - 169999872 33203 169999360 332 169984000 33 168960000 21 168000000 17 174080000
256 - 170000128 - 169999360 664 169984000 66 168960000 43 172000000 33 168960000
128 - 170000000 - 170000640 1328 169984000 133 170240000 85 170000000 66 168960000
64 - 170000000 - 170000000 2656 169984000 266 170240000 170 170000000 133 170240000
processing: x101/080327/clkrates.pro

Using multiple bandwidths in 1 observation

    It is possible to use different bandwidths  during a single observation. To do so, the integration time and wall time of the different bands must be the same. These times are computed from the parameters that define the setup.






Compression levels.   (top)

Blanking (top)

    Spectrometer blanking has the following properties:
ADC blanking

Controlling the attenuators (top)

    The mixer chassis contains programmable attenuators (0 to 31 db) to attenuate the input IF signal prior to going through the base band mixers. The setup is:
Version okay = 0x01
Mixer serial = 0001
Lo band attenuator = 21
Hi band attenuator = 23
Lo band level = 0
Hi band level = 5

Adjusting the power levels

    We run the digitizers with an rms value of about 30 counts (see the computational pipeline). There are a set of attenuators in the bbm of the pdev spectrometer that are used to set the a/d rms (see attenuators).
The hardware configuration:
Jeff's software to measure the adc levels:
    Jeff has a routine prun_sigstat in prun.c (running in the spectrometer box) and pnet_sigstat (running in the pnet perl script).
Phils software to adjust the power levels:
    The perl script pdevattn adjusts the power levels. It is normally called from pnetctl (but it can be called manually).
pdevattn does:
  1. establishes communications with the mixer chassis via an rs232 link
  2. Reads the current attenuator settings.
  3. Reads the current rms and mean values via the pnetsig program
    1. It starts pnetsig and talks to it via a pipe. pnetsig runs pnet --sigstat to continually read the rms/mean values.
    2. running pnetsig continually gets around the 3 second startup time for pnet.
  4. Computes the attenuation needed to set the rms to 30 counts
  5. Sends the new attenuator values to the mixer chassis.
  6. reads the new values of the rms and mean
  7. exits
    The program does not iterate till the value is close to 30 counts. If a strong radar pulse occurs
File locations:
Power level measurements.
19jan09: locations where 1db pads are needed to equalize group0, group1 power levels.

Rfi issues.  (top)

    Some issues related to rfi:

Parameters:  (top)

bandpass shapes:

Spectral mean and rms values.

Testing voltage sampling mode:

Examples of various datataking configurations:  (top)


    Galfacts standard configuration is:

Measurements in chronological order:  (top)

31oct13: testing  4 bit time domain radar sampling
03oct13: compare bandpass shape for the different filter types.
27mar13 p2787 pulsar observing shows spectral jumps from high mode digital filter
24jan13: b4sXg0 FPGAx PI FIFO overflow
07oct12: bs1g0 FPGA1 dma overflow.
04oct10: cband receiver 4-6 ghz pshift=0x1555 gets rid of 2^n spectral jumps and no pfb overflows
29sep12: high res mode bit flips in pulsar data.
11feb12: mock spectrometer fails with dump status timeout (ethernet problem).
11sep11: measured rms vs adjpwr value for 8bit time domain sampling (.ps) (.pdf)
11sep11: time domain sampling of 1713+0747
26jun11: a2130 adc,pfb overflows vs za for jun11.
23jun11: table of fftlengths with minimum allowable integration times.
18jun11:Fan replacement list
23mar11: time domain mode. 10 Mhz bandwidth looking at pulsars.
15sep10: narrow band spectra showing birdies close to DC.
20may10: test decimations 1-20 showing power,voltage, jumps, and bandpass shape.
23apr10: spectral jumps at powers of two using the noise source.
22may09: pdev raid disc i/o rates.
23feb09: run scp while taking data to see how much cpu % is needed.
19jan09: locations where 1db pads are needed to equalize group0, group1 power levels.
05dec08: setting the registers for 16 bit sampling.
18nov08: cal phase offset in galfacts data.
17sep08: adc blanking with Faa, 1290, and  punta salinas radars. az=180,za=17.23
26aug08: overflow in the PFB butterfly stages from a sine wave.
08jul08: spectral bandpass shape and spectral jumps with low a/d rms values
17jun08: 12 seconds of data with galfacts setup sitting at 270,10.   
15jun08: time domain sampling has no 8 byte record header.
11jun08: faa radar saturates a/d causing spectral harmonics.
05jun08: spectral amplitude and rms vs ashift for 16 bit sampling. polA,polb, stokes U,V.
02may08: simulating the gain and bandpass shape of the low pass digital filters.
26apr08:bbmixer compression levels with a sine wave input.
24apr08:A/D rms gain vs mixer gain and compression. On sky and noise source.
25mar08: za location for alfa power jumps when at the meridian (using pdev)
25mar08: jumps in alfa total power from radars using pdev
17mar08: spectral bandpass shape vs A/D and pshift  levels
14mar08: Signal levels in the bbm injecting a sine wave at the bbm input.
14mar08: A/D Signal levels injecting sine wave at A/D input
01mar07: spectral amplitude and rms vs ashift for 8 and 16 bit packing.
24oct07: the mixer i/q phase relation for box 103.
12oct07: A/D to output: the computational pipeline
11oct07: simulate the fir filter on the polyphase filter bank.
10oct07: checking how dshift affects the spectra.
26sep07: Bump in center of bandpass from mixture chassis is stable in time.
26sep07: location of noise rms bits in DLPF processing (setting hr_shift).
20sep07: spectral increase +/- 3MHz about center is gain related (not noise).
19sep07: comparing noise bandpasses with and without the mixer chassis.
18sep07: bandpass using new mixer and noise source.
28aug07: dumping time domain data.
03jul07:birdies close to DC using the radar fpga.
29jun07: first look at bandpasses of new mixer chassis.
06jun07: acceptance testing the spectrometer boxes.
26jan07: if2 noise source feeding the pdev spectrometer
23jan07: 2 min on/offs on a few galaxies
22jan07: A first look at the Faa radar with the pdev spectrometer.

Configuration notes for power levels/dynamic range.


Fan replacement
power consumption:

Spectrometer fan replacements:

    luis quintero has a log of the fpga and box fans that have been replaced on one of his wiki pages.

Pwr consumption measurements 09aug07:  (top)

GPIO General purpose i/o bits.   (top)

    There are 4 general purpos i/o bits on the back of each pdev spectrometer. They are:
For calsel and blanksel, a value of 0xf  means no calsel, no blanking.

Documentation:  (top)

Latest pdev users guide from jeff mock (.pdf)
Dana's mixer document (.pdf)
Mixer schematic (page 4 of document) (.ps)

<- page up