耗水量几乎都是使用与用户管道系统串联的设备来测量的。这需要侵入性的管道,这可能成本高昂并且干扰用户的日常工作。此外,普通水表的运动部件会随着时间的流逝而退化,并且随着时间的流逝需要不断进行校准。在市场上可以找到各种各样的流量计,这些流量计将水流与以下各项相关:压差,旋转位移,超声延迟,热效应和基于频率的涡轮机。 在本教程中,将使用Raspberry Pi,Python编程语言和水表套件来探索管道系统的声学特性。结果分析将使用户能够识别其管道系统的声学轮廓,并确定何时流水。
部件
本教程需要遵循的部分是计算机和USB水计量套件。 用户还可以使用自己的USB麦克风或连接到计算机的其他音频捕获设备,但是,建议使用USB水计量套件来复制此实验中发现的结果。 显式部分如下:
- Raspberry Pi 4
- 水计量套件
使用USB水计量套件时,USB设备已插入任何Mac,Windows,Raspberry Pi或其他基于Linux的计算机。 柔性带内装有MEMS麦克风,该麦克风将连接至标准3/4英寸或1英寸PVC管或沿水流路径的金属管。MEMS麦克风将通过USB适配器读取,并用于表征管道系统。
无论是在家用进水口附近还是在水槽或水龙头的出水口附近,都应在要测量的管道周围安装挠性带。 在我们的研究中,我们将查看接收器的输出(如标题图片所示)。 我们还将将USB适配器连接到Raspberry Pi 4计算机:
音频分析系统
Raspberry Pi库安装:
在终端中,首先确保Raspberry Pi已更新和升级:
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade
接下来,安装音频分析库:
最后,安装“ matplotlib”图形工具箱以用于可视化:
pi@raspberrypi:~ $ sudo pip3 install matplotlib
假设安装成功,则应重新启动Raspberry Pi。现在,您的Raspberry Pi(或其他计算机)应该可以收听管道了。
测试安装Python代码
上面的脚本将确定WaWiCo USB声卡是否可用,然后以44.1kHz的速率对4096个样本中的MEMS麦克风进行采样。 该程序计算音频信号的快速傅立叶变换(FFT)。 采样率和组块大小输出≈10.8Hz的频率分辨率。 测试脚本的目的是确定用户的管道系统在各种水流量下输出的频率的近似范围。
以下是我们测试中使用的厨房水槽脚本的示例输出:
水流的频率表征
流动频率表征Python代码
上面的代码创建了一个名为“ WWC_ANA.dat”的本地文件,该文件引用了给定流动周期的频率幅度和时间周期。该脚本旨在在监视通过管道的流量时无限期运行。
上面的代码将以下内容输出到命令行或IDE窗口:
使用格策尔算法代替快速傅立叶变换(FFT),可以计算上述频率仓。 这允许以整个频谱为代价更快速地量化每个频率仓中的能量。 只有在为用户的管道响应确定了频段之后,才应使用格策尔算法。 这将确保记录的值与水流量适当相关。
如果仍然不清楚水流的频率分布,则用户可以运行实时频谱图脚本以查看水流周期的时间与频率的关系图。 以下是无水流和水流周期之间基于时间的频率响应的示例:
基于频谱图响应,我们可以对水流周期的频率响应做出陈述。 看起来我们的大多数响应都在3kHz-7kHz区域以及1.5kHz区域中,这已在上面进行了讨论。 实际响应可能会根据管道直径,管道材料和水压而有所不同。
详情参阅 - 亚图跨际