奈奎斯特采样定理(Nyquist)「建议收藏」

奈奎斯特采样定理(Nyquist)「建议收藏」采样定理在1928年由美国电信工程师H.奈奎斯特首先提出来的,因此称为奈奎斯特采样定理。1933年由苏联工程师科捷利尼科夫首次用公式严格地表述这一定理,因此在苏联文献中称为科捷利尼科夫采样定理。1

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

采样定理在1928年由美国电信工程师H.奈奎斯特首先提出来的,因此称为奈奎斯特采样定理。

1933年由苏联工程师科捷利尼科夫首次用公式严格地表述这一定理,因此在苏联文献中称为科捷利尼科夫采样定理。

1948年信息论的创始人C.E.香农对这一定理加以明确地说明并正式作为定理引用,因此在许多文献中又称为香农采样定理。

 

奈奎斯特采样定理解释了采样率和所测信号频率之间的关系。 阐述了采样率fs必须大于被测信号感兴趣最高频率分量的两倍。

该频率通常被称为奈奎斯特频率fN。即:

奈奎斯特采样定理(Nyquist)「建议收藏」

 

首先,我们要明确以下两点:

  • 采样的目的是为了利用有限的采用率,无失真的还原出原有声音信号的样子。
  • 奈奎斯特采样定理也可以理解为一个正弦波每个周期最少取两个点才能把正弦波还原回去。

 

为更好理解其原因,让我们来看看不同速率测量的正弦波。

1. 假设  f= f

奈奎斯特采样定理(Nyquist)「建议收藏」

可以看出,无论我们从哪一点开始采样,每次采集到的数据都是一样的,对应的频率成分为0Hz。

 

2. 假设 fS = (4/ 3) * f

奈奎斯特采样定理(Nyquist)「建议收藏」

以上采样到的曲线仍然无法还原原有波形的样子。

 

3. 假设 f= 2 * f

奈奎斯特采样定理(Nyquist)「建议收藏」

如上图,将这些采样点连成线条,得到的信号形状为三角波,虽然信号的频率成分没有失信,但是很难保证信号的幅值不失真。因为这两个采样点很难位于正弦信号的波峰与波谷处。也就是说,在很大程度上,采样后的信号的幅值是失真的。

我们再考虑如下情况:

假设一条正弦曲线为sin(2π/t),频率为1Hz。我们以2Hz的频率对该曲线进行采样(每隔0.5s),可以得到3个红色采样数据,如下图:

奈奎斯特采样定理(Nyquist)「建议收藏」

 

对于这三个点,我们不能确定它对应的正弦曲线是sin(2π/t),因为sin(4π/t)等倍频曲线也会穿过这三个红色采样点:

奈奎斯特采样定理(Nyquist)「建议收藏」

 

混叠

如果信号的采样率低于两倍奈奎斯特频率,采样数据中就会出现虚假的低频成分。 这种现象便称为混叠。

下图显示了800 kHz正弦波1MS/s时的采样。虚线表示该采样率时记录的混叠信号。 800 kHz频率与通带混叠,错误地显示为200 kHz正弦波。

奈奎斯特采样定理(Nyquist)「建议收藏」

 

 

 

绝大多数信号都是能够进行傅里叶变换的,就意味着,不管一个信号多么复杂,总可以分解为若干个正(余)弦信号的和,对应了信号的频率分量。因此,Nyquist采样定理只需找到信号最大的频率分量,再用2倍于最大频率分量的采样频率对信号进行采样,从理论上解决了,离散信号能够重建出连续信号的问题。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167581.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm打包exe文件「建议收藏」

    pycharm打包exe文件「建议收藏」一、安装pyinstaller在Pycharm客户端上,File-Settings-Project:Python-ProjectInterpreter添加PyInstaller源。如图:二、安装压缩软件upx下载地址:https://github.com/upx/upx/releases/tag/v3.93解压到要转换到的py文件目录下三、创建.py文件fromPyInstaller._

  • C/C++中static变量和static函数的用法

    C/C++中static变量和static函数的用法静态成员数据和静态成员函数1.C中静态数据和静态函数的用法C语言中定义一个静态变量和静态函数主要是为了满足某个文件的需求比如我们在文件List.c中定义staticintcount=0;//静态变量staticintget_last_node(List*Head)

  • navicat for mysql 15 激活码【在线注册码/序列号/破解码】[通俗易懂]

    navicat for mysql 15 激活码【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • GO Excel 转 JSON (完整代码)[通俗易懂]

    GO Excel 转 JSON (完整代码)[通俗易懂]packagemainimport( “fmt” “github.com/xuri/excelize/v2” “io/ioutil” “os” “path/filepath”)funcinit(){}//配置文件目录varconfigPathstring=”../../Configs”varoutjsonPathstring=”./json/”funcgetFileList(pathstring)[]string{ varall_f.

  • 浮点数 原理_浮点数存储原理

    浮点数 原理_浮点数存储原理1.什么是浮点数在计算机系统的发展过程中,曾经提出过多种方法表达实数。典型的比如相对于浮点数的定点数(FixedPointNumber)。在这种表达方式中,小数点固定的位于实数所有数字中间的某

  • getParameterValues使用

    getParameterValues使用request.getParameterValues:接收名字相同,值有多个的变量,返回一个数据。如: String[]courseNumbers=request.getParameterValues(“courseNumberForCourse”);request.getParameter:接收单一值变量。如:stringtype=request.getPara

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号