-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dsp: p_firsym: API issue and implementation #158
Comments
Take a look at the "firs" function from TI and let me know what you think. Some of the usage restrictions in that function seem reasonable. |
OK, so Another possible compromise solution would be to make TL;DR: make 4 functions ( BTW, now I get the idea behind passing |
Is there even a point? I know symmetrical filters are good for ASICs and FPGAs, but in most microprocessors, if you have one op per clock cycle and (MUL, ADD, or MAC), then there might be a big gain in doing the symmetrical fir versus the standard fir? Is the function essential? |
Hmmm... That's true. I get stuck on an FPGA thinking, didn't even thought of that. But I've written function the Since it's the only way to really, I just coded On the PC, both function are roughly the same for small On the ARM core, I cannot explain why, but aparrently i7AM3558 |
Great data. Not sure I completely understand the diff between type 1 and type 2 and why the TI on eis type2? Are you ok with the restrictions on the number coefficients being 3? |
I should've given an example from the start!
I think TI implemented type 2 because it is easier code. I lean towards type 1 because it has no restriction. For the example above, the function parameters would be: At this moment, the the code is written so that there are no restrictions on |
Although I think having a separate implementation specific for filters with symmetric coefficients is a great idea, there is the issue of dealing with the different types of symmetric FIR filters. For reference:
The way the function description is written today, I guess it would imply a type II filter. The implementation of all these FIR are very similar, but it should be defined whether it would make more sense to have (a) a single function that support all types of filters or (b) different functions.
For (a), the function interface needs to be updated to either pass symmetric/anti-symmetric and odd/even length parameters or the filter type. Option (b) would mean less branching and more straightforward code, although it could increase code footprint if someone used all 4 kinds of filters in a project (something really unlikely in practice).
I've written the code, but I guess I'll wait for a consensus before submitting a pull request.
The text was updated successfully, but these errors were encountered: