Motor Control IIR Filter Circuit for Faster Output Timing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing IIR filter implementations in control systems require serial processing that takes a long time to generate output data, making it difficult to complete necessary processing within a control cycle.
Innovation Solution
A semiconductor device with a hardware accelerator that includes an arithmetic unit, memory, and control circuit to perform arithmetic operations in advance, allowing the IIR filter to determine output data by performing operations K times out of M times, where K < M, thereby reducing the time to obtain output data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If serial processing is used for multi-stage IIR filters, then processing is completed in a straightforward manner, but the time to obtain output data becomes excessively long
Solution Approach 1:
The patent performs preliminary calculations for future output data points during the current processing cycle. Specifically, while calculating output data for the current input sample, the system simultaneously calculates output data for the next sample by using previously stored intermediate calculation results, thereby preparing results in advance before they are actually needed.
Solution Approach 2:
The patent divides the IIR filter calculation into multiple stages (first stage, second stage, third stage, etc.), where each stage performs a portion of the calculation. Intermediate results from each stage are stored and reused in subsequent calculations, allowing different stages to work independently and simultaneously on different data points.
2Loss of time
If the processor speed is increased to reduce processing time, then output data is obtained faster, but device complexity and cost increase
Solution Approach 1:
The patent performs preliminary calculations for future output data points during the current processing cycle. Specifically, while calculating output data for the current input sample, the system simultaneously calculates output data for the next sample by using previously stored intermediate calculation results, thereby preparing results in advance before they are actually needed.
Solution Approach 2:
The patent ensures that the processor continuously performs useful calculations without idle waiting time. By calculating multiple future output data points in sequence during each processing cycle, the processor remains actively productive throughout, maximizing the utilization of its computational capacity without requiring higher clock speeds.
3Loss of time
If all arithmetic operations (M times) are completed before outputting data, then calculation accuracy is ensured, but processing time increases
Solution Approach 1:
The patent performs preliminary calculations for future output data points during the current processing cycle. Specifically, while calculating output data for the current input sample, the system simultaneously calculates output data for the next sample by using previously stored intermediate calculation results, thereby preparing results in advance before they are actually needed.
Solution Approach 2:
The patent calculates more data points than currently needed by performing M arithmetic operations to generate K output data points where M > K. This excessive calculation approach ensures that all necessary calculations are completed with full accuracy while producing additional pre-calculated results for future use.
Data Source
Figure 1~2
Figure 3A~3B
Figure 4A~4B
AI summary
A control circuit receives a command from outside and causes an arithmetic unit to perform arithmetic operation M times (M is an integer of 2 or more) by using input data from outside and calculated data held in a memory, thereby making the arithmetic unit and the memory function as an IIR filter. The IIR filter is a filter capable of determining output data by arithmetic operation of K times out of the M times (K < M) . The control circuit receives the command from outside and then causes the arithmetic unit to perform the arithmetic operation K times in advance, thereby determining the output data and outputting the output data to outside at that time.