Hello,
I have a project where I want to drive 8 outputs. Each output should be driven by a weighted sum of some inputs and some feedback calculated in the system. The weights are stored in a matrix which therefore has 8 rows, and say 12 columns. The input vector is all the inputs, the output vector are 8 values to drive the outputs. I need this to be as fast as possible. It is likely that a large number of the weights are simply 0.
What is my best option for this? I am using fixed-point math and numeric accuracy is not that important. Should I use a library (https://github.com/apmorton/teensy-template/blob/master/teensy3/arm_math.h for example), or roll (hard-code) my own implementation? Which will be the fastest, or what is the usual approach for this common problem?
I have a project where I want to drive 8 outputs. Each output should be driven by a weighted sum of some inputs and some feedback calculated in the system. The weights are stored in a matrix which therefore has 8 rows, and say 12 columns. The input vector is all the inputs, the output vector are 8 values to drive the outputs. I need this to be as fast as possible. It is likely that a large number of the weights are simply 0.
What is my best option for this? I am using fixed-point math and numeric accuracy is not that important. Should I use a library (https://github.com/apmorton/teensy-template/blob/master/teensy3/arm_math.h for example), or roll (hard-code) my own implementation? Which will be the fastest, or what is the usual approach for this common problem?
Last edited: