FPGA 中,如果要将一个采样率为 480MHz,中频频率为 302.5MHz 的信号变频到零中频的基带信号,要怎么做呢?
 
首先,480MHz 的采样频率,对一个中频频率为 302.5MHz 的信号采样,只能是带通采样,采样后信号实际频率为 177.5MHz,那么要在 FPGA 中用 DDS 产生一个频率为 177.5MHz 的载波信号,时钟频率至少要是 177.5MHz 的两倍也就是 355MHz,时钟工作频率太高,很容易后面出现时序问题,这个时候可以尝试使用面积换速度的思想,将时钟工作频率降低下来,我们决定让时钟工作在 120MHz,这样比较稳妥。
 
如果时钟工作在 120MHz,那么最开始 480MHz 的采样率的信号就要进行串并转换分为 4 路,每路采样率为 120MHz,120MHz 的采样率采样一个 177.5MHz 的中频信号,那么信号频率其实已经变为 57.5MHz。所以此时分别对 4 路 57.5MHz 的信号做下变频,但要注意 DDS 产生信号的初始相位。
 
 
本来 480MHz 的采样率时采样的信号为点为 1、2、3、4、5、6、7、8,那么现在对应每一路就是 1、5;2、6;3、7;4、8,则 DDS 产生的 4 路 57.5MHz 的信号也要对应。下面具体讲怎样利用 FPGA 的 DDS 产生 4 路对应的载波信号。
 
那么怎样才能利用 120MHz 的时钟频率产生一个频率 177.5MHz 的载波信号呢,120MHz 的采样率产生 177.5MHz 的信号,那么信号频率其实已经变为 57.5MHz,4 路载波要与前面的信号对应相乘的,那么信号之间的初始相位应当相差多少呢?应当就按 480MHz 的采样率,产生一个 177.5MHz 的信号来计算,那么每相邻两个点之间的相位差为:(177.5/480)*2*pi,则在设置 FPGA 里面的 DDS 时候,第一路信号初始相位为 0,第二路为(177.5/480)*2*pi,第三路为(177.5/480)*2*pi*2,第四路为(177.5/480)*2*pi*3-2*pi。
 
然后将上面的 4 路 DDS 载波与前面的 4 路信号分别相乘,然后再利用多项滤波对这 4 路信号进行 4 倍抽取,如何利用多项滤波器进行 4 倍抽取可以参考我之前的文章。这样就完成了信号预处理中的下变频和下采样,这也是在 FPGA 中要完成的最常见的信号处理功能,在这里由于信号采样率过高,不得不采用面积换速度的处理方法来完成此功能。