杜老师:
你好!
我是一个刚接触滤波器和卫星信号解调的工程人员,前一段时间购买了由你主笔出版的《数字滤波器的Matlab与FPGA实现》一书,对我有很大的启发和帮助。
现在我有一些问题想向你请教,希望你能百忙之中抽出宝贵的时间看看。
现有Dqpsk调制系统,调制速率为480KBaud,发送端用根号下升余弦滤波器,系数a=0.35,调制到70MHz中频,接收端采用AD采样后再在xilinx v4 FGPA中进行解调的方法。AD前使用带通滤波器,带宽为36MHz,即52--88MHz,AD采样频率94.08MHz,14位输出,
即在AD采样后信号频谱搬移到24.08MHz,信号带宽应为480*(1+a)=648KHz,采用COSTAS环和迟早门进行载波恢复和时钟恢复,在进costas环前进行抽取,降低采样速率,使得costas环使用采样频率fs1=4*480=1.92MHz,因此抽取倍数为94.08/1.92=49。
根据你书中206页介绍采用5级CIC滤波器最好抽取3-7倍,有利于硬件实现,但使用IP核,可设定抽取倍数49,但频谱中通带非常小,可否用IP核实现49倍抽取,其后跟随一个低通滤波器,实现整个抽取过程。
另外IP核设置界面中设置数据速率与时钟频率相关参数部分,如果选择SAMPLE Period,则时钟频率与输入数据速率比值如何设,我认为应设为94.08*1000/480=196,但根据你217页设置是设为1。为什么?
如果选择了Frequency Specification 方式,则时钟频率是否设为94.08MHz,数据速率设为480KHz,
实际中可能因为种种原因,如要同时解决多个信号解调,信号的调制速率与我采用的采样频率不成整数倍关系,甚至在抽取后的采样速率fs1与信号速率不能实现理想的4倍或8倍等整数倍关系。这种情况下如何考虑整个解调环路的参数设计。
请杜老师给些建议。谢谢!
A:你好!
1. CIC滤波器的优点是实现简单,硬件资源消耗少。但只能用于抽取或插值倍数较小的情况,具体原因请参见书中的6.3.2节。ISE中提供的CIC核虽然可以实现49倍抽取,但CIC滤波器的特性依然是改变不了的。即使后端采用FIR滤波器,显然也无法弥补前端高达49级的CIC滤波器带来的通带内频谱衰减严重的影响。方案1:第一级采用7级CIC滤波器(依然需要通过仿真来了解是否满足通带容限的要求)进行7倍抽取,再级联一个7级抽取的FIR滤波器。方案2:调整抽取倍数及抽取后的速率,采用级联的方式实现整数倍抽取。有关多级抽取系统设计的参数设计可以参与书中6.4.3节的内容。
2. IP核设计中,时钟频率是指FPGA的工作时钟频率,数据速率是指进入FPGA的采样数据速率94.08MHz,不是数据本身的速率480K。显然,FPGA的系统时钟频率必须不小于数据采样速率,通常取采数率的整数倍,或与之相同。书中的实例,FPGA工作时钟速率与数据采样速率相同,因此设置为1.
3. 信号的调制速率与采样频率之间不一定要成整数倍关系,理论上来讲,只需满足采样定理即可。工程上设置成整数倍关系是更利于工程实现而已。数据时钟同步信息通常需要采用符号同步电路进行恢复,书中的同步电路实现方法比较简单,性能只能满足一般要求。对于COSTAS环路参数设计来讲,只要根据书中的方法进行设计即可,并不需要特意考虑采样频率与数据速率之间是否成整数倍关系。
希望上述的回答能对你有所帮助。
祝愉快!