VHDL implementation of a polyphase filter bank with polyphase filter and 5ndft
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.3KB

pfb_5n_vhdl - a simple 5x2n Polyphase Filter Bank VHDL implementation

VHDL implementation of a polyphase filter bank with polyphase filter and 5ndft. A few improvements (regarding synthesis) has been made on both components compare to the separate ones on their respectively repos (on this instance), but the general principle is the same.

This implementation uses parallel timing computation: a definite number of different data edges are computed on the same clock edge, through parallel polyphase filters and dfts replications. The main omponent discriminating which input data is given to which parallel pfb is the shiftreg component.

Usage - Workflow

  1. Download the repo on your computer
  2. Use (or replicate principle of) the main matlab file, which creates a signal and operate filtering and DFT on it. Both input and output are stored in txt files, while the used coefficients (the matlab generated ones) are stored on 2 different vhdl files, through specific functions.
  3. Because Matlab manipulates table instead of timed data edges, maybe some inputs and outputs columns will make your vhdl simulations and comparisons between Matlab and VHDL entities be wrong (delay or spacial shift); just delete these columns on Matlab (examples on the Matlab file is shown round line 149 (s_pol transformed).
  4. Simulate your entities and validate