long FIR support

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

long FIR support

776 Views
jzagaja
Contributor I

When do we see DSP that support long FIRs?

0 Kudos
Reply
5 Replies

694 Views
Lorenzo_Mch_IT
Contributor IV

I've got bad news and good news for youy:

You won't see them, but on the other hand ... you don't need them.  

FIR Filters are also convolution filters, so if a FIR gets too long, you can change it's representation to a generic convolution and then you convert it into a Non-Uniform Partitioned Convolution.

https://thewolfsound.com/convolution-the-secret-behind-filtering/

http://pcfarina.eng.unipr.it/Public/Papers/188-Mohonk2003.pdf

https://ericbattenberg.com/pdf/partconvDAFx2011.pdf

https://www.convict.lu/Jeunes/ultimate_stuff/RFT.pdf

https://dsp.stackexchange.com/questions/25931/how-do-real-time-convolution-plugins-process-audio-so-...

This will allow you to use DSP/CPUs less powerful than what you'd need to handle a "basic" FIR filter implementation, but it's no magic. 

By the way, by partitioning the FIR filter implementation you can subdivide it between multiple DSP/CPUs if that option is cheaper than using more powerful/costly hardware.
IIRC in the '90 there were audio processing boards that handled 256K taps FIR filters using six DSP56000 to run a a partitioned convolution

 

 

 

0 Kudos
Reply

738 Views
jzagaja
Contributor I

with PC 262144 taps each filter  88.2 kHz the CPU less than 1% of power

can you do such a long taps?

0 Kudos
Reply

741 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

I suppose that DSC family can do FIR algorithms, If you use assembly language, the DSC can implement FIR with one cycle for each node.

The DSC is fixed point processor, in other words, the FIR is implemented with 16 bits* 16 bits,you can use MC56F84xxx/83xxx/82xxx/81xxx/80xxx to develop the code.

DSC link:

https://www.nxp.com/products/processors-and-microcontrollers/additional-mpu-mcus-architectures/digit...

You can use CodeWarrior for MCU ver10.x to develop the code.

https://www.nxp.com/design/design-center/software/development-software/codewarrior-development-tools...

 

You can use the Multilink Universal device from third party PEmicro

www.pemicro.com

You can use the rtcsel library for the FIR api.

https://www.nxp.com/design/design-center/software/embedded-software/real-time-control-embedded-softw...

 

Hope it can help you

BR

XiangJun Rong

0 Kudos
Reply

735 Views
jzagaja
Contributor I

PC with 262144 taps each filter 88.2 kHz the CPU need less than 1% of power.

Can your chip do 262144 taps?

0 Kudos
Reply

721 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

As you said that the FIR has 262144 taps, the ADC generates sample data with 88.2KHz, assume that DSP can finish the each tap(one mac instruction) with one clock cycle, the requested DSP frequency is 262144*88.2KHz= 23GHz, unfortunately, the DSC can not reach up the performance.

If you store for example 1000 ADC samples, then ADC stops, the DSP  does the FIR computation, after getting the filtered 1000 samples, then you can start ADC again..., in this way, it is okay.

Pls try to consider the hardware FIR device.

BR

XiangJun Rong

0 Kudos
Reply