Complex FIR Filtering in CMSIS DSP

Hello everyone,

I'm new to CMSIS DSP and I've been exploring its capabilities for signal processing. I'm particularly interested in performing complex FIR filtering, but I'm facing some challenges. I would process signals represented as {real1, img1, real2, img2, ...}, however, the CMSIS DSP library seems to only support real FIR filtering.

I could separate the complex signal into its real and imaginary parts and then perform real FIR filtering separately on each part. While this approach seems feasible, for my use case it would mean frequent signal representation conversions from {real1,img1,real2,img2,...} to {real1,real2,...},{img1,img2,..}. This results in multiple unnecessary copies of the signal, which could impact performance and memory usage.

I wonder if there's a more efficient way to achieve complex FIR filtering in CMSIS DSP without the need for frequent signal representation conversions and unnecessary data copying. If not, are there optimized ways to split {real1,img1,real2,img2,...} and merge the result again?

I appreciate any suggestions or documentation you can share regarding this.

Thank you for your help!