基于Verilog的自然边界条件下三次样条插值算法的实现方法

苦于实现三次样条久已。在参考了两篇博主的文章之后,完成了算法的基本实现。

首先是理论上的推导,参考的是: 三次样条插值算法及推导过程_三次样条计算例子-CSDN博客

其次是Matlab部分的代码,参考的是: 三次样条Cubic Spline简介-CSDN博客

简单地说,就是在已知的几个点中求出分段之间的三次函数。个人认为用到的各个模块(矩阵求逆、高精度乘除法等等)都不是很难,最难的地方应该是误差积累,由于verilog特殊的定点计算方式,使得数据流转的次数越多就会出现越多的误差,所以先是尝试了16位8.8定点格式来算,发现误差巨大,后改为32位16.16的格式,才极大地缓解了这个问题,在这里也是花费了最多的时间,话不多说,直接上Matlab和Verilog的结果对比。

对比中间参数和最后的结果,差误基本可以忽略。

欢迎交流,咸鱼:cllllll28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值