I ran the phaser_prod_tst.py program and received the following Terminal script from the code:
analog@phaser:~/pyadi-iio/examples/phaser $ python phaser_prod_tst.py
Attempting to connect to CN0566 via ip:localhost...
Found CN0566. Connecting to PlutoSDR via default IP address...
PlutoSDR connected.
Using TX output closest to tripod mount, 10.525 GHz for production test.
Reading voltage monitor...
Passes Board temperature: 33.5
Passes 1.8V supply: 1.799316404776
Passes 3.0V supply: 3.007812497536
Passes 3.3V supply: 3.2910156223039997
Passes 4.5V supply: 4.5107604943516595
Passes Vtune amp supply: 13.79355467620032
Passes USB C input supply: 5.00760497636652
Passes Board current: 1.406249998848
Passes VTune: 8.080334466036838
Passes all monitor readings, proceeding...
Setting up Pluto and Getting signal levels...
Loading filter
[0.24160349646597354, 0.2626461022701198, 0.262428478338273, 0.2978474762366246, 0.2731829855112252, 0.2584496561000726, 0.24685198624764343, 0.2207468863223172]
Low signal levels on attempt 0 of 5
Loading filter
[247.6397490163842, 250.113820000086, 257.34241515697954, 253.88912182655173, 285.87454777423466, 279.27555856446173, 291.0621750705172, 285.2198709572301]
Calibrating SDR channel mismatch, gain and phase - place antenna at mechanical boresight in front of the array.
Calibrating SDR channel mismatch, verbosely...
channel mismatch: 1.0325336109253334 dB
Calibrating Gain, verbosely, then saving cal file...
Peak bin at 529 out of 1024
Calibrating Element 0
measuring element: 0
Measured signal level (ADC counts): 277.8223790549068
Calibrating Element 1
measuring element: 1
Measured signal level (ADC counts): 280.80813040991535
Calibrating Element 2
measuring element: 2
Measured signal level (ADC counts): 290.9616068307133
Calibrating Element 3
measuring element: 3
Measured signal level (ADC counts): 285.25996417600675
Calibrating Element 4
measuring element: 4
Measured signal level (ADC counts): 281.012878946653
Calibrating Element 5
measuring element: 5
Measured signal level (ADC counts): 282.3268392611768
Calibrating Element 6
measuring element: 6
Measured signal level (ADC counts): 290.4900766346647
Calibrating Element 7
measuring element: 7
Measured signal level (ADC counts): 280.26897572247253
gcalibrated values: [277.8223790549068, 280.80813040991535, 290.9616068307133, 285.25996417600675, 281.012878946653, 282.3268392611768, 290.4900766346647, 280.26897572247253]
Calibrating Phase, verbosely, then saving cal file...
Peak bin at 529 out of 1024
Calibrating Element 0
Null found at 168.75
Phase Delta to correct: 11.25
Calibrating Element 1
Null found at -180.0
Phase Delta to correct: 0.0
Calibrating Element 2
Null found at -171.5625
Phase Delta to correct: -8.4375
Calibrating Element 3
Null found at -50.625
Phase Delta to correct: -129.375
Calibrating Element 4
Null found at -165.9375
Phase Delta to correct: -14.0625
Calibrating Element 5
Null found at -168.75
Phase Delta to correct: -11.25
Calibrating Element 6
Null found at -154.6875
Phase Delta to correct: -25.3125
Done calibration
Phase cal failure on elements 2 , 3 129.375
Test took 73.48022294044495 seconds.
D'oh! BOARD FAILS!
Phase cal failure on elements 2, 3, delta: 129.375
Please enter serial number of board, then press enter.
18
The Phase Cal Failure for Elements 2 and 3 is an interesting problem, so is this a real issue that I need to address? If so, what can I do to correct the problem?
I attempted to run phaser_prod_test.py a second time to verify the results, but I received the following ERROR codes for voltage issues:
analog@phaser:~/pyadi-iio/examples/phaser $ python phaser_prod_tst.py
Attempting to connect to CN0566 via ip:localhost...
Found CN0566. Connecting to PlutoSDR via default IP address...
PlutoSDR connected.
Using TX output closest to tripod mount, 10.525 GHz for production test.
Reading voltage monitor...
Passes Board temperature: 43.0
Passes 1.8V supply: 1.799316404776
Passes 3.0V supply: 3.007812497536
Passes 3.3V supply: 3.287353512932
Passes 4.5V supply: 4.5107604943516595
Passes Vtune amp supply: 13.798425281665079
Passes USB C input supply: 4.9537597615668805
Fails Board current: : 1.6308593736639998
Passes VTune: 8.20209960265584
Fails one or more supply voltage tests. Please set board aside for debug.
It is interesting that the current sensor is detecting a current increase of 230 mA after 5 minutes of operation for the Phaser. This value for current is a constant after more than 30-minutes of operation for the Phaser.
However, if I cycle the power off and then turn it on again, the code runs again without the current error, but I still have the Channel 2 and 3 Phaser error as shown here:
analog@phaser:~/pyadi-iio/examples/phaser $ python phaser_prod_tst.py
Attempting to connect to CN0566 via ip:localhost...
Found CN0566. Connecting to PlutoSDR via default IP address...
PlutoSDR connected.
Using TX output closest to tripod mount, 10.525 GHz for production test.
Reading voltage monitor...
Passes Board temperature: 38.25
Passes 1.8V supply: 1.799316404776
Passes 3.0V supply: 3.007812497536
Passes 3.3V supply: 3.292236325428
Passes 4.5V supply: 4.5107604943516595
Passes Vtune amp supply: 13.798425281665079
Passes USB C input supply: 5.000262447075659
Passes Board current: 1.3586425770119999
Passes VTune: 8.114428704290159
Passes all monitor readings, proceeding...
Setting up Pluto and Getting signal levels...
Loading filter
[0.35392264634822174, 0.3926604078423146, 0.3365584694503831, 0.2896056558418845, 0.3292108791228966, 0.33495417231093405, 0.3555392043823857, 0.38330623007622794]
Low signal levels on attempt 0 of 5
Loading filter
[243.27091784303823, 245.41926747373503, 252.39118464291073, 248.99828213912517, 278.9178066078198, 279.7484660197247, 283.0954859121417, 277.1240895853924]
Calibrating SDR channel mismatch, gain and phase - place antenna at mechanical boresight in front of the array.
Calibrating SDR channel mismatch, verbosely...
channel mismatch: 0.8052686711452801 dB
Calibrating Gain, verbosely, then saving cal file...
Peak bin at 529 out of 1024
Calibrating Element 0
measuring element: 0
Measured signal level (ADC counts): 241.11691345029246
Calibrating Element 1
measuring element: 1
Measured signal level (ADC counts): 243.00722182952677
Calibrating Element 2
measuring element: 2
Measured signal level (ADC counts): 250.9369445651752
Calibrating Element 3
measuring element: 3
Measured signal level (ADC counts): 247.57796659794118
Calibrating Element 4
measuring element: 4
Measured signal level (ADC counts): 277.0681140683575
Calibrating Element 5
measuring element: 5
Measured signal level (ADC counts): 277.76856868566773
Calibrating Element 6
measuring element: 6
Measured signal level (ADC counts): 281.04349236827704
Calibrating Element 7
measuring element: 7
Measured signal level (ADC counts): 275.45330834090976
gcalibrated values: [241.11691345029246, 243.00722182952677, 250.9369445651752, 247.57796659794118, 277.0681140683575, 277.76856868566773, 281.04349236827704, 275.45330834090976]
Calibrating Phase, verbosely, then saving cal file...
Peak bin at 529 out of 1024
Calibrating Element 0
Null found at 168.75
Phase Delta to correct: 11.25
Calibrating Element 1
Null found at -180.0
Phase Delta to correct: 0.0
Calibrating Element 2
Null found at -171.5625
Phase Delta to correct: -8.4375
Calibrating Element 3
Null found at -53.4375
Phase Delta to correct: -126.5625
Calibrating Element 4
Null found at -165.9375
Phase Delta to correct: -14.0625
Calibrating Element 5
Null found at -168.75
Phase Delta to correct: -11.25
Calibrating Element 6
Null found at -154.6875
Phase Delta to correct: -25.3125
Done calibration
Phase cal failure on elements 2 , 3 126.5625
Test took 73.41785979270935 seconds.
D'oh! BOARD FAILS!
Phase cal failure on elements 2, 3, delta: 126.5625
Please enter serial number of board, then press enter.
18
Hence, do I have a problem that I need to address and repair on the Phaser PCB, or is this a problem with the phaser_prod_test.py code?
Thanks,
Scott
No, the issue is with your setup when running the prod test. But from your several previous posts, I can confirm that your board is working perfectly. Instead, I really suggest you study some of the text books we've mentioned in the past to help with you understanding of radar processing and phased array fundamentals. But again, that is outside of the scope of the help we offer on this forum.
Duplicate of RE: Documentation for using the phaser_prod_tst.py to ascertain the health of the Phaser board.
Indeed, as Jon said, there is nothing wrong with your board. The reason for the wider phase delta between elements 3 and 4 is that is that measurement is the boundary between the two Pluto channels, and all of the other sources of phase error between the paths (Mixer, filter, etc.) And I do see the error printout notes 2, 3, but if you look at the log further up the higher phase delta is between elements 3 and 4. The calibration routine can accommodate an arbitrary initial phase error.
Same on the supply current - it looks like the supply voltage / current tests are run before the Pluto rx channels are enabled. You may have an outlier in terms of supply current.
We do keep track of these issues and adjust the limits accordingly, likely on the next build.
-Mark
Thanks for the constructive feedback, so I will proceed with field testing this weekend. I will advise you if any problems are encountered.