不久前,我尝试了不同的方式来绘制数字波形,而我尝试做的一件事是代替幅度包络线的标准轮廓,将其显示得更像示波器。这是示波器上的正弦波和方波:
最简单的方法是:
- 在输出图像的每个水平像素中将音频文件分成一个块
- 计算每个块的样本幅度直方图
- 通过亮度将直方图绘制为像素列
它产生如下内容:
如果每个块中有很多样本,并且信号的频率与采样频率无关,则效果很好。例如,如果信号频率恰好是采样频率的整数倍,则采样将始终在每个周期中以完全相同的幅度发生,并且直方图将只是几个点,即使在这些点之间存在实际的重构信号也是如此。该正弦脉冲应与左上角一样平滑,但这不是因为它正好是1 kHz,并且采样始终出现在相同的点附近:
我尝试增加采样数以增加点数,但这并不能解决问题,仅在某些情况下有助于解决问题。
因此,我真正想要的是一种从其数字样本(幅度与时间)计算连续重构信号的真实PDF(概率与幅度)的方法。我不知道该使用什么算法。通常,函数的PDF是其反函数的导数。
PDF的sin(x):
但是我不知道如何计算逆函数是多值函数的波,或者如何快速进行计算。将其分解为分支,计算每个的逆,取导数并将它们加在一起?但这很复杂,而且可能有更简单的方法。
该“内插数据的PDF”也适用于我进行GPS轨迹的核密度估计的尝试。它应该是环形的,但是因为它仅查看样本,而没有考虑样本之间的插值点,所以KDE看起来更像是一个驼峰而不是一个圆环。如果我们只知道样本,那么这就是我们所能做的最好的。但是样本并不是我们所知道的。我们也知道样本之间存在一条路径。对于GPS,没有像带宽有限的音频那样完美的Nyquist重建,但是基本思想仍然适用,插值函数有些猜测。