预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于FPGA的FIR滤波器设计乘法器FIRCompiler安装设置UserLibraries在MegaWizard管理器中选择IPCoreFIR滤波器系数确定firm模块仿真结果借助Matlab设计滤波器系数滤波器的幅频响应typefactor_typeisarray(0to59)ofinteger;--定义长度为60的整型数组用于存放滤波器系数 typereg_typeisarray(0to59)ofstd_logic_vector(9downto0);--定义长度为60的寄存器 组,用于存放60级的延迟信号 constantfactor:factor_type:=(1,1,0,0,-1,-2,-3,-3,-3,……-1,-3,-3,-3,-2,-1,0,0,1,1);--滤波器系数 signalreg:reg_type; signalmul:factor_type; begin process(clk,data_in)is begin if(clk'eventandclk='1')then reg(0)<=data_in; foriin1to59loop reg(i)<=reg(i-1); endloop; forjin0to59loop mul(j)<=conv_integer(reg(j))*factor(j);--将每一级延迟器的信号与对应的滤波系数相乘 endloop; data_out<=conv_std_logic_vector((mul(0)+mul(1)+……+mul(59))/(2**10),10);--将乘法器的结果相加 endif; endprocess;产生测试输入信号将dds和LPF进行原件例化和映射信号sine_5K信号sine_1M叠加后的信号经过低通滤波后的信号