2.5 逻辑函数的化简方法

一、代数化简法

逻辑函数表达式和逻辑电路图是一一对应的。逻辑函数表达式越简单,使用的逻辑门越少,电路就越简单。因此,有必要对逻辑函数表达式进行化简。
逻辑函数化简通常是指将逻辑函数化简为最简与或式或者最简或与式,有了这两种基本形式就可以转换成其他表达式。
最简与或(或与)式是指表达式中与项(或项)的个数最少,每个与项(或项)中的变量数最少。
代数法化简的方法是:反复使用逻辑代数的基本公式消去逻辑函数表达式中多余的乘积项和多余因子,以求得逻辑函数的最简表达式。常用的代数化简法有以下几种。

1、并项法

并项法是利用公式 AB+AB‾=AAB+A\overline B=AAB+AB=A 将两个相邻项合并成一项,并消去互补因子。例如:F=AB‾ C‾D+ABC‾D=AC‾DF=AB‾ C‾+ABC‾+ABC+AB‾C=AC‾+AC=A\begin{array}{l}F=A\overline B\,\overline CD+AB\overline CD=A\overline CD\\\\F=A\overline B\,\overline C+AB\overline C+ABC+A\overline BC=A\overline C+AC=A\end{array}F=ABCD+ABCD=ACDF=ABC+ABC+ABC+ABC=AC+AC=A

2、吸收法

吸收法是利用吸收律 A+AB=A、A+A‾B=A+BA+AB=A、A+\overline AB=A+BA+AB=AA+AB=A+BAB+A‾C+BC=AB+A‾CAB+\overline AC+BC=AB+\overline ACAB+AC+BC=AB+AC 吸收(消去)多余的乘积项或多余的因子。例如:F=AB+A‾C+B‾C=AB+(A‾+B‾)C=AB+AB‾C=AB+CF=A‾+ABC‾D+C=A‾+BC‾D+C=A‾+BD+CF=ABC+A‾D+C‾D+BD=ABC+(A‾+C‾)D+BD=ABC+AC‾D+BD=ABC+AC‾D=ABC+A‾D+C‾DF=AB‾+AC+ADE+C‾D=AB‾+AC+C‾D\begin{array}{l}F=AB+\overline AC+\overline BC=AB+(\overline A+\overline B)C=AB+\overline{AB}C=AB+C\\\\F=\overline A+AB\overline CD+C=\overline A+B\overline CD+C=\overline A+BD+C\\\\F=ABC+\overline AD+\overline CD+BD=ABC+(\overline A+\overline C)D+BD\\\kern 11pt=ABC+\overline{AC}D+BD=ABC+\overline{AC}D=ABC+\overline AD+\overline CD\\\\F=A\overline B+AC+ADE+\overline CD=A\overline B+AC+\overline CD\end{array}F=AB+AC+BC=AB+(A+B)C=AB+ABC=AB+CF=A+ABCD+C=A+BCD+C=A+BD+CF=ABC+AD+CD+BD=ABC+(A+C)D+BD=ABC+ACD+BD=ABC+ACD=ABC+AD+CDF=AB+AC+ADE+CD=AB+AC+CD

3、配项法

配项法是利用重叠律 A+A=AA+A=AA+A=A、互补律 A+A‾=1A+\overline A=1A+A=1 和吸收律 AB+A‾C+BC=AB+A‾CAB+\overline AC+BC=AB+\overline ACAB+AC+BC=AB+AC 先配项或添加多余项,然后逐步化简。例如:F=AC+A‾D+B‾D+BC‾=AC+BC‾+(A‾+B‾)D=AC+BC‾+AB+AB‾D(添加多余项 AB)=AC+BC‾+AB+D=AC+BC‾+D(去掉多余项 AB)F=A‾ B‾ C‾+A‾BC‾+A‾BC+ABC‾=(A‾ B‾ C‾+A‾BC‾)+(A‾BC‾+A‾BC)+(A‾BC‾+ABC‾)(A‾BC‾ 可反复使用多次)=A‾ C‾+A‾B+BC‾F=A‾ B‾+B‾ C‾+BC+AB=A‾ B‾(C+C‾)+B‾ C‾+BC(A+A‾)+AB(配项)=A‾ B‾C+A‾ B‾ C‾+B‾ C‾+ABC+A‾BC+AB=A‾C+B‾ C‾+AB(吸收多余项)\begin{array}{ll}F=AC+\overline AD+\overline BD+B\overline C\\\kern 11pt=AC+B\overline C+(\overline A+\overline B)D\\\kern 11pt=AC+B\overline C+AB+\overline{AB}D&(添加多余项\,AB)\\\kern 11pt=AC+B\overline C+AB+D\\\kern 11pt=AC+B\overline C+D&(去掉多余项\,AB)\\\\F=\overline A\,\overline B\,\overline C+\overline AB\overline C+\overline ABC+AB\overline C\\\kern 11pt=(\overline A\,\overline B\,\overline C+\overline AB\overline C)+(\overline AB\overline C+\overline ABC)+(\overline AB\overline C+AB\overline C)&(\overline AB\overline C\,可反复使用多次)\\\kern 11pt=\overline A\,\overline C+\overline AB+B\overline C\\\\F=\overline A\,\overline B+\overline B\,\overline C+BC+AB\\\kern 11pt=\overline A\,\overline B(C+\overline C)+\overline B\,\overline C+BC(A+\overline A)+AB&(配项)\\\kern 11pt=\overline A\,\overline BC+\overline A\,\overline B\,\overline C+\overline B\,\overline C+ABC+\overline ABC+AB\\\kern 11pt=\overline AC+\overline B\,\overline C+AB&(吸收多余项)\end{array}F=AC+AD+BD+BC=AC+BC+(A+B)D=AC+BC+AB+ABD=AC+BC+AB+D=AC+BC+DF=ABC+ABC+ABC+ABC=(ABC+ABC)+(ABC+ABC)+(ABC+ABC)=AC+AB+BCF=AB+BC+BC+AB=AB(C+C)+BC+BC(A+A)+AB=ABC+ABC+BC+ABC+ABC+AB=AC+BC+AB(添加多余项AB)(去掉多余项AB)(ABC可反复使用多次)(配项)(吸收多余项)从上面的例子可见,代数化简法对变量的数目无限制,但是需要熟悉逻辑代数公式,并具有一定的技巧。这个方法的缺点是化简方法缺乏规律性,并且对化简后的结果是否最简难以判断。因此,在变量不多的情况下,通常使用卡诺图化简法。

二、卡诺图化简法

卡诺图(Karnaugh Map)是由美国工程师卡诺(Karnaugh)首先提出,故称为卡诺图,简称 KKK 图。它是一种按相邻规则排列而成的最小项方格图,利用相邻项不断合并的原则可以使逻辑函数得到化简。由于这种图形化简法简单而直观,因而得到了广泛应用。

1、卡诺图的构成

在逻辑函数的真值表中,输入变量的每一种组合都和一个最小项相对应。这种真值表也称为最小项真值表。卡诺图就是根据最小项真值表按一定规则排列的方格图,它也是真值表的一种。

在这里插入图片描述
例如,三变量最小项真值表如表 2.5.12.5.12.5.1 所示。画三变量的 KKK 图时首先画出 888 个小方格,并将输入变量 A、B、CA、B、CABC 按行和案列分为两组表示在方格图的顶端,变量的取值分别按格雷码排列。行、列变量交叉处的小方格就是输入变量取值所对应的最小项,这样便构成了图 2.5.1(a)2.5.1(a)2.5.1(a) 所示的三变量 KKK图。由此可见,由于行、列变量的取值都按格雷码排列,而格雷码相邻的两项仅有111 位不同,因此每两个相邻方格中的最小项都是相邻项。为了便于书写和记忆,KKK 图各方各内的最小项也可以用最小项符号 mim_imi 或编号 iii 表示,分别如图 2.5.1(b)、(c)2.5.1(b)、(c)2.5.1(b)(c) 所示。

在这里插入图片描述
根据同样的方法,只要将输入变量的取值按格雷码规律排列,便可构成四变量 KKK 图、五变量 KKK 图,分别如图 2.5.2(a)、(b)2.5.2(a)、(b)2.5.2(a)(b) 所示。

在这里插入图片描述
由上述可知,卡诺图具有如下特点:
(1)nnn 变量的卡诺图有 2n2^n2n 个方格,对应表示 2n2^n2n 个最小项。每当变量数增加一个,卡诺图的方格数就会扩大一倍。
(2)卡诺图中任何相邻位置的两个最小项都是相邻项。变量取值的顺序按格雷码排列,以确保各相邻行(列)之间只有一个变量取值不同,从而保证了卡诺图具有这一重要特点。
相邻位置包括三种情况:一是相接,即紧挨着;而是相对,即任意一行或一列的两头;三是相重,即对折起来位置重合,中心轴可以是任意 222 的幂次横向或纵向的一条线。
相邻项是指出了一个变量不同外其余变量都相同的两个乘积项(与项)
例如,在图 2.5.2(b)2.5.2(b)2.5.2(b) 所示的五变量卡诺图中,m5m_5m5 在位置上与 m4、m7、m1、m13、m21m_4、m_7、m_1、m_{13}、m_{21}m4m7m1m13m21 相邻,因此 m5=A‾ B‾CD‾Em_5=\overline A\,\overline BC\overline DEm5=ABCDEm4=A‾ B‾CD‾ E‾m_4=\overline A\,\overline BC\overline D\,\overline Em4=ABCDE 是相邻项,此外,还分别于 m7=A‾ B‾CDEm_7=\overline A\,\overline BCDEm7=ABCDEm1=A‾ B‾ C‾ D‾Em_1=\overline A\,\overline B\,\overline C\,\overline DEm1=ABCDEm13=A‾BCD‾Em_{13}=\overline ABC\overline DEm13=ABCDEm21=AB‾CD‾Em_{21}=A\overline BC\overline DEm21=ABCDE 是相邻项,即 m5m_5m5555 个相邻项。因此,卡诺图也反映了 nnn 个变量的任何一个最小项有 nnn 个相邻项这一特点。
卡诺图的主要缺点是:随着输入变量的增加图形迅速变得复杂,相邻项不那么直观,因此它适用于表示六变量以下的逻辑函数。

2、逻辑函数的卡诺图表示法

卡诺图是真值表的一种特殊形式,nnn 变量的卡诺图包含了 nnn 变量的所有最小项,因此任何一个 nnn 变量的逻辑函数都可以用 nnn 变量卡诺图来表示。
将逻辑函数填入卡诺图时,有以下几种情况。

(1)给出的逻辑函数为与或标准式

只要将构成逻辑函数的最小项在卡诺图上相应的方格中填入 111,其余的方格填 000(或不填),就可以得到该函数的卡诺图。即,任何一个逻辑函数都等于其卡诺图上填 111 的那些最小项之和。
例如,用卡诺图表示函数 F1=∑m(0,3,4,6)F_1=\sum m(0,3,4,6)F1=m(0,3,4,6) 时,只需在三变量卡诺图中将 m0、m3、m4、m6m_0、m_3、m_4、m_6m0m3m4m6 处填 111,其余填 000(或不填)即可,其卡诺图如图 2.5.32.5.32.5.3 所示。
在这里插入图片描述

(2)给出的逻辑函数为一般与或式

将一般与或式中每个与项在卡诺图上所覆盖的最小项都填 111,其余填 000(或不填),就可以得到该函数的卡诺图。
例如,用卡诺图表示函数 F2=AB‾C+A‾ B‾C+D+ADF_2=A\overline BC+\overline A\,\overline BC+D+ADF2=ABC+ABC+D+AD 时,首先确定使每个与项为 111 的输入变量取值,然后在该输入变量取值所对应的方格内填 111.
F2F_2F2 为四变量函数,当 ABCD=101×ABCD=101×ABCD=101×××× 表示既可以为 111,也可以为 000)时,AB‾CA\overline BCABC111,因此在 ABCABCABC 取值为 101101101 所对应的方格(m10、m11m_{10}、m_{11}m10m11)处填 111;当 ABCD=001×ABCD=001×ABCD=001× 时,A‾ B‾C\overline A\,\overline BCABC111,因此在 ABCABCABC 取值为 001001001 所对应的方格(m2、m3m_2、m_3m2m3)处填 111;当 ABCD=××× 1ABCD=×××\,1ABCD=×××1 时,DDD111,因此在 DDD 取值为 111 所对应的 888 个方格(m1、m_1、m1m3、m_3、m3m5、m_5、m5m7、m9、m_7、m_9、m7m9m11m_{11}m11m13m_{13}m13m15m_{15}m15)处填 111;当 ABCD=1×× 1ABCD=1××\,1ABCD=1××1 时,ADADAD111,因此在 ADADAD 取值为 111111 所对应的 444 个方格(m9m_9m9m11m_{11}m11m13m_{13}m13m15m_{15}m15)处填 111. F2F_2F2 的卡诺图如图 2.5.42.5.42.5.4 所示。

在这里插入图片描述

(3)给出的逻辑函数为或与标准式

只要将构成逻辑函数的最大项在卡诺图相应的方格中填 000,其余的方格填 111 即可。即,任何一个逻辑函数都等于其卡诺图上填 000 的那些最大项之积。
例如,函数 F3=∏M(0,2,6)=(A+B+C)(A+B‾+C)(A‾+B‾+C)F_3=\prod M(0,2,6)=(A+B+C)(A+\overline B+C)(\overline A+\overline B+C)F3=M(0,2,6)=(A+B+C)(A+B+C)(A+B+C) 的卡诺图如图 2.5.52.5.52.5.5 所示。

在这里插入图片描述
需要注意是,在卡诺图中最大项的编号与最小项的编号一致,但是输入变量的取值是相反的。即原变量取 000,反变量取 111.

(4)给出的逻辑函数为一般或与式

将一般或与式中每个或项在卡诺图上所覆盖的最大项处都填 000,其余的填 111 即可。
例如,将函数 F4=∏(A‾+C)(B‾+C)F_4=\prod (\overline A+C)(\overline B+C)F4=(A+C)(B+C) 填入卡诺图时,先确定使每个或项为 000 时输入变量的取值,然后在该取值所对应的方格内填 000.
(A‾+C)(\overline A+C)(A+C):当 ABC=1×0ABC=1×0ABC=1×0 时,(A‾+C)=0(\overline A+C)=0(A+C)=0,使 F4=0F_4=0F4=0,因此在 ACACAC 取值为 101010 所对应的方格(M4、M6M_4、M_6M4M6)处填 000
(B‾+C)(\overline B+C)(B+C):当 ABC=×10ABC=×10ABC=×10 时,(B‾+C)=0(\overline B+C)=0(B+C)=0,也使 F4=0F_4=0F4=0,因此在 BCBCBC 取值为 101010 所对应的方格(M2、M6M_2、M_6M2M6)处填 000.
F4F_4F4 的卡诺图如图 2.5.62.5.62.5.6 所示。

在这里插入图片描述

3、最小项合并规律

在卡诺图中,凡是位置相邻的最小项均可以合并。
两个相邻最小项合并为一项,消去一个互补变量。在卡诺图上该合并圈称为单元圈,它所对应的与项由圈内没变化的那些变量组成,可以直接从卡诺图中读出。例如,图 2.5.7(a)2.5.7(a)2.5.7(a)m1、m3m_1、m_3m1m3 合并为 A‾C\overline ACAC,图 2.5.7(b)2.5.7(b)2.5.7(b)m0、m4m_0、m_4m0m4 合并为 B‾ C‾\overline B\,\overline CBC.

在这里插入图片描述
任何两个相邻的单元 KKK 圈也是相邻项,仍然可以合并,消去互补变量。因此,KKK 圈越大,消去的变量数也就越多。
2.5.7(c)、(d)2.5.7(c)、(d)2.5.7(c)(d) 表示 444 个相邻最小项合并为一项,消去了两个变量,合并后的与项由 KKK 圈对应的没有变化的那些变量组成。图 2.5.7(c)2.5.7(c)2.5.7(c) 中,m0m_0m0m1m_1m1m4m_4m4m5m_5m5 合并为 A‾ C‾\overline A\,\overline CAC,图 2.5.7(d)2.5.7(d)2.5.7(d)m0m_0m0m2m_2m2m8m_8m8m10m_{10}m10 合并为 B‾ D‾\overline B\,\overline DBDm5m_5m5m7m_7m7m13m_{13}m13m15m_{15}m15 合并为 BDBDBDm12m_{12}m12m13m_{13}m13m15m_{15}m15m14m_{14}m14 合并为 ABABAB.
2.5.7(e)2.5.7(e)2.5.7(e) 表示 888 个相邻最小项合并为一项,消去了 333 个变量,即 ∑m(8,9,10,11,12,13,14,15)=A\sum m(8,9,10,11,12,13,14,15)=Am(8,9,10,11,12,13,14,15)=A∑m(1,3,5,7,9,11,13,15)=D\sum m(1,3,5,7,9,11,13,15)=Dm(1,3,5,7,9,11,13,15)=D.
综上所述,最小项合并具有以下特点:
(1)任何一个合并圈(即卡诺圈)所含的方格数为 2i2^i2i 个,即个数必须为 222 的幂。
(2)位置相邻的最小项可以合并,位置相邻的卡诺圈也是相邻项,同样可以合并。
(3)2m2^m2m 个方格合并,消去 mmm 个变量。合并圈越大,消去的变量数越多。
上述最小项的合并规则对最大项的合并同样适用,但是要注意的是,最大项在卡诺图中与 000 格对应,因此最大项的合并是将相邻的 000 个圈在一起。

4、用卡诺图化简逻辑函数

(1)将函数化简为最简与或式

在卡诺图上以最少的卡诺圈数和尽可能大的卡诺圈覆盖所有填 1\pmb11 的方格,即满足最小覆盖,就可以求得逻辑函数的最简与或式。
化简的一般步骤如下:
① 填卡诺图,即用卡诺图表示逻辑函数。
② 画出卡诺圈合并最小项。选择卡诺圈的原则是:先从只有一种圈法的 111 格圈起,卡诺圈的数目应最少(与项的项数最少),卡诺圈应最大(对应与项中变量数最少)。
③ 写出最简函数式。将每个卡诺圈写成相应的与项,并将它们相或,便得到最简与或式。
圈卡诺圈时应注意,根据重叠律 A+A=AA+A=AA+A=A,任何一个 111 格可以多次被圈用,但如果在某个卡诺圈中所有的 111 格均已被别的卡诺圈圈过,那么该圈为多余圈。为了避免出现多余圈,应保证每个卡诺圈至少有 1\pmb11 格只被圈一次

例1】用卡诺图将函数 F=∑m(1,3,4,5,10,11,12,13)F=\sum m(1,3,4,5,10,11,12,13)F=m(1,3,4,5,10,11,12,13) 化简为最简与或式。
解:(1)画出 FFF 的卡诺图,如图 2.5.82.5.82.5.8 所示;

在这里插入图片描述
(2)画 KKK 圈。根据化简原则首先选择只有一种圈法的 KKKBC‾B\overline CBC,剩下 444111 格(m1m_1m1m3m_3m3m10m_{10}m10m11m_{11}m11)用 222KKKA‾ B‾D\overline A\,\overline BDABDAB‾CA\overline BCABC 覆盖,因此这里只要用 333KKK 圈就可以覆盖全部的 111 格。
(3)写出最简与或式:F=BC‾+A‾ B‾D+AB‾CF=B\overline C+\overline A\,\overline BD+A\overline BCF=BC+ABD+ABC

例2】用卡诺图将下面的函数化简为最简与或式:F=B‾CD+A‾BD‾+B‾CD‾+ABC‾+ABCDF=\overline BCD+\overline AB\overline D+\overline BC\overline D+AB\overline C+ABCDF=BCD+ABD+BCD+ABC+ABCD解: (1)画出 FFF 的卡诺图。给出的 FFF 是一般与或式,将每个与项所覆盖的最小项都填 111,卡诺图如图 2.5.92.5.92.5.9 所示。
在这里插入图片描述
(2)画 KKK 圈化简函数。
(3)写出最简与或式。
该例题中有两种圈法,都可以得到最简式。
按照图 2.5.9(a)2.5.9(a)2.5.9(a) 所示的圈法,最简式为:F=B‾C+A‾CD‾+BC‾ D‾+ABDF=\overline BC+\overline AC\overline D+B\overline C\,\overline D+ABDF=BC+ACD+BCD+ABD按照图 2.5.9(b)2.5.9(b)2.5.9(b) 所示的圈法,最简式为:F=B‾C+A‾BD‾+ABC‾+ACDF=\overline BC+\overline AB\overline D+AB\overline C+ACDF=BC+ABD+ABC+ACD由该例可知,逻辑函数的最简式不是唯一的

例3】用卡诺图将下面的函数式化简为最简与或式:F=∑m(0,4,5,6,7,8,11,13,15,16,20,21,22,23,24,25,27,29,31)F=\sum m(0,4,5,6,7,8,11,13,15,16,20,21,22,23,24,25,27,29,31)F=m(0,4,5,6,7,8,11,13,15,16,20,21,22,23,24,25,27,29,31)解: (1)画出 FFF 的卡诺图。这是一个五变量的逻辑函数,按五变量卡诺图中的编号填图,得出 FFF 的卡诺图如图 2.5.102.5.102.5.10 所示。

在这里插入图片描述
(2)画 KKK 圈化简函数。先找出只有一种圈法的最小项(有 ∗*111 格):
m6、m22m_6、m_{22}m6m22:用 ∑m(4,5,6,7,20,21,22,23)=B‾C\sum m(4,5,6,7,20,21,22,23)=\overline BCm(4,5,6,7,20,21,22,23)=BC 覆盖;
m11m_{11}m11:用 ∑m(11,15,27,31)=BDE\sum m(11,15,27,31)=BDEm(11,15,27,31)=BDE 覆盖;
m13m_{13}m13:用 ∑m(5,7,13,15,21,23,29,31)=CE\sum m(5,7,13,15,21,23,29,31)=CEm(5,7,13,15,21,23,29,31)=CE 覆盖;
m8m_8m8:用 ∑m(0,8,16,24)=C‾ D‾ E‾\sum m(0,8,16,24)=\overline C\,\overline D\,\overline Em(0,8,16,24)=CDE 覆盖;
余下 m25m_{25}m25∑m(25,27,29,31)=ABE\sum m(25,27,29,31)=ABEm(25,27,29,31)=ABE 覆盖。
(3)写出最简与或式:F=B‾C+BDE+CE+C‾ D‾ E‾+ABEF=\overline BC+BDE+CE+\overline C\,\overline D\,\overline E+ABEF=BC+BDE+CE+CDE+ABE

(2)将函数化简为最简或与式

任何一个逻辑函数既可以等于其卡诺图上填 111 的那些最小项之和,也可以等于其卡诺图上填 000 的那些最大项之积,因此,如果要求某函数的最简或与式,也可以在该函数的卡诺图上合并那些填 000 的相邻项。这种方法简称为圈 000 合并,其化简步骤和化简原则与圈 111 的相同,只要按卡诺圈逐一写出或项,然后将所得的或项相与即可。但是需要注意,或项由 KKK 圈对应的没有变化的那些变量组成,当变量取 000 时写原变量,取 111 时写反变量

例4】用卡诺图将下面的函数式化简为最简或与式:F=∑m(1,3,4,5,6,7,9,11,13)F=\sum m(1,3,4,5,6,7,9,11,13)F=m(1,3,4,5,6,7,9,11,13)解: (1)画出 FFFKKK 图,如图 2.5.112.5.112.5.11 所示。

在这里插入图片描述
(2)画 KKK 圈,合并 000 格。合并规律与圈 111 相同,即 KKK 圈的数目应最少,KKK 圈应最大。该例中用 333KKK 圈覆盖了所有的 000 格。
(3)写出最简或与式:F=(B+D)(A‾+D)(A‾+B‾+C‾)F=(B+D)(\overline A+D)(\overline A+\overline B+\overline C)F=(B+D)(A+D)(A+B+C)例5】用卡诺图将下面的函数式化为最简或与式:F=(A+B‾+C+D)(A‾+B)(A‾+C‾)C‾F=(A+\overline B+C+D)(\overline A+B)(\overline A+\overline C)\overline CF=(A+B+C+D)(A+B)(A+C)C解: (1)画出 FFF 的卡诺图。该例给出的 FFF 是一般或与式,因此将每个或项所覆盖的最大项都填 000,得到 FFF 的卡诺图如图 2.5.122.5.122.5.12 所示。

在这里插入图片描述(2)画 KKK 圈化简函数。
(3)写出最简或与式:F=C‾(A‾+B)(A+B‾+D)F=\overline C(\overline A+B)(A+\overline B+D)F=C(A+B)(A+B+D)卡诺图化简法的优点是简单、直观,用卡诺图进行逻辑函数式的变化也比代数法方便。但是当变量数超过 666 个时,化简和变换就不再简单直观了,此时可以使用 Q−MQ-MQM 法(或称列表法)借助计算机进行处理。

三、具有无关项的逻辑函数及其化简

1、具有无关项的逻辑函数

逻辑问题分为完全描述非完全描述两种。如果对于输入变量的每一组取值,逻辑函数都有确定的值,则称这类函数为完全描述的逻辑函数。如果对于输入变量的某些取值组合,逻辑函数值不确定,即函数值可以为 000,也可以为 111,那么称这类函数为非完全描述的逻辑函数。对于输出函数值不确定的输入最小项(或最大项)称为无关项。具有无关项的逻辑函数就是非完全描述的逻辑函数。
无关项通常发生在以下两种情况:
(1)由于某些条件限制或约束,不允许输入变量的某些组合出现,因而它们所对应的函数值可以任意假设,可以为 000,也可以为 111. 这些不允许出现的组合所对应的最小项称为约束项(或禁止项)。
(2)在某些输入变量的取值下,其函数值为 111 或为 000 都可以,并不影响电路的功能。这些使函数不确定的变量取值所对应的最小项称为任意项(或随意项)。
约束项和任意项都称为无关项,包含无关项的逻辑函数一般用以下方式表示:
(1)在真值表或卡诺图中,无关项所对应的函数值用 ×××ϕ\phiϕddd 表示。

例6】设计一个开关控制灯亮的逻辑电路,分别用变量 A、B、CA、B、CABC 表示 333 个开关,用 FFF 表示灯亮与否。设开关闭合为 111,断开为 000,灯亮为 111,灯灭为 000,如果不允许有两个和两个以上开关同时闭合,试写出灯亮的逻辑函数表达式。
解: 根据题意,列出逻辑函数 FFF 的真值表如表 2.5.22.5.22.5.2 所示。

在这里插入图片描述
由于不允许有两个及两个以上的开关同时闭合,所以 333 个变量 A、B、CA、B、CABC 的取值不能出现 011011011101101101110110110111111111 中的任何一种。这四组取值所对应的最小项称为约束项,对应的函数值用 ××× 表示。其约束条件可以表示为 AC=0AC=0AC=0BC=0BC=0BC=0AB=0AB=0AB=0ABC=0ABC=0ABC=0,即 AB+AC+BC+ABC=0AB+AC+BC+ABC=0AB+AC+BC+ABC=0,也可以写成{F=A‾ B‾C+A‾BC‾+AB‾ C‾AB+BC+AC+ABC=0\begin{cases}F=\overline A\,\overline BC+\overline AB\overline C+A\overline B\,\overline C \\AB+BC+AC+ABC=0\end{cases}{F=ABC+ABC+ABCAB+BC+AC+ABC=0也可以简写成F=∑m(1,2,4)+∑d(3,5,6,7)F=\sum m(1,2,4)+\sum d(3,5,6,7)F=m(1,2,4)+d(3,5,6,7)F=∏M(0)⋅∏d(3,5,6,7)F=\prod M(0)\cdot\prod d(3,5,6,7)F=M(0)d(3,5,6,7)

2、具有无关项逻辑函数的化简

化简包含无关项的逻辑函数时,应充分、合理地利用无关项,使逻辑函数得到更加简单的结果。化简时,将卡诺图中的 ×××(或 ϕ\phiϕ)究竟是作为 111 还是作为 000 来处理应以卡诺圈数最少、卡诺圈最大为原则。因此,并不是所有的无关项都要覆盖。

例7】化简例 666 的输出逻辑函数。
解:由表 2.5.22.5.22.5.2 所示的真值表画出 FFF 的卡诺图,如图 2.5.132.5.132.5.13 所示。

在这里插入图片描述
从图中可以看出,若将无关项 m3、m5、m6、m7m_3、m_5、m_6、m_7m3m5m6m7 都作为 111,那么可以求得 F=A+B+CF=A+B+CF=A+B+C显然,这个结果要比不利用无关项的结果简单得多。这个结果说明,只要 333 个开关中有一个闭合,灯就亮。

例8】试将下面的逻辑函数化简为最简与或非式,并用与或非门实现电路。{F=∑m(2,4,6,8)A‾ B‾ C‾+ABC‾D=0\begin{cases}F=\sum m(2,4,6,8)\\\overline A\,\overline B\,\overline C+AB\overline CD=0\end{cases}{F=m(2,4,6,8)ABC+ABCD=0解:(1)画出 FFF 的卡诺图,如图 2.5.14(a)2.5.14(a)2.5.14(a) 所示。
(2)圈 000 求出 F‾\overline FF 的最简与或式:F=D+AB+ACF=D+AB+ACF=D+AB+AC(3)将函数 FFF 变换为最简与或非式:F=F‾‾=D+AB+AC‾F=\overline{\overline F}=\overline{D+AB+AC}F=F=D+AB+AC
(4)画出逻辑电路,如图 2.5.14(b)2.5.14(b)2.5.14(b) 所示。该电路中 DDD 也可以直接连接到或非门上,省掉一个与门。

在这里插入图片描述

内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值