Showing results for 
Search instead for 
Did you mean: 
Honored Contributor I

DSP/Interpolation/FIR/Spectrum... =]

Hi all! 


Here's a brief description of my application: 

-> I'm using a Stratix II FPGA to generate data samples and send them to an external DAC. 

-> Data is generated at rates from 1MSPS to 31.25MSPS. 

-> I've instantiated an Altera FIR Filter to mask shape this data. This filter also does an 4x interpolation 


With that I get my signal spectrum and several images at Fs, 2*Fs, etc., where Fs=DataRate*4 because of the FIR interpolation. 

The problem is that I really need to get rid of these images. To do that I must upsample the data to 125MSPS which is the DAC sampling rate. 

I've tried using a CIC Filter to interpolate and it helps but doesn't solve the problem. It's only good when 125MHz is an integer multiple of the (data rate*4). If it is not, then there are still images around my spectrum. 

Has anyone heard about a "fractional interpolation" or something like it, that would cover the spaces between integers interpolation factors? 


Thank you very much! 

0 Kudos
1 Reply
Honored Contributor I

A classic DSP problem...... 


Have a look at Lagrange interpolators. I think these may only work when you need to change rates by a small amount though. 


From my experience if CICs dont work then you have to just go up and down with lots of FIRs until you get your performance required, or change the spec.