Altera Home Page
Literature Licensing
Buy On-Line Download

  Home   |   Products   |   Support   |   End Markets   |   Technology Center   |   Education & Events   |   Corporate   |   Buy On-Line  
  Knowledge Database   |   Devices   |   Design Software   |   Intellectual Property   |   Design Examples   |   mySupport   |   Reference Designs  

 Products
      MAX/MAX II
      Stratix/Stratix GX
      Nios II
  
 Functionality
      Arithmetic
      Memory
      Bus & I/O
      Logic
      Interfaces & Peripherals
      DSP
      Communications
      PLL & Clocking
  
 Design Entry
      Quartus II Project
      Tcl
      VHDL
      Verilog HDL
      C Code Examples
      DSP Builder
      TimeQuest
   On-Chip Debugging
  
 Simulation Tools
      Mentor Graphics ModelSim
      Cadence NCsim
      Synopsys VCS
  
 Legacy Examples
      Graphic Editor
      AHDL
  

DSP Builder: Half-Band Filter Using Distributed Arithmetic (DA) & Time-Domain Multiplexing (TDM)

The design example describes an interpolation by two half-band filter with 79 taps (40 none-zero coefficients). Taking advantage of the symmetrical filter coefficients and the concept of time-domain multiplexing (TDM), the design requires only ten multipliers. The multipliers are implemented using distributed arithmetic (DA) where the partial products are stored in the M4K TriMatrix™ memory blocks. The M4K memory blocks are configured as 128x32 dual-port RAMs.

Download the files used in this example:

Files in the zip download include:

  • HBF_DA_Timeshare.mdl—DSP Builder design file implementing the interpolating half-band filter
  • init.m—MATLAB script to initialize the sampling time, and simulation time and coefficients. The script also generates the stimuli: chirp and impulse.
  • compute_partial_product.m—MATLAB script to calculate the partial products based on the initial filter coefificient values set in init.m. Two sets of partial products are calculated for each coefficient value: one for the MSB segment and the other for the LSB segment of the data. Since the design uses TDM, each LUT stores the partital product for two coefficients. 

Figure 1 shows the top-level diagram of the half-band filter design example in DSP Builder.

Figure 1. Half-Band Filter Top-Level Diagram

Figure 1. Half-Band Filter Top-Level Diagram
View full size

Table 1 lists the ports and gives a description for each.

Table 1. Half-Band Filter Port Listing
Port Name Type Description
input_data[17:0] Input 18-bit data inputs to complex multiplier unit
clken Input Clock enable
FirResult[18:0] Output 19-bit data output of filter

Related Links

For more information on related features used in this design example in your project, go to:

  Please Give Us Feedback