Filter banks, part 1: Principles and design techniques
By Chris Eddington, Synopsys
dspdesignline.com (January 15, 2009)
This two-part series introduces filter banks and shows how to implement them with high-level synthesis tools. Part 1 covers the principles of filter bank design.
Filter banks are part of a group of signal processing techniques that decompose signals into frequency subbands. This decomposition is useful because frequency domain processing (also called subband processing) has advantages over time domain processing. Due to their computational requirements, filter banks are typically implemented in FPGAs or ASICs.
The implementation process involves two main phases: architectural exploration and logic design. With traditional approaches, both phases are time-consuming and error-prone. High level synthesis (HLS) tools, which have been available for some time, help simplify these design issues. Most of these tools, however, have difficulty addressing the multi-rate behavior and intrinsic parallelism found in filter bank processing.
In this two-part article, we will show how a new generation of HLS tools overcomes this limitation by supporting multi-rate parallelism at multiple levels in the design flow. We will show how these enable rapid architectural exploration and implementation. We will illustrate multi-rate architectural transformation and optimizations, and show how they can reduce design and verification effort, thereby increasing the reliability of the entire design process. Part 1 provides a brief overview on the main filter bank concepts and a basic HLS design flow. Part 2 provides more details on HLS implementation.
dspdesignline.com (January 15, 2009)
This two-part series introduces filter banks and shows how to implement them with high-level synthesis tools. Part 1 covers the principles of filter bank design.
Filter banks are part of a group of signal processing techniques that decompose signals into frequency subbands. This decomposition is useful because frequency domain processing (also called subband processing) has advantages over time domain processing. Due to their computational requirements, filter banks are typically implemented in FPGAs or ASICs.
The implementation process involves two main phases: architectural exploration and logic design. With traditional approaches, both phases are time-consuming and error-prone. High level synthesis (HLS) tools, which have been available for some time, help simplify these design issues. Most of these tools, however, have difficulty addressing the multi-rate behavior and intrinsic parallelism found in filter bank processing.
In this two-part article, we will show how a new generation of HLS tools overcomes this limitation by supporting multi-rate parallelism at multiple levels in the design flow. We will show how these enable rapid architectural exploration and implementation. We will illustrate multi-rate architectural transformation and optimizations, and show how they can reduce design and verification effort, thereby increasing the reliability of the entire design process. Part 1 provides a brief overview on the main filter bank concepts and a basic HLS design flow. Part 2 provides more details on HLS implementation.
To read the full article, click here
Related Semiconductor IP
- ReRAM NVM in DB HiTek 130nm BCD
- UFS 5.0 Host Controller IP
- PDM Receiver/PDM-to-PCM Converter
- Voltage and Temperature Sensor with integrated ADC - GlobalFoundries® 22FDX®
- 8MHz / 40MHz Pierce Oscillator - X-FAB XT018-0.18µm
Related Articles
- Mapping LMS Adaptive Filter IP Core to Multiplier-Array FPGA Architecture for High Channel-Density VOIP Line Echo Cancellation
- Real-Time Face Detection Using Six-Segmented Rectangular Filter (SSR Filter)Real-Time Face Detection Using Six-Segmented Rectangular Filter (SSR Filter)
- How to write an optimized FIR filter
- Systolic FIR Filter Based FPGA
Latest Articles
- An FPGA-Based SoC Architecture with a RISC-V Controller for Energy-Efficient Temporal-Coding Spiking Neural Networks
- Enabling RISC-V Vector Code Generation in MLIR through Custom xDSL Lowerings
- A Scalable Open-Source QEC System with Sub-Microsecond Decoding-Feedback Latency
- SNAP-V: A RISC-V SoC with Configurable Neuromorphic Acceleration for Small-Scale Spiking Neural Networks
- An FPGA Implementation of Displacement Vector Search for Intra Pattern Copy in JPEG XS