首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中的混叠,即使在Nyquist速率下

Python中的混叠,即使在Nyquist速率下
EN

Stack Overflow用户
提问于 2022-01-17 20:22:57
回答 1查看 456关注 0票数 1

根据我的理解,下面的代码创建了一个以256 Hz采样的1秒长正弦波,这意味着一个128 Hz的Nyquist速率。因此,如果一个正弦波的频率是100赫兹,它不应该经历混叠。

代码语言:javascript
复制
t = np.linspace(0,1,256)
x = np.sin(2*np.pi*100*t)
plt.plot(t,x)

然而,情节是这样的,我认为这是假的吗?

我做错什么了吗?原因是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-17 20:50:42

首先,您的代码不正确。你的采样频率是255赫兹,不是256赫兹。为了修复,

代码语言:javascript
复制
t = np.linspace(0, 1, 256, endpoint=False)

代码语言:javascript
复制
t = np.linspace(0, 1, 257)

这是一个放大版本的你的(校正)图,正弦波以更高的采样频率显示:

代码语言:javascript
复制
t = np.linspace(0, 1, 256, endpoint=False)
x = np.sin(2 * np.pi * 100 * t)
plt.plot(t, x)
plt.plot(t2 := np.linspace(0, 1, 10000), np.sin(2 * np.pi * 100 * t2), 'r:')

你每半个周期至少有一个点,这意味着你可以从这些数据中有意义地估计出真正的频率。下面是在Nyquist (200 at )上采样的类似数据集:

具有不同相位的采样会上下移动直线,但它将不允许您找到有关输入信号的有意义的信息。

混叠如下(45 at采样):

由于采样频率比信号频率低得多,你最终得到的估计值要低得多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70747094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档