- 博客(60)
- 收藏
- 关注
转载 STFT完美重建原始信号
在进行ISTFT时,先对处理完的每帧频域信号做傅里叶逆变换,而后对逆变换的结果加窗(和分帧时加的窗类型、窗长、overlap保持一致),最后对加窗后的每帧信号重叠相加再除以每帧窗函数的平方重叠相加的结果,即可重建原始信号。链接:https://www.zhihu.com/question/280648561/answer/2521849999。商业转载请联系作者获得授权,非商业转载请注明出处。可以看出原始信号与重建信号是完美重合的。作者:Bear-boy。
2024-01-03 10:44:14 605
转载 Linux环境下Virtualenv环境直接拷贝后python和pip用不了
Linux环境下Virtualenv环境直接拷贝后python和pip用不了
2023-01-10 18:55:03 538
转载 波束和BSS问题中的gevd
波束和BSS中的GED:https://blog.csdn.net/longtaochen/article/details/124107580
2022-11-01 15:23:14 281
原创 实数、复数FFT
实数FFT、复数FFT:FFT是DFT的快速算法,从时域转换到实数FFT和复数FFT中的实数和复数是相对与输入数据而言,从上面两张图中可以看出:N点的复数FFT需要时域的N点实数和N点虚数(一般设置为0),经FFT转换后,频域得到N点的实数和N点的虚数(因为前后两部分是共轭对称,所以有效数据只有N/2+1个实数和N/2+1个虚数)。N点的实数FFT只需要时域N点的实数,经FFT转换后,得到频域N/2+1个实数和N/2+1个虚数。另外N点的复数FFT可以实现2N点的实数FFT:clear all
2022-05-25 22:26:32 8378 1
原创 【西蒙赫金】自适应滤波器原理(读书笔记一)
背景和预览1、滤波问题:从含噪的数据中提取有用的信息。2、三种基本估计(基本的信息处理运算):(1)滤波:使用t时刻及其以前的数据来提取或者估计t时刻有用信息。实时(2)平滑:后验形式的估计。用0到t时刻的数据获取t’时刻平滑估计(t‘<t),包含t-t’的时延,但是相较于(1)滤波更准。非实时(3)预测:用0到t时刻的数据估计t’时刻的有用信息(t’>t)。实时3、线性最优滤波器:如果输出是输入的线性函数,则是线性滤波器,否则是非线性滤波器。4、自适应滤波器:性能指标:收敛
2022-05-11 17:06:52 3235
原创 [论文阅读] 基于辅助函数的IVA(使用源先验的四阶关系)
独立向量分析(IVA)理论上可以避免在频域独立分量分析中出现的排列模糊,方法是在保留每个源的不同频率单元之间的依赖关系之前使用多变量源。基于辅助函数的独立向量分析(AuxIVA)是一种稳定且快速更新的IVA算法,不包含任何调整参数。因此,本文采用一种特殊的多元广义高斯分布源先验来推导AuxIVA算法,该算法可以利用四阶关系来更好地保持语音信号不同频率单元之间的相关性。实验结果表明,该算法提高了分离性能。独立分量分析(ICA)是盲源分离(BSS)问题的核心工具[1][2]。最著名的BSS问题是鸡尾酒会问题[
2022-05-03 17:31:00 1685 1
原创 [论文阅读]基于统计模型的晚期混响谱方差估计
Abstract: 语音识别或者语音通信会混响影响清晰度和可理解度。混响分为早期混响和晚期混响,早期混响对语音识别和通信具有积极作用,晚期混响会降低语音的清晰度和可理解度。去混响工作的主要挑战就是对晚期混响的谱方差进行估计。这篇论文中,作者基于直接路径上的能量贡献提出了统计混响模型。基于此推导出更一般的晚期混响谱方差的估计器,在一般的情况下可退化为已经存在的LRSV估计器。在声源-mic的距离小于临界距离(临界距离指直接路径
2022-04-26 16:54:42 1421
原创 各种新能源汽车总结
1、纯电动(EV :Electric Vehicle)只有电动机,需要充电才能跑。优点:加速快、噪音小、智能化程度高、省油钱;缺点:冬天续航里程打折严重、充电时间慢、续航短;2、油电式混合动力(HEV :Hybrid Electric Vehicle)汽油发动机和电动机的混合。车型以油为主,一般电池容量很小,通过汽车运动过程中的能量回收(例如刹车)来充电。所以,这种车不会提供充电口的。但是同样的油可以行驶更远的里程。因为电池容量很小,一般不能长时间纯电行驶,电动机功率也不大,所以在起步和加速等场景中
2022-04-01 19:11:23 942
原创 Docker相关
一、DockerDocker是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition
2022-03-30 15:41:33 104
原创 Linux 上电程序自启动 及 命令行修改静态IP
Linux 上电程序自启动:1、sudo vim ~/.bashrc2、在.bashrc末尾添加命令3、重新启动注意:1、上电会自启动,使用ssh连接后,又会重新启动。2、使用ftp连接,不会再次重新启动。
2022-02-18 19:33:22 1070
原创 几种常用的噪声估计算法(二)
上篇“几种常用的噪声估计算法(一)”主要介绍了分位数噪声估计、直方图噪声估计和最小值跟踪噪声估计算法,本篇主要介绍基于递归平均噪声估计算法及其衍生算法。由于是同一篇文章的上下两部分,所以采用相同的标题序列。4、递归平均噪声估计算法(the recursive-averaging type of noise-estimation algor
2021-09-15 19:46:00 9098 1
原创 几种常用的噪声估计算法(一)
一、前言 噪声估计算法就是用来估计噪声,根据估计出的噪声完成VAD和降噪。噪声估计主要是根据含噪语音的一些特点或者现象实现的。二、噪声估计的依据1、闭塞音闭合段(两个词之间)频段能量趋近于噪声水平;正常语音之中包含大量的短暂的安静片段,尤其是清摩擦音期间的低频段(2khz以下)和元音或者浊音(半元音、鼻音)的高频段(大于4Khz)。 &n
2021-09-09 19:33:42 19536 1
转载 音量标准化(Audio Normalization)、等响度曲线
一、什么是音量标准化,为什么要做音量标准化: 麦克风接收到的语音会因为mic增益、说话者距离、实际环境等的不同导致音量大小不稳定,这种情况一方面会影响语音识别,另一方面也会影响人的听感。所以,在获取到mic语音时,需要进行音量标准化,把音量增益到(有可能放大,也有可能缩小)一个比较稳定的水平。二、音量标准化的方法 音量标准化比较通用的方法主要有两种:(1)峰值标准化(PEAK (LEVEL) NORMALIZATION) 峰值标准化,顾名思义,就是将音频最大(Peak)的地方,调整到特定大小
2021-09-07 18:56:28 8493
转载 深入浅出 WebRTC AEC(声学回声消除)
回声的形成WebRTC 架构中上下行音频信号处理流程如图 1,音频 3A 主要集中在上行的发送端对发送信号依次进行回声消除、降噪以及音量均衡(这里只讨论 AEC 的处理流程,如果是 AECM 的处理流程 ANS 会前置),AGC 会作为压限器作用在接收端对即将播放的音频信号进行限幅。那么回声是怎么形成的呢?如图 2 所示,A、B 两人在通信的过程中,我们有如下定义:x(n): 远端参考信号,即 A 端订阅的 B 端音频流,通常作为参考信号;y(n): 回声信号,即扬声器播放信号 x(n) 后,被
2021-08-21 17:29:38 6527 2
转载 详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)
01 前言自动增益控制(AGC:Auto Gain Control)是我认为链路最长,最影响音质和主观听感的音频算法模块,一方面是 AGC 必须作用于发送端来应对移动端与 PC 端多样的采集设备,另一方面 AGC 也常被作为压限器作用于接收端,均衡混音信号防止爆音。设备的多样性最直接的体现就是音频采集的差异,一般表现为音量过大导致爆音,采集音量过小对端听起来很吃力。在音视频通话的现实场景中,不同的参会人说话音量各有不同,参会用户需要频繁的调整播放音量来满足听感的需要,戴耳机的用户随时承受着大音量对耳朵
2021-08-21 17:16:55 2152
转载 使用MATLAB的fdatool生成滤波器
本文采用的matlab版本为R2008a,芯片采用stm32f103v。先回顾一下数字信号处理和IIR滤波器的相关知识。数字信号处理是用数字序列来研究系统的一门技术,不同于模拟信号,数字信号处理起来更加灵活,不仅可以处理一维信号,还可以处理二维、三维以上的信号。这门技术应用非常广泛,如生物医学、声学、雷达、语音通信、数据通信等都采用了数字信号处理技术。在数字信号处理技术中经常用的一种算法叫IIR滤波器,这种滤波器可以设计成带通、低通和高通滤波,在设计原型上有butterworth函数、chebyshe
2021-08-19 11:09:34 5454 1
转载 MIC相关基础知识
模拟mic和数字mic:大多数情况下,模拟mic是驻极体的,数字mic是mems;数字mic相对于模拟mic,内部集成了ADC,所以输出的为数字信号。I2S速度快,专门用于传音乐。从MCU往Codec传音乐数据,一般使用I2S。包含主时钟、左右声道时钟、正反两根数据线。如下图的I2S接口的时序,最典型的特征是LRCLK,用于区分左右声道的时钟。音频接口设计详解!智能硬件设计,I2S、PDM、TDM选什么接口?I2S接口的时序PCM/TDM,主要用来传语音这里讲的PCM不是PCM编码,而是P
2021-07-16 14:10:01 11514
原创 Linux学习
1、shutdown数据同步写入磁盘: syncshutdown -h 10 ‘I will shutdown after 10 mins’-k : 不要真的关机, 只是发送警告讯息出去!-r : 在将系统的服务停掉之后就重新开机( 常用)-h : 将系统的服务停掉后, 立即关机。 ( 常用)-c : 取消已经在进行的 shutdown 指令内容。时间 : 指定系统关机的时间! 时间的范例下面会说明。 若没有这个项目, 则默认 1 分钟后自动进行。sync; sync; sync; rebo
2021-03-02 15:11:09 348
转载 为什么不能把#include 指令放置在 extern “C“ { ... } 里面?
在你工作过的系统里,不知能否看到类似下面的代码。这好像没有什么问题,你应该还会想:“嗯⋯是啊,我们的代码都是这样写的,从来没有因此碰到过什么麻烦啊~”。你说的没错,如果你的头文件从来没有被任何C++程序引用过的话。这与C++有什么关系呢? 看看__cplusplus(注意前面是两个下划线) 的名字你就应该知道它与C++有很大关系。__cplusplus是一个C++规范规定的预定义宏。你可以信任的是:所有的现代C++编译器都预先定义了它;而所有C语言编译器则不会。另外,按照规范__cplusplus的
2021-03-01 17:21:19 1716
转载 WEBRTC AEC3算法原理
延迟估计算法原理AEC3的延迟估计算法与AEC的非线性处理的延迟估计算法思想一致,因为回声能量是呈指数衰减,所以计算滤波器能量最大块作为延迟估计值,但是比AEC的延迟估计算法复杂的多AEC3延迟估计模块由步长为0.7的5个时域NLMS自适应滤波器组成,每个NLMS滤波器默认32块,每块16个sample共 512点,5个滤波器之间互相重叠8块,这里的重叠指的是输入的信号在时间上重叠滤波器的输入信号是经过分频后的0~16kHz低频段信号然后经过4倍下采样相当于采样率为4000Hz的信号,5个nlms滤
2021-02-24 15:27:16 1580
转载 语谱图 基频 共振峰
窄带语谱图和宽带语谱图首先,什么是语谱图。最通常的,就是语音短时傅里叶变换的幅度画出的2D图。之所以是通常的,是因为可以不是傅里叶变换。“窄带”,顾名思义,带宽小,则时宽大,则短时窗长,窄带语谱图就是长窗条件下画出的语谱图。“宽带”,正好相反。至于“横竖条纹”,窄带语谱图的带宽窄,那么在频率上就“分得开”,即能将语音各次谐波“看得很清楚”,即表现为“横线”。“横”就体现出了频率分辨率高。分辨率可以直观的看做“分开能力”。“频率分辨率”高就是在频率上将各次谐波分开的能力高,表现为能分辨出各次谐波的能力高,频
2021-02-20 11:25:00 2639 2
转载 Linux—添加开机启动(服务/脚本)
系统启动时需要加载的配置文件/etc/profile、/root/.bash_profile/etc/bashrc、/root/.bashrc/etc/profile.d/*.sh、/etc/profile.d/lang.sh/etc/sysconfig/i18n、/etc/rc.local(/etc/rc.d/rc.local)一、修改开机启动文件:/etc/rc.local(或者/etc/rc.d/rc.local)1.编辑rc.local文件[root@localhost ~]# vi
2021-01-22 17:29:12 316
转载 linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
PATH: 可执行程序的查找路径查看当前环境变量:echo PATH设置:方法一:exportPATH=PATH:/XXX但是登出后就失效方法二:修改 /.bashrc或 /.bashprofile或系统级别的/etc/profile1.在其中添加例如exportPATH=/opt/ActivePython−2.7/bin:PATH设置: 方法一:export PATH=PATH:/XXX 但是登出后就失效方法二:修改~/.bashrc或~/.bash_profile或系统级
2020-09-10 19:33:36 11244
转载 WSL下安装gcc for arm交叉编译链
WSL下安装gcc for arm交叉编译链道里长短 2020-05-20 14:54:49 320 收藏 1分类专栏: LINUX版权这一切操作都在su权限下,并将默认的bash改成了zsh。1、在这个网址选择一个自己要用的linux 64位的压缩包https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads2、在window
2020-09-02 10:30:55 1086
转载 Xshell连接WSL
https://www.cnblogs.com/zzhaolei/p/11068189.htmlXshell连接WSLWindows的Windows Subsystem for Linux很好用, 可以直接使用Linux的CLI模式, 对于开发来说很友好.安装Windows 10系统上, 使用快捷键win + x, 点击应用和功能, 最大化显示(Windows 10的设置是自适应的, 如果不最大化, 可能会无法显示全部功能), 点击右侧 程序和功能, 在弹出的窗口左侧选择启用或关闭Windows功能
2020-08-10 19:10:00 1301
转载 LMS 与 RLS
最小均方(LMS, Least Mean Squares)和 递归最小二乘(RLS, Recursive Least Squares)是两种最基本的自适应滤波算法。1、LMSLMS算法是自适应滤波器中常用的一种算法与维纳算法不同的是其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此理论上讲LMS算法的性能在同等条件下要优于维纳。但是LMS是在初始值下逐步调整的,因此在系统稳定前,会有一
2020-07-22 15:36:19 13156 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人