Sine Wave Generation Using Interpolation and Random Truncation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current digital circuit methods for generating sine waves are limited, resulting in high power consumption, high cost, and poor time-domain and frequency-domain effects, with many methods only capable of generating sine waves with specific frequencies and prone to inaccurate frequency or drift.
Innovation Solution
A sine wave generating apparatus and method that uses a phase accumulating module to generate address information, an interpolation module to derive additional data from a value search table, and a random truncating module to prevent distortion, allowing for the generation of sine waves with richer and more accurate frequencies using a smaller digital circuit area.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a value search table is used to store sine wave data, then sine wave generation is simple, but the circuit area increases and frequency resolution is limited
Solution Approach 1:
The patent segments the address information into integer part and decimal part, where the integer part indexes the value search table and the decimal part controls the interpolation depth. This segmentation allows the system to use a smaller value search table while achieving higher frequency resolution through iterative interpolation.
Solution Approach 2:
The patent implements nested interpolation where the decimal address information is used to iteratively refine the address selection. Each bit of the decimal address information controls one level of interpolation, creating a nested structure that expands the effective resolution without proportionally increasing the value search table size.
2Measurement precision
If the value search table capacity is increased to achieve more frequencies, then frequency resolution improves, but the circuit area increases
Solution Approach 1:
The patent adds a temporal dimension to the address selection process by using iterative interpolation over multiple clock cycles. Instead of directly indexing the value search table with high-resolution address information, the system iteratively refines the address selection, effectively trading time for space.
Solution Approach 2:
The patent performs preliminary interpolation calculations using the decimal address information before final address selection. The interpolation module pre-calculates potential address candidates based on the decimal part, allowing the system to achieve high frequency resolution without requiring a proportionally large value search table.
3Productivity
If direct output from value search table is used, then generation speed is fast, but frequency accuracy is limited
Solution Approach 1:
The patent maintains continuous sine wave generation by performing interpolation calculations in parallel with the phase accumulator operation. The interpolation module continuously refines the address information based on the decimal part, ensuring that the useful action of sine wave generation continues without interruption while improving frequency accuracy.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
A sine wave generating apparatus comprises: a phase accumulating module, configured to acquire configuration information of a sine wave, and generate address information according to the configuration information, the address information of the sine wave comprising integer address information and decimal address information; a value searching module, configured to search for first data information and second data information of the sine wave according to the integer address information; an interpolation module, configured to conduct interpolation between the first data information and the second data information according to the bit width of the decimal address information, and acquire interpolation original data information of the sine wave according to the decimal address information; a random truncating module, configured to conduct truncation processing on the interpolation original data according to the bit width of the decimal address information and a pseudorandom sequence output value to acquire final interpolation data information of the sine wave; and a sine wave generating module, configured to generate image information of the sine wave according to the final interpolation data information of the sine wave.