有机反应机理的书...吧 关注:13贴子:101
  • 5回复贴,共1

【航梦月】声控小车的设计和制作

只看楼主收藏回复




IP属地:广东1楼2016-06-08 13:28回复
    【基本要求】
    发出的声音指令可以由自己设定(比如可以说出“1”的时候控制小车前进)。
    声音指令发出后,小车的运动不能有过长的延迟。
    需要制作一个遥控器,该遥控器可接收声音信号,然后对小车发出相应的指令。
    【扩展功能】
    可以添加较为高级的控制指令。
    可以将声音指令与小车的运动相对应(如说前进就向前)。
    其他创新功能。


    IP属地:广东2楼2016-06-08 13:30
    回复
      【语音识别语音识别】
      使用DA采集数据,再使用快速离散沃尔什变换(Fast Walsh Transform ,FWT)对信号进行处理。
      【算法分析】
      一般地,前三个共振峰值频率可以区分不同的元音。因此如果能够通过在不同的频率范围内选出出共振峰,就可以识别元音或者元音序列。






      (图片来自网络,发音人:王晓霞)
      各元音在有限频率范围共振加强,并且具有规律性。这为语音的识别提供了可能。


      IP属地:广东3楼2016-06-08 13:34
      回复


        【FWT】
        为了能快速地分辨共振峰的差异,选出正确的元音序列,需要高速的计算。常用的算法有DCT(离散余弦变换)、FFT(快速傅里叶变换)、FWT(快速离散沃尔什变换)。由于没有专门的DSP,又要保证运算的实时性,因此选用FWT,对于运算能力弱的51单片机更有优势。
        由于傅里叶变换和余弦变换的变换核由正弦、余弦函数组成,运算速度受影响。在特定问题中,往往引进不同的变换方法,以求运算简单且变换核矩阵产生方便。Walsh Transform中的变换矩阵简单(只有1和-1),占用存储空间少,产生容易,有快速算法,在需要实时处理大量数据处理问题中,应用广泛。
        FWT采用与快速傅里叶变换类似的计算,将FFT中的变成1即可。快速Walsh变换简写为FWT。
        人声的范围在80Hz-125Hz,采样频率在7.8KHz以上比较合适。综上,我们选择64位的样本大小。将0-3.8KHz分为32个区段,每个区段的深度为3.8KHz/32 = 118.75Hz。这样的分割可以减少单片机的运算时间,有利于使运算速度高于采样速度。
        由于我们的傅里叶变换算法精度有限,因此可能会出现“边界频率”的问题,即共振峰落在两个或多个区间内。


        IP属地:广东4楼2016-06-08 13:35
        回复
          ■通讯协议
          【动作指令】
          小车的动作指令分为两类,一类为长时指令,一类为瞬发指令。
          长时指令有:前进、后退、停止、终止
          瞬发指令有:左转、右转
          对于长时指令,需要发送指令,小车接收后立即返回确认,确认码为0x06。
          对于瞬发指令,小车接收后立即返回确认码0x06此外,在动作完成后需要返回完成码0x03


          IP属地:广东5楼2016-06-08 13:43
          回复
            【状态指令】
            状态指令用于获取小车状态。
            上位机空闲时发送获取状态指令’L’ = 0x4C。小车即将当前行车状态返回给上位机。格式如下:
            DEC三位数速度+°三位数方向
            其中,方向为左右码盘当前转周差来计算。
            上位机发送返回指令’B’ = 0x42时,返回:
            HEX四位数左轮转过圈数+HEX四位数右轮转过圈数
            并同时停止当前所有运动,等待上位机的下一个指示。


            IP属地:广东6楼2016-06-08 13:44
            回复