爱游戏-基于matlab FPGA verilog的FIR滤波器设计

基在matlab FPGA verilog的FIR滤波器设计 时候:2024-11-28 18:19:35 手机看文章

扫描二维码随时随地手机看文章

本次设计实现8阶滤波器,9个系数,因为系数的对称性,h(0)=h(8),h1(1)=h(7),h(2)=h(6),h(3)=h(5),h(4)为中心零丁一个系数。按照公式:

实现框图:

推导出当系数N为偶数时,例如N=4:y(n)=h(0)*{x(0)+x(n-3)}+h(1)*{x(n-1)+x(n-2)}当系数N为奇数时,例如N=5:y(n)=h(0)*{x(0)+x(n-1)}+h(1)*{x(n-1)+x(n-3)}+h(2)*x(n-2)1、用matlab生成和量化滤波器系数

设置参数后,点击“Design Filter”按钮,“file”—“export”,把滤波器系数导出到workspace,以下图:

履行号令:Num=Num’ ,把滤波器系数拷贝到文件COFFICIENT.dat中。量化系数:在matlab中运行quantization.m2、申明用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放在仿真目次下3、滤波器的multisim仿真运行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滤波器的输入输出旌旗灯号):

因而可知FIR对带外旌旗灯号起到衰减的感化。部门代码:

欲知详情,请下载word文档 下载文档

上一篇:爱游戏-聚生态之力,英特尔以技术创新推动绿色算力发展 下一篇:爱游戏-DigiKey 第 16 届年度 DigiWish 佳节献礼活动将于 2024 年 12 月 1 日开启