输入信号:两不同频率正弦波相乘得到的混频信号。
滤波器参数:15阶等波纹低通滤波器。
1.Matlab滤波器设计
在Matlab中键入fdatool并打开,进行配置。配置完后点击目标,生成Xilinx . coe文件。
注意事项:
配置Fs处,根据奈奎斯特定理,Fs要大于混频后信号最高频的两倍。
配置分子长度处,对于直接型FIR滤波器,滤波器长度 = 阶数+1 = 系数 = 抽头数。
2.Vivado混频信号设计
在IP Catalog里打开DDS Compiler,按照下面的配置填入参数,建立两个IP核分别生成两路正弦波。然后在IP Catalog里打开Multiplier,根据生成正弦波输出位数配置混频后的输出位数。
注意事项:
配置System Parameters处,可以就按原始默认值来,也可以依据公式自行推导:
3.Vivado滤波器IP核配置
打开Fir IP核,按下面参数配置,第一张图里要加载第一步做好的coe文件。
注意事项:
Input sampling frequency等于Matlab Fdatool中Fs,Coefficient Width等于分子字长。
4.结果展示
选用Modelsim作为仿真软件,得到以下结果。
注意事项:
尽量不要使用Vivado自带的仿真,因为有很大概率卡很久,然后显示几行一样的array width comparison return false之类的。但是使用Modelsim来仿真没有这个问题,所以要配置并使用Modelsim作为3rd Party simulators。
波形出来后,自行调整radix的模拟信号和properties中的小数。