网站首页 > 技术教程 正文
噪声在人类日常生活中无处不在,其会降低语音信号的质量和可懂度。在低信噪比的恶劣环境中,这种负面影响愈发严重。为了解决这个问题,众多研究人员在过去的几十年里提出了许多降噪算法。
根据原理的不同,降噪算法可大致分为五类:谱减法、最优滤波法、基于统计模型的方法、子空间方法、以及基于机器学习的方法。其中,最优滤波法是较为常用的一类,其将降噪问题转化为最优滤波器的设计问题。根据采用麦克风数量的不同,降噪算法又可分为单通道和多通道两类。此外,根据处理噪声信号的域,这些算法可以分为时域和变换域(如短时傅里叶变换域降噪算法。虽然这些方法已经取得了一定程度上的成功,但降噪仍然是一项具有挑战性的任务。基于相邻帧STFT系数互不相关的假设,早期的STFT域最优降噪方法绝大多数都是滤波增益,即每个频点的滤波器长度为1。然而,由于语音降噪时,语音帧需要有相互重叠,并且语音信号本身是强自相关的,所以当前帧的STFT系数与相邻帧的STFT系数高度相关。基于帧间相关性的不可忽略性,可推导出一组最优滤波器。
鉴于此,采用短时傅里叶变换域邻域降噪方法对一维信号进行降噪,运行环境为MATLAB 2021B。
[DD,DDT,DDTDD] = defDDt(N); % 2d Order difference operators.
for k = 1:Nit
u_old = u;
%% u sub-problem %%
% Solves a linear system using the conjugate gradient method.
[u,~] = cgs(rho*DDTDD + lam*speye(N),lam*f+rho*DDT*(v - mu/rho),1e-5,100);
%% v sub-problem %%
x = DD*u + mu/rho;
v = shrink(x, 1/rho);
%% Update Lagrange multiplier
mu = mu + (DD*u - v);
r1 = u - f;
funcVal(k) = (lam/2)*norm(r1,'fro')^2 + sum(v(:));
end
out.sol = u;
out.funVal = funcVal(1:k);
end
function [DD,DDT,DDTDD] = defDDt(N)
%Create a first order difference matrix D
e = ones(N,1);
B = spdiags([e -e], [1 0], N, N);
B(N,1) = 1;
D = B;
clear B;
DD = D*D;
clear D;
% Create the transpose of D
DDT = DD'; %Remember that DT = -D, also called the backward difference.
DDTDD = DD'*DD;
end
function z = shrink(x,r)
z = sign(x).*max(abs(x)- r,0);
end
完整代码:https://mbd.pub/o/bread/ZJyTl5lq
擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。
猜你喜欢
- 2024-11-06 基于MATLAB的刀具角度测量 matlab测工件尺寸
- 2024-11-06 「三十一」MATLAB图像变换之傅里叶变换
- 2024-11-06 「三十三」MATLAB图像变换之Radon变换(R变换)——投影重建图像
- 2024-11-06 「MATLAB数据导入与分析」MATLAB: 使用内存映射加快文件读写
- 2024-11-06 利用边缘检测计算物体面积(内含源码)
- 2024-11-06 自动驾驶毫米波雷达物体检测技术-算法
- 2024-11-06 基于粒子滤波器的电池剩余使用寿命计算matlab仿真
- 2024-11-06 「二十」MATLAB图像处理之六 matlab怎么做图像处理
- 2024-11-06 matlab程序, 脉冲波合成与提取,滑冲效应、方向性效应
- 2024-11-06 《基于PLE结合卡尔曼滤波的RSSI定位算法matlab仿真》基于PLE
你 发表评论:
欢迎- 最近发表
-
- PPT中动作连贯的卡通人物,我集齐了100套
- 成都13岁女孩手绘逐帧动画走红 网友:这是天赋型选手
- Android主流UI开源库整理(android完整开源项目)
- 达芬奇更新啦!DaVinci Resolve Studio 20.0.1
- LM Studio-本地安装大模型 | OpenAI API 文字转语音本地运行程序分享
- lululemon律动快闪 多色系呈现夏季活力
- [AOA][分享]160503 智珉和偶吧玩起电影游戏 用一件衣服找回悸动
- Visual Studio 2022:一个功能全面且强大的IDE
- 纽约布什维克区艺术家工作室开放即将举行
- 从 CANopen到 PROFINET:网关助力物流中心实现复杂的自动化升级
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)