Digital Filter Coefficient Compression Using Difference Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High precision digital signal processing systems require large bit-widths for storing numerous filter coefficients, leading to significant storage area requirements on silicon chips, especially in high SNR FIR filters and sigma-delta converters.

Innovation Solution

Storing consecutive difference values instead of filter coefficients, which are much smaller, allowing for reduced bit-widths and memory area usage, with additional approaches involving higher-order differences to further minimize storage needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If filter coefficients are stored at higher precision to achieve high signal-to-noise ratio, then filtering quality is improved, but memory area and bit-width requirements increase

Engineering Contradiction:
Improvesignal-to-noise ratioVSAvoidmemory area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent transforms the storage parameter from absolute coefficient values to difference values between consecutive coefficients. This parameter change exploits the correlation between adjacent coefficients to reduce the bit-width required for storage while maintaining the ability to reconstruct high-precision coefficients during operation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent extracts only the essential information needed for reconstruction by storing difference values rather than complete coefficient values. This extraction approach separates the significant variation information (differences) from the redundant absolute value information, reducing storage requirements while preserving signal quality.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If the number of filter taps is increased to improve filtering performance, then filter quality is improved, but storage requirements increase

Engineering Contradiction:
Improvefiltering qualityVSAvoidnumber of coefficients
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies difference encoding to each coefficient in the sequence, transforming the storage representation from N absolute values to N-1 difference values plus one reference value. This parameter transformation reduces the storage quantity for filters with large numbers of taps while maintaining filtering performance.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If bit-width of coefficient storage is increased to reduce quantization noise, then signal quality is improved, but memory area and routing complexity increase

Engineering Contradiction:
Improvequantization precisionVSAvoidrouting complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent changes the storage parameter from high-bit-width absolute coefficients to low-bit-width difference values. This parameter change directly reduces quantization noise by using sufficient precision for the difference values while dramatically reducing the bit-width, thereby simplifying routing and memory design without sacrificing signal quality.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8271567B2Methods and systems for compression, storage, and generation of digital filter coefficients
Publication Date: 2012.09.18 INTERSIL AMERICAS INC
  • US8271567B2 patent drawing
  • US8271567B2 patent drawing
  • US8271567B2 patent drawing

AI summary

A method and system for compressing coefficients of a digital filter is provided. In one approach, the method comprises providing a digital filter having a plurality of consecutive filter coefficients including a first filter coefficient, determining consecutive difference values between each of the consecutive filter coefficients, and storing the first filter coefficient and the consecutive difference values in a memory. The consecutive filter coefficients are generated by retrieving the first filter coefficient, and adding a first difference value to the first filter coefficient to generate a consecutive second filter coefficient. The first difference value corresponds to a difference between the first filter coefficient and the second filter coefficient. A consecutive next difference value is then added to the second filter coefficient to generate a consecutive next filter coefficient. The consecutive next difference value corresponds to a difference between the second filter coefficient and the consecutive next filter coefficient.