自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

转载 STFT完美重建原始信号

在进行ISTFT时,先对处理完的每帧频域信号做傅里叶逆变换,而后对逆变换的结果加窗(和分帧时加的窗类型、窗长、overlap保持一致),最后对加窗后的每帧信号重叠相加再除以每帧窗函数的平方重叠相加的结果,即可重建原始信号。链接:https://www.zhihu.com/question/280648561/answer/2521849999。商业转载请联系作者获得授权,非商业转载请注明出处。可以看出原始信号与重建信号是完美重合的。作者:Bear-boy。

2024-01-03 10:44:14 138

原创 torch中fft和ifft新旧版本使用

pytorch中fft的新旧版本对比

2023-04-23 13:58:05 2844 1

原创 麦克风阵列波束基本概念理解

波形性能指标

2023-02-20 15:04:34 1865

转载 Linux环境下Virtualenv环境直接拷贝后python和pip用不了

Linux环境下Virtualenv环境直接拷贝后python和pip用不了

2023-01-10 18:55:03 440

转载 波束和BSS问题中的gevd

波束和BSS中的GED:https://blog.csdn.net/longtaochen/article/details/124107580

2022-11-01 15:23:14 225

转载 差分波束的基本原理

差分麦克风阵列(Differential microphone arrays)

2022-08-19 10:37:12 2280

转载 关于麦克风波束成形的基本原理

关于麦克风波束成形的基本原理

2022-08-17 10:35:51 1346

转载 linux 创建新用户

linux 创建新用户

2022-07-15 14:14:20 2964

原创 git_linux使用

git学习

2022-07-12 16:33:26 263

原创 线性卷积和循环卷积(圆周卷积)

线性卷积和循环卷积(圆周卷积)

2022-07-04 18:23:41 10387

原创 Nvidia Jetson AGX Orin

Nvidia Jetson AGX Orin

2022-06-27 19:14:30 908

转载 C++类型转换之reinterpret_cast

C++类型转换之reinterpret_cast

2022-06-20 11:05:33 1749

原创 AEC challenge DataSet Download

AEC challenge DataSet Download

2022-06-07 16:31:07 796 7

原创 WebRTC源码下载

WebRTC源码下载

2022-06-07 11:24:34 1915

原创 傅里叶变换的理解

通过阅读的几篇博客,记录下对傅里叶变换的理解。

2022-06-06 10:44:55 613

转载 MVDR公式推导

MVDR波束形成严谨推导深入细节

2022-06-03 15:46:36 4283 3

原创 实数、复数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 6558 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 2942

原创 [论文阅读] 基于辅助函数的IVA(使用源先验的四阶关系)

独立向量分析(IVA)理论上可以避免在频域独立分量分析中出现的排列模糊,方法是在保留每个源的不同频率单元之间的依赖关系之前使用多变量源。基于辅助函数的独立向量分析(AuxIVA)是一种稳定且快速更新的IVA算法,不包含任何调整参数。因此,本文采用一种特殊的多元广义高斯分布源先验来推导AuxIVA算法,该算法可以利用四阶关系来更好地保持语音信号不同频率单元之间的相关性。实验结果表明,该算法提高了分离性能。独立分量分析(ICA)是盲源分离(BSS)问题的核心工具[1][2]。最著名的BSS问题是鸡尾酒会问题[

2022-05-03 17:31:00 1260 1

原创 [论文阅读]基于统计模型的晚期混响谱方差估计

Abstract:       语音识别或者语音通信会混响影响清晰度和可理解度。混响分为早期混响和晚期混响,早期混响对语音识别和通信具有积极作用,晚期混响会降低语音的清晰度和可理解度。去混响工作的主要挑战就是对晚期混响的谱方差进行估计。这篇论文中,作者基于直接路径上的能量贡献提出了统计混响模型。基于此推导出更一般的晚期混响谱方差的估计器,在一般的情况下可退化为已经存在的LRSV估计器。在声源-mic的距离小于临界距离(临界距离指直接路径

2022-04-26 16:54:42 1358

原创 各种新能源汽车总结

1、纯电动(EV :Electric Vehicle)只有电动机,需要充电才能跑。优点:加速快、噪音小、智能化程度高、省油钱;缺点:冬天续航里程打折严重、充电时间慢、续航短;2、油电式混合动力(HEV :Hybrid Electric Vehicle)汽油发动机和电动机的混合。车型以油为主,一般电池容量很小,通过汽车运动过程中的能量回收(例如刹车)来充电。所以,这种车不会提供充电口的。但是同样的油可以行驶更远的里程。因为电池容量很小,一般不能长时间纯电行驶,电动机功率也不大,所以在起步和加速等场景中

2022-04-01 19:11:23 849

原创 Docker相关

一、DockerDocker是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition

2022-03-30 15:41:33 86

原创 GDB简单调试

1、需要在编译时加上-g选项;2、gdb 可执行文件3、set 参数4、run

2022-03-28 10:30:05 313

原创 Linux 上电程序自启动 及 命令行修改静态IP

Linux 上电程序自启动:1、sudo vim ~/.bashrc2、在.bashrc末尾添加命令3、重新启动注意:1、上电会自启动,使用ssh连接后,又会重新启动。2、使用ftp连接,不会再次重新启动。

2022-02-18 19:33:22 993

原创 几种常用的噪声估计算法(二)

              上篇“几种常用的噪声估计算法(一)”主要介绍了分位数噪声估计、直方图噪声估计和最小值跟踪噪声估计算法,本篇主要介绍基于递归平均噪声估计算法及其衍生算法。由于是同一篇文章的上下两部分,所以采用相同的标题序列。4、递归平均噪声估计算法(the recursive-averaging type of noise-estimation algor

2021-09-15 19:46:00 7548 1

原创 几种常用的噪声估计算法(一)

一、前言       噪声估计算法就是用来估计噪声,根据估计出的噪声完成VAD和降噪。噪声估计主要是根据含噪语音的一些特点或者现象实现的。二、噪声估计的依据1、闭塞音闭合段(两个词之间)频段能量趋近于噪声水平;正常语音之中包含大量的短暂的安静片段,尤其是清摩擦音期间的低频段(2khz以下)和元音或者浊音(半元音、鼻音)的高频段(大于4Khz)。       &n

2021-09-09 19:33:42 15943 1

转载 音量标准化(Audio Normalization)、等响度曲线

一、什么是音量标准化,为什么要做音量标准化:  麦克风接收到的语音会因为mic增益、说话者距离、实际环境等的不同导致音量大小不稳定,这种情况一方面会影响语音识别,另一方面也会影响人的听感。所以,在获取到mic语音时,需要进行音量标准化,把音量增益到(有可能放大,也有可能缩小)一个比较稳定的水平。二、音量标准化的方法  音量标准化比较通用的方法主要有两种:(1)峰值标准化(PEAK (LEVEL) NORMALIZATION)  峰值标准化,顾名思义,就是将音频最大(Peak)的地方,调整到特定大小

2021-09-07 18:56:28 7125

转载 深入浅出 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 3856 2

转载 详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)

01 前言自动增益控制(AGC:Auto Gain Control)是我认为链路最长,最影响音质和主观听感的音频算法模块,一方面是 AGC 必须作用于发送端来应对移动端与 PC 端多样的采集设备,另一方面 AGC 也常被作为压限器作用于接收端,均衡混音信号防止爆音。设备的多样性最直接的体现就是音频采集的差异,一般表现为音量过大导致爆音,采集音量过小对端听起来很吃力。在音视频通话的现实场景中,不同的参会人说话音量各有不同,参会用户需要频繁的调整播放音量来满足听感的需要,戴耳机的用户随时承受着大音量对耳朵

2021-08-21 17:16:55 1785

转载 使用MATLAB的fdatool生成滤波器

本文采用的matlab版本为R2008a,芯片采用stm32f103v。先回顾一下数字信号处理和IIR滤波器的相关知识。数字信号处理是用数字序列来研究系统的一门技术,不同于模拟信号,数字信号处理起来更加灵活,不仅可以处理一维信号,还可以处理二维、三维以上的信号。这门技术应用非常广泛,如生物医学、声学、雷达、语音通信、数据通信等都采用了数字信号处理技术。在数字信号处理技术中经常用的一种算法叫IIR滤波器,这种滤波器可以设计成带通、低通和高通滤波,在设计原型上有butterworth函数、chebyshe

2021-08-19 11:09:34 5186 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 9780

原创 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 262

转载 为什么不能把#include 指令放置在 extern “C“ { ... } 里面?

在你工作过的系统里,不知能否看到类似下面的代码。这好像没有什么问题,你应该还会想:“嗯⋯是啊,我们的代码都是这样写的,从来没有因此碰到过什么麻烦啊~”。你说的没错,如果你的头文件从来没有被任何C++程序引用过的话。这与C++有什么关系呢? 看看__cplusplus(注意前面是两个下划线) 的名字你就应该知道它与C++有很大关系。__cplusplus是一个C++规范规定的预定义宏。你可以信任的是:所有的现代C++编译器都预先定义了它;而所有C语言编译器则不会。另外,按照规范__cplusplus的

2021-03-01 17:21:19 1369

转载 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 1325

转载 语谱图 基频 共振峰

窄带语谱图和宽带语谱图首先,什么是语谱图。最通常的,就是语音短时傅里叶变换的幅度画出的2D图。之所以是通常的,是因为可以不是傅里叶变换。“窄带”,顾名思义,带宽小,则时宽大,则短时窗长,窄带语谱图就是长窗条件下画出的语谱图。“宽带”,正好相反。至于“横竖条纹”,窄带语谱图的带宽窄,那么在频率上就“分得开”,即能将语音各次谐波“看得很清楚”,即表现为“横线”。“横”就体现出了频率分辨率高。分辨率可以直观的看做“分开能力”。“频率分辨率”高就是在频率上将各次谐波分开的能力高,表现为能分辨出各次谐波的能力高,频

2021-02-20 11:25:00 2249 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 298

转载 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 5865

转载 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 1011

转载 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 1187

转载 LMS 与 RLS

最小均方(LMS, Least Mean Squares)和 递归最小二乘(RLS, Recursive Least Squares)是两种最基本的自适应滤波算法。1、LMSLMS算法是自适应滤波器中常用的一种算法与维纳算法不同的是其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此理论上讲LMS算法的性能在同等条件下要优于维纳。但是LMS是在初始值下逐步调整的,因此在系统稳定前,会有一

2020-07-22 15:36:19 11485 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除