我是靠谱客的博主 危机香菇,最近开发中收集的这篇文章主要介绍matlab 双二进制信号脉冲_MATLAB之Simulink(三)全加器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

##matlab之Simulink(三)
##全加器

今天给大家分享的是利用simulink搭建一个全加器,首先来认识一下全加器:

两个多位二进制数相加时,除了最低位外,每一位都应考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称为全加,实现全加运算的电路成为全加器。

还有一点需要注意的是它与半加器的区别,半加器是将两个一位二进制数相加,所以只考虑两个加数本身,并不需要考虑由低位来的进位的运算。

在全加器中,通常用A和B分别表示加数和被加数,用Ci表示来自相邻低位的进位数,S表示全加器的和,Co表示向相邻高位的进位数。

接下来我们来列出真值表:

6451f59032218357a6a3ac7a0a30456e.png

这里要注意的是,在实际应用中,Ci为前一位运算的向高位的进位,并不是人为控制输入。

根据真值表,我们来写出表达式

233ed0e82ca5a951f043ca3b3b9c8ecf.png

3a105f1d621d34e76bb8c7022e5ff236.png

在分析完之后,接下来就开始建立模型了:
首先新建一个空白编辑界面,步骤不再多说

b468c274cbdd21c4ab02a93d89f076e5.png

接下来放置模块。
从表达式中我们可以知道,我们需要的运算模块有与门、或门和异或门。
拖动一个逻辑运算原件到编辑界面即可。

a28743887569956bc45c5ab4528c242e.png

这里有一个逻辑运算原件需要大家认识,XOR,就是异或。

073114f2963aa4c78ef50f290ae6c2dc.png

因为我们需要输入二进制数,所以我们还要一个可以产生周期矩形波的元件,在库中搜索"pulse"即可。

f30c3d08f39fe38e00b698686a6c8129.png

连接电路图:

23f28d3c7f6b58c157d8df8e17acb27d.png

连接好之后,我们需要调整输入波形,并且用示波器进行验证。
首先来看输入波形的调整方法:
双击pulse

29e445fd8b301a674946812d169d20e8.png

这里需要知道的是各个参数表示的意义:
Amplitude——振幅
Period——周期
Pulse Width——脉冲持续时间
Phase delay——相位 

这里我们假设输入数据为000,001,010,011,100,101,110,111。
那么对应的设置为:

c134da1d2040c99374ed3de65e630070.png

接下来将示波器设置为三个输入,分别与三个矩形波相连,查看结果:

示波器不会操作的朋友请看上一篇文章MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号

e262189e7221b6d9f1446d13ab453696.png

可以看出在A的一个周期内,从上往下,数据分别为000,001,010,011,100,101,110,111,符合我们的目的。接下来再使用一个示波器与两个输出连接。

6e1dbb461446c0c55685786afd7ee63f.png

进行仿真,查看仿真结果:

cbdee3d868a8c958d577afde05aa5885.png

在这幅图中,上面是Co,下面是S,可以看出在一个周期内,输入和输出的数据与真值表相吻合,这说明我们成功了。

##以上就是本节的全部内容,后续内容会逐渐上传,相关源码也会统一上传,也可以到公众号私聊我要。

##本节内容已上传博客,请查看。

https://blog.csdn.net/weixin_44936771/article/details/107898736

##不足之处请及时指出,相互学习
##不懂得小伙伴可以公众号私信我,看到后会回复的,欢迎交流学习!

长按图片关注

cc9790a6d27fc1186e71183c7b54e2c2.png

点点"在看"。

最后

以上就是危机香菇为你收集整理的matlab 双二进制信号脉冲_MATLAB之Simulink(三)全加器的全部内容,希望文章能够帮你解决matlab 双二进制信号脉冲_MATLAB之Simulink(三)全加器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部