打印

对DSP芯片进行编程来实现模糊逻辑控制器

[复制链接]
1440|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sqcumt123|  楼主 | 2012-3-12 17:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
传统的微处理器对于大多数应用来说是足够的,即使是模糊逻辑,但对于需要可预测且非常快速响应时间的高安全性系统来说则未必。当传统处理器不够快时,数字信号处理器可能正是你的系统所需要的。
  DSP是具有指令集和面向算术运算特性的专用微处理器,其最初只是用在信号处理应用。现在,随着DSP软件开发工具种类的增加和质量的提升,这种处理器变得越来越流行。DSP如今在成本上与通用微处理器也能竞争。今天,任何可以受益于高速乘法/累加 (MAC)运算的应用都可以考虑采用DSP。
  本文将阐述模糊逻辑系统的组成部分,并给出如何采用DSP来实现的实例。
  模糊逻辑基础
  Lotfi Zadeh被认为是模糊逻辑的创立者,他在1965年的一篇**中提出了布尔数学体系*论的扩展,将二元扩展到多值。他的模糊逻辑*论是一种广义的经典*论,是对非精确性的极好表述。模糊逻辑的优势在于它可以在不采用数学方法的情况下使你能准确地描述一个过程或行为。
  布尔数学体系*既可以是真,也可以是假,而模糊*可以具有部分的这种隶属关系。布尔变量通常被称为明确的*(crisp set),模糊变量成为模糊*。模糊*行为类似于其对应的明确*。举例来说,模糊逻辑采用“与”、“或”、“非”以及补数运算。“与”处理是取输入量中的小者,“或”处理是取输入量的较大者,补数运算是用1减去输入值。
  控制器的组件
  任何基于模糊逻辑的控制器具有三个组件:模糊化器(fuzzifier)、规则库和去模糊化器。在将一个明确(数字)输入转变成模糊值并对该值进行处理,然后再将模糊值转变成明确值输出的过程中,每个组件扮演着重要的角色。尽管模糊控制器的实现不尽相同,他们都具有这三个基本部分。
  模糊化器获取一个明确输入值,并根据是否需要将其进行缩放来转换成模糊值,并转变为多值实体(entity)。缩放处理将输入域映射到所有变量都采用的一些内部格式。该多值实体是将输入值与其对应的输入*进行比较的结果,并对该值进行映射处理以反应出其隶属关系特性。
  规则库从前一级取得输入值,并将其与每个相关语句的区间相加。规则库由一系列一个或多个IF-THEN语句组成。每个语句依次组成了两个部分:条件(antecedent),在关键字then的左边;结果(consequent),在then的右边。一个语句可能具有一个或更多的antecedent和consequent。
  以电梯为例,规则库可能就像:
  IF门打开AND速度为零 AND距离可以忽略 THEN电机转速为0
  IF 门关闭AND速度慢 AND 距离大THEN电机转速最大
  IF 门关闭AND速度中等 AND距离一般 THEN电机转速一般
  IF 门关闭AND 速度快AND 距离一般THEN电机转速一般
  这个例子有四个规则,每个规则有四个变量:门、电机、速度、距离(到选定层)。每个规则有三个条件和一个结果,总共有十种情况组成了四个变量的隶属关系*。例如,速度具有变量0、慢、中等和快速。可变距离具有以下四个值:忽略、很小、一般、大。门要么开要么就是关闭。对于各种隶属*,电机转速具有0、最小、平均和最大四个变量。
  举例来说,我们假设升降机门是关闭的,速度为10英尺每秒,这个速度定义在慢和中两种隶属关系区间的中间(所有的隶属关系区间互相重叠)。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

2107

帖子

1

粉丝