2-D Convolution with CMSIS

I've been investigating how to implement 2-D convolution filters (e.g. Gaussian blur, Sobel) with the CMSIS API.  

Reference discussion:  http://www.songho.ca/dsp/convolution/convolution2d_example.html

Fortunately, the 2-D filters I'm working with are separable; meaning, I can do two successive 1-D convolutions:

- 1D convolution on rows

- transpose the output

- 1D convolution on columns

- transpose the output

So I see examples on how to use 1-D convolution, but I have more questions to that:

Q1:  is there an "integer-only" example?

Q2:  I found some functions that can do matrix transpose, but the minimum base elements are q15_t.  Why aren't there q7_t variants to this?

I guess the main question to this:  has anyone done this type of operation with CMSIS?

Of note, I'm working on an i.MX1052 M7 core.  I'm also working with 8-bit data units.

Thanks, Charles

Parents Reply Children
No data