FIR滤波器说明
FPGA verilog的FIR滤波器设计(原创)" title="基于matlab FPGA verilog的FIR滤波器设计(原创)">
FPGA verilog的FIR滤波器设计(原创)" title="基于matlab FPGA verilog的FIR滤波器设计(原创)" height="28" width="497">
FPGA verilog的FIR滤波器设计(原创)" title="基于matlab FPGA verilog的FIR滤波器设计(原创)">
FPGA verilog的FIR滤波器设计(原创)" title="基于matlab FPGA verilog的FIR滤波器设计(原创)" height="292" width="549">
FPGA verilog的FIR滤波器设计(原创)" title="基于matlab FPGA verilog的FIR滤波器设计(原创)" height="374" width="374">
推导出当系数N为偶数时,例如N=4:y(n)=h(0)*{x(0)+x(n-3)}+h(1)*{x(n-1)+x(n-2)}
当系数N为奇数时,例如N=5:
FPGA verilog的FIR滤波器设计(原创)" title="基于matlab FPGA verilog的FIR滤波器设计(原创)" height="535" width="690">
用matlab程序sin_1MHz_gen.m生成正弦波波形表,改变变量f0=1.5e6可以生成不同频率的波形。把第一个周期的波形数据存入signal_1m.dat文件中,存入的数据个数为Fs/Fo的最小正整数之比的分子,比如Fs=25MHz,Fo=0.3MHz,Fs/Fo=250/3(Fs=25/24MHz),则存入文件signal_1m.dat的波形数据个数为开头的250个数据。相应的signal_gen0.v中的语句if(i0<50)相应的改为if(i0<250)。仿真时signal_1m.dat放在仿真目录下
运行matlab,用sin_1MHz_gen.m产生5MHz(f0=5e6)正弦波信号,Fs/Fo=5,把数据hex_sin_data的前5个数据存入signal_1m.dat文件,相应的signal_gen0.v中的语句if(i0<50)相应的改为if(i0<5)。
仿真的波形如下图(fir滤波器的输入输出信号):
运行matlab,用sin_1MHz_gen.m产生1MHz(f0=1e6)正弦波信号,Fs/Fo=25,把数据hex_sin_data的前5个数据存入signal_1m.dat文件,相应的signal_gen0.v中的语句if(i0<5)相应的改为if(i0<25)。
仿真的波形如下图(fir滤波器的输入输出信号):
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |