首页 百科知识 数字信号的数值编码与数值运算

数字信号的数值编码与数值运算

时间:2022-11-10 百科知识 版权反馈
【摘要】:在8.6中谈到,通过数字信号可以描述数值信息,数字信号是二值信号,可以采用一定位数的二进制数码来表示,因此可以按照二进制数的运算法则,以数字信号处理的方法实现数值运算。二进制数的数值运算除了进位规则不同外,二进制数的运算法则和十进制数的相同。①求被减数1010的补码。本题为数字信号的数值运算问题,数值运算包括加法(+)、减法(-)、乘法(×或·)、除法(/)运算。

8.8 数字信号的数值编码与数值运算

在8.6中谈到,通过数字信号可以描述数值信息,数字信号是二值(0V-5V)信号,可以采用一定位数的二进制数码来表示,因此可以按照二进制数的运算法则,以数字信号处理的方法实现数值运算。

二进制数的数值运算除了进位规则不同外,二进制数的运算法则和十进制数的相同。下面采用竖式表示相应的法则。

(1)加法运算

img3943

图8.8-1 二进制数的数值运算实例

和十进制数加法一样,二进制数加法也是从最低位开始逐位完成两数相加和进位操作,如图8.8-1(a)。

二进制数加法的进位原则是逢二进一。

(2)减法运算

在二进制数运算中采用补码的形式表示负数,从而将减法运算转化为被减数代码和减数补码之间的加法运算。

以1110-1010为例说明二进制数减法运算过程:

①求被减数1010的补码。一个二进制数的补码等于这个数的反码加1,而反码是一个二进制数按位取逻辑“反”(即0变1,1变0)后的代码。例如,0101是数1010的反码,由此可得:数1010的补码是0110,即0101(反码)+1=0110(补码)。

②计算1110-1010如下:

1110-1010=1110+(-1010)

=1110+0110

=(1)0100

舍去括号中的进位后,正好就是“1111-1010”的差0100。

【例8.8-1】如图8.8-2所示X、Y信号,如下选项中完成F=X-Y数值运算的是( )。

img3944

图8.8-2 例8.8-1图

img3945

解:答案为选项(C)。

本题为数字信号的数值运算问题,数值运算包括加法(+)、减法(-)、乘法(×或·)、除法(/)运算。值得注意的是:由于加法(+)、乘法(×)的运算符号分别同逻辑运算中(或)逻辑符号(+)、(与)逻辑符号(×或·)相同,因此,二者不能混淆。

进一步讨论:F=X+Y的数值运算结果如图8.8-3。

加法运算是最基本的数值运算,减法运算为“被减数求补——加法”运算,而求补运算等价于求反加1。

选项(A)为被减数Y的“求反”运算;选项(B)为被减数的“求补”运算,所以,X-Y=X+(-Y)运算相当于本题的选项(B)信号与X信号相加,结果为选项(C),选项(D)为“X+-Y”运算。

img3946

图8.8-3 例8.8-1解图

(3)乘法运算

二进制数的乘法运算是从左向右操作的,其运算过程可以总结为一系列的“左移—相加”操作,即被乘数逐步左移并逐步相加即可完成乘法运算。值得注意的是:在进行左移操作过程中,被乘数左移的位数与乘数中取值“1”所处的位数相同。

二进制数乘法所依据的法则:0·0=0,0·1=0,1·0=1,1·1=1,所以,如果乘数位为“0”,则不进行任何操作。有关二进制数乘法运算示例如图8.8-1(b)。

(4)除法运算

二进制数的除法运算是从左向右操作的,其运算过程可以总结为一系列“右移—相减”操作,即以被除数逐步右移并逐步和被除数(或余数)相减的方式完成除法运算的。二进制数除法运算如图8.8-1(c)示例。

有关其他运算方法在此不作讨论。

从上述分析可知,二进制数的运算都可以用它的编码“移位”和“相加”(相减也转换为补码相加)两种操作来实现,这为用数字信号处理来实现数值信息处理提供了方便。关于二进制数的加法操作可通过加法器完成,二进制数的移位操作可通过数字移位寄存器实现(参见7.5.5内容)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈