声音即可以用模拟音频信号、也可以用数字音频信号来表征。模拟音频信号强度采用电压。不同类型的换能器将声音转换为电信号,或者将电信号转换为声音。音频信号频率范围约为20Hz至20kHz。
麦克风和扬声器这类的音频源分别产生或接收音频信号,但信源也可能是白噪声或单音噪声。这些噪声可能由电路中引起,并且其频率位于音频范围内。有时候,噪声中可能根本没有有用信号。在检测音频信号时,必须考虑这些可能性,以便将噪声和无用信号与真实音频信号(如人类语音、音乐和自然声音)区分开来。
音频信号检测原理
人耳可以听到信号频率大约在20赫兹到20千赫兹范围内。该范围可包括有来自诸如变压器嗡嗡声或来自各类无线电系统的白噪声等单音调。这些声音在音响系统中是不期望出现的;水平过高的时候会损害听力。人类的语言、音乐和自然声音具有不同的频率,这些频率连续变化。因此,音频检测器应记录频率变化,并根据这些变化拾取有用的音频信号。
图1:音频信号检测的工作原理。资料来源:Dialog Semiconductor
音频信号检测的基本原理如图1所示。系统设计考虑三个基准频率:100Hz、500Hz和3kHz。对于给定信号,系统统计信号频率在特定时间段内与基准频率交叉的次数。仅考虑从低频到高频的交叉;例如,从50Hz至150Hz将算作交叉100Hz,而从150Hz至50Hz则不算。如果信号以表1中规定的最少次数穿过这三个基准频率中的任何两个,则该设计将其视为音频。
频率 | 最少交叉/穿越次数 | 测量周期 |
100Hz | 4 | 600ms |
500Hz | 2 | 600ms |
3kHz | 2 | 600ms |
表1:表中给出了检测音频信号所需的最小频率交叉(穿越)次数;这些数字可以通过I2C根据用户需要进行调整。
图1中显示了三个样本信号:
噪声信号(黑色):该噪声曲线三次穿越3kHz基准频率。
单音嗡嗡声(红色):该单音曲线没有穿越任何一个基准频率。
音频信号(绿色):像语音或音乐一样变化的音频信号。该信号分别穿越100Hz六次,500Hz五次,3kHz一次。该信号曲线穿过所有三个基准频率,尽管设备未检测到3kHz,因为它只穿过一次;如表1所示,必须交叉穿越至少2次才被检测到。该设备检测到500Hz(交叉5次;表1中规定最小值为2次)和100Hz(交叉6次;表1中规定的最小值为4次)。由于它与两个参考信号交叉足够多次,因此该信号被检测确认为音频。
请注意,语音或音乐可以有停顿。小约翰·米尔顿·凯奇有一首著名的作品,名为“4'33”,演奏中没有任何声音。当然,该设计无法将长暂停时间确认为音频。不过,对于小于5秒的暂停时间,检测算法会忽略不计。
最后,该设计将剪剪切掉听不见的频率——即低于20Hz和高于20kHz的频率。我们将利用这些原理,作为利用SLG47502可编程混合信号芯片来设计音频信号检测器的基础。
检测设备的实现
设计架构
该设备的设计架构如图2所示,其中包含以下构建模块:
模拟音频信号的量化模块——将连续模拟值映射为双值。经过该处理之后,所有需要知道的只是音频信号的频率。
高频截止滤波器模块——该模块剪切掉高于20kHz的频率。
低频截止滤波器模块——该模块剪切掉低于25Hz的频率。
频率交叉计数器模块——根据表1,计算特定时间段(测量时间)内信号频率与基准频率高频、中频、低频的交叉次数。
音频暂停模块——检测音频暂停,如果少于5秒时忽略不计。
测量时间模块——设置进行计数的时间段。
D触发器(DFF)模块——存储测量期间的音频检测,并将其输出到PIN12(AudioDetect)。
五分钟无音频信号模块——检测音频信号的五分钟空闲时间,并将PIN11(Five Minutes No Audio Signal)置到高电平。
图2:该设备架构突出显示出主要构建模块。.
模块配置
模拟部分:音频信号源应连接至PIN9(AUDIO_IN-)和PIN10(AUDIO_IN+)。PIN10是模拟比较器(ACMP)的输入。PIN9为基准电压(500毫伏)。考虑到音频信号为交流信号且IC为单电压供电,该设计将音频信号偏置500mV以避免出现负值。然后,输入音频信号进入ACMP0H(图3)。ACMP0H对音频信号进行数字量化,然后交由该设计的其余部分处理。
图3:模拟部分表示由模拟比较器和基准电压组成的音频信号源
高频截止滤波器:一个延迟器(8位CNT7/DLY7(MF7))用来过滤掉高于20kHz的频率(图4)。设计工程师可以通过I2C将计数器数据写入0xA0<1287:1280>来调整频率周期。
图4:高频截止滤波器采用延迟器来滤除高于20kHz的频率。
低频截止滤波器:图5所示的低频截止滤波器由两部分组成:
尖峰脉冲滤波器。考虑到没有使用计数/延迟器模块来滤除随机脉冲,决定使用查找表(3位LUT8)、移位寄存器(SHR13)和DFF(DFF12)来实现尖峰脉冲滤波器。设计师可以通过I2C将计数器数据写入0x69<845:842>,来调整随机脉冲的时间。
频率检测器。利用频率检测器(CNT5/DLY5)实现低频截止滤波器,用于滤除低于25Hz的频率。设计师可以通过I2C将计数器数据写入0x94<1191:1184>来调整低频频率的滤除周期。
图5:低频截止滤波器包括一个尖峰脉冲滤波器和一个频率检测器。
频率交叉计数器:该模块由几个部分组成。第一部分是EDGEDET(图6)。它将双电平音频信号转换为一系列短脉冲,从而保存音频信号的频率。下一步是检测音频信号的频率与基准频率的交叉次数,如表2和图7所示。
图6:频率交叉计数器的第一部分将双电平音频信号转换为一系列短脉冲。
参数 | 频率 | 计数延迟器编号 | 访问地址 | 寄存器 |
高基准频率交叉 | 3kHz | CNT1/DLY1 | 0x7C | <999:992> |
中间基准频率交叉 | 500Hz | CNT1/DLY1 | 0x82 | <1047:1040> |
低基准频率交叉 | 100Hz | CNT1/DLY1 | 0x88 | <1095:1088> |
表2:频率检测期间,交叉频率可通过I2C更新。
通过移位寄存器(SHR7、SHR8、SHR9)计算与基准频率的交叉次数。
图7:图中显示了音频信号与基准频率的交叉检测原理。
音频暂停模块:音频暂停模块由频率检测器实现,如图8和表3所示。此模块检测到音频信号暂停,如果暂停时间小于5秒,则予以忽略。音频信号被认为是连续的。如果暂停时间超过5秒,则该设计检测结果认定根本不是音频信号。
图8:由频率检测器实现的音频暂停模块。
参数 | 暂停时间 | 计数延迟器编号 | 访问地址 | 寄存器 |
音频暂停 | 约5秒 | CNT4/DLY4 | 0x8E | <1143:1136> |
表3:音频暂停数据;交叉穿越的频率可以通过I2C更新。
测量时间模块:该设计计算由计数器控制的特定时间内与基准频率交叉的次数,如图9和表4所示。如果频率交叉计数器在测量时间段内未检测到音频信号——包括音频暂停,则该设计将其识别为无信号。
图9:测量时间模块统计特定时间段内的与基准频率的交叉次数。
参数 | 测量时间 | 延迟器编号 | 访问地址 | 寄存器 |
测量时间 | 约600ms | CNT0/DLY0 | MSB0x72 | <919:912> |
LSB0x73 | <927:920> |
表4:测量时间数据与基准频率的交叉次数相关。
有音频信号存储:有音频信号存储由DFF0输出,如图2所示。使用PDLY模式(双边沿延迟)和LUT(3位LUT13)设置信号。
无音频信号:如果该设计在大约5分钟内未检测到任何音频信号,则将PIN11置高电平(五分钟音频暂停)。使用LUT(3位LUT3)和延迟器(CNT6/DLY6)进行计数。时间根据表5来设定。
参数 | 暂停时间 | 延迟器编号 | 访问地址 | 寄存器 |
无音频信号 | 约5分钟 | CNT6/DLY6 | 0x9A | <1239:1232> |
表5:根据表中信息计算无音频时间。
典型应用电路
图10:图中给出了一个典型的应用电路。
硬件测试结果
图11中给出了硬件测试结果:
通道1(黄色,上方)-PIN10端信号,
通道2(蓝色,下方)-PIN12端信号,
示波器的地线连接至PIN9。
图11:图(a)波形显示了利用录音机播放声音的测试结果,图(b)是接收调频台播音的测试结果。
音频检测器设计
本文介绍了用可编程混合信号芯片SLG47502设计的音频检测器。该方法基于音频信号频率的变化。如果输入信号的频率发生一定次数的变化,则设备会将该信号识别为音频。该设计允许音频暂停。如果在五分钟内未识别出音频信号,则设备会将PIN11置为高电平。如果输入信号的电平相对过低,则此设计无法识别音频。
(参考原文:A design guide for implementing audio signal detection)
本文为《电子工程专辑》2021年12月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅
责编:Amy Wu