- to measure line spectra in the channels at the edges of a subband, could the AAF for Apertif be an alternative?
The Stations in LOFAR1 implement a critically sampled subband filterbank. With a critically sampled filterbank the subband sample rate is equal to the subband bandwidth, so equal to the Nyquist rate. This causes that the subband filter transfer function needs to significantly attenuate the subband signal at the edges of the subband, to minimize the aliasing between adjacent subbands. After the subband filterbank the subbands are separated again into channels. For a critically sampled filterbank the channels near the edges of the subband are typically not used for further processing, because they are attenuated and contain aliasing.
- to use a synthesis filterbank on the beamformed data, why reconstruct the time series ?
With an oversampled filterbank the subband sample rate is a factor R_os > 1 larger than the Nyquist rate. This oversampling then provides space for the transisiton region of the subband filter transfer function. The channels in the transition region can then be discarded and the channels in the pass band region represent the subband bandwidth with arbitrary flat signal level and arbitrary low aliasing. Applying an oversampled filterbank thus enables the LOFAR2.0 radio telescope to:
- measure line spectra in the channels at the edges of a subband
- use a synthesis filterbank on the beamformed data to reconstruct broadband spectra LOFAR2-2278
Note: in other radio telescopes than LOFAR and APERTIF the subbands are typically referred to as coarse channels, and the channels are then referred to as fine channels.
2) Working of analysis oversampled filterbank
2) Working of analysis oversampled filterbank
a) Subband PFB
The oversampled subband filterbank is implemented as a polyphase filterbank (PFB). The PFB consists of a FIR prefilter (PFIR) and an FFT.
PFB = PFIR -> FFT
PFB = PFIR -> FFT
The polyphase filterbank (PFB) consists of a FIR prefilter (PFIR) and an FFT. The downsample factor is set by the FFT block size N_fft. For computational efficiency N_fft needs to be a power of 2, but a factor 3 or 5 may be included too. The PFIR section has N_fft phases and N_tap taps per phase. The coefficients follow from a low pass prototype FIR filter, as a snake pattern for all taps, for all points. In a criticaly sampled PFB the input data is shifted in in blocks of size N_fft. In an oversampled PFB the data is shifted in in blocks of size M and M < N_fft, so r = N_fft/M is the oversample factor. The shift less then N_fft causes a phase step between blocks in the PFB output. This phase step can be compensated by counter rotating the data that inputs into the FFT [harris, tuthil].
The oversampling N_fft / M also implies that multiple PFB in parallel also need to keep aligned not only the N_fft blocks, but also oversampling sub blocks M. In ASKAP r = 32/27 with 1 MHz subbands causes that an integer number of fine channels periods takes 27 seconds, so causing a periodicity at large time scales to align at the human (and VDIF) 1 sec grid.
The downsample factor is set by the FFT block size N_fft. For computational efficiency N_fft needs to be a power of 2, but a factor e.g. 3 or 5 may be included too without comprimising the computational efficiency too much. The PFIR section has N_fft phases and N_tap filter taps per phase. The FIR filter coefficients follow from a low pass prototype FIR filter of size N_fft * N_taps coefficients. In the PFIR these coefficients are applied as a snake pattern for all N_tap taps, and for all N_fft inputs of the FFT. In a criticaly sampled PFB the input data is shifted in in blocks of size N_fft. In an oversampled PFB the data is shifted in in blocks of size M and M < N_fft, so R_os = N_fft/M is the oversample factor. The shift less then N_fft causes a phase step between blocks in the PFB output. This phase step can be compensated by counter rotating the data that inputs into the FFT [harris, tuthil].
The oversampling R_os = N_fft / M also implies that multiple PFB in parallel also need to keep aligned not only the N_fft blocks, but also the oversampling sub blocks M. In ASKAP R_os = 32/27 with 1 MHz subbands causes that an integer number of fine channels periods takes 27 seconds, so causing a periodicity at large time scales to align at the human (and VDIF) 1 sec grid.
The Fig 2.1 shows the relation between channels and subbands for a critically sampled PFB and for an oversampled PFB. The downsampling of the PFB centers the subbands at 0 Hz.
0 f_s/2
0 f_adc/2
|-.-|---|..............|---|
|-.-|---|..............|---|
.
.
|-.-| f_sub/2
|-.-| f_sub/2
.
.
<-.-> N_chan
<-.-> N_chan
.
.
|--.--| f'_sub/2
|--.--| f_os_sub/2
.
.
<--.--> N'_chan
<--.--> N_os_chan
Figure 2.1: Frequency span of downsampled subbands and channels for a PFB with R_os = 1 and R_os > 1
For the critically sampled PFB the downsampled frequency per subband is f_sub = f_s / N_fft. In case of a real input their are N_sub = N_fft / 2 subbands, where the factor 2 is because for a real input only the positive and negative frequency spectra are complex conjugate, so only half of the subbands are unique.
For the critically sampled PFB the downsampled frequency per subband is f_sub = f_adc / N_fft. In case of a real input their are N_sub = N_fft / 2 subbands, where the factor 2 is because for a real input only, the positive and negative frequency spectra are complex conjugate, so only half of the subbands are unique. In the PFB this results in that each downsampled subband is centred around 0 Hz with subband sample frequency f_sub and complex subband samples. For a complex signal the Nyquist sample rate is equal to the signal bandwidth, so the Nyquist factor 2 then appears in the fact that the signal is complex, so with 2 values (real and imaginary) per sample.
In the PFB this results in that each downsampled subband is centred around 0 Hz with subband sample frequency f_sub and complex subband samples. Hence for a complex signal the Nyquist sample rate is equal to the bandwidth, so the Nyquist factor 2 then appears in the fact that the signal is complex, so with 2 values (real and imaginary) per sample.
The subband bandwidth B_sub is determined by the PFIR and independent of the subband rate f_sub, so B_sub <= f_sub. The f_sub = f_s / N_fft defines the frequency grid. The f'_sub > f_sub makes it possible to oversample B_sub and to have B_sub = f_sub without aliasing. For the oversampled filterbank the f'_sub = r * f_sub. The subband bandwidth B_sub can be selected such that it is still almost flat up to f_sub and then drops down to the stop band level at f'_sub. The width of the transition region is set by r. ASKAP and SKA LFAA use r = 32/27 ~= 1.185. For two neighbour subbands the transition region to attenuate the aliasing is 2*(r-1)*f_sub. A larger oversampling factor r eases the PFIR filter for a required aliasing attenuation, but increases the data rate.
The subband bandwidth B_sub is determined by the transfer function of the PFIR and independent of the subband rate f_sub, so B_sub <= f_sub. The f_sub = f_adc / N_fft defines the frequency grid. The f_os_sub > f_sub makes it possible to oversample B_sub and to have B_sub = f_sub without aliasing. For the oversampled filterbank the f_os_sub = R_os * f_sub. The subband bandwidth B_sub can be selected such that it is still almost flat up to f_sub and then drops down to the stop band level at f_os_sub. The width of the transition region is set by R_os. ASKAP and SKA LFAA use R_os = 32/27 ~= 1.185. For two neighbour subbands the transition region to attenuate the aliasing is 2*(R_os-1)*f_sub. A larger oversampling factor R_os eases the PFIR filter for a required aliasing attenuation, but increases the subband data rate.
Oversampling does not change the frequency grid of the PFB, because the frequency grid is set by the FFT size. The oversampling only increases the sample rate per frequency bin (subband or channel) and this can be used to achieve more attenuation between neighbouring bins (subband or channel) to eliminate aliasing.
Oversampling does not change the frequency grid of the PFB, because the frequency grid is set by the FFT size. The oversampling only increases the sample rate per frequency bin (subband or channel) and this can be used to achieve more attenuation between neighbouring bins (subband or channel) to mitigate aliasing, as shown in Figure 2.2.
---- ---- ^
---- ---- ^
...
@@ -41,34 +54,41 @@ Oversampling does not change the frequency grid of the PFB, because the frequenc
...
@@ -41,34 +54,41 @@ Oversampling does not change the frequency grid of the PFB, because the frequenc
/ \ .
/ \ .
/ \ v
/ \ v
<-> aliasing attenuation
<-> aliasing attenuation
f'_sub
f_os_sub
f_sub
f_sub
The subbands (coarse channels) are again separated into smaller bandwidth channel (fine channels). The number of channels in f'_sub is N'_chan, so f'_chan = f'_sub / N'_chan. If f_sub = K * f'_chan then K * N_sub channels from the oversampled subbands provide a continuous flat spectrum, without aliasing between subbands. The N'_chan - K channels in transition regions are dropped. The channel PFB The FFT size of the channel PFB is equal to the number of channels N'_chan, because the channel PFB has complex subband input.
Define r = p/q = N_fft/M where p and q are the smallest integers to represent r.
Figure 2.2: Surplus of freqency span of an oversampled subband that is used to attenuate the aliasing from neighbour subband
b) Channel PFB
f_sub = f'_sub/r = N'_chan * f'_chan / r = K * f'_chan
The station beamformer operates on subbands and creates beamlets. Beamforming is done per subband sample from S_ant ADC inputs. The result is a beamlet, which can be regarded as a subband with direction. After the station beamformer the beamlet subbands are again separated into smaller bandwidth channels. It is only after a channel PFB that the channels in the transistion band can be dropped. A beamlet has the same rate and bandwidth as a subband, so for this PFB analysis the beamlets can be referred to as subbands.
--> K = N'_chan / r = N'_chan * q / p
The number of channels in f_os_sub is N_os_chan, so f_os_chan = f_os_sub / N_os_chan. If f_sub = K * f_os_chan then K * N_sub channels from the oversampled subbands provide a continuous flat spectrum, without aliasing between subbands. The N_os_chan - K channels in transition regions are dropped. The FFT size of the channel PFB is equal to the number of channels N_os_chan, because the channel PFB has complex subband input.
Define R_os = p/q = N_fft / M where p and q are the smallest integers to represent R_os.
Hence to fit the integer constrain for K both N_fft and N'_chan must be integer dividible by p. The q is free to choose, but must be integer and <= p.
-->
Beamforming is done per subband sample from S_ant inputs. The result is a beamlet, which can be regarded as a subband with direction. A subband may be used for multiple beam directions, so it results in a beamlet for each direction. For the subband and beamlet samples the data rate is a factor r higher, it is only after a channel PFB that the channels in the transistion band can be dropped.
K = N_os_chan / R_os = N_os_chan * q / p
Hence to fit the integer constrain for K both the N_fft size of the FFT in the subband PFB and the N_os_chan size of the FFT in the channel PFB must be integer dividible by p. The q is free to choose, but must be integer and <= p to have R_os >= 1.
3) Compatibility with LOFAR 1.0
3) Compatibility with LOFAR1
In LOFAR 1.0 the subband PFB F_sub has N_fft = 1024, so N_sub = 512. The channel PFB F_chan has N_chan = 16, 64 or 256 channels. The 16 channels is use for pulsar timing (PST). In LOFAR 1.0 both F_sub and F_chan are critically sampled. Using r = p / q = 32 / 27 for LOFAR 1.0 with 64 channels fits and yields a spectrum with 54 channels per f_sub, so the channel width then increases by the oversample factor.
In LOFAR1 the subband PFB called F_sub has N_fft = 1024, so N_sub = 512 subbands. The channel PFB called F_chan has N_chan = 16, 64 or 256 channels. The 16 channels is use for pulsar timing (PST). In LOFAR1 both F_sub and F_chan are critically sampled. Using R_os = p / q = 32 / 27 for LOFAR1 with 64 channels fits and yields a spectrum with 54 channels per f_sub, so the channel width then increases by the oversample factor R_os.
To achieve the same width as for LOFAR 1.0 requires using r = 2 and N'_chan = 128, because r = p/q = 2/1 then yields N_chan = 64 channels per f_sub. Compared to a LOFAR 1.0 channel the phase slope over the channels from an oversampled F_sub will be a factor r less, due to that f'_sub = r * f_sub.
To achieve the same channel width as for LOFAR1 requires using R_os = 2 and N_os_chan = 128, because R_os = p/q = 2/1 then yields N_chan = 64 channels per f_sub.
This R_os = 2 preserves the channel bandwidth of LOFAR1, but not the phase slope, because compared to a LOFAR1 channel the phase slope over the channels from an oversampled F_sub will be a factor R_os less, due to that f_os_sub = R_os * f_sub. Using R_os = 2 does fit the existing LOFAR1 frequency grid, but will cause a factor R_os = 2 higher output rate to CEP, because the data rate can only be reduced again after the channel filter. Therefore a solution can be to move the channel filter from CEP to the stations, but that requires supporting different channel filters at the station and limits the possibility to simultaneously apply different channel filters in parallel for different applications.
I do not think it is possible to support LOFAR 1.0 channel width with an oversampled F_sub for r < 2. Also not with an oversampled channel PFB, because oversampling does not change the channel frequency grid. Using r = 2 does fit the existing LOFAR 1.0 frequency grid, but will cause a factor r = 2 higher output rate to CEP, because the data rate can only be reduced again after the channel filter. Therefore a solution can be to move the fine channel filter from CEP to the stations.
The preferred oversampling rate is >= 1 and << 2, and is a balance between required signal quality and available data rate. It is not possible to support LOFAR1 channel frequency grid with an oversampled F_sub for R_os < 2. Also not with an oversampled channel PFB, because oversampling does not change the channel frequency grid. Therefore to be able to combine (correlate or beamform) channels from LOFAR1 stations and LOFAR2.0 stations, the LOFAR2.0 station also needs to use the same critically sampled filterbank as LOFAR1.
4) Required oversampling factor
4) Required oversampling factor
The required oversampling factor depends on the stop band attenuation and stop band bandwidth, and is a trade of between data rate and processing load. The N_fft = 1024 is a power of 2, so p in r = p/q also has to be a power of two, e.g.:
The required oversampling factor depends on the required stop band attenuation and the available stop band bandwidth. The available stop band bandwidth depends on the available IO data rate and processing load. The N_fft = 1024 is a power of 2, so p in R_os = p/q also has to be a power of two, e.g.:
32/28 = 8/7 ~= 1.143
32/28 = 8/7 ~= 1.143
32/27 ~= 1.185 <-- used by ASKAP, LFAA
32/27 ~= 1.185 <-- used by ASKAP, LFAA
...
@@ -76,11 +96,21 @@ The required oversampling factor depends on the stop band attenuation and stop b
...
@@ -76,11 +96,21 @@ The required oversampling factor depends on the stop band attenuation and stop b
32/25 = ~= 1.280
32/25 = ~= 1.280
32/24 = 4/3 ~= 1.333
32/24 = 4/3 ~= 1.333
For budget analysis of processing and IO resources assume that LOFAR2.0 will use R_os <= 1.28.
5) Working of synthesis oversampled filterbank
5) Working of synthesis oversampled filterbank
Reconstruction from f'_sub (beamlets) or from f'_chan
To be done:
Reconstruction from f_os_sub (beamlets) or from f_os_chan
Why reconstruct to time series, to sperate to new channels?
Why reconstruct to time series, to seperate to new channels?
Reconstruct the whole band or only a part of the band e.g. 16 MHz for VLBI?
Reconstruct the whole band or only a part of the band e.g. 16 MHz for VLBI?
6) Conclusion
Assumptions:
- LOFAR2.0 stage 1 will initially use the same critically sampled subband filterbank as LOFAR1, to be compatible.
- For budget analysis of processing and IO resources assume that LOFAR2.0 will use R_os <= 1.28.