intabsIdx=2*blockDim.y*(blockIdx.x*pfbParams.coarse_channels+(channelMin+blockIdx.y))+2*threadIdx.y;// times 2 because we are mapping a sequence of values to char2 array.
intabsIdx=2*blockDim.y*(blockIdx.x*pfbParams.coarse_channels+(channelMin+blockIdx.y))+2*threadIdx.y;// times 2 because we are mapping a sequence of values to char2 array.
intsizeTotalDataBlock_out=pfbParams.samples*g_iNumSubBands*sizeof(float2);// output fft array same size as output data for convinence the full size is not used. In the pfb function the output data will be the fft counter times block amount in the fft.
// New variables ///////////////////////////////////
intg_iNwindows=125;// with 8000 time samples, but with 4032 samples, Nwindows = 63
intsizeTotalDataBlock_disc=(g_iNFFT/2)*g_iNwindows*g_iNumSubBands*sizeof(float2);// Not sure about the value of this yet.
g_dimGPFB.y=125;// with 8000 time samples, but with 4032 samples, g_dimBPFB.y = 63
g_dimGCopy.y=125;// same as g_dimGPFB.y
// g_dimBPFB.y = 63; // No. of windows given 64 point FFTs and 4000 time samples per block. Since 4000/64=62.5, I need to see whether 32 samples should be discarded.
// g_dimGPFB.y = 63; // No. of windows given 64 point FFTs and 4000 time samples per block
#define DEF_NUM_CHANNELS 25 // System spec for total number of channels
#define DEF_NUM_CHANNELS 20 // System spec for total number of channels (previously 25)
#define PFB_CHANNELS 5 // Number of coarse channels through PFB
#define DEF_NUM_ELEMENTS 64 // System spec for number of elements
#define SAMPLES 4000// Time samples.
#define SAMPLES 8000// Time samples. Used to be 4000 with 64 points
#define PFB_OUTPUT_BLOCK_SIZE (SAMPLES+3*32)*PFB_CHANNELS*DEF_NUM_ELEMENTS*2 // (3*DEF_LEN_SPEC is to add more samples on the end to make it look like 128 pfb windows had been processed for the pfb correlator)