1.滤波器参数计算
RF中频信号的频率范围为70MHz±2MHz,采样频率为40.625MHz。采样后信号的频谱是原信号频谱以40.625MHz为周期的频谱搬移,根据奈奎斯特采样定理,40.625MHz采样率的奈奎斯特采样区为[N*20.3125,(N+1)*20.3125] MHz (N为自然数)。频谱搬移在第一奈奎斯特采样区为11.25MHz±2MHz(负频率向右的两次频移)。所以滤波器的通带需要设计为9.25MHz~13.25MHz通过的带通滤波器。
2.通过matlab的fdatool工具进行滤波器设计与仿真
matlab命令行输入fdatool运行滤波器设计工具,参数设置如图:
导出为vivado IP核配置*.coe文件。设置滤波器参数导出位宽:
菜单栏的Targets中选择导出为coe文件用于滤波器的配置。
菜单栏的File中选择生成滤波器函数,用于matlab中的仿真。
matlab仿真代码如下:
clear all;
%产生滤波器的仿真数据。信号频率在70MH±2MHz带通采样到9.25MHz-13.25MHz之间。
Fs = 40625000; %采样频率
t = 0:1/Fs:1000/Fs; %1000个采样点
tt = 0:1/Fs:300/Fs; %用于绘制300个点
f0 = 69000000; %信号频点1
f1 = 70000000; %信号频点2
f2 = 71000000; %信号频点3
n0 = 45000000; %带外频率
n1 = 85000000;
s = sin(2*pi*f0*t)+sin(2*pi*f1*t)+sin(2*pi*f2*t)+sin(2*pi*n0*t)+sin(2*pi*n1*t); %采样信号
adc_s = round(s*1600); %ADC采样位宽为13位放大到8192,取整
adc_max = max(adc_s); %扩展后的信号最大值小于8192
%绘制采样信号
signal_img = 1;
figure(signal_img);
subplot(211);
plot(tt,s(1:length<