agreed.   anybody already have, or want to develop, a coefficient
interpolator?

dan

On Mon, Jan 21, 2013 at 3:44 PM, Aaron Parsons <apars...@astron.berkeley.edu
> wrote:

> Agreed.
>
> The coefficient interpolator, however, could get substantial savings
> beyond that, even, and could be applicable to many things besides PFBs.
>
> On Mon, Jan 21, 2013 at 3:36 PM, Dan Werthimer <d...@ssl.berkeley.edu>wrote:
>
>>
>> hi aaron,
>>
>> if you use xilinx brams for coefficients, they can be configured as dual
>> port memories,
>> so you can get the PFB reverse and forward coefficients both at the same
>> time,
>> from the same memory,  almost for free, without any memory size penalty
>> over single port,
>>
>> dan
>>
>>
>>
>>
>> On Mon, Jan 21, 2013 at 3:18 PM, Aaron Parsons <
>> apars...@astron.berkeley.edu> wrote:
>>
>>> You guys probably appreciate this already, but although the coefficients
>>> in the PFB FIR are generally symmetric around the center tap, the upper and
>>> lower taps use these coefficients in reverse order from one another.  In
>>> order to take advantage of the symmetry, you'll have to use dual-port ROMs
>>> that support two different addresses (one counting up and one counting
>>> down).  In the original core I wrote, I instead just shared coefficients
>>> between the real and imaginary components.  This was an easy factor of 2
>>> savings.  After that first factor of two, we found it was kind of
>>> diminishing returns...
>>>
>>> Another thought could be a small BRAM with a linear interpolator between
>>> addresses.  This would be a block with a wide range of uses, and could
>>> easily cut the size of the PFB coefficients by an order of magnitude.  The
>>> (hamming/hanning) window and the sinc that the PFB uses for its
>>> coefficients are smooth functions, making all the fine subdivisions for
>>> N>32  samples rather unnecessary.
>>>
>>> On Mon, Jan 21, 2013 at 2:56 PM, Dan Werthimer <d...@ssl.berkeley.edu>wrote:
>>>
>>>>
>>>>
>>>> hi danny and ryan,
>>>>
>>>> i suspect if you are only doing small FFT's and PFB FIR's,
>>>> 1K points or so,  then BRAM isn't likely to be the limiting resource,
>>>> so you might as well store all the coefficients with high precision.
>>>>
>>>> but for long transforms, perhaps >4K points or so,
>>>> then BRAM's might be in short supply, and then one could
>>>> consider storing fewer coefficients (and also taking advantage
>>>> of sin/cos and mirror symmetries, which don't degrade SNR at all).
>>>>
>>>> for any length FFT or PFB/FIR, even millions of points,
>>>> if you store 1K coefficients with at least at least 10 bit precision,
>>>> then the SNR will only be degraded slightly.
>>>> quantization error analysis is nicely written up in memo #1, at
>>>> https://casper.berkeley.edu/wiki/Memos
>>>>
>>>> best wishes,
>>>>
>>>> dan
>>>>
>>>>
>>>>
>>>> On Mon, Jan 21, 2013 at 4:33 AM, Danny Price 
>>>> <d...@thetelegraphic.com>wrote:
>>>>
>>>>> Hey Jason,
>>>>>
>>>>> Rewinding the thread a bit:
>>>>>
>>>>> On Fri, Jan 4, 2013 at 7:39 AM, Jason Manley <jman...@ska.ac.za>wrote:
>>>>>
>>>>>> Andrew and I have also spoken about symmetrical co-efficients in the
>>>>>> pfb_fir and I'd very much like to see this done. We recently added the
>>>>>> option to share co-efficient generators across multiple inputs, which has
>>>>>> helped a lot for designs with multiple ADCs. It seems to me that bigger
>>>>>> designs are going to be BRAM limited (FFT BRAM requirements scale
>>>>>> linearly), so we need to optimise cores to go light on this resource.
>>>>>>
>>>>>
>>>>> Agreed that BRAM is in general more precious than compute. In addition
>>>>> to using symmetrical coefficients, it might be worth looking at generating
>>>>> coefficients. I did some tests this morning with a simple moving average
>>>>> filter to turn 256 BRAM coefficients into 1024 (see attached model file),
>>>>> and it looks pretty promising: errors are a max of about 2.5%.
>>>>>
>>>>> Coupling this with symmetric coefficients could cut coefficient
>>>>> storage to 1/8th, at the cost of a few extra adders for the interpolation
>>>>> filter. Thoughts?
>>>>>
>>>>> Cheers
>>>>> Danny
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Aaron Parsons
>>> 510-306-4322
>>> Hearst Field Annex B54, UCB
>>>
>>
>>
>
>
> --
> Aaron Parsons
> 510-306-4322
> Hearst Field Annex B54, UCB
>

Reply via email to