运算可以在通用数字计算机上用软件实现

描述

数字信号处理的实质是一组数值运算,这些运算可以在通用数字计算机上用软件实现,也可以用专门的硬件实现。无论哪种实现方式,数字信号处理系统的一些系数、信号序列的各个数值及运算结果都要以二进制形式存储在有限字长的存储单元中。如果存储的是模拟信号,例如常用的采样信号处理系统,输入的模拟量经过采样和模数转换后,变成有限长的数字信号。有限长的数就是有限精度的数。因此,具体实现中往往难以保证原设计精度而产生误差,甚至导致错误的结果。在数字系统中主要有三种因有限字长而引起误差的因素

一、模数转换器把模拟输入信号转换为数字信号时产生的量化效应

二、把系数用有限位二进制表示时产生的量化效应

三、数字运算过程中,为限制位数进行的位数处理和为防止溢出而压缩信号电平的有限字长效应

引起这些误差的根本原因在于寄存器(存储单元)的字长有限。误差的特性与系统的类型、结构形式、数字的表示法、运算方式及字的长短有关。在通用计算机上,字长较长,量化步很小,量化误差不大。但在专用硬件,如FPGA,实现数字系统时,其字长较短,就必须考虑有限字长效应了。

运算

运算

运算

运算

那单片机中的字长是多少呢?

运算

运算

通常在FPGA中采用截尾处理,在DSP中采用的是舍入处理(就是四舍五入)。那么matlab中floor函数和ceil函数分别对应着哪种处理方式呢?

运算

运算

运算

记住这个指标,实际工程中经常用到。快考试了,做点题目吧!

运算

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分