- 博客(20)
- 资源 (10)
- 收藏
- 关注
原创 去混响算法之基于信道的客观指标
1、归一化的映射失调Normalized Projection Misalignment (NPM)NPM=10log10(∣∣h−βh^∣∣22∣∣h∣∣22)dB\text{NPM} = 10\log_{10}\Big(\frac{||h-\beta \hat h||^2_2}{||h||_2^2}\Big)\quad \text{dB}NPM=10log10(∣∣h∣∣22∣∣h−βh^∣∣22)dB其中,hhh和h^\hat hh^分别表示真实和估计的冲激响应向量,β\betaβ
2021-05-13 10:04:48
935
原创 基于先验信噪比的维纳滤波公式推导
首先,k时刻w频点的幅值由语音信号和噪声信号组成,我们的目的是减少噪声那部分的幅值。假设k时刻w频点语音、噪声幅值比例为ηk(w)∈[0,1]\eta_k(w)\in[0,1]ηk(w)∈[0,1],干净语音信号为Sk(w)S_k(w)Sk(w),噪声信号Nk(w)N_k(w)Nk(w),那么,干净语音信号的功率谱为:∑w∑k∣Sk(w)∣2\sum_w \sum_k|S_k(w)|^2∑w∑k∣Sk(w)∣2,语音片段的噪声为∣Sk(w)∣(1−ηk(w))|S_k(w)|(1-\eta_k(
2021-05-13 10:01:30
826
1
原创 论文:麦克风阵列增强
《Phase-Based Dual-Microphone Robust Speech Enhancement》论文下载链接前言这篇论文提到的算法,适用场景以及设备摆放情况如下:正文基于相位差的双麦语音增强算法,概算法的本质是维纳滤波,基于相位差计算出维纳增益的上界阈值,接着采用上界阈值公式来定义该增益函数,并加入调整系数,对两路分别进行维纳增益幅值调整,将调整后的两路信号采用DAS算法进行相加,最后通过IFFT还原到时域上,完成语音增强。 算法定义了相位差表达式,由维纳滤波入手,将维纳增益函
2021-05-13 09:57:42
649
1
原创 基于全局优化的最小二乘法后置滤波器
写在前面用现有的波束成形后置滤波器有两个共同的缺陷:首先,这些方法假设噪声是白噪声或者扩散场的并且不能处理点干扰。其次,这些方法每次只使用两个麦克风来估算后置滤波器系数,对所有的麦克风对取均值,以获得次优解BeamPattern...
2021-05-08 17:11:23
405
原创 Bark频带
一个临界频带的“距离”通常称为一个Bark,频率(Hz)映射到Bark公式:z(f)=13×tan−1(0.00076×f)+3.5×tan−1[(f7500)2](Bark)z(f)=13\times tan^{-1}(0.00076\times f)+3.5\times tan^{-1}[(\frac{f}{7500})^2]\tag{Bark}z(f)=13×tan−1(0.00076×f)+3.5×tan−1[(7500f)2](Bark)对于每个临界频带的频宽也可以从下式中求得:BWc
2021-05-08 08:49:38
2496
原创 Python之打印到文档
记录一下,将数组打印到txt文件中import numpy as nptext_file = open("test.txt", "w")print("test\n", file=text_file)print("test", file=text_file)
2021-05-08 08:41:08
226
原创 解决BUG:vdotq_lane_s32‘ is invalid in C99
解决BUG:vdotq_lane_s32' is invalid in C99环境 Ubuntu20.04 ndk 18bgit clone xxx.gitmkdir buildcd buildcmake -DCMAKE_TOOLCHAIN_FILE=/home/chendongmin/project/ndk/android-ndk-r18b/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a ../cmake --build
2021-03-19 14:10:07
631
原创 波束成形算法之波束宽度
波束宽度是主瓣两侧的两个最低值之间的间距。 因此,beamwidth为null到null,即主瓣的零点之间的宽度(参考文献:H.L. Van Trees, Detection, Estimation, and Modulation Theory, Optimum ArrayProcessing, John Wiley & Sons, New-York, USA, 2004.),波束宽度的计算,由下式给出:θBW=2sin−1(2πcMdw)\theta_{BW}=2\sin^{-1}(\fra
2020-10-21 17:02:57
12676
原创 重采样原理及仿真
重采样一、前言 重采样分为上采样和下采样,下采样时需要对信号进行抽取,上采样时需要对信号进行插值,下面将介绍一种简单的重采样方式。二、定义 减少抽样率以去掉过多数据的过程称为信号的抽取(decimatim )”,增加抽样率以增加数据的过程称为信号的“插值(interpolation)。抽取、插值及其二者相结合的使用便可实现信号抽样率的转换。三、算法1、信号的抽取 设x(n)x(...
2018-12-28 19:18:54
33363
1
原创 ValueError: Unexpected end of file.
问题描述:使用scipy.io的wavfile.read()读取音频,出现ValueError: Unexpected end of file.问题。问题原因:目前暂时确定是因为音频文件的尾部有问题。具体什么问题,欢迎大家补充~解决方法:使用任意音频软件打开该文件,再重新保存一下就可以了。参考链接:https://stackoverflow.com/questions/4741983...
2018-12-28 14:51:26
1348
原创 解决方案之AttributeError: module ‘lib‘ has no attribute ‘Cryptography_HAS_SSL_ST‘
问题描述:$ pip3Traceback (most recent call last): File "/usr/local/bin/pip3", line 7, in <module> from pip._internal import main File "/usr/local/lib/python3.5/dist-packages/pip/_internal/...
2018-12-21 16:24:24
3552
2
原创 人耳听觉阈值
人耳的听觉阈值Absolute Threshold of Hearing:一个纯音在无声环境下可以被人耳听到的能量大小。(dB SPL)Tq(f)=3.64×(f1000)−0.8−6.5×e−0.6×(f1000−3.3)2+10−3×(f1000)4Tq(f)=3.64\times(\frac{f}{1000})^{-0.8}-6.5\times e^{-0.6\times (...
2018-11-03 11:33:04
5865
原创 TensorFlow调用Keras库函数存在的问题
tensorflow在1.4版本引入了keras,封装成库。现想将keras版本的GRU代码移植到TensorFlow中,看到TensorFlow中有Keras库,大喜,故将神经网络定义部分使用Keras的Function API方式进行定义,训练部分则使用TensorFlow来进行编写。一顿操作之后,运行,没有报错,不由得一喜。但是输出结果,发现,和预期的不一样。难道是欠拟合?故采用正弦...
2018-07-04 20:50:40
5061
原创 one_hot的源码实现及其理解
以下是one_hot 的源码实现:def dense_to_one_hot(labels_dense, num_classes): """Convert class labels from scalars to one-hot vectors.""" num_labels = labels_dense.shape[0] index_offset = numpy.arange(num
2017-06-26 14:24:06
3807
原创 python之将库升级至指定版本
win10系统下,python3.5:pip3 install --upgrade ==指定版本例子:pip3 install --upgrade tensorflow==1.1.0rc2
2017-06-26 14:16:36
20138
原创 超简单:win10下tensorboard的使用
环境:win10(64)python3.5.3tensorflow1.2首先确定你已经正确的产生了tensorboard所需要的文件(一般是log文件下含event字段的文件)打开命令提示符,cd 到你log文件夹的上一级目录名。比如你的文件log所在的目录是d:/data/log/,那么你就应该cd 到d:/data这一级目录,然后再输入tensorboard --l
2017-06-06 10:37:03
3352
原创 TFRecords 文件的生成和读取
TensorFlow提供了TFRecords的格式来统一存储数据,理论上,TFRecords可以存储任何形式的数据。 TFRecords文件中的数据都是通过tf.train.Example Protocol Buffer的格式存储的。以下的代码给出了tf.train.Example的定义。message Example { Features features = 1;};
2017-06-06 10:09:53
21872
11
原创 tensorflow之学习率自衰减的实现
...loss = ...learning_rate = tf.train.exponential_decay(0.03, current_epoch, decay_steps=num_epochs,
2017-05-31 16:14:01
10590
原创 tensorflow实现对tensor中各个元素求逻辑‘与’
tf.reduce_all(input_tensor, reduction_indices=None, keep_dims-False, name=None)# ‘x’ is # [[True, True]# [False, False]]tf.reduce_all(x) ==> Falsetf.reduce_all(x, 0) ==> [False, False]tf.red
2017-05-22 13:39:42
1679
原创 error: (-215) ssize.width > 0 && ssize.height > 0 in function cv::resize
运行环境:win10+python3.52+opencv3.0(64位)import cv2import numpy as npimg = cv2.imread(r'D:/中文/test.jpg')img = cv2.resize(img, (224, 224), interpolation=cv2.INTER_CUBIC)cv2.imshow('test', img)cv2.
2017-05-10 15:46:20
15256
2
JULIUSO. SMITHIII《INTRODUCTION TO DIGITAL FILTERS WITH AUDIO APPLICATIONS》
2018-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人