• 模拟数字转换(ADC)是将模拟信号(如声音)转换为数字信号的过程。以下是ADC转换的基础知识以及捕捉声音的硬件方式:

adc.png

  1. 传感器:
    • 亦称换能器,是把现场各种物理信号按一定规律转换成与其对应的电信号。它是实现测量和控制的首要环节,是测控系统的关键部件。
  • 声音捕捉
  • 声波原理:
    • 声音是由空气中的压力波动形成的。当声波到达麦克风时,会使麦克风内部的某些组件发生物理变化,从而生成电信号。
  • 转换机制:
    • 不同类型的麦克风使用不同的机制来捕捉声音,主要包括:
      • 动圈麦克风:
        • 通过声波使振膜振动,振膜与线圈相连,线圈在磁场中移动,产生电流。
      • 电容麦克风:
        • 由两个电极构成的电容器,声波使振膜(其中一个电极)振动,改变电容值,从而产生电信号。
      • 驻极体麦克风:
        • 一种特殊的电容麦克风,内部有固定的电荷,工作原理与电容麦克风类似,但通常体积小,便于集成。
  1. 信号调理
  • 放大器:
    • 麦克风输出的电信号通常是微弱的,因此需要通过放大器放大信号,以便后续处理。
    1. 运算放大器(Op-Amp)
      • 应用场景:
        • 信号处理:用于滤波、信号调理和放大微弱信号。
        • 数据采集:在传感器和转换器中使用。
        • 模拟计算:执行加法、减法、积分和微分等数学运算。
    2. 音频放大器
      • 应用场景:
        • 家庭音响系统:放大音频信号以驱动扬声器。
        • 专业音频设备:用于音乐录制和现场表演。
        • 乐器放大器:增强吉他、贝斯等乐器的音量。
    3. 射频放大器
      • 应用场景:
        • 无线通信:放大射频信号,用于无线电、电视和手机通信。
        • 雷达系统:增强雷达信号以提高探测能力。
        • RFID系统:用于增强射频识别信号。
    4. 视频放大器
      • 应用场景:
        • 视频监控:放大视频信号以提高图像质量。
        • 显示设备:用于电视、投影仪等设备中信号增强。
        • 传输系统:在长距离传输中增强视频信号,减少信号衰减。
    5. 功率放大器
      • 应用场景:
        • 音响系统:驱动扬声器,提供高功率输出。
        • 无线电发射:增强信号以确保远距离传输。
        • 电动机驱动:用于控制电动机的速度和扭矩。
    6. 低噪声放大器(LNA)
      • 应用场景:
        • 无线接收器:在接收信号之前放大微弱信号,减少噪声。
        • 天文观测:放大从天体发出的微弱信号。
        • 生物医学应用:增强生物信号,如EEG或ECG信号。
    7. 反馈放大器
      • 应用场景:
        • 稳定增益:用于需要稳定增益和低失真的应用。
        • 控制系统:在自动控制系统中用于信号处理。
    8. 变换放大器
      • 应用场景:
        • 用于将电压信号转换为电流信号,或反之。
        • 应用于电源管理和电池充电系统。
  • 滤波器:
    • 在某些情况下,可能需要使用滤波器去除噪声或不必要的频率,以确保信号质量。
    • 滤波器类型
      • 低通滤波器(LPF)
        • 作用:允许低频信号通过,抑制高频信号。
        • 应用场景:
        • 信号平滑:去除高频噪声,平滑信号。
        • 音频处理:在音频系统中去除高频干扰。
      • 高通滤波器(HPF)
        • 作用:允许高频信号通过,抑制低频信号。
        • 应用场景:
        • 噪声抑制:去除低频噪声,如风噪声。
        • 音频处理:增强音频信号中的高频成分。
      • 带通滤波器(BPF)
        • 作用:仅允许特定频率范围内的信号通过,抑

制其他频率。
* 应用场景:
* 无线通信:选择特定频率的信号进行解调。
* 音频处理:增强特定音频频段(如人声)。
* 带阻滤波器(BSF)
* 作用:抑制特定频率范围内的信号,允许其他频率通过。
* 应用场景:
* 噪声抑制:去除特定频率的干扰。
* 音频处理:去除反馈频率或不必要的频率成分。

  • 多路开关
    • 多路开关的作用是进行信号切换,即一次只能把一路信号传送到AD转换器,当对多路实时现场采集信息时,多路开关可对多路信号进行切换处理,控制每次只送一路信息到A/D转换器,实现多路信号的分时处理,从而降低整个系统的成本。
    • 如何避免 ADC 采集数据错乱?
      • 如果所有传感器的输出都是 电压信号(0-5V),且 A/D 转换器可以处理这个范围,则可以直接使用多路开关。
      • 例如:
        • 温度传感器输出 0-5V(对应温度范围)
        • 光照传感器输出 0-5V
        • 这样 ADC 轮流采集时,不会出现信号错乱。
      • 如果不同传感器的信号范围不同
      • 例如:
        • 传感器 1:温度传感器,输出 0-5V
        • 传感器 2:压力传感器,输出 0-10V
        • 传感器 3:光照传感器,输出 0-3.3V
        • 传感器 4:电流传感器,输出 4-20mA
        • 不能直接使用,要做其它处理
  1. 模拟数字转换(ADC)
  • ADC芯片:
    • 使用ADC芯片将模拟信号转换为数字信号。ADC通过采样和量化过程完成转换。
    • 采样率
      • 概念:采样率是指每秒钟对模拟信号进行采样的次数,以赫兹(Hz)为单位。
      • 精度:采样率越高,能够更准确地捕捉信号的变化,特别是在高频音频信号中。根据奈奎斯特定理,采样率至少应为信号最高频率的两倍,以避免混叠(aliasing)现象。
        1. 采样率越高,信号恢复越精确
        • 当采样率高于 奈奎斯特频率,采样点可以更精确地描述信号的变化,从而更好地恢复原始信号。
          • 示例:不同采样率对信号的影响
            • 以 1Hz 的正弦波为例:
              * 采样率 = 2 Hz(刚好满足奈奎斯特定理):可以勉强还原,但信号可能会比较生硬。
              * 采样率 = 10 Hz:更精确,可以看出波形的细节。
              * 采样率 = 100 Hz:基本上和原始模拟信号非常接近。
              * 这就像画一条曲线,点越多,曲线越平滑。
        1. 采样率并非无限高越好
          • 虽然更高的采样率可以让信号更精确地接近原始信号,但也有一些限制:
          1. 数据量增加

            • 采样率越高,需要存储和处理的数据就越多,带宽和存储压力变大。
            • 例如 CD 音频的 44.1 kHz 采样率已经可以很好地还原人耳可听范围的声音,如果提高到 192 kHz,对普通用户意义不大,但数据量却会大幅增加。
          2. 实际系统的带宽限制

            • 电子设备的 ADC(模数转换器)、处理器 和 存储器 都有一定的最高采样率,超过这个速率可能会导致硬件无法处理。

          3.信号本身的带宽
          * 如果信号本身的最高频率较低,过高的采样率只是浪费资源。例如:
          * 语音电话通常用 8 kHz 采样率(人耳对语音信号的频率需求较低)。
          * 音乐 CD 采用 44.1 kHz 采样率(人耳最大听觉范围 20 kHz 左右)。
          * 医疗 ECG(心电图)信号一般采样率 1000 Hz,而不是 1 MHz,因为心电信号的频率很低。

        2. 采样率 vs. 量化精度
          • 采样率决定时间精度,但信号的还原精度不仅取决于采样率,还取决于 量化精度(bit 数):
            • 采样率高 → 更接近真实信号的时间变化。
            • 量化位数高(比如 8-bit, 16-bit, 24-bit) → 更精确地表示信号的电压幅度。
          • 例如:
            • CD 音频(16-bit, 44.1 kHz):可以很好地还原音乐。
            • 专业录音(24-bit, 96 kHz):可以更精准地捕捉声音细节。
            • 超高采样率(如 384 kHz):对于人耳几乎没有区别,只是数据量变大。
        3. 总结
          • 采样率越高,信号还原越精确,但要符合奈奎斯特定理(至少 2 倍最高信号频率)。
          • 采样率过高会增加数据存储和计算负担,但并不一定带来显著提升。
          • 量化精度(bit 数)也影响信号质量,不仅仅是采样率重要。
          • 合理选择采样率,如音频 44.1 kHz、心电图 1000 Hz,而非盲目追求高采样率。
          • 所以,在 满足奈奎斯特定理的基础上,适当提高采样率可以提高信号还原度,但并非无限增加采样率就一定更好
    • 保持电路
      • 从启动信号转换到转换结束的数字量输出,经过一定的时间,而模拟量转换期间,要求模拟信号保持不变,所以必用采样保持器。该电路具有两个功能;采样-跟踪输入信号:保持-暂停跟踪输入信号,保持已采集的输入信号,确保在A/D转换期间保持输入信号不变。
    • 量化位数(Bit Depth)
      • 概念:量化位数表示 ADC 可以表示的不同电平的数量。常见的量化位数有 16 位、24 位和 32 位等。
      • 精度:量化位数越高,能够表示的电平数量越多,音频信号的动态范围和细节保留能力越强。例如,16 位 ADC 可以表示 65,536 个不同的电平,而 24 位可以表示 16,777,216 个电平。
  • ADC常用转换方法
    • 计数式 A/D 转换法(Counter Type ADC)
      • 速度:慢
      • 主要特点:简单,但转换速度受限
      • 工作原理:
        • 计数器从 0 开始计数,并将数字信号转换为模拟信号(使用 DAC),然后与输入模拟信号比较。
        • 当 DAC 输出的模拟电压达到输入信号的电压时,计数器停止,计数值即为转换结果。
      • 优点
        • 结构简单,电路容易实现。
        • 适用于低速应用(如温度测量)。
      • 缺点
        • 速度慢:计数器从 0 开始逐步增加,因此转换时间与输入信号大小有关。
        • 不适用于高速采样。
    • 双积分式 A/D 转换法(Dual Slope ADC)
      • 速度:较慢
      • 主要特点:抗干扰能力强,适用于高精度测量
      • 工作原理:
        • 积分阶段:将输入模拟信号充电到电容,经过一定时间后,电容上累积的电压正比于输入信号。
        • 放电阶段:使用已知的参考电压放电,测量放电时间,即可得到输入电压值。
      • 优点
        • 高精度:由于积分过程能有效平均噪声,减少干扰。
        • 抗干扰能力强:特别适合低频、精密测量(如数字万用表)。
        • 线性度好。
      • 缺点
        • 转换速度慢(需要积分和放电两个过程)。
        • 不适合高速数据采集。
    • 逐次逼近式 A/D 转换法(SAR ADC - Successive Approximation Register ADC)
      • 速度:快
      • 主要特点:速度快,适用于大多数应用
      • 工作原理:
        • 设定一个数字比较值(从最高位开始),并通过DAC 生成对应的模拟电压。
        • 比较 DAC 输出电压与输入电压:
        • 如果 DAC 输出电压小于输入电压,保留该位为 1;
        • 否则,将该位设为 0,然后调整下一位。
        • 逐步确定所有位数,最终得到数字量输出。
      • 优点
        • 速度快:n 位转换时间恒定为 n 次比较,如 8 位 ADC 需要 8 个时钟周期,10 位需要 10 个时钟周期。
        • 适用于实时信号处理(如音频、工业控制、图像处理)。
        • 精度较高,功耗适中。
      • 缺点
        • 受电路精度影响,对比较器要求高。
        • 抗干扰能力较差(受瞬时噪声影响较大)。
  1. 输出数字信号
    数字信号处理:
    转换后的数字信号可以通过微控制器、数字信号处理器(DSP)或计算机进行进一步处理。常见的处理包括语音识别、音频效果处理等。

vosk-api
PocketSphinx

  • 在嵌入式设备中选择PocketSphinx和Vosk时,可以考虑以下优缺点:
    • PocketSphinx
      • 优点:
        • 资源占用低:非常适合内存和处理能力有限的设备。
        • 离线识别:无需互联网连接,可以在完全离线的环境中工作。
        • 灵活性:支持自定义词汇和语言模型,便于特定应用的需求。
        • 实时性:能够快速响应用户的语音输入。
      • 缺点:
        • 识别准确性:相较于现代的深度学习模型,识别准确性可能较低。
        • 支持的语言:相对较少的语言支持和模型更新频率。
        • 开发者社区:相比Vosk,社区支持和文档可能较为有限。
    • Vosk
      • 优点:
        • 高准确性:基于深度学习模型,识别效果通常优于传统模型。
        • 多语言支持:支持多种语言和方言,适用范围广。
        • 离线能力:支持离线语音识别,适合在无网络环境中使用。
        • 丰富的功能:支持语音识别、转录和命令识别等多种功能。
      • 缺点:
        • 资源占用较高:相对PocketSphinx,Vosk对硬件资源的要求更高,可能不适合极小的嵌入式设备。
        • 安装和配置复杂性:设置和集成可能比PocketSphinx复杂,特别是在资源受限的环境中。
        • 延迟:相较于PocketSphinx,可能在某些情况下存在更高的延迟。
    • 如何选择
      • 硬件资源:如果设备资源非常有限,PocketSphinx可能是更好的选择。如果设备有更强的计算能力,Vosk将提供更好的识别性能。
      • 应用需求:如果需要高准确度和多语言支持,Vosk更适合。如果应用对实时性有特别高的要求,PocketSphinx可能会更合适。
      • 开发周期:考虑项目的开发时间和团队的技术积累,选择更易于集成和使用的系统。