Popis: |
An adaptive filter (AF) is a digital filter that has a transfer function that changes based on changes in the surroundings. Adaptive filters can adjust their weights using cost functions similar to a neural network. Implementation of the adaptive filter in hardware allows it to have higher speed (Consumes lesser number of clock cycles) and hence also saving on power. A regular Digital Signal Processor (DSP) may also be employed to do the same but it will never come close to the performance of dedicated hardware. An improvement in this said hardware will directly boost the performance of all use-cases. Simulation of the existing design gives an idea of the current data flow and architecture. Exploring different potential improvements in design and then weighing the outcome gain vs effort to add the functionality is done. An improvement is chosen and implemented. Once it does the intended functionality, It is profiled to see the improvement in performance. A large Filter task is divided into multiple threads. These are executed sequentially. In the current design, a thread has 3 status registers to indicate whether it’s in progress, pending, next. A scenario in which a certain thread needs to be canceled, it can only be done if the thread is not already in progress, which will lead to wasted clock cycles. Hence the ability to stop a thread executing midway will save those clock cycles. |