ADC RF中频采样 Vivado Verilog 联合 matlab 进行带通滤波器设计与仿真

本文介绍了如何利用MATLAB的fdatool设计70MHz±2MHz RF中频信号的带通滤波器,并将其导出为Vivado IP核的coe文件。在MATLAB中进行了滤波器仿真,然后在Vivado中使用Verilog实现该滤波器,ADC采样率为40.625MHz,滤波器通带为9.25MHz~13.25MHz。Verilog代码中还包括了15位ADC数据处理及64深度FIFO缓存的设计。
摘要由CSDN通过智能技术生成

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,</
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值