Post Go back to editing

SHARC and partitionned convolution filter

Category: Hardware
Product Number: 0

I'm performing partitioned convolution filtering using 12 ARM Cortex-M7 processors (IMXRT1062). The convolution code functions properly, but I'm encountering synchronization and memory issues.

Recently, I came across the SHARC family of processors, and they seem intriguing. Hence, I'm wondering if a single SHARC Audio Module could be powerful enough to replace all 12 of my Cortex-M7 processors?

Thread Notes

  • Hi, how large is the convolution is and how do you partition them for 12 M7 processors. SHARC Audio module has a SC589 processor populated that features 450 MHz dual SHARC DSP cores and one A5 core. In addition, SC589 FFT accelerator gives users additional capability to do FFT-based convolution.

  • Each M7 processor is executing the same code, which consists of a convolution between two signals of 12800 points (more is better). Currently, the convolution is performed in blocks of 128 elements using FFT. It's worth noting that I only need to compute one FFT in real-time; the other FFT (FFT of the coefficients of the FIR filter) is pre-calculated.

  • What is your target time for 12800 points convolutions? Did you mean 12 M7 would process 12 * 12800 point convolutions? Is it a parallel processing or serial processing? SHARC SC589 FFT accelerator is better than the SHARC core on the FFT compute. It supports 64, 128, 256, 512, 1024, 2048 points in small FFT mode and 4096, 8192, 16384, 32768, 65536,131072, 262144, 524288, 1048576, 2097152, 4194304 points in large FFT mode. SHARC core has two processing units (ALU and MAC) which allow users to double processing capability.