" # Reconstructed time signal is the pfs output from the Ndft polyphases.\n",
" # Reconstructed time signal is the pfs output from the Ndft polyphases.\n",
" # . For upsampling the commutator selects the pfs polyphases 0 : Ndft-1,\n",
" # . For upsampling the commutator selects the pfs polyphases 0 : Ndft-1,\n",
" # which fits the data output order in time\n",
" # which fits the data output order in time\n",
...
@@ -668,7 +659,7 @@
...
@@ -668,7 +659,7 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 205,
"execution_count": 24,
"id": "e01f671d",
"id": "e01f671d",
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
...
@@ -693,7 +684,7 @@
...
@@ -693,7 +684,7 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 207,
"execution_count": 25,
"id": "c0573913",
"id": "c0573913",
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
...
...
%% Cell type:markdown id:c69a2eb8 tags:
%% Cell type:markdown id:c69a2eb8 tags:
# Try polyphase filterbank (PFB)
# Try polyphase filterbank (PFB)
Author: Eric Kooistra, apr 2024
Author: Eric Kooistra, apr 2024
Purpose:
Purpose:
* Practise DSP [1].
* Practise DSP [1].
* Try to reproduce LOFAR subband filterbank in Python instead of MATLAB [2]
* Try to reproduce LOFAR subband filterbank in Python instead of MATLAB [2]
* Investigate reconstruction using critically sampled analysis PFB and synthesis PFB
* Investigate reconstruction using critically sampled analysis PFB and synthesis PFB
Result:
Result:
* Reconstruction with SNR = pow(input) / pow(input - reconctructed) > 18 dB does not seem feasible, for any firType. Increasing Ntaps also does not help.
* Reconstruction with SNR = pow(input) / pow(input - reconctructed) > 18 dB does not seem feasible, for any firType. Increasing Ntaps also does not help.
* Stop band attenuation is important for loss due to aliasing from other than neighbour subband
* Stop band attenuation is important for loss due to aliasing from other than neighbour subband
* Half power gain is important for all pass transfer function across neighbouring subbands
* Half power gain is important for all pass transfer function across neighbouring subbands
* LOFAR subband filter achieves SNR = 14 dB with hpFactor = 0.96 to have fcutoff ~= sqrt(0.5)
* LOFAR subband filter achieves SNR = 14 dB with hpFactor = 0.96 to have fcutoff ~= sqrt(0.5)