Hi Dansong,
--- Quote Start ---
No i'm still using NCO so the signal is generated digitally. The signal i have has a clock rate of 50Mhz, and a output frequency of 1Mhz. so does that mean it wud sample once every 50 clock cycles? i feel like the Multichannel explaination is too indepth and missing the point of my question.
--- Quote End ---
A 1MHz sinusoid generated at 50MHz clock rate using an NCO generates a signal that is analogous to sampling a 1MHz sinusoid with a 50MHz ADC. In this example, your sample rate and clock rate are the same.
You could design a digital filter that also runs at 50MHz clock rate, and its construction would look like the 'classic' form you see in the documents I sent you.
If your 'system design' called for sampling a real-world signal that had content only out to 1MHz, then a 50MHz ADC would oversample the signal (since the Nyquist rate is 25MHz), allowing an analog filter with a slow rolloff to be used. The signal could then be digitally filtered to reduce the sample rate to say 50/20 = 2.5MHz, or mixed to complex-baseband and digitally filtered to between -1.25MHz and 1.25MHz.
Why do this? Well, your signal now has a 'sample rate' of either 5MHz real-valued samples, or 2.5MHz complex-valued samples, and your FPGA can operate at 50MHz, i.e., 20x or 40x faster. Now you have 20 or 40 FPGA clocks per sample, so you can re-use FPGA logic, eg., a single multiplier can be used to perform 20 or 40 operations before the next sample is ready.
Do you see how the 'sample rate' of the data and the 'clock rate' of the FPGA can be different? Once the data is inside the FPGA, its 'sample rate' depends on the signal processing operations you apply to the data.
Cheers,
Dave