iPhone Science.

所有帖子标记为iPhone科学

It’在博伊斯中被悲惨地冷,我们’ve had 记录降雪 在过去的几周里。

然而,星期天,它比较温暖—事实上,温暖的是,被落下的雪地落下了雨雪。

所以我把女儿带到了朋友身边’对于一个播放的房子,当我们走过时,我们听到了粘在地面上的微小冰卵石的美丽声音。声音是如此独特的,正常,我鞭打了我的手机来录制它。

当我稍后回家时,它似乎必须有一些有趣的事情,我可以用录音来做,而第一件事让我感到震惊,是分析声音的声音的频率。换句话说,我经常听到雨夹液撞击地面?

首先,我从iPhone导入了M4a文件,然后通过命令行转换为WAV文件(因为我计划使用Python,并且更容易找到操纵Wav的方法而不是M4a文件):
ffmpeg -i Sleet_Falling.m4a Sleet_Falling.wav

然后我解雇了iPython笔记本并导入并绘制了WAV文件:

[CodeSyntax Lang =”python”]

%matplotlib inline

import numpy as np
import wave
import matplotlib.pyplot as plt

from scipy.io import wavfile
# Load the data and calculate the time of each sample
samplerate, data = wavfile.read('Sleet_Falling.wav')
times = np.arange(len(data))/float(samplerate)

# Make the plot
# You can tweak the figsize (width, height) in inches
fig = plt.figure(figsize=(6, 4))
ax = fig.add_subplot(111)
ax.plot(times, data, lw=0.5) 
ax.set_xlim([0,10])
ax.set_ylim([-2000,2000])
ax.set_xlabel('time (s)')

fig.savefig('Sleet_Falling.png', dpi=500

[/ codeSyntax]

在波形中,独特的快速噼啪声是显而易见的。

接下来,我计算了信号的傅里叶变换:

[CodeSyntax Lang =”python”]

from numpy.fft import rfft

ft = np.fft.rfft(data)
n = data.size
timestep = 1./samplerate
freq = np.fft.rfftfreq(n, d=timestep)
period = 1./freq

fig = plt.figure(figsize=(6, 6))
ax = fig.add_subplot(111)
ax.semilogx(period, abs(ft), lw=0.5)

mx_arg = abs(ft).argmax()
print(period[mx_arg])

fig.savefig('Sleet_Falling_fft.png', dpi=500)

[/ codeSyntax]

这在约1毫秒的情况下显示出明显的峰。

假设我看到的雨夹书是关于 半径5毫米 , 一世 估计 a 终端速度 约5米/秒。如果我想象(不切实际上),雨夹雪颗粒落在单个柱中,直接在另一个柱上落下并以5米/秒行进,然后每毫秒撞击地面意味着雨夹球基本上填充端,紧紧地填充端。它们可以是[1 ms =(5 mm)/(5 m / s)]。当然,如果颗粒在随机的地方散布并撞击地面,他们可能会更加散开,而且没有许多人在一次才能成为我听到的声音。

事实证明我’M不是第一个尝试使用声音估算降水率的人。 美国宇航局 部署海洋中的麦克风以记录雨滴的独特声音。

From http://earthobservatory.nasa.gov/Features/Rain/rain_2.php.

事实上,不同尺寸的雨滴产生了不同的声音,因为某些尺寸的滴剂产生气泡等,因此科学家们实际上可以通过看频率分配来估计雨滴的大小。

不幸的是,我可以’因为我避风港,使用我的iPhone制作相同类型的测量’T使用已知幅度的声音校准麦克风。 也许是未来的东西。