Altera_Forum
Honored Contributor
7 years agoProblem with FIR II core
Hello,
I am trying to use 11 taps symmetrical FIR using the IP Catalog in Quartus 14.1 My data are in signed Q.15 format with sampling rate 288MHz. I get the data in packets of 4 samples (64bits) on each 72MHz tick and I want the filter to produce the data in packets of 4 samples quads (64bits) I have setup the FIR II instance with the following parameters: -single Rate, -interpolation and decimation are 1 -one channel -72MHz clock rate -288MHz sample rate (so I use TDM and my input and output are 64bits) -no back preasure -Symmetrical filter ( 0.005798526799750 -0.000976593987326 0.010162681180614 -0.004699858564008 0.094485468273818 0.731713045004217 0.094485468273818 -0.004699858564008 0.010162681180614 -0.000976593987326 0.005798526799750) Filter gain is 0.94125 - Coefficients Signed Fractional Binary, 15 fractional bits - I have imported 11 floating point coefficients (it is strange that the frequency response is not shown, the figure is scaled out of my curve and the impulse response is shown as 0 line. For now I assume it is a bug in the tool) - Input option is signed fractional binary with 15 fractional bits and 16 bits in total. - Output option is signed fractional binary, I truncate 15 LSB bits and 5 MSB bits so I get signed Q.15 as a result. - The filter is clocked with 72MHz clock (the same clock I get my quads at) - on the 'valid' input I set constant 1'b1 - On the 'error' signal I set constant 2'b00 I can pass both the input and the output of the filter to the DAC and can monitor the analog signal on the oscilloscope. Also I can pass some data on the FPGA output pins to look at with the logic analyzer. What I have checked so far: 1. If I pass constant data to the filter and it responds as I expect in the full Q.15 range at the input. (checked on logic analyzer) 2. I get 'valid' output as constant 1 and I get output 'error' as constant 2'b00 3. If I apply clean 10MHz full scale sine wave (I have verified it on the oscilloscope ) I get distorted signal as it is shown on the screenshot. I have tried to reduce the signal amplitude with the same distorted result. I have reduced the filter coefficients resolution to speed up the filter and check if this is speed performance issue but the result was even worse. Anyone having an idea how to investigate further? Thank you. Dimitar