[] Resizing and rounding, https://support.astron.nl/confluence/display/L2M/L4+SDPFW+Decision%3A+Number+representation%2C+resizing+and+rounding
[] 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
[] Understanding DSP, 3rd edition, R. Lyons
* Email 2 oct 2023, John, Stefan,
Bedankt voor het mij betrekken. Binnenkort houd ik een Teaser talk over quantisatie in de LOFAR2 station firmware (FW), maar ik heb er al een document over geschreven [1].
De ADC in LOFAR2 is 14b, na de subband filterbank zijn de subbands 18b (sectie 4.2.1 in [1]). Intern worden berekingen gedaan met 25b (sectie 7.3.1 in [1]). De beamlet output in LOFAR2 station is 8b. In de hele Station signal processing keten (Figure 3.1 in [1]) zijn steeds de laagste LSbits het belangrijkst, want deze behouden de gevoeligheid die we met de ADC ook hebben (Figure 4.1 in [1]). De extra MSbits zijn nodig voor:
2) Signaalsterkte variatie tgv frequentie response vd ontvangerketen opvangen.
Punt 2 zouden we ook kunnen compenseren dmv de subband gewichten, omdat de frequentie response stabiel is in de tijd. De subband gewichten zijn in LOFAR2 station FW apart getrokken van de beamformer gewichten, zodat de subbanden gecalibreerd kunnen worden voor phase (= fine delay) en gain (calibratie tussen antennas en egalisatie over de band). Hierdoor hoeven de beamformer gewichten alleen nog maar te beamformen (sectie 4.2.2 in [1]).
Als er geen RFI is en het de subbanden geegaliseerd zijn (om een vlakke frequentie response te krijgen over de band), dan is voor subbanden en beamlets 4 bits genoeg om 2% SNR verlies te hebben (zie sectie 8.3 in [1]). Deze 4 bits bestaan uit 1 sign bit, 2 bits voor 4 sigma variatie en 1 bit voor sigma van de sky noise. Er is echter wel RFI en tot nu maken we de frequentie response van de subbanden niet vlak over de band, daarom zijn de beamlets in LOFAR2 station nu 8 bit, dat geeft dus 4b = 24 dB ruimte voor gain variaties (tgv punt 1 en 2) in de beamlets.
Als er geen RFI is en het signaal van een subband alleen schaalt tgv gain variatie over de band (punt 2), dan blijft 4 bit genoeg en kunnen we het subband signaal representeren met een 1b sign, 3b mantissa en exponent bits. Echter als het signaal van een subband sterker wordt door RFI, dan blijven we de 4 LSbits nodig hebben voor de sky noise + de extra MSbits om tegelijk de RFI te bevatten. Dus ik denk dat als er zwakke RFI is, dan moeten we de mantissa woordbreedte groter maken, omdat anders de SNR voor de sky noise verslechterd, dus dan helpt gebruik van floating point niet. Als de RFI sterk is, dan heeft het steeds minder nut om nog te proberen het sky noise signaal te meten, omdat je dan veel langer moet integreren om de RFI te decorreleren. Het doel is dan alleen nog om de RFI zelf te meten (bijvoorbeeld voor monitor doeleinden) en dan kan de floating point exponent wel extra dynamisch bereik geven.
Conclusie:
* Als we de subbanden egaliseren, dan zijn 4 bit, fixed point beamlets genoeg, om de sky noise te representeren.
* Als er RFI is en we toch nog de sky noise willen representeren, dan hebben we meer mantissa bits nodig. Het helpt dan niet om hiervoor de floating point exponent te gebruiken, want dan voeg je quantisatie ruis toe.
* De floating point exponent helpt alleen om sterke RFI nog te kunnen representeren, waarbij je het dan opgeeft om de sky noise nog goed te meten.
* Voor data output (subbanden, beamlets) van Station is denk ik fixed point dus voldoende, met als minimum 4 bit voor SNR verlies van 2% tgv quantisatie ruis. De 8b beamlets die we nu gebruiken zijn een makkelijke eerste stap, dankzij de 4 Msbits marge.
* Voor interne berekeningen is gebruik van floating point mogelijk wel resource efficienter dan fixed point denk ik, omdat de point dan per berekening optimaal gebruik maakt van de mantissa woordbreedte. Voor de LOFAR2 station FW zou dit betekenen dat we ipv intern tot wel 25 bit fixed point, mogelijk steeds toe zouden kunen met bijv een 16b float.