在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中要完成的最常见的信号处理功能,在这里由于信号采样率过高,不得不采用面积换速度的处理方法来完成此功能。