
DSP
文章平均质量分 96
芥末的无奈
这个作者很懒,什么都没留下…
展开
-
用 NEON 实现高效的 FIR 滤波器
本文多数内容翻译自 Efficient FIR Filter Implementation with SIMD。原文在 SIMD 代码实现中使用到了 AVX,本文将使用 NEON 实现,关于 NEON 如何使用,请参考 Neon intrinsics 简明教程。如何让你的 FIR 滤波器在时域中更快的运行?FIR 滤波器是数字信号处理中的基石。它在将混响应用于音频信号时尤其重要,例如在虚拟现实音频或数字音频工作站的VST插件中。它还被广泛用于移动电话(甚至是前智能手机!)和嵌入式设备的声音应用。如何让 FI原创 2022-12-04 21:23:58 · 952 阅读 · 0 评论 -
数字信号处理中的 SIMD
图像或声音的数字信号处理需要对大量的数据进行复杂的操作。例如,为了缩放(改变音量)一秒钟的音频数据,我们可能要进行44100次乘法运算。如果我们实时地进行操作,且整个渲染过程在 10ms 内完成操作,事情就变得更加困难了。值得庆幸的是,有一些编程工具可以让我们更高效地处理这些情况,其中之一就是本文的主题 — SIMD在这篇文章中,我们讨论了 SIMD 指令在数字信号处理中的用处。SIMD指令让我们使用专用的处理器寄存器同时对一个以上的变量进行操作。不同的处理器架构和型号有不同的SIMD指令可用。原创 2022-11-07 19:26:35 · 1676 阅读 · 0 评论 -
【音效处理】Compressor 压缩器算法简介
系列文章目录Delay Line 简介及其 C/C++ 实现LFO 低频振荡器简介及其 C/C++ 实现【音效处理】Delay/Echo 算法简介【音效处理】Vibrato 算法简介文章目录系列文章目录一、Compressor1.1 动态范围二、算法实现2.1 算法建模2.2 Level detection2.3 Gain Computer2.4 DCA参考一、Compressor1.1 动态范围Compressor 中文译为 “压缩器” 或者 “动态压缩器”,它是一种音频动态范围处原创 2022-05-22 11:58:58 · 7164 阅读 · 9 评论 -
【音效处理】Reverb 混响算法简介
系列文章目录Delay Line 简介及其 C/C++ 实现LFO 低频振荡器简介及其 C/C++ 实现【音效处理】Delay/Echo 简介【音效处理】Vibrato 简介文章目录系列文章目录一、混响二、人工混响三、数字混响算法3.1 混响的脉冲响应信号一、混响混响是一种自然发生的声学现象。在房间中放置一个扬声器用于发声,放置一个麦克风用于收集声音。当声音与墙壁或者其他材料相遇时,声音发生反射,因此麦克风收集到的信号,除了扬声器到麦克风的径直路径外,还有很多其他方式到达的声音,如下图原创 2022-05-15 18:20:56 · 9769 阅读 · 7 评论 -
【音频处理】IIR滤波器设计(一)Biquad 滤波器
系列文章目录【音频处理】如何“认识”一个滤波器?【音频处理】滤波器设计简介前言在开始学习 IIR 滤波器之前,你还记得 z变换 吗?它可以简化数字滤波器的分析与设计,接下来内容将建立在 z变换 的基础上进行推导。如果你忘记了,那么可以在 【音频处理】如何“认识”一个滤波器? 复习下,除了z变换外,这篇博客中也提到的零点、极点等概念,相信这些会对你有帮助的。接下来,将从最简单的滤波器开始介绍,并最终引出今天的主角双二阶滤波器(Biquad Filter),要介绍的滤波器包括:一阶前馈滤波原创 2020-12-31 17:54:49 · 15527 阅读 · 4 评论 -
滤波器设计(二)模拟到数字
系列文章目录【音频处理】如何“认识”一个滤波器?【音频处理】IIR滤波器设计(一)【音频处理】IIR滤波器设计(二)文章目录系列文章目录前言一、模拟信号滤波器到数字信号滤波器的转换1. S域与Z域2. 模拟信号滤波器3. 双线性变换二前言在 【音频处理】IIR滤波器设计(一) 中,我们介绍了多种滤波器,并给出它们的差分方程、变换方程等。针对每种滤波器,我们都举了一个具体的实例来说明。同时,还讨论了零点和极点对频响的影响,已经如何用平面几何的方法计算原创 2021-12-19 22:01:31 · 4182 阅读 · 0 评论