OpenCores

Project maintainers

Details

Name: all-pole_filters
Created: Jun 10, 2011
Updated: Dec 1, 2016
SVN Updated: Nov 22, 2016
SVN: Browse
Latest version: download (might take a bit to start...)
Statistics: View
Bugs: 1 reported / 1 solved
Star5you like it: star it!

Other project properties

Category:DSP core
Language:VHDL
Development status:Stable
Additional info:FPGA proven
WishBone compliant: No
WishBone version: n/a
License: LGPL

Description

The circuits found here implement digital leapfrog filters as described in <http://en.wikibooks.org/wiki/Signal_ProcessingDigital_Filters>.
All filters are of lowpass type. They are optimised in terms of area.

This kind of filter structure is the digital counterpart of an analog lumped-elements ladder filter. It simulates the functioning of an all-pole lowpass filter under the assumption of a large oversampling. The circuit implements the integral relations between voltages and currents of the capacitors and the inductances with the help of accumulators. This corresponds to simplify the Z-transform to z = 1 + sT.

The relative values of the filter coefficients specify the transfer function shape (Butterworth, Chebyshev, ...). The amplitude of the coefficients specify the cutoff frequency. In the circuits provided here, this amplitude is set by a shift value given as a generic.

The filter provided are
- a 3rd order Butterworth with no multiplier (coefficients are only shifts)
- a 6th and an 8th order Bessel with coefficients optimised to 2 shifts and an addition
- a generic filter where the coefficient multiplications are executed iteratively