I'm using Filter Design HDL Coder to generate FIR filters based on DA architecture. I generate the filter coefficients by using FDA tool in matlab. Then I converts the coefficients into DA filter by using Filter Design HDL Coder. However, sometimes the generated DA filters have very strange output. I noticed that this problem occurs occassionally, but I don't know the reason.
I did the simulation under Xilinx System Generator 2015.4. The sampling rate of this DA filter is 1600MHz and it has a passband of [200,300] MHz. For this BPF, its Apass = 0.5dB, Astop = 30dB. The filter order is 108.
The input to this DA based BPF is shown as below.
Below shows the output of this BPF. It looks incorrect and strange.
I modified this BPF by changing its Apass = 1dB, Astop = 30dB. Then the filter order becomes 114. I generate the Verilog code for DA filter. Below shows the output of this modified DA based BPF. Now it looks right.
I read the manual of Filter Design HDL Coder, and found it says "DA ignores taps that have zero-valued coefficients and reduces the size of the DA LUT accordingly."
Can anyone tell me how will this affect the output of DA filter?
Thank you very much.