第二章:谐波¶

第二章:谐波¶

2.3 混叠¶

坦白说,之前介绍的几个波形,都是我刻意挑选的,避免了比较的复杂的波形和频谱给大家带来困惑。

但是,接下来我会介绍一些比较复杂的情况。

图2.5 显示了一个1100Hz的三角信号在10KHz采样率下的频谱。右图是左图的放大后的图像,这样可以看的更清楚。

图2.5:显示了一个1100Hz的三角信号在10KHz采样率下的频谱。右图是左图的放大后的图像

这个信号的谐波应该在3300Hz,5500Hz,7700Hz和9900Hz。图中可以看到我们期望的1100Hz和3300Hz的频率,

但是第三个峰值的频率是在4500Hz而不是5500Hz,第四个峰值的频率是在2300Hz而不是7700Hz,下一个峰值的频率

是100Hz而不是9900Hz,这是怎么回事呢?

造成这个情况的原因是,在计算整个信号的波形的过程中,实际上是在采样点在对信号进行了离散化的处理,因此

在连续信号的各个采样点之间会丢失掉一些信息。对于低频的信号丢失的信息不多,因为同样的采样率下,频率低

的信号在一个周期内可以有更多的采样点。

但是如果你用10000Hz的采样率来采集5000Hz的信号,一个信号周期内就仅有两个采样点了。实际上两个采样点是足够的,

但是如果信号的频率再高一点,一个周期内采样点小于两个,那么就会产生问题了。

为了解释这个现象,让我们来看两个余弦信号(4500Hz和5500Hz),我们使用10000Hz的采样率来计算他们的波形:

framerate = 10000

signal = thinkdsp.CosSignal(4500)

duration = signal.period*5

segment = signal.make_wave(duration, framerate=framerate)

segment.plot()

signal = thinkdsp.CosSignal(5500)

segment = signal.make_wave(duration, framerate=framerate)

segment.plot()

图2.6 中灰色的线是信号本身,而蓝色的竖线是采样后的信号。对比这两个图,可以发现,

两个不同的信号却产生了相同的采样值。

图2.6:10000Hz采样率下的4500Hz和5500Hz的余弦信号波形图

事实上,当我们用10000Hz采样率对5500Hz信号进行采样的时候,其结果与4500Hz的信号是相同的。

正是因为这样,7700Hz的信号和2300Hz的信号,9900Hz的信号和100Hz的信号在采样后也是相同的。

信号采样后产生的这种现象,我们就称为 混叠(aliasing) ,简单来说,就是高频信号采样后的与

某些特定的低频信号是无法区分出来的。

在这个例子中(10000Hz采样率),我们最高可以采集的频率为5000Hz,也就是采样率的一半,高于5000Hz的

频率成分会被折叠到5000Hz以内,因此我们把这个频率叫做折叠频率(floding frequence),

又称为 奈奎斯特频率(Nyquist frequency) 。参见 http://en.wikipedia.org/wiki/Nyquist_frequency 。

我们可以这样来计算折叠后的频率:如果信号的频率大于采样率,通过对信号频率与采样率相除求余,来得到在0到采样率之间

的频率,然后如果这个频率大于折叠频率,则用采样率减去这个频率,最后就得到了折叠后的结果。 例如,之前波形的第五个

谐波频率是12100Hz,求余后为2100Hz,就是折叠后的频率了。你也可以从 图2.4 上看到这个2100Hz的频率。同样,也可以

看到4300Hz的频率(14300Hz,折叠后为4300Hz)。

相关风雨

梦幻手游藏宝阁买号多久到 藏宝阁账号买卖攻略分享
365足球英超欧冠

梦幻手游藏宝阁买号多久到 藏宝阁账号买卖攻略分享

🌊 09-06 💨 阅读 8364
九阴真经峨眉开什么经脉
beat365亚洲体育在线

九阴真经峨眉开什么经脉

🌊 08-09 💨 阅读 2392