IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> MATLAB db4小波分解与重构,语音降噪 -> 正文阅读

[人工智能]MATLAB db4小波分解与重构,语音降噪

小波变换3级分解Mallat图:

在这里插入图片描述
将带噪语音作为输入信号进行逐级DWT小波分解,并将分解出的低频成分 c A 3 cA_3 cA3?

与强制置零后的高频成分 c D 3 cD_3 cD3? c D 2 cD_2 cD2? c D 1 cD_1 cD1?进行小波重构。

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

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:28:52  更:2022-02-28 15:35:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:22:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码