为什么需要超过48k的采样音频?

最近在看音频的事情,随便拿点东西出来聊一下,如果说的不对,请用棒槌来打我,这样我晚上睡觉就不用数绵羊了。

我播放一个20HZ~20KHZ的音频,如下图

我使用16K的采样率来采集它是声音信号,获取音频如下图

我使用48K的采样率来采集它是声音信号,获取如下图

总结上面是现象

1、使用16K进行采样获取的音频,最大只能还原 8K的音频信号,后面也有声音,但是已经不是准确的声音了。

2、使用48K进行采样,可以获取到20HZ~20KHZ的完整音频信号。

奈奎斯特采样定理

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

为什么采样的频率要大于两倍的被测试信号频率呢?

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

情况A,频率f的正弦波以同一频率采样。这些采样标记在原始信号的左侧,在右侧构建时,信号错误地显示为恒定直流电压。

情况B,采样率是信号频率的两倍。现在信号显示为三角波。这种情况下,f等于奈奎斯特频率,这也是特定采样频率下为了避免混叠而允许的最高频率分量。

情况C,采样率是4f/3。

我们会惊讶的发现一个问题,如果采样率越大,那么想还原信号的真实性就越容易。我们简直就是天才啊~~


混叠

当采样频率设置不合理时,即采样频率低于2倍的信号频率时,会导致原本的高频信号被采样成低频信号。如下图所示,灰色信号是原始的高频信号,但是由于采样频率不满足采样定理的要求,导致实际采样点如图中黑色实心点所示,将这些实际采样黑色点连成曲线,可以明显地看出这是一个低频信号。在图示的时间长度内,原始灰色信号有10个周期,但采样后的蓝色信号只有2个周期。也就是采样后的信号频率成分为原始信号频率成分的1/5,这就是所谓的混叠:高频混叠成低频了

通过我强大的分析发现,要消除混叠,就需要提高采样率,这也是奈奎斯特采样定理出现的原因了。


网上很多观点说,根据采样定理,48K的音频采样率即可无损的表示音频模拟信号(人耳最多可以听到20K的音频),为何还需要96K, 192K等更高的采样率呢?最先我也有这样的疑问,毕竟采样定理是经过数学家证明过的,48K的采样率确实可以无损的表示20K的音频信号,注意是无损,而不是近似!

近日重读《数字音频技术》这本书,豁然开朗了。大家说的没错,采样定理是数学上证明过了的。但是具体到物理的、各种电子设备来实现这个录音过程时,器件本身的各种局限性,决定了48K不能达到理论的音质。

例如,根据采样定理,如果用48K的采样率,那么音频信号就不能超过20K(理论是24K,但为了契合人耳的20K上限,后面统一说20K)。而麦克风或者各种拾音器收集到的模拟信号却包含了很多超出20K的信号。麦克风不是人耳,人耳只能听到最高20K的声音,但是,麦克风的震膜却可以采集到超出20K很多的高频信号。这些超出20K的高频信号必须被过滤掉,否则经过48K的采样率进行采样时,会产生“混叠效应”,因为根据采样定理,48K的采样率最高只能处理20K的信号。

混叠效应,打个比方,当你看高速旋转的风扇、或者车轮时,你会有一种错觉:他们好像在倒着转,这就是混叠效应。在音频系统中,它们会造成非常严重的失真,因为信号采集错了!

因此,电子系统中,必须使用一种滤波器,把麦克风采集到的原始信号中20K以上的高频信号完美的过滤掉,只有这样才能保证符合采样定理。但是这样完美的滤波器只存在数学公式中,现实中要制造这样的滤波器太难了,基本做不到。现实中的滤波器,一方面对于20K以内的信号,并不是完整不变的PASS过去的,而是一条近似水平的波浪线,不同频率点的信号会有不同程度的衰减;另一方面,20K以外的音频信号,并不是说立马就给全部过滤了,它存在一个渐变区域,可能21K, 22K, 23K ... 逐渐给你过滤到0。这样的物理器件,其输出信号,实际上是不完全满足采样定理数学上的严格要求的,因此必然会产生各种各样的噪声。

那么,为了进一步提升音频系统的品质,只有提升采样率了,96K, 192K,也就有他们存在的意义了。


华丽的分割线

即使提升了采样率,还不够,因为要满足采样定理而制造的滤波器,还是太困难了,因此工程师们想了很多办法。超高采样率就是这样,它使用64倍或者128倍20K的采样率进行采样,这样即使原始模拟信号中存在高频信号,也在采样定理的保证下,被无损的采样,而不会发生混叠效应。这就大大降低了对于滤波器的要求了,而且即使滤波器的截止点存在渐变地带,那也是在很高的频率了,引入的混叠效应也发生在很高的频率点,所引入的噪声远远超出人耳的听觉范围。可以这么理解:过采样系统中仍然有噪声,但是它降低了器件的复杂度,而且它把噪声赶到人耳听觉能力以外了。

超高采样率采集到的数据,包含很多高频信号,但是可以使用数字滤波器进行滤波,数字滤波器可以使用各种算法进行计算优化,傅里叶变换等等,把高频信号过滤掉以后,只保留20K以内的音频信号。根据采样定理,再数字重采样到48K的采样率,输出给后续系统进行处理。

超高采样时,就没有必要使用16位或者24位做AD转换了,只是用6位、或1位即可,这个叫做delta-segma转换。

思路至此, DSD格式的音乐就横空出世了,DSD相对于传统的PCM,就是另外一片天地了。


在数字音频领域,常用的采样率有:

8,000 Hz - 电话所用采样率, 对于人的说话已经足够

11,025 Hz

22,050 Hz - 无线电广播所用采样率

32,000 Hz - miniDV 数码视频 camcorder、DAT (LP mode)所用采样率

44,100 Hz - 音频CD, 也常用于MPEG-1 音频(VCD, SVCD, MP3)所用采样率

47,250 Hz - Nippon Columbia (Denon)开发的世界上第一个商用 PCM 录音机所用采样率

48,000 Hz - miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率

50,000 Hz - 二十世纪七十年代后期出现的3M 和Soundstream 开发的第一款商用数字录音机所用采样率

50,400 Hz - 三菱 X-80 数字录音机所用所用采样率

96,000 或者 192,000 Hz - DVD-Audio、一些 LPCM DVD 音轨、BD-ROM(蓝光盘)音轨、和 HD-DVD (高清晰度 DVD)音轨所用所用采样率

2.8224 MHz - SACD、索尼 和 飞利浦 联合开发的称为Direct Stream Digital的1位sigma-delta modulation 过程所用采样率。


  回复「 篮球的大肚子」进入技术群聊

回复「1024」获取1000G学习资料

PS:想加入技术群的同学,加了我好友后,就给我发「篮球的大肚子」这句话,有可能机器人打瞌睡,可以多发几次,不要发与技术无光的消息或者推广。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDU 2859 Phalanx(二维DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid2859 题目大意:对称矩阵是这样的矩阵,它由“左下到右”线对称。 相应位置的元素应该相同。 例如,这里是3 * 3对称矩阵: cbx     cpb     zcc 给出任意的…

Linux io内存存在的意义~

今天是母亲节,首先祝各位读者的母亲节日快乐,祝你们的母亲年轻健康。母亲节是一个亘古的话题,我本来想写个文章,但是想起来这周就一个周末,要花点时间陪下家人,昨天我们老大开会,特别说了&#…

imx6 配置串口波特率_RS232串口多机通信

一、基本原理1、主从多机通信拓扑图2、主从多机通信的具体过程 1)使所有的从机的SM2位置1,以便接收主机发来的地址;2)主机发出一帧地址信息,其中包括8位需要与之通信的从机地址,第9位为1;3)所有从机接收到地址帧后&…

android设置访问internet权限

如果在app中访问网络&#xff0c;提示internet permission denied&#xff0c;即是没有设置访问网络的权限 在AndroidManifest.xml文件中添加如下一行即可 <uses-permission android:name"android.permission.INTERNET" />转载于:https://www.cnblogs.com/Awan…

一个故事讲完CPU的工作原理

上二年级的小明正坐在教室里。现在是数学课&#xff0c;下午第一节&#xff0c;窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时&#xff0c;刘老师在黑板上写下一个问题&#xff1a;6324 244675 &#xff1f;小明抬头看了一眼&#xff0c;觉得这两个数字挺眼熟。他昨天翘…

axure弹窗关闭_干货来袭,Axure插入图标的几种办法

前言在日常绘制原型的时候&#xff0c;经常会需要插入相应的图标&#xff08;icon&#xff09;到Axure中&#xff0c;但是看似好像很简单的事情也给蛮多小伙伴造成了困扰。现在很多开发团队都会用一些比较常见的前端框架来搭建后台管理系统&#xff0c;例如常见的Element-UI&am…

用指针实现高低位倒序,疯了吧

昨晚在微信群看到一个读者发的面试题目&#xff0c;从网上截图出来的&#xff0c;我百思不得其解&#xff0c;题目如图。幸好&#xff0c;我学过栈栈&#xff0c;C语言实现然后我写了个小程序第一个方法比较笨&#xff0c;当我写完自己的代码后&#xff0c;看到有同学发了自己的…

部署nexus服务

一、安装和启动 官网下载nexus-2.12安装包&#xff0c;地址&#xff1a;https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.12.0-01-bundle.tar.gz 此版本需要预先安装jdk1.7 解压后&#xff0c;用命令【./bin/nexus start】来启动 nexus有如下一些控制命令&…

天然气表怎么看多少方_上海考大学难度怎么样?看2019上海高考“成绩分布表”和“本科分数线”就知道了!...

参加高考的同学和家长们注意了~上海市教育考试院近日发布本市普通高等学校秋季招生本科各批次录取控制分数线和成绩分布表。艺术类、体育类本科文化控制分数线也同步公布。&#xff08;鲁申君注&#xff1a;上海2019年高考本科总分660&#xff0c;专科总分450&#xff0c;不分文…

关于Linux内核代码不使用typedef的讨论?

C语言关键字 -&#xff08;typedef关键字&#xff09;typedef有点像火隐忍者里面的万花筒写轮眼&#xff0c;用起来非常炫酷有型&#xff0c;使你的代码更加简短&#xff0c;让你穿上你亲妈都认不出你的马甲…比如这样一段代码typedef struct point{int x, y;} Points;Points f…

基于深度学习模型的花卉图像分类代码_华为不止有鸿蒙!教你快速入门华为免编程深度学习神器ModelArts...

引言&#xff1a;本文介绍利用华为ModelArts进行深度学习的图像分类任务&#xff0c;不用一行代码。今年8月9日&#xff0c;在华为史上规模最大的开发者大会上&#xff0c;华为正式发布全球首个基于微内核的全场景分布式OS——鸿蒙操作系统(HarmonyOS)。但你知道吗&#xff1f;…

洛谷P3405 [USACO16DEC]Cities and States省市

P3405 [USACO16DEC]Cities and States省市 题目描述 To keep his cows intellectually stimulated, Farmer John has placed a large map of the USA on the wall of his barn. Since the cows spend many hours in the barn staring at this map, they start to notice severa…

天线的原理

关注、星标公众号&#xff0c;不错过精彩内容来源&#xff1a;中兴文档小时候家里的收音机、电视机&#xff0c;都带着可以灵活转动拉伸的杆子&#xff0c;大家一定对这个可以转来转去的杆子记忆犹新&#xff0c;或许也好奇的发现这个杆子的长度与方向和收音机、电视的接收效果…

2d 蓝图_“蓝图”卷积--对深度可分离卷积的再思考

论文&#xff1a;Rethinking Depthwise Separable Convolutions: How Intra-Kernel Correlations Lead to Improved MobileNetshttps://arxiv.org/pdf/2003.13549.pdf​arxiv.org代码地址&#xff1a;zeiss-microscopy/BSConv​github.com一、背景一些轻量级的网络&#xff0c;…

Node.js 得到当前目录下文件修改文件名

博客园第一篇,平时都用 .net ,现在 node.js 比较火&#xff0c;就用它做一些小工具&#xff0c;比较方便 Node.js 得到当前目录下文件修改文件名,把 .txt 修改为.md var fs require(fs); var fileDirectory __dirname if (fs.existsSync(fileDirectory)) {fs.readdir(fileDir…

原来你也在写公众号

现在凌晨1点&#xff0c;我睡不着&#xff0c;因为今天打球了&#xff0c;每次打球回来我总是睡得很奇怪&#xff0c;奇怪有时候打球回来一躺下就睡着了&#xff0c;有时候打球回来就会习惯性失眠。脑海里总是浮现各种打球的进球动作&#xff0c;然后各种幻想&#xff0c;再加上…

中的数组怎么转成结构体_PLC知识,什么是数组和结构体?

今天给大家介绍一下什么是数组&#xff0c;什么是结构体&#xff0c;关于数组我们会介绍数组的定义、它的使用方法&#xff0c;关于结构体我们会介绍结构体的使用、怎么去建立一个结构体等知识&#xff0c;之前也是有部分学员有问过这些问题的&#xff0c;那么都一块儿给大家讲…

MMU那些事儿

最近在重新看这部分知识点&#xff0c;内存管理和进程调度应该是Linux下最核心的两个东西&#xff0c;不管你做得多牛逼了&#xff0c;这两点拿出来讨论&#xff0c;总是会让人眼前一亮&#xff0c;或者是可以讨论很久很久&#xff0c;这篇文章&#xff0c;读完后可能也可以让大…

51Nod 1530 稳定方块

瓦西亚和皮台亚摆放了m个方块。方块被编号为0到m-1(每个号码出现恰好一次)。现在建立一个座标系OX表示地面&#xff0c;OY的方向是竖直向上的。每一方块的左下角有一个座标而且是整点座标。 摆放好的方块一定要是稳定的。稳定的含意是每一个不在地面上的方块在他的下面至少有一…

C语言、嵌入式中几个非常实用的宏技巧

宏打印函数 在我们的嵌入式开发中&#xff0c;使用printf打印一些信息是一种常用的调试手段。但是&#xff0c;在打印的信息量比较多的时候&#xff0c;就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印&#xff0c;我们需要快速定位到异常情况的位置。这时…