diff --git a/doc/erko_teaser_talks.txt b/doc/erko_teaser_talks.txt new file mode 100644 index 0000000000000000000000000000000000000000..dc3ce9d905f20a81451e38c7a3e28dfd7a4f2a65 --- /dev/null +++ b/doc/erko_teaser_talks.txt @@ -0,0 +1,120 @@ +Teaser talk topic ideas + +1) Teaser talk: Quantization in LOFAR2.0 Station Firmware +2) Teaser talk: Subbands, beamlets and channels +3) Teaser talk: Signal statistics, correlation and beamforming + + +1) Teaser talk: Quantization in LOFAR2.0 Station Firmware + +* floating point - fixed point - integer (two complement, so range e.g. -8 to +7 for 4 bit value) + . 2**+127 -------------------------- 1. ------------------ 2**-127 + <n bit int> + . <n bit fxp> fraction only + <n bit fxp> with fraction + <n bit fxp> . scaled + . format: + - unsigned : u(w, p) + - signed : s(w, p) + +* Operations (*, +) cause bit growth + - rounding (to remove LSbits) + . truncation: int(x), // (-7 // 6 = -2, 7 // 6 = 1) + . half away: python2, matlab + . half up + . half to even: python3, SDPFW + - clipping or wrapping (to remove MSbits) + . intermediate beamlet sum in BF uses wrapping + . final subband output and beamlet output use clipping + +* SDP signal path + - Task: Preserve sensitivity of the ADC input and maintain sufficient dynamic range + - Figure of SDP data path block diagram with: + . ADC samples + . subbands (FFT processing gain) + . beamlets (BF processing gain) + - BST + - beamlet output (8 bit samples to CEP) + - Figure of internal signal levels + . dBFS + . SNR, P_quant + . processing gain log2(sqrt(N_fft)) = 5b, log2(sqrt(N_ant)) = 3.3b for N_ant = 96 + . coherent input (sine), incoherent input (sky noise, weak astronomical signal burried in noise) + +* Implementation details + - Use separate function to do DFT for two real ADC inputs with complex FFT + - Spectral inversion to have incrementing subband indexes and frequencies in all Nyquist zones + - FFT switch / unswitch to decorrelate the quantisation noise crosstalk between the two real + signal input of the complex FFT in the PFB + - Go in and out via the MSbits, use backoff to avoid FIR and first stage FFT overflow + - Interally extra LSbit inside PFB and before applying the weights, see try_round_weight.py + +* Conclusion: + - Fixed point arithmetic uses less FPGA resources (multipliers, RAM, logic) than floating point, + but requires carefull bookkeeping or the fixed point position in the FW implementation. + +* References: + [] SDP FW design, https://support.astron.nl/confluence/display/L2M/L4+SDP+Firmware+Design+Document + [] SDP FW quantization, https://support.astron.nl/confluence/pages/viewpage.action?spaceKey=L2M&title=L4+SDPFW+Decision%3A+LOFAR2.0+SDP+Firmware+Quantization+Model + [] Fixed point numbers, https://support.astron.nl/confluence/display/L2M/L3+SDP+Decision%3A+Definition+of+fixed+point+numbers + [] Resizing and rounding, https://support.astron.nl/confluence/display/L2M/L4+SDPFW+Decision%3A+Number+representation%2C+resizing+and+rounding + [] Understanding DSP, 3rd edition, R. Lyons + + +2) Teaser talk: Subbands, beamlets and channels + +* Implement delays by phase rotation + - sinus --> phase exactly reprensent delay + - narrow band --> phase is only exact at center of band, approximate towards the edges +* f_sub + - coherence bandwidth T_sub >> B diameter of a Station antenna field + - distributed processing of N_pn processing nodes f_sub = RF_BW / N_pn / N_sub_per_pn +* PFB to separate ADC sampled signal into frequency bands + - FFT bin has sync bandpass, PFB has narrow band bandpass --> bins are called subbands + - Repeat FFT per N_fft samples in time yields bin coefficients per T_sub + - Bin is complex value, because it has to represent phase and gain of the bin + . complex /= difficult --> complex = aggregate number of two parts: re and im or gain and phase A*exp(phi) + - For CW in center of bin the subband the subband value is a constant phase + - For CW left or right of center the phasor rotates left or right + - Narrow band noise in subband is a noisy CW at RF_sub = n * f_sub, so can be delayed using phase rotation + . plot fft(noise) --> keep only subband bin n, make other bins zero --> ifft() --> noisy CW at RF_sub + - subband = Narrow band frequency signal from PFB output. Also called coarse channel in other radio telescopes +* BF + - weight and summate subbands from all antenna signal inputs that are part of the beam + - BF weights are complex values, the phase points the beam by compensating for the geometrical delay and the gain shapes the beam + . Jones matrix, cross pol weights are not used (kept 0), because the dual pol antenna are all aligned in the field + - Update rate + . depends of f_RF and B + . applied when written (no need for double buffer like in LOFAR1) + - beamlet = beamformed subband. A station beam of one subband. +* Subband equalizer + - weights the subbands to fine adjust for cable delays and fine adjust for frontend gain differences + . coarse delays are compensated by a sample input delay buffer in the SDPFW at the ADC input + . coarse gains are compensated by an attenuator in the RCU2 in steps of 1 dB = factor 1.26 in power + - in LOFAR1 subband weights were incoporated into the BF weights, in LOFAR2 they are separate CP + - the subband weights can also be used to compensate for the bandpass shape of the RCU2 and antenna, to + keep the dynamic range of the subbands signals within the lowest bits. This then can be used to + have beamlets of 4 bits instead of 8 bit (default). +* CEP correlator and beamformer + - operate on channels that are narrow band frequency signals within a beamlet, so from a PFB at CEP. + - + +* References: + [] https://support.astron.nl/confluence/pages/viewpage.action?spaceKey=L2M&title=Temporary+storage+of+documents+and+papers + 4b LOFAR doc + apertif fringe stopping doc + [] https://support.astron.nl/confluence/pages/viewpage.action?pageId=35165733 section 8.4 + [] BF weights update scheme, https://support.astron.nl/confluence/display/L2M/L2+STAT+Decision%3A+Update+scheme+for+beamlet+weights + [] beamlet sum wrapping, https://support.astron.nl/confluence/display/L2M/L3+SDP+Decision%3A+Beamformer+sum+overflow+handling + [] beamlet output width 8 bit, https://support.astron.nl/confluence/display/L2M/L2+STAT+Decision%3A+Beamlet+output+width + + +3) Teaser talk: Signal statistics, correlation and beamforming + - coherent, incoherent + - summation + - correlation + - XST --> u,v plane + + +* References: + [] Signal statistics, https://git.astron.nl/desp/hdl/-/blob/master/applications/lofar2/model/signal_statistics.ipynb