小波变换3级分解Mallat图:


将带噪语音作为输入信号进行逐级DWT小波分解,并将分解出的低频成分cA3cA_3cA3​

与强制置零后的高频成分cD3cD_3cD3​,cD2cD_2cD2​,cD1cD_1cD1​进行小波重构。

Demo:

clc,clear
[x,Fs]= audioread('MUsic_Test.wav');
snr = 5;  %设定信噪比,单位db
noise = randn(size(x));         % 用randn函数产生高斯白噪声
Nx = length(x);                 % 求出信号x长
signal_power = 1/Nx*sum(x.*x);  % 求出信号的平均能量
noise_power = 1/Nx*sum(noise.*noise);  % 求出噪声的能量
noise_variance = signal_power / ( 10^(snr/10) );  % 计算出噪声设定的方差值
noise = sqrt(noise_variance/noise_power)*noise;   % 按噪声的平均能量构成相应的白噪声
y = x + noise;                  % 合成带噪语音
[c,l]=wavedec(y,3,'db4');
ca3=appcoef(c,l,'db4',3)';
cd3=detcoef(c,l,3);
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);cdd3=zeros(1,length(cd3));
cdd2=zeros(1,length(cd2));
cdd1=zeros(1,length(cd1));
c1=[ca3,cdd3,cdd2,cdd1];
s2=waverec(c1,l,'db4');
[thrl,sorh,keepapp]=ddencmp('den','wv',y);
% s2=wdencmp('gbl',c,l,'db4',4,thrl,sorh,keepapp);
%绘图
windowLength = 256;  %帧长,语谱图参数
win = hamming(windowLength,'periodic');  %窗口函数(汉明窗)
overlap = 128; %帧移(一般为帧长的一半)
ffTLength = windowLength; %做DFT的点数,一般和帧长一样
subplot(3,2,1)
plot(x)
subplot(3,2,2)
spectrogram(x,win,overlap,ffTLength,Fs,'yaxis')
subplot(3,2,3)
plot(y)
subplot(3,2,4)
spectrogram(y,win,overlap,ffTLength,Fs,'yaxis');
subplot(3,2,5)
plot(s2);
subplot(3,2,6)
spectrogram(s2,win,overlap,ffTLength,Fs,'yaxis');
sound(s2,Fs)
signal_power = sum(abs(x').^2)/length(x');
noise_Power0 = sum(abs(y'-x').^2)/length(y'-x');
SNR0 = 10*log10(signal_power/noise_Power0);
disp(['带噪音频信噪比:',num2str(SNR0)])
noise_Power2 = sum(abs(s2-x').^2)/length(s2-x');  %(带噪信号-纯信号)的平方
SNR = 10*log10(signal_power/noise_Power2);
disp(['强制消噪后信噪比:',num2str(SNR)])

结果:


带噪音频信噪比:5(单位dB)
强制消噪后信噪比:7.9071

MATLAB db4小波分解与重构,语音降噪相关推荐

  1. 哈儿小波分解和重构(降维和升维)实现算法

    [0]README 0.1)本文旨在讲解 哈儿小波变换(分解和重构)进行数据的降维和升维: [timestamp: 1703281610]时隔几个月再来review 哈儿小波变换算法的具体思路: 1) ...

  2. python小波分解与重构_小波分解和重构

    小波变换能够很好地表征一大类以低频信息为主要成分的信号, 小波包变换可以对高频部分提供更精细的分解 详见(http://www.cnblogs.com/welen/articles/5667217.h ...

  3. python小波分解与重构_python - 使用pyWavelets进行多级局部小波重构 - 堆栈内存溢出...

    我设法编写了自己的wrcoef函数版本,该版本似乎可以正常工作: import pywt import numpy as np def wrcoef(X, coef_type, coeffs, wav ...

  4. 多元经验模态分解_交通运输|基于小波分解和长短时记忆网络的地铁进站量短时预测...

    山东科学 ›› 2019, Vol. 32 ›› Issue (4): 56-63.doi: 10.3976/j.issn.1002-4026.2019.04.008 摘要: 针对城市地铁车站进站客流 ...

  5. db4小波的一次分解与重构

    clc clear %db4小波的一次分解与重构 load leleccum; %导入信号. n=1000; x=leleccum(1:n); %x=[2,4,6,8,2,4,6,8];% haar ...

  6. MATLAB小波分解/重构wavedec/waverec函数中L和C的意义

    这两天在做用小波阈值法进行信号去噪的问题,需要将信号进行五层小波分解,每进行一层分解时都将该层得到的细节系数CDi进行一次阈值化处理.这可以通过多次调用matlab中的dwt函数来实现.但是,在信号进 ...

  7. 传统语音增强——基于小波分解的语音降噪算法

    一.小波分析的意义 在传统的傅里叶分析中,信号完全是在频域展开的,不包含任何时频的信息.因为丢弃的时域信息对某些应用同样重要,所以出现很多能表征时域和频域信息的信号分析方法,如短时傅里叶变换.Gabo ...

  8. matlab dwt 多层分解,利用matlab对图片进行多层小波分解 会的加QQ511607771 加过作图之后积分加倍送...

    利用matlab对图片进行多层小波分解 会的加QQ511607771 加过作图之后积分加倍送 mip版  关注:96  答案:2  悬赏:0 解决时间 2021-01-23 13:02 已解决 202 ...

  9. matlab dwt 多层分解,多尺度小波分解Matlab/Python实现与原理分析

    小波分解的理解 Matlab中实现小波分解方式 在matlab中实现小波分解的方式比较简单,通过[C,L] = wavedec(X,N,'wname')得到C和L,如下图,C表示分解得到的各个层的小波 ...

  10. 一维信号小波去噪算法C语言,[转载]一维小波分解与去噪重构

    对随机一维信号实现多尺度小波分解,长度M=256,层数N=3. 解:一维随机信号是用nelec函数作为信号源,产生0~256范围内的信号. 实现小波按层分解的函数是: [C,L]=wavedec(s, ...

最新文章

  1. hdu-4451-Dressing
  2. 关于静态库、动态库的区别汇总
  3. 老兵的十年职场之路(一)
  4. WinXP无需激活的秘技
  5. redis 命令别名_【死磕 Redis】 哨兵(一):部署哨兵架构
  6. MySQL 5.7.21详细下载安装配置教程
  7. 音视频开发(38)---麦克风阵列仿真环境的搭建
  8. 二本院校女毕业生,想去北漂,求建议
  9. RenderMan:渲染技术
  10. python有什么用-python是什么意思?python有什么用?
  11. 盘点一下 在Python中安装包的三种方法
  12. oracle中between函数用法,Oracle常用函数使用介绍
  13. CarPlay Wireless 使用fdk_aac库解码Raw AAC-LC AAC-ELD
  14. 国内液压与气动标准大全
  15. excel中indirect函数使用方法和应用实例
  16. 手机用USB连接电脑宽带上网(只需轻松3步即可上网)
  17. 论文导读:DINO -自监督视觉Transformers
  18. OpenCV+Python 彩色图片的 BGR、灰度图、HSV分量图显示的程序
  19. win7虚拟机时间不能修改怎么办
  20. Android开发学习之WindowManager实现弹窗

热门文章

  1. App后台开发运维和架构实践读书笔记
  2. 自备ACM模板 —— 数学篇
  3. 前几日共享HCIE面试战报兄弟的通过感言,看完之后希望你不要沉默
  4. 【利用Arduino 、GPS模块、OLED制作GPS车速仪】
  5. STM32 USART 多摩川编码器调试
  6. Cglib动态代理实现方式
  7. R语言绘图:直方图——hist
  8. adams c语言,adams2013编译c语言用户子程序生成dll超详细教程讲解.docx
  9. APP测试工具大全,建议收藏
  10. 智能马桶盖FCC认证 家电检测认证标准及要求