I am using an FPGA to implement FIR filters, specifically for this question I have implemented a 12 point moving average filter. At the moment I am just using a signal generator as an input to the FPGA and putting in a pure sine wave at various frequencies. Now, my filter works as expected and has the expected frequency and phase response, however, in my output signal I see another sinusoid at around the clock frequency of the FPGA I am using. I have set the clock on the FPGA to be 40MHz and 10MHz and the sinusoid in the filtered signal occurred at around 40MHz and 10MHz respectively in these 2 cases so it is definitely proportional to the clock frequency.
I was wondering if someone could explain why this might be and what I could do to remove it? (I could use an analogue low pass filter after my filter to filter it out for example [although I'd prefer to remove it entirely since for my application low noise is ideal and adding more components will add noise])
I have uploaded a couple of youtube videos of what I see on the oscilloscope when I put in a sinusoidal signal generated by a signal generator (shown in yellow in the video) and what I see out of my FPGA filter (shown in blue).
Video 1 accompanying question for stackoverflow
Another interesting thing I observed, which may help in diagnosing what's going on, was that at certain frequencies this second signal disappears completely, in the following video the FPGA clock is set to 40MHz and I set the signal generator to generate 11MHz, 10Mhz and 9MHz sinusoidal waves. (The approximate frequency of the wave can be seen in the lower right of the screen) At 10MHz you can see that this high frequency signal seems to disappear. (this also coincides with a point of very high attenuation - the filtered signal is very flat)
Video 2 accompanying question for stackoverflow
If anyone has any suggestions of what might be causing this or how to get rid of it, it would be much appreciated.
Additional Info as requested: I'm using a NI 5781 as my ADC and DAC it has a 14 bit Input and 16 bit Output. Data sheet is linked here: ni.com/datasheet/pdf/en/ds-212.
I'm putting in a sinusoid that has 1V peak to peak and a 0.5V DC offset - i.e. a sine wave between 0V and 1V.