FPGA数字信号截位影响分析(二)

FPGA数字信号截位影响分析(二)

目录

前言

一、直接截位误差原因分析

二、新的数据截位方法

三、MATLAB仿真

四、参考资料

总结


前言

        在上一篇文章中,分析了直接截位对信号处理的影响,在这篇文章中,我们首先将分析直接截位误差的原因,然后将分析一种新的数据截位方法,不但有效降低了数据截位误差,而且节省资源,降低了计算复杂度。


提示:以下是本篇文章正文内容,希望能帮助到各位,转载请附上链接。

一、直接截位误差原因分析

        根据上一篇文章中 Matlab 仿真结果,截位后的信号在 0 频出现尖峰,说明直接截位后的信号产生了直流偏置。通过对 FPGA 中数据类型表示、信号处理过程和数据截位操作的分析,直流偏置的产生是因为在 FPGA 中,信号全部为量化后的信号,数据类型为整型,且均采用补码形式表示。如按照 9 bit 量化,则15 =0 0000 1111;而 -15=1 1111 0001。直接截位法是对数据直接截掉低位。以 2 bit 截位为例,则 15 截位后为 0 0000 11=3,而 -15 截位后为 1 1111 00=-4。可以看出,在 FPGA 中采用直接截位法对数据进行截位,截位是按照向下取整的方式进行的,由截位导致的近似方式对正数和负数来言是不同的,即 15/(2^2)=3.75≈3,而 -15/(2^2)=-3.75≈-4,因此截位后的信号会整体向下偏移,导致出现直流偏置,频谱上表现为在 0 频出现误差尖峰。对截位后的信号,再进行变频等处理,就会将尖峰搬移到其他的频率。如果出现多次截位,则将增加误差尖峰的个数,影响信号产生和信号处理的效果。可见,在对信号处理要求较高的场合,采用直接截位法是不合适的。

二、新的数据截位方法

        假定截位位数为n,则具体操作为(参考文章:数字信号截位影响分析):

① 判断数据的符号;

② 如果符号为正,则将数据加上 2^ (n-1);

③ 如果符号为负,则将数据加上 2^( n-1)-1;

④ 截掉数据的低 n 位。

通过对数据进行补偿,对数据的截位近似方式变为四舍五入,降低了截位误差。

三、MATLAB仿真

        仿真条件与文章《FPGA数字信号截位影响分析(一)》中的一致,只是改变了截位方法,不再是直接截位。

采用本文截位方法仿真截去6位后的波形图如下所示:

        可以看到,补偿后,由于数据截位导致的 0 频上的频谱尖峰没有那么明显了。新方法有效抑制了截位误差。截位前对信号的补偿有效抑制了直接截位法所造成的直流偏置,降低了截位误差,提高了后续信号产生和信号分析的质量。虽然四舍五入的方法有效降低了直流偏置,但还是会在某些频点产生异常尖峰幅度。

四、参考资料

https://download.csdn.net/download/m0_66360845/89598523icon-default.png?t=N7T8https://download.csdn.net/download/m0_66360845/89598523


总结

        以上介绍了一种新的截位方法,相比于直接截位,可以有效降低直流偏置。该方法实现简单,实时性强,无需过多处理,适用范围广,能够有效降低截位误差,提高信号产生和信号处理的质量,具有很好的应用性和推广价值。

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

迎风打盹儿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值