FPGA数字滤波----梯形成形算法设计

介绍了一种基于单指数脉冲的梯形成形算法,通过Matlab仿真验证其有效性,并详细阐述了两种不同的FPGA实现方法:一是手动编写Verilog代码并进行功能仿真;二是利用Systemgenerator自动生成Verilog代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多道脉冲幅度分析器的核心,
------梯形成形算法。
单指数脉冲梯形成形算法算法:
设前置放大器输出为理想指数信号,
时域表达式为:
Ui(t)=Umaxe-t/taoμ(t)
Umax 为脉冲幅值,tao为前端放大器的时间常数,μ(t)为标准单位阶跃函数,以Ts为周期对输入信号进行采样,可以得到脉冲序列的表达式:
Ui(t)=Umaxe-nTs/taoμ(t)
令e-nTs/tao=q,对上式进行Z变换得:
Ui(t)=Umaxz/(z-d)
理想梯形函数的分段函数表示如下: Uo(t)=y1(t)+y2(t)+y3(t)+y4(t)
y1(t)=(Umax/ta)t y2(t)=-y1(t-ta)
y3(t)=-y1(t-tb)
y4(t)=y1(t-tc)
式中:ta、tb、tc分别为梯形的上升沿、平顶、下降沿的宽度。令ta=naTs、tb=nbTs、tc=ncTs,理想梯形函数的分段函数经过单边的z变换可表示为:
Uo(z)=Umax
(1-z-na-z-nb+z-nc)/(1-2z-1+z-2)
从而可得梯形成形算法的传递函数:
H(z)=Uo(z)/Ui(z)=[z(1-z-na)(1-z-nb)(1-qz-1)]/[na(1-z-1)2

Matlab仿真如下图

根据梯形成形算法,在Matlab中编写相应的脚本测试程序,运行后如下图所示。
在这里插入图片描述
在用Matlab验证算法成功后根据相应参数对梯形成形算法进行设计,最后在FPGA中进行实现。本人做了两种方法,将其做对比。
方法一:
根据梯形成形算法直接用硬件描述需要编写工程,完成后使用modelsim软件做功能仿真进行验证,的结果如下图,该方法在设计中主要需要处理浮点数转定点处理,以及在使用Verilog 设计时处理一些小数乘法除法运算,以及一些结位处理,为了方便移植和增加代码可读性,我以使用Verilog进行编码设计,分零极点进行verilog编码设计,并且移植到不同FPGA平台进行测试后效果良好。
在这里插入图片描述
在这里插入图片描述
从matlab脚本仿真,再到modelsim功能仿真验证了数字梯形成形算法的可行性。接下来,将代码下载进FPGA中进行测试,本人使用AD9226对信号进行采集。接入信号发生器,产生脉冲输入,用逻辑分析仪SingalTap ii观测,成形效果完美。
在这里插入图片描述
方法二:System generator数字信号处理工具,搭建梯形成形算法模型,自动生成梯形成形算法的Verilog 代码,此方法避开Verilog代码编写,但是对这里截位要求需控制的很好,不然自动生成的代码功能仿真没问题,时测出大问题。而且只适用于赛灵思芯片,代码可读性可移植性较差。随着芯片制裁,赛灵思和阿尔特拉的FPGA一片难求价格昂贵,本人认为System generator局限性很大,可做认知学习,真正长久还是考写代码。增强工程的可移植性,找到相应国产可替代方案。
在这里插入图片描述
本人现在从事FPGA开发工作,曾经研究方向是核电子学,如有兴趣小伙伴可后台私信我。

基于FPGA的中值滤波算法设计与实现 摘 要 在图像的采集、传输和记录等过程中,由于受到多方面因素的影响,图像信号会不可避免地受到椒盐噪声的污染,这将会严重影响图像的后期分析和识别等处理,因此有必要用中值滤波器对图像的椒盐噪声进行滤波预处理。 实际应用中,对滤波器件不仅要求能够将图像中的椒盐噪声滤除,满足图像处理的实时性要求,而且还要求能够很好地保护图像细节,避免滤波后图像变得模糊。针对传统的快速中值滤波算法在滤除图像椒盐噪声时存在图像细节模糊的缺陷,本文提出了一种基于FPGA的改进的快速中值滤波算法。该算法在中值滤波过程中,首先根据设定的阈值判断滤波窗口的中心像素点的是否为噪声点,若是噪声点,就利用快速中值滤波算法求出中值并替换中心点的原像素值,若不是噪声点,就不进行中值滤波处理。利用MATLAB软件对该算法进行仿真的结果表明,该算法具有良好的去噪和图像细节保持的能力。 在该算法FPGA实现过程中,充分利用FPGA硬件的并行性,并且采用流水线技术,提高了图像滤波的处理速度。FPGA硬件实现的结果表明,该算法与传统的快速滤波算法相比,不仅能够满足图像处理的实时性要求,而且还能在滤除图像椒盐噪声的同时,避免滤波后图像变得模糊的缺陷,达到了保护原始图像细节的目的。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

777你猜猜777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值