Implementation of the filter function (Matlab) C/C++
11 views (last 30 days)
Show older comments
I am trying to apply some filtering in C/C++ code, I have designed an algorithm using `Matlab` and it works well, so now I am moving it to native code.
I am interested in the filter function. In my matlab script it is used as follows.
[y_blk, fir1_state] = filter( h, 1, x.*c, fir1_state );
Where the `h` argument is coefficients generated by `firpm` function.
I have tried to find any implementation, but unfortunately no results.
I would be very grateful if someone could provide an implementation of this function
Or maybe there is an existing implementation of this function in some library.
Thanks
2 Comments
Walter Roberson
on 19 Nov 2017
Which release are you using? In R2017b, MATLAB Coder should be able to generate C/C++ code for this
Accepted Answer
Jan
on 20 Nov 2017
You find the M-code, which creates the same output as filter here. A C code is contained in https://www.mathworks.com/matlabcentral/fileexchange/32261-filterm. There are some subfunctions for unrolled loops. I still plan to publish the the multi-threaded version with different implementations for IIR and FIR filters. But based on the provided code you might create the wanted filter easily by your own.
0 Comments
More Answers (0)
See Also
Categories
Find more on Digital Filter Design in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!