Skip to content
Snippets Groups Projects
Commit 39fe0b32 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Updated descriptions.

parent 5b0b0936
No related branches found
No related tags found
1 merge request!205Added g_sepa_switch_en to support mitigation of quantization noise crosstalk...
Pipeline #25523 passed
......@@ -42,6 +42,8 @@
-- out_eop __________| |_______| |_______| |_______| |_______| |___
--
-- Remark:
-- . Use VHDL coding template from:
-- https://support.astron.nl/confluence/display/SBe/VHDL+design+patterns+for+RTL+coding
-- . The out_sop and out_eop are created as well, for reference.
-- . The out_sync1 for LOFAR1 style is only avaiable if g_pipeline = TRUE,
-- because the pipeline is needed to let the out_sync1 preceed the
......
......@@ -39,15 +39,22 @@
-- an alternating way: A(0), B(0), A(1), B(1).... etc
--
--
-- Remarks: When g_fft.nof_chan is used the spectrums at the output will be interleaved
-- per spectrum and NOT per sample. So in case g_fft.nof_chan = 1 there will be
-- two multiplexed channels at the input (c0t0 means channel 0, timestamp 0) :
-- Remarks:
-- . When g_fft.use_separate = TRUE, then the two real inputs are pseudo randomly
-- multiplied by +1 or -1 every block of input samples in fft_switch. At the
-- FFT output this is undone by fft_unswitch. In this way any crosstalk due
-- to quantization noise between the two real inputs gets scrambled and thus
-- averages to zero when integrated over multiple blocks.
--
-- . When g_fft.nof_chan is used the spectrums at the output will be interleaved
-- per spectrum and NOT per sample. So in case g_fft.nof_chan = 1 there will be
-- two multiplexed channels at the input (c0t0 means channel 0, timestamp 0) :
--
-- c0t0 c1t0s c0t1 c1t1 c0t2 c1t2 ... c0t15 c1t15
-- c0t0 c1t0s c0t1 c1t1 c0t2 c1t2 ... c0t15 c1t15
--
-- At the output will find:
-- At the output will find:
--
-- c0f0 c0f1 c0f2 ... c0f15 c1f0 c1f1 c1f2 ... c1f15 (c0f0 means channel 0, frequency bin 0)
-- c0f0 c0f1 c0f2 ... c0f15 c1f0 c1f1 c1f2 ... c1f15 (c0f0 means channel 0, frequency bin 0)
--
--
......
......@@ -22,6 +22,16 @@
-- Purpose: Scramble quantization noise crosstalk between two real inputs
-- Description:
-- . Ported from LOFAR1, see readme_lofar1.txt
-- . The fft_switch multiplies the samples from two real inputs A and B in a
-- block by +1 or -1. The fft_unswitch undoes this by multiplying the FFT
-- output again by +1 and -1. The fft_unswitch takes account of that the FFT
-- has time mutliplexed the two spectra of the two inputs.
-- . The input switching is pseudo random base on a LFSR (linear feedback
-- shift register) sequence. The fft_switch and fft_unswitch start at the
-- first in_val = '1' and then continue 'forever' until a next power cycle
-- by rst ='1'.
-- Remark:
-- . Copy from applications/lofar1/RSP/pft2/src/vhdl/pft_switch.vhd
-- . Removed in_sync, because the in_val are guaranteed to arrive in blocks of
-- c_nof_clk_per_block samples, forever after rst release.
-- The purpose of the in_sync is to recover from an fractional input block,
......@@ -29,7 +39,9 @@
-- processing, without need for in_sync to recover from fractional blocks.
-- The application that uses the FFT must guarantee to only pass on complete
-- blocks of c_nof_clk_per_block samples to the FFT.
-- Remark: Copy from applications/lofar1/RSP/pft2/src/vhdl/pft_switch.vhd
-- . The two real inputs each use another LFSR sequence, like for LOFAR1.
-- For the crosstalk mitigation purpose scrambling only one input would be
-- enough, but scrambling both inputs is fine too.
LIBRARY IEEE, common_lib;
USE IEEE.std_logic_1164.ALL;
......
......@@ -22,9 +22,11 @@
-- Purpose: Scramble quantization noise crosstalk between two real inputs
-- Description:
-- . Ported from LOFAR1, see readme_lofar1.txt
-- . See fft_switch.vhd
-- Remark:
-- . Copy from applications/lofar1/RSP/pft2/src/vhdl/pft_unswitch.vhd
-- . Removed in_sync, because the in_val are guaranteed to arrive in blocks of
-- c_nof_clk_per_block samples, forever after rst release.
-- Remark: Copy from applications/lofar1/RSP/pft2/src/vhdl/pft_unswitch.vhd
LIBRARY IEEE, common_lib;
USE IEEE.std_logic_1164.ALL;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment