hi sabastian,

when i was talking about shifter setting, i had assumed you were using the
casper fft block.
i don't know much about the xilinx fft block.

sounds like you have plenty of bits of precision in the xilinx fft (34
bits), so i suggest when you
input your your data from the adc to the FFT, to avoid overflow, don't put
the 8 bits of your ADC at the top (MSB) of the 34 bits input to the FFT.
i suggest move the 8 bit down at least 10 bits from the top -  (sign extend
the top 10 bits from the 2's complement sign bit of the ADC).
then you won't have an overflow in the FFT, even with a pure sine wave,
and when the sine wave grows by 10 bits, you'll have 34 bits of dynamic
range at the end of the fft computation.

best wishes,

dan


Dan Werthimer
Marilyn and Watson Alberts Chair
Astronomy Dept and Space Sciences Lab
University of California, Berkeley


On Thu, Sep 12, 2019 at 7:15 AM Sebastian Antonio Jorquera Tapia <
sebastian.jorqu...@ug.uchile.cl> wrote:

> I am using the Xilinx FFT 7.0 full precision with 1024 channels , I set
> the phase size in 34 bits and the input at the FFT is also 34 bits. The
> datasheet of the Xilinx Ip core says that every two stages inside the FFT
> there is rounding that only increase the data type 1 bit per stage.
> Always seems odd that the Xilinx FFT output size doesn't depend on the
> twiddle factors bit width and only needs the information of the FFT
> length to calculate the output size, so i think that my worst scenario
> would be that the saturation is inside the FFT because is perse a black box.
>
> When I was designing the model I tried to avoid the overflow using large
> data sizes, but like the idea was to achieve a larger dynamic range the
> anti aliasing filters in the decimation have a large order (the bigger one
> has 512 coefficients) so I had to make several roundings stage to keep the
> data size handable, os I am going to take a look at every output.
>
> The principal problem reducing the amplitude, is that the effect disappear
> several orders of magnitude below the ADC maximum value for example my ADC
> saturate at -3dBm and the effect disappear approx at -40 dBm, so if the
> problem is a saturation issue is in the digital part.
>
>
>
>
>
> El jue., 12 sept. 2019 a las 1:44, Dan Werthimer (<d...@ssl.berkeley.edu>)
> escribió:
>
>>
>> hi sabastian,
>>
>> what are your FFT settings?
>> if you are processing a pure sine wave the signal will grow by a factor
>> of two every stage
>> (there are log2N stages - so if your spectrometer produces 1024 channels,
>> it will have 10 stages).
>>
>> if you are starting the FFT by injecting your ADC at the most significant
>> bits,
>> (eg: an 8 bit adc is input into the 8 MSB's of an18 bit FFT),
>> then you need to downshift every stage (set shifter setting to FFFF).
>>
>> best wishes,
>>
>> dan
>>
>>
>>
>>
>> Dan Werthimer
>> Marilyn and Watson Alberts Chair
>> Astronomy Dept and Space Sciences Lab
>> University of California, Berkeley
>>
>>
>> On Wed, Sep 11, 2019 at 8:05 PM Sebastian Antonio Jorquera Tapia <
>> sebastian.jorqu...@ug.uchile.cl> wrote:
>>
>>> That makes total sense, because when I drop the signal to lower values
>>> the behaviour disappear but this again reduce my available dynamic range :(
>>> I'm going to check every stage looking where the system saturates.
>>> Thanks for the idea!
>>>
>>>
>>> El vie., 6 sept. 2019 a las 0:43, Ross Martin (<ross.mar...@ieee.org>)
>>> escribió:
>>>
>>>> Sebastian,
>>>>
>>>> It looks like maybe you're using a channelizer size of around 1000.
>>>> For a 1000-point channelizer, if you have one sample that overflows in the
>>>> channelizer filter, that will act like a source of impulse noise, which is
>>>> a constant function across all spectral bins.  Furthermore, the amplitude
>>>> of the impulse could be approximately full scale, but in only a single
>>>> sample.  In that case its average power would be about 1/1000.  When this
>>>> power is put into the spectral domain it's spread evenly across all 1000
>>>> frequencies, and the power in a single frequency bin is approximately
>>>> 1/1000/1000.  That's about -60dB, which is close to the error level you're
>>>> seeing.
>>>>
>>>> So I'll bet your problem is overflow. If so, reducing the amplitude of
>>>> your sine wave by a factor of 4 should certainly fix it. A factor of 2 will
>>>> also probably work.
>>>>
>>>> Ross
>>>> r...@bitbybitsp.com
>>>>
>>>>
>>>> On Wed, Sep 4, 2019, 10:52 AM Dan Werthimer <d...@ssl.berkeley.edu>
>>>> wrote:
>>>>
>>>>>
>>>>> the snr increases with sqr(number of samples added),
>>>>> and that increase can be from decimation or adding spectra together
>>>>> (integration), or better yet, both.
>>>>> but if you don't have noise, the quantization and interleave spurs
>>>>> will not improve with sqr(Nsamples).
>>>>>
>>>>> best wishes,
>>>>>
>>>>> dan
>>>>>
>>>>>
>>>>> On Wed, Sep 4, 2019 at 12:47 PM Sebastian Antonio Jorquera Tapia <
>>>>> sebastian.jorqu...@ug.uchile.cl> wrote:
>>>>>
>>>>>> One question, at my understanding if I use a filter to decimate I'm
>>>>>> ,in a certain way, adding all the samples using the filter for the
>>>>>> decimation, like  averaging with the appropriate weights for one 
>>>>>> frequency
>>>>>> range. So the decimation filter should interpret the same role as the
>>>>>> accumulation you mention.
>>>>>>
>>>>>> Aside from that, I have a throughput requirement so I can't add a lot
>>>>>> of samples... The dithering you mention only works with a proper
>>>>>> accumulation right? because I tried to add noise to my system and didn't
>>>>>> see a difference.
>>>>>>
>>>>>>
>>>>>> El mié., 4 sept. 2019 a las 14:14, Dan Werthimer (<
>>>>>> d...@ssl.berkeley.edu>) escribió:
>>>>>>
>>>>>>>
>>>>>>> you can get extremely high SNR if you add noise to your sine wave
>>>>>>> signal.
>>>>>>> and then integrate many spectra together to beat down the noise.
>>>>>>> to get rid of ADC quantization noise and other spurs,
>>>>>>> you should have noise at least at the one LSB level, better if you
>>>>>>> have two LSB's of noise.
>>>>>>> then you can get 150 dB SNR if you add enough spectra together.
>>>>>>>
>>>>>>> dan
>>>>>>>
>>>>>>>
>>>>>>> Dan Werthimer
>>>>>>> Marilyn and Watson Alberts Chair
>>>>>>> Astronomy Dept and Space Sciences Lab
>>>>>>> University of California, Berkeley
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Sep 4, 2019 at 10:39 AM Sebastian Antonio Jorquera Tapia <
>>>>>>> sebastian.jorqu...@ug.uchile.cl> wrote:
>>>>>>>
>>>>>>>> Hi casperites,
>>>>>>>> I have been working in project that needs a high SNR In order to
>>>>>>>> achieve that I made a model with 3 decimation steps with factors 16, 8 
>>>>>>>> and
>>>>>>>> 4, to zooming the frequency range [50.625, 52.730]MHz and then put the
>>>>>>>> PFB-FFT combo.
>>>>>>>> The system achieve 100dB of SNR for inputs with the same
>>>>>>>> frequencies of the FFT twiddle factors, but outside those frequencies 
>>>>>>>> the
>>>>>>>> noise floor goes up 50dB in the worst cases, which is when the signal 
>>>>>>>> is
>>>>>>>> between two bins.
>>>>>>>> I am using the 8 bit aasia ADC, so the SNR without any further
>>>>>>>> processing should de 48  dB approx, so in the bad cases we loose the
>>>>>>>> improvement due decimation.
>>>>>>>> I attached the pictures of the response in the best and in the
>>>>>>>> worst case.
>>>>>>>>
>>>>>>>> There is a limitation in the amount of decimation that one could
>>>>>>>> make tho improve the SNR??  Or I am missing some assumption of the
>>>>>>>> improvement due decimation that I am not meeting?
>>>>>>>> Has anybody faced a similar problem?
>>>>>>>>
>>>>>>>>
>>>>>>>> Cheers!
>>>>>>>>
>>>>>>>> [image: worst_response.png]
>>>>>>>>
>>>>>>>>
>>>>>>>> [image: best_response.png]
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "casper@lists.berkeley.edu" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to casper+unsubscr...@lists.berkeley.edu.
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/93a6ec1c-7a2e-46de-9d6d-2ea460c9570a%40lists.berkeley.edu
>>>>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/93a6ec1c-7a2e-46de-9d6d-2ea460c9570a%40lists.berkeley.edu?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "casper@lists.berkeley.edu" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to casper+unsubscr...@lists.berkeley.edu.
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vFFKY2Xysw-B1A0eA9vhvXDvLkn9FEByUPVaMjb33EMOQ%40mail.gmail.com
>>>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vFFKY2Xysw-B1A0eA9vhvXDvLkn9FEByUPVaMjb33EMOQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "casper@lists.berkeley.edu" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to casper+unsubscr...@lists.berkeley.edu.
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAASoV%3DMTXOV11tYDZwRG23c%2BNcBiTYCPPZ9Rzoy8z0t93WupvA%40mail.gmail.com
>>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAASoV%3DMTXOV11tYDZwRG23c%2BNcBiTYCPPZ9Rzoy8z0t93WupvA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "casper@lists.berkeley.edu" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to casper+unsubscr...@lists.berkeley.edu.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vFXTXRVqEFGgLL8vLkLhahwS6s59Lk2A5MOxHqzbuAj9Q%40mail.gmail.com
>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vFXTXRVqEFGgLL8vLkLhahwS6s59Lk2A5MOxHqzbuAj9Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "casper@lists.berkeley.edu" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to casper+unsubscr...@lists.berkeley.edu.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAG4nf70iUdnPfTzNgfjo%2BpKp-7G08xenn_%3DSTYzEOnRNpETLuQ%40mail.gmail.com
>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAG4nf70iUdnPfTzNgfjo%2BpKp-7G08xenn_%3DSTYzEOnRNpETLuQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "casper@lists.berkeley.edu" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to casper+unsubscr...@lists.berkeley.edu.
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAASoV%3DNLgTYOFV1tHEyVG8wa3E7nmLp12di2ks%3D4dG%3DoqNsg8Q%40mail.gmail.com
>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAASoV%3DNLgTYOFV1tHEyVG8wa3E7nmLp12di2ks%3D4dG%3DoqNsg8Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "casper@lists.berkeley.edu" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to casper+unsubscr...@lists.berkeley.edu.
>> To view this discussion on the web visit
>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vEF4md3VLauVtYM5ZgD5y%3D9sfQROUgchinKvNbr0T%3D16A%40mail.gmail.com
>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vEF4md3VLauVtYM5ZgD5y%3D9sfQROUgchinKvNbr0T%3D16A%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups "
> casper@lists.berkeley.edu" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to casper+unsubscr...@lists.berkeley.edu.
> To view this discussion on the web visit
> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAASoV%3DPmwwVEJRqc_KYCHCtUKmRWbTfeEDpfont-T%3DqB2yhYGA%40mail.gmail.com
> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAASoV%3DPmwwVEJRqc_KYCHCtUKmRWbTfeEDpfont-T%3DqB2yhYGA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"casper@lists.berkeley.edu" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to casper+unsubscr...@lists.berkeley.edu.
To view this discussion on the web visit 
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vGWR452aW%3DZgk6EzRkoQeE%3DomviUffR7fC0uC_iJAhy5g%40mail.gmail.com.

Reply via email to