目录

1 基本概念

2 工具和方法

自相关函数

离散余弦变换(DCT)

离散傅立叶变换(DFT)

平滑与卷积

滤波和采样

线性时变系统

3 参考代码

4 参考资料


前面我总结了工程数学

【工程数学】笔记2:数学物理方程_苹果二的博客-CSDN博客

【工程数学】笔记1:复变函数和积分变换_苹果二的博客-CSDN博客

今天继续总结数字信号处理。介绍基本概念、常用工具和技术、参考代码以及参考书籍和视频。

图片来源:https://www.allaboutcircuits.com/technical-articles/an-introduction-to-digital-signal-processing/

1 基本概念

信号即随时间变化的量。信号处理在科学和工程技术的很多领域都发挥了重要的作用。信号处理包括信号的合成、转换和分析。信号处理的方法除了适用于声音信号,还适用于电信号、机械振动和其他各个领域的信号。这些分析方法也是适用于随空间而不是时间变化的信号和不止一个维度的信号。

信号处理重要的概念有信号Signal、波形Wave和频谱Spectrum。任何信号都可以表示成一系列不同频率的正弦信号的叠加和。频谱是指相加产生信号的正弦波的集合。感知到的声音的音高是由其基频决定的,即使它不是主频。

信号包括周期性和非周期信号。周期性信号一直重复,其所包含的频率元素不随着时间的变化而变化。非周期信号,其频率元素会随着时间的变化而变化。例如,声音信号。我们使用频谱图可视化非周期信号,频谱随时间而变化。“噪声”指一个信号中包含很多频率,没有周期信号的谐波结构。

我们通常用希尔伯特变换将一个实信号表示成一个复信号(即解析信号),不仅使理论讨论很方便,而且可以由此研究实信号的包络、瞬时相位和瞬时频率。希尔伯特变换本质是一种简单的滤波。

信号处理重要原理是采样和滤波。连续域现象的数字计算必须在离散域中进行,将离散时间序列与给定的连续时间函数联系起来是采样,反之则是插值。

小波技术的基本思想是计算特定尺度和位置的信号中有多少小波,体现了卷积的本质。

傅立叶技术和小波技术都是压缩的强大工具,被广泛用于真实信号中的模式检测。时间和频率局部化导致了时频平面的概念,傅里叶技术和小波技术之间的本质区别变得明显:傅里叶技术使用频率上的等间距向量,而小波技术使用频率上的幂律间距向量;此外,傅里叶技术使用等尺度的向量,而小波技术使用几何间距的尺度。所以傅里叶技术多用于发现周期性问题,而小波技术适用于解决多分辨率问题,很适合解决哺乳动物的耳朵/眼睛的处理等问题。小波技术同时提取局部频域和时域信息,有利于发现尖峰,便于去噪。小波技术被广泛用于去除高频信息、压缩图像、诊断故障和检测异常点。

2 工具和方法

学习数字信号处理的数学基础是积分和微分以及线性代数。我们使用计算工具处理信号和频谱。

自相关函数

相关分析具有物理和几何意义,并且在滤波等处理中有重要应用。我们用相关分析比较波形的相似性。

当信号与自身相关时,我们可以通过自相关函数来更准确地估计音高音高估值。如果信号是周期性的,我们预期自相关会在时滞等于周期时出现尖峰。我们也可以并估算周期信号基频。

白噪声为“不相关”的,也就是说其各个值相互独立,而布朗噪声是“相关”的,因为每个值取决于其前面的值。

序列相关,也就是各个值与随后值(或者之前值)的相关性。为计算序列相关性,我们可以平移信号,然后计算平移之后的信号与原始信号之间的相关性。序列相关性高,也即具有长相关性,意味着信号中的各个值依赖于前面的很多值。

离散余弦变换(DCT)

用于压缩功能。常用于JPEG和类似的图像格式中,以及MPEG系列的视频格式中。

基于DCT的压缩步骤如下:

1. 将一个信号划分成段。2.计算各个分段的DCT。3.识别出振幅极小、听力无法识别的频率元素,并删除这些元素,仅保存剩下的频率和振幅。4.在播放这个信号时,载入各个片段的频率和振幅,然后进行反离散余弦变换。

离散傅立叶变换(DFT)

使用复指数来合成复信号,然后使用其逆过程来实现DFT。我们可以想象复信号为一个复数的序列,它包含两个信号——实数部分和虚数部分。可以用矩阵操作实现DFT,也可以采用更快的算法即快速傅立叶变换FFT实现。

平滑与卷积

平滑操作的目的在于移除信号中的短时变化,从而揭示其长时间趋势。平滑有低通滤波器的效果,几乎不改变基频,减弱了前几个谐波,几乎完全消除更高的谐波。对于噪声很重的曲线,平滑算子可能会让检查价格在一定时间是上升还是下降变得容易一些。通用的平滑算法是滑动平均,它计算的是前n个值的平均,n值是指定的。为了信号的滑动平均,可以使用汉明窗来避免由于信号起始处的不连续导致的频谱泄露。更一般地,使用窗来计算波形中采样的加权和。平滑信号在窗口的前缘抵达第一个变换处时开始上升,在窗口越过变换处时开始下降。结果是,变换后的波形不如之前陡峭了,而且边角也不再尖锐。变换后的信号会少一些嘈杂,有些朦胧感。

时域的卷积对应于频域相乘。当将波形和窗进行卷积时,即将波形的频谱与窗的频谱相乘。窗的DFT被称为滤波器。对于每个时域的卷积窗,在频率都有一个对应的滤波器。而且对任意一个可以表达为频域的元素间相乘操作的滤波器,都有一个对应的窗。作为一种低通滤波器,高斯平滑比简单的滑动平均要好,可以更好地抑制高频元素。在比率降低之后,会一直保持低值。

将一个窗函数应用到波形的交叠片段上——名为卷积。卷积定理将时域的平滑操作与频域的滤波器联系到一起。

滤波和采样

理解采样定理可以先从调幅开始。信号通过乘以余弦信号被“调制”了,它的作用类似于“载波”。生成一个高频波,适合无线播放。接收端,信号被 解调(通过将广播信号乘以同样的载波),恢复为原始信号。时域的卷积对应于频域的相乘。相反,时域的相乘对应于频域的卷积。当我们将信号乘以载波,就是将其频谱和载波的DFT卷积。

采样是在时间上等间距地测定一个模拟信号的过程。采样想象为乘以一个脉冲链,乘以一个脉冲链对应于和一个脉冲链在频域卷积,和一个脉冲链卷积会得到原始信号频谱的多个复件。

低通滤波器被称为矩形滤波器(brick wall filter)。频率高于截止频率的元素被完全移除了。频域乘以矩形滤波器对应于在时域和窗卷积。当应用低通滤波器时,是在和一个辛格函数卷积。可以将这个卷积认为是乘以辛格函数的时移、缩放复件。

如果对一个信号采样的帧率太低,高于折叠频谱的频率元素就会混叠。一旦出现这种情况,就无法过滤掉这些元素,因为它们和低频元素之间不可区分。可以在采样之前过滤这些频率元素。一个用于该目的的低通滤波器被称为抗混叠滤波器(anti-aliasing filter)。

有限差分窗对应于高通滤波器:其幅度随着频率增加,对低频是线性的,而对随后的频率是次线性的。时域的微分(差分)对应于频域的简单的滤波器,由于复正弦是微分算子的特征函数,它们很容易被微分。

遵循奈奎斯特—香农采样定理采样,可以保证我们不丢失信息并完好地恢复出原始信号。

线性时变系统

线性时变系统LTI可以使用卷积理论和脉冲响应描述。LTI系统的效果不随着时间而变化,或不依赖于系统的状态。包含电阻、电容和电感的电路、包含弹簧、重物和阻尼器的力学系统、产生声音的媒介都是LTI,由线性微分方程描述,这些微分方程的解是复正弦。

计算LTI系统对输入信号效果的算法即谱分解方法如下:

1.将信号表示为复正弦元素的和。2.对每个输入元素,计算对应的输出元素。3.加和输出元素。

LTI的工作原理这样理解:将输入信号中的样本想象成一系列幅值不同的脉冲,输入信号中的脉冲各自产生一个脉冲响应。相比于输入,其时间(由于系统是线性时不变的)和幅值会发生变化。输出便是这些时移、尺度变化后的脉冲响应的和。

3 参考代码

GitHub - AllenDowney/ThinkDSP: Think DSP: Digital Signal Processing in Python, by Allen B. Downey.

以上这些代码可以帮助大家更深入理解概念和计算工具。

4 参考资料

  • https://fourierandwavelets.org/FSP_v1.1_2014.pdf

Our aim is to teach signal processing with geometry, that is, to extend Euclidean geometric in- sights to abstract signals; we use Hilbert space geometry to accomplish that. With this approach, fundamental concepts – such as properties of bases, Fourier representations, sampling, interpolation, approximation, and compression – are often unified across finite dimensions, discrete time, and continuous time, thus making it easier to point out the few essential differences. Unifying results geometrically helps generalize beyond Fourier-domain insights, pushing the understanding farther,faster.

Foundations of Signal Processing这本书用几何学来教授信号处理,也就是说,把欧几里得的几何学观点扩展到抽象的信号;我们用希尔伯特空间几何学来实现这一目标。通过这种方法,基本概念--如基数的属性、傅里叶表示、采样、插值、逼近和压缩--往往在有限维度、离散时间和连续时间之间得到统一,从而更容易指出少数基本差异。

  • AllenB.Downey  艾伦·唐尼. Python数字信号处理应用 (Chinese Edition). Kindle Edition.
  • 下面这个视频非常值得一看

Xiph.Org Video Presentations: Digital Show & Tell

Digital show & Tell这个视频动态地演示了采样、量化、比特深度和抖动等有趣信息。探讨了数字音频在真实音频设备上的行为,同时使用了现代数字分析和老式模拟工作台设备。

希望以上的内容能启发大家,多思考信号处理的本质。下次再写随机过程。

【工程数学】笔记3:数字信号处理相关推荐

  1. 正交函数系-工程数学笔记

    正交函数系 正交的定义: 若函数f(x)与g(x)在[a,b]([a,b]在两个函数的定义域上)上的积的定积分为0,即 ,则称f(x)与g(x)在[a,b]上正交(orthogonal on [a,b ...

  2. 【工程数学】笔记4:随机过程

    目录 1 基本概念 2 工具和技术 布朗运动 泊松过程 马尔可夫过程 3 常见应用 在自然语言处理中的应用 在精算中的应用 在系统维修中的应用 4 参考资料 图片来源:Ergodic Theory a ...

  3. 数字信号处理翻转课堂笔记4

    数字信号处理翻转课堂笔记4 The Flipped Classroom4 of DSP 一.要点 1.离散信号傅里叶变换的性质:周期性.时移特性.频移特性.对称性.时域卷积定理.频域卷积定理.Pars ...

  4. matlab抽样仿真混叠图,数字信号处理及MATLAB仿真__前言

    前言 历史背景 像许多电子工程课程一样,数字信号处理(Digital Signal Processing,DSP)最初是一门研究生课程,近30年来,其逐渐向本科课程渗透,成为电子与计算机工程的本科课程 ...

  5. 数字信号处理之变换:傅里叶变换、短时傅里叶变换、小波变换等

    傅里叶变换.拉普拉斯变换.自(互)相关及卷积是线性系统分析里最重要的四个数学工具. 数字信号处理中常用的几种变换:傅里叶变换.短时傅里叶变换.小波变换.希尔伯特-黄变换.拉普拉斯变换. 线性变换:傅里 ...

  6. 数字信号处理笔记(上)

    数字信号处理 前言 1.绪论 1.时域离散信号与时域离散系统 1.2 时域离散信号 1.2.1常用典型序列 1.2.2 序列的计算 1.3 时域离散系统 1.3.1 线性系统 1.3.2 时不变系统 ...

  7. 数字信号处理翻转课堂笔记6

    数字信号处理翻转课堂笔记6 The Flipped Classroom6 of DSP 对应教材:<数字信号处理(第五版)>西安电子科技大学出版社,丁玉美.高西全著 一.要点 1.离散傅里 ...

  8. 数字信号处理笔记1-信号与常见操作

    年轻人,你对数学一无所知,你只是习惯了而已. -冯·诺伊曼 前言 本学期开始跟着实验室学习计算机视觉领域,而一个重要的基础知识就是<数字图像处理>,而数字信号处理作为一个大类,可以将数字图 ...

  9. 美赛整理之Matlab的工程数学计算学习笔记(高等数学)

    美赛整理之Matlab的工程数学计算学习笔记(高等数学) 1.极限的定义和判别: 2.绘制特殊曲面 3.求两个空间曲面的交线 4.定积分的计算 5.多重积分的计算 1.截面法: 2.定义法 (1)先画 ...

最新文章

  1. docker 从harbor 拉取镜像慢_Harbor丨使用的正确姿势
  2. Kafka Cluster元数据在客户端缓存采用的数据结构
  3. 《Excel 职场手册:260招菜鸟变达人》一第 1 招 快捷键的妙用(基于Windows操作系统)...
  4. java中调用_如何获取Java中的调用方类
  5. emc整改措施及案例_12.5EMC一点通||EMC整改措施
  6. git每个项目创建帐户名和密码
  7. 走过的弯路,你的套路
  8. ARM(I.MX6ULL) EPIT定时器中断实验、定时器按键消抖
  9. android代理生命周期,了解 Activity 生命周期
  10. linux_安装jdk和mysql简单步骤记
  11. 实现石头剪刀布获胜法_用java实现一个猜拳小游戏
  12. Java泛型你了解多少
  13. linux startx无法启动
  14. 25个最好免费下载电子书(Ebooks)的网站
  15. X5之position_estimator_inav_main.c
  16. VMware虚拟机安装Windows Server 2008 R2
  17. latex公式符号大全
  18. Word插入脚注后分节符自动变成分页符解决办法
  19. jquery validate 验证单个
  20. ROS中EKF(扩展卡尔曼跟踪)的使用

热门文章

  1. 阴阳师角色系统转移开通的服务器,阴阳师角色转移攻略,登录平台怎么转换?只需这样做...
  2. 使用idea打包war包和maven项目打包war包放到tomcat中运行,以及报404错误的解决
  3. Math.abs()不能做到的事情
  4. OCR文字识别工具 AIScanner
  5. 硬盘使用时间如何修改呢
  6. 利用CMake搭建软件编译架构
  7. 【技术应用】java基于UNIX域套接字(unix domain socket)连接mysql数据库
  8. java常用日志框架日志门面及实现 SLF4J 、Jboss-logging 、JCL、Log4j、Logback、Log4j2、JUL,springboot集成 log4j、log4j2
  9. 人工智能系统,呼叫中心,外呼系统建设,怎样才能高效的拨打电话,
  10. 【目标检测-YOLO】YOLO v5 训练最好结果的技巧