PDA

View Full Version : Help: Digital Up Convert(DUC) in FPGA.


huhu
10-14-2006, 06:23 AM
Hi,
I am trying to implement a Nicam modulator in a fpga.
The Nicam modulation is a digital sound modulation of analog TV, and
use DQPSK.

I have some problem when implement the digital up converter(DUC) in
fpga.

The DUC comprise the cascade of pulse filter, CIC compensation filter
CIC filter, and then multiply with carrier generated by a NCO.
The interpolator of the pulse filter and cic compensation filter is 2.
The data sample rate input to the cascade filters is 364K.
The sample rate of carrier generated by NCO is 24.576M.

My question is:
How to match the sample rate of the cascade filters and NCO?
How to chose the interpolator of the CIC filter?

Thanks.

Ray Andraka
10-14-2006, 04:04 PM
huhu wrote:
> Hi,
> I am trying to implement a Nicam modulator in a fpga.
> The Nicam modulation is a digital sound modulation of analog TV, and
> use DQPSK.
>
> I have some problem when implement the digital up converter(DUC) in
> fpga.
>
> The DUC comprise the cascade of pulse filter, CIC compensation filter
> CIC filter, and then multiply with carrier generated by a NCO.
> The interpolator of the pulse filter and cic compensation filter is 2.
> The data sample rate input to the cascade filters is 364K.
> The sample rate of carrier generated by NCO is 24.576M.
>
> My question is:
> How to match the sample rate of the cascade filters and NCO?
> How to chose the interpolator of the CIC filter?
>
> Thanks.
>


It would be much easier if your NCO sample rate was an integer multiple
of your input sample rate. If that were the case, then you just set the
CIC interpolation ratio to multiply the data rate out of the
interpolating FIR filters.

Since it is not, it is probably easiest to use a resampler near the
input to convert the input sample rate to an intermediate rate that is
an integer submultiple of your NCO sample rate and then proceed with the
filters you've proposed. The resampling is easier at the lower data
rate, which is why I suggested putting it first. You'll need to either
find a ratio of relatively small integers for the resample and use a
polyphase resampler, or use one of the interpolating techniques such as
a Farrow resampler for the resampling.

huhu
10-16-2006, 01:56 AM
Hi Ray Andraka,
Thank you very much for your help!
It help me a lot!

Ray Andraka wrote:
> huhu wrote:

> >
>
>
> It would be much easier if your NCO sample rate was an integer multiple
> of your input sample rate. If that were the case, then you just set the
> CIC interpolation ratio to multiply the data rate out of the
> interpolating FIR filters.
>
> Since it is not, it is probably easiest to use a resampler near the
> input to convert the input sample rate to an intermediate rate that is
> an integer submultiple of your NCO sample rate and then proceed with the
> filters you've proposed. The resampling is easier at the lower data
> rate, which is why I suggested putting it first. You'll need to either
> find a ratio of relatively small integers for the resample and use a
> polyphase resampler, or use one of the interpolating techniques such as
> a Farrow resampler for the resampling.