目录

数字音频采样

混淆

反混淆

脉冲序列


数字音频采样

继续考虑数字音频,我们可以考虑一些音乐或任何其他处理音频的方式。 当我们录制声音时,我们有麦克风和麦克风产生连续电压(如图)。

顺便问一下,你们知道麦克风是如何工作的吗? 麦克风或多或少以下列方式工作:

我们有一个永久磁铁,我们有一个电线圈,里面有一些电线,而那个线圈中还有另一根电线。 通常,线圈处于一个小弹性机构上。 永久磁铁是固定的。 你说话,导致压力波,压力,压力波导致线圈来回移动。当你在磁场中移动线圈时,就会产生电压。电压从导线上发出,这是一个连续的信号。但是,为了把它编码到电脑里,我们把它放入所谓的A/D转换器,模拟到数字转换器,我们得到了一些样本(如图)。

然后,顺便说一下,以前我们把这些样品放在CD上,光盘上。你们可能都不买了。如果你这样做了,你买它们只是为了撕掉它们。但是,基本上,它是一组样本,它在一个文件中,不管它是什么? 当你玩这个的时候,你要做的就是把你的CD放进你的老式CD播放机里。它取出样本,然后经过D到A的转换器,数字到模拟转换器。然后我们取连续的电压通过扬声器输出(如图)。顺便说一下,它几乎和麦克风一模一样,Right? 这是一圈电线,你可以通过它发电。它会产生一个变化的磁场。有一组永磁体使扬声器相对于这些永磁体运动。

瞧,出现了持续的压力波。

那么,让我们谈谈这个采样操作,然后重建(如图)。

所以,这里我们以一个符号波为例(如图)。

我收集了一些样本(如图)。如果我收集了一些样本,那么我要怎么重建它呢?

Well,只要把这些点连起来(如图1)就可以得到下一个正弦波(如图2)。Alright,只要我有足够多的点,这就很简单了。我有足够的点,把这些点连起来。

1

2

混淆

顺便说一下,这在时间上也会发生。你有没有看过飞机螺旋桨即将起飞的视频? 然后突然,你开始看到它向后旋转,然后你看到它向前旋转。好的,飞机螺旋桨是不会向后旋转。他们只向前旋转。这是怎么回事? 哦,顺便说一下,我希望你知道如果你站在停机坪上,看着飞机,你不会看到这种现象。你看到这种现象的原因是这种现象被记录在视频或电影中它们经常拍照,这就是这里展示的。假设我们有一个轮子,每次转动这个量。如果你追踪这个点,你可以看到它在每一次旋转中都旋转了90度(如图)。

但是,如果那个点不在这里,你就会看到这个东西向后移动一点点(如图)。因为你不知道这些交叉模式中的哪一个是哪个,所以你会看到它向后旋转,对吧? 这就是在时域的混叠(Aliasing)。我们一会儿会在空间域中讨论这个问题。本质上,这个东西移动的太快了你采样一次的频率太高了以至于你无法知道发生了什么。高频和低频无法区分。

向您展示一个人工图像中的简单示例,稍后我们将看到一些自然图像。这里我们有一个渲染(如图),当这个棋盘离你越来越远,Right?它应该开始变得越来越薄,越来越近,

你会注意到,就在这里的某个地方,它开始崩溃。它看起来不像是棋盘式的样子。事实上,看看这些无意义的,right?就像低频率一样。

发生什么事?嗯,我们可以在Matlab中看一下,okay?假设我们有这个输入信号(如图)。好,这就像我刚才给你看的那个啁啾。

嗯,我们可以把它画成Matlab中的图像,看起来就是这样,okay? 这里我用x从0到5乘以0.05,我做了imagesc(sin((2.^x).*x))的图像,all right?你看到的是,它开始一个缓慢的频率,然后它变得越来越高,最终,你开始看到像这样的东西。那到底发生了什么?

哦,那是混叠(Aliasing),在图中没有足够的像素让你能够看到正在发生的事情,

这就是下面的例子,我们有少量的样本,一个不够密集的样本,为了恢复这些频率。

反混淆

所以问题是,我们如何防止混叠发生?

1、是我们可以得到更多的样本。 我们可以加入当前视频技术中百万像素的热潮。我的生日就在这个月,我给自己买了一台新相机,这台相机有3600万像素的图像,这样我就能在肖像中提取出非常精细的细节。但是,一般来说,这种百万像素的东西并不会永远存在下去。你知道的,东西总是可以或者会像我想的那样越来越快,

2、你要确保你的信号不那么摇晃。当东西越来越远的时候。你要做的是,你要确保你的信号不那么摇晃。也就是说,这是它们没有所有的高频分量,你想抹掉一些信息。我们的想法是,我们要去掉一些高频信息,但这比混叠好,all right? 我们不想看到奇怪的棋盘效应,right。

所以我们要去掉一些高频,但是我们的想法是它会表现得很好。让我们在我们的音频例子中快速讨论一下。我们要做的是,介绍低通滤波器(Lowpass Filters)。低通滤波器要做的是,把低通滤波器放在这里,模拟电压从麦克风发出,进入A / D转换器的信号的频率不会高于一定量(如图)。我们会说,okay,很棒。

也就是说,我们可以减少需要获取的样本数量,或者限制需要获取的样本数量(如图1),然后当我们进行重构时,我们知道任何重构的频率高于我们输入的频率都应该被丢弃。因此,我们再次使用低通滤波器来输出扬声器(如图2)。

1

2

脉冲序列

这就是关于混叠的手势波形。让我们做大男孩,做大女孩。我们在频域中做这个。有一点数学知识。我们需要做的第一件事是定义一个梳状函数,它和一个脉冲序列是一样的。一个梳状函数是这样写的,

我不确定我们已经定义了这种慢性或三角函数是什么(如图),基本上它是一个函数,当它的参数为0时,它的脉冲是1否则它就是0,

这里(如图)意味着,当k从 负无穷 到 正无穷 这个数会以M为单位累加,所以x每一个M都是1,

如果这是2,那么这就是这个脉冲序列的2倍的分隔。

因此,如果M变大,我的脉冲就会越来越远,那是脉冲序列。正如我之前所说,脉冲列车的傅立叶变换是另一个脉冲序列。但正如我之前说过的,随着空间间距的增大(如图1),频率也会变窄(如图2),记住这是傅里叶变换的缩放性质。所以我们在空间中采样的次数越少,采样频率就越高(如图3)。

1

2

3

Okay?那是在1D空间里。我们也可以在2D空间里做脉冲。这叫做“钉子床”。因为在1D空间里,不是有一列脉冲落在整数或者多个整数上,而是在所有的离散坐标上,你可以想象成一张钉子床,这是在这里写的,M,N的组合,因为我们在x方向和y方向上都有分离(如图1)。 并且同样地,脉冲序列的傅里叶变换是脉冲序列(如图2),钉床的傅立叶变换是另一个钉床。 再次,随着钉子进一步分开,傅里叶的钉子靠得更近了(如图3)。

1

2

3

你也可以这么想,如果我把钉子往远处铺开,我在床中间只有一个脉冲,我不建议躺在那个钉子上。这很伤人,但如果你把它想象成一个图像,它只是一个单一的脉冲。它会重新出现,如果你把它和图像卷积,你会得到整个图像。所以你必须覆盖傅里叶空间中的所有平面,okay? 所以你必须把所有的傅里叶钉子都塞回去,做出一个可以躺在上面的平板。


——学会编写自己的代码,才能练出真功夫。

12.混淆——数字音频采样,混淆,反混淆,脉冲序列_2相关推荐

  1. 导出txt文件宏_XLM宏反混淆工具:提取和反混淆XLM宏

    XLM宏反混淆器 XLMMacroDeobfuscator可用于解码模糊的XLM宏(也称为Excel 4.0宏).它利用内部XLM仿真器来解释宏,而无需完全执行代码. 它同时支持xls,xlsm和xl ...

  2. JavaScript 反混淆的一般套路和技巧[起][承][转][结]

    https://www.blackglory.me/javascript-deobfuscate-general-routines-and-tips-chapter-1/ 最近发现网上没有什么专门深入 ...

  3. 技术分享:几种常见的JavaScript混淆和反混淆工具分析实战【转】

    信息安全常被描述成一场军备竞赛,白帽与黑帽,渗透测试者与黑客,善与恶,本文将聚焦这场永无止境决斗中的一个小点. HTML5 & JS 应用中充满着对输入进行验证/注入的问题,需要开发人员始终保 ...

  4. 技术分享:几种常见的JavaScript混淆和反混淆工具分析实战

    信息安全常被描述成一场军备竞赛,白帽与黑帽,渗透测试者与黑客,善与恶,本文将聚焦这场永无止境决斗中的一个小点. HTML5 & JS 应用中充满着对输入进行验证/注入的问题,需要开发人员始终保 ...

  5. 记录一次反混淆的过程

    目标:http://laji.shadiao.co/ 这次的事情还是很有意思的,首先团队内部讨论到垃圾分类智能识别,然后说道,这东西已经有轮子了.结果就看到网上很多api,阿里云的api市场就有.于是 ...

  6. 2021-2027全球与中国数字音频混合器市场现状及未来发展趋势

    报告摘要 2020年,全球数字音频混合器市场规模达到了xx亿元,预计2027年将达到xx亿元,年复合增长率(CAGR)为xx%. 本报告研究全球与中国市场数字音频混合器的产能.产量.销量.销售额.价格 ...

  7. Powerbuilder混淆与加密器(powerbuilder防止反编译,pb混淆器,支持5-12) obfuscator for PowerBuilder...

    正式版购买请参考:http://www.mis2erp.com http://www.pb-obfuscator.com http://www.pbd-obfuscator.com 下载地址:http ...

  8. 极验验证码(6.0.9)破解(二) 之 反混淆

    回顾 上篇文章主要分析了极验的请求过程,以及出现的各种参数和配置信息 我们认识到了gt和challenge,极验相关的各种js路径,极验的各种详细配置,以及滑动时生成的参数w 我们的目标是弄明白w参数 ...

  9. c/c++反混淆方法

    deobfuscation 记需要反混淆的函数为output=obf-function(input). 反混淆的思路,首先标记输入的变量记为input-symbol,通过Taint跟踪改变量的流向,并 ...

最新文章

  1. Eclipse 使用maven管理发布web项目在tomcat里面只有java文件没有class文件
  2. Linux套接字聊天
  3. Python爬虫之旅_(数据解析)_bs4
  4. Memcached通用类(基于enyim.com Memcached Client)
  5. 解决Ubuntu Pycharm无法输入中文
  6. 013. MVC5过滤器
  7. 查看linux版本的三种常用方法
  8. html文件转换html格式,pdf文件怎么转换成html格式
  9. set row count
  10. python控制流教程_Python入门教程之运算符与控制流
  11. java recordset_连接数据库返回recordset
  12. 网站服务器是租还是买,建站服务器是买还是租?编辑教你聪明选
  13. 七牛上传图片问题总结
  14. Unix文件系统基本结构
  15. 全球及中国熔融碳酸盐燃料电池行业市场消费量调研及未来前瞻报告2022-2028年
  16. 制作U盘PE启动盘安装Windows系统
  17. java base64 加号_Base64 空格,加号问题
  18. ⑪(面试篇 3/3)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
  19. 学期博客:学习进度条
  20. Y400本本SSD装win10与机械硬盘上的系统组成双系统

热门文章

  1. 一条数据的HBase之旅,简明HBase入门教程4:集群角色
  2. 单体应用微服务改造实践
  3. 计算机组成与设计英文版在线,计算机组成与设计(硬件软件接口英文版原书第5版RISC-V版)/经典原版书库...
  4. Python 绘制探地雷达堆叠波形图
  5. linux block挂io,linux:在qemu中运行自编译内核:VFS:无法在未知的wn-block(0,0)上挂载root fs...
  6. A guide to convolution arithmetic for deep learning中译版
  7. 【python】collections.Counter()函数
  8. c++第三次上机实验项目四
  9. 如何在参考文献中优雅地引用URL?How do you get nicely formatted URLs in the bibliography?
  10. 通过代码实例来说明spark api mapPartitions和mapPartitionsWithIndex的使用