计算机算法中的数字表示法
文章平均质量分 95
在计算机算法中,有两个基本设计准则是非常重要的:分别是数字表示法和代数运算的实现。例如:定点数或浮点数就是常用且可行的数字表示法。一些基本的运算,像加法器和乘法器,更为繁琐的运算,诸如求平方根和应用CORDIC算法计算角函数的有效实现,都要以可行的数字表示法为基础实现。
FPGA从入门到跑路
微信公众号:FPGA从入门到跑路
展开
-
FPGA定点数FFT过后转换为浮点数与Matlab计算的FFT结果进行比对
前面一篇文章讲了,Matlab将调制映射后的数据转化为定点数,放入FPGA中进行处理。那么定点数,在FPGA中进行FFT过后,如何验证其正确性呢?这就需要将FFT的输出数据读取出来,在Matlab中转化为浮点数,然后与Matlab使用FFT处理后的结果进行对比。原创 2024-06-02 00:13:12 · 1603 阅读 · 0 评论 -
Matlab里面的浮点数与FPGA定点数的相互转化应用(含Matlab代码,封装成函数可直接调用)
Matlab里面计算通常用的是浮点数,而FPGA在做数字信号处理时,为了节约资源,常常使用的是定点数。在实践中,我们经常需要将Matlab实现中的算法,用FPGA进行实现。那么,Matlab里面的是浮点数怎么转换为定点数到FPGA里面进行使用,以及FPGA里面计算的定点数,怎么又在Matlab里面又转换为浮点数进行验证呢?原创 2024-06-01 13:42:46 · 1765 阅读 · 0 评论 -
计算机算法中的数字表示法——浮点数
前面讲了定点表示法,定点表示法有一个主要的限制,那就是它不能有效地表示非常大或非常小的数,因为小数点的位置是固定的。为了解决这个问题,人们发明了浮点表示法,其中小数点的位置是浮动的,可以根据需要移动以表示不同大小的数。原创 2024-05-31 17:48:47 · 1041 阅读 · 0 评论 -
verilog中移位操作时,有符号数和无符号数的区别
前面OFDM 802.11a的FPGA实现中的文章在涉及到加窗操作的时候,使用到了移位操作,但是没有考虑到有符号数的问题,今天发现了这一问题,特详细对verilog中移位操作时,有符号数和无符号数的区别进行讲解,并且设计补码、反码、原码的知识。在verilog中有时会用signed修饰符来修饰定义的数据,运算的时候也会用signed()任务来强制转换数据,那么signed的修饰是为什么呢,是为了区分有符号数和无符号数的加法和乘法吗?原创 2024-05-15 18:50:28 · 1553 阅读 · 0 评论 -
计算机算法中的数字表示法——原码、反码、补码
昨天有粉丝让我讲解下定点数和浮点数,本来这部分是打算在FPGA入门系列的最后面来讲的。作者想开的系列真的很多,比如开发FPGA需要学会相关软件Matlab、Vivado、ModelSim等等的使用,每个软件做一个系列;FPGA入门教程做一个系列;基础数字信号处理做一个系列;通信相关的系列;IP核使用详解系列;FPGA数字积木系列(自己设计的一些参数化IP)。但是这些无疑都会花大量的时间去构思和整理资料,会出的比较慢,请读者耐心等待。原创 2024-05-29 17:48:04 · 1348 阅读 · 0 评论 -
计算机算法中的数字表示法——定点数
前面一篇文章讲了计算机中的数字表示法:原码、补码和反码,这一篇文章开始进行定点数的讲解。定点数,从字面意思上理解就是小数点位置固定,如下图所示:数字既包括整数,又包括小数,而小数的精度范围要比整数大得多,所以如果我们想在计算机中,既能表示整数,也能表示小数,关键就在于这个小数点如何表示?原创 2024-05-30 21:24:29 · 1654 阅读 · 0 评论