基于MATLAB的语音去噪处理系统

这篇具有很好参考价值的文章主要介绍了基于MATLAB的语音去噪处理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.滤波器的简述

在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方 法即实现办法,并进行图形用户界面设计,以显示所介绍迷你滤波器的设计特性。

在无线脉冲响应(IIR)数字滤波器设计中,先进行模拟滤波器的设计,然后进行模拟数字滤波器转换,即采取脉冲响应不变法及双线性Z变更法设计数字滤波器,最后进行滤波器的频带转换。在有限脉冲响应(FIR)数字滤波器设计中,讨论了FIR线性相位滤波的特点和用窗口函数设计FIR数字滤波器两个问题。两类滤波器整个过程都是依照理论阐发、编程设计、集体实现的步调进行的。 为便利阐发直观者直观、形象、便利的阐发滤波器的特性,立异的设计出图形用户界面滤波器阐发系统。整个系统分为两个界面,其内容主要包含四个部分:System(系统)、Analysis(阐发)、Tool(工具)、Help(帮忙)。

数字滤波在DSP中占有重要位置。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单位更少,所以既经济又高效。

二.设计要求

1.在matlab平台上录制一段语音信号;

2.完成语音信号的谱阐发;

3.对语音信号进行加噪以及加噪后信号的谱阐发;

4.选择合适的滤波器进行滤波,确定相关指标;

5.实现滤波过程,显示滤波后的结果,并进行谱阐发。

三.实验内容与步调

  1. 语音信号的录入

掀开matlab平台,先使用R=audiorecorder(44100,16,2)函数创建一个保管音频信息的对象,其中44100暗示采样频率为44100Hz,16暗示用16位存储,2暗示两通道。再使用record(R)开始录音,对着电脑麦克风收集声音,录入的音频内容为“MATLAB的课程年夜作业”。stop(R)语句停止录入。然后将音频信息以数字矩阵存储。最后使用wavwrite函数保管这段音频。

原始语音

R=audiorecorder(44100,16,2);

基于MATLAB的语音去噪处理系统
record(R);
stop(R);
myword=getaudiodata(R);
plot(myspeech)
wavwrite(myspeech,44100,16,'myword');

法度图

波形图:

由输出的波形图可以看出,当收集“MATLAB的课程年夜作业”这句音频信息时,摆荡明显,但受到环境的影响其他处所也有轻微的摆荡。

  1. 语音信号的谱阐发

wavread读取存储在电脑中的音频。suond函数回放语音信号,fft(y,n)则是对n点进行傅里叶变换,实现从时域到频域。然后用plot函数画出语音信号的时域波形和频域波形图。

 [y,fs,bits]=wavread('D:\Matalbe123\bin\souds.wav'); 
sound(y,fs);
n=length(y);
y_f=fft(y,n);
f=fs*(0:n/21)/n;
subplot 211;
plot(y);
xlabel('时间s');
ylabel('幅值 ');
title('加噪前的时域波形');
subplot 212;
plot(f,abs(y_f(1:n/2)));
xlabel('频率Hz');
ylabel('频率幅值');
title('加噪前的频谱图');

法度图:

基于MATLAB的语音去噪处理系统

时域波形与频谱图如下:

由时域波形图可以看作声音信号主要集中在了2.5s~5.0s之间,在其他时间内只是有少量的摆荡。由频域波形图可以看出该声音信号的频率与人的发声频率相合适。

  1. 语音加噪及谱阐发
对原始的语音信号进行加噪处理,使用randn函数产生一个与音频信号等长度的高斯随机噪声信号(噪声年夜小取决于随机函数的幅度倍数)。然后通过信号的叠加y_z=y+noise;,生成一个新的信号。再通过傅里叶变换获得信号在频域上的波形,最后画出时域与频域波形。
L=length(y);
noise=0.1*randn(L,2);
y_z=y+noise;
sound(y_z,fs);
n=length(y);
y_zf=fft(y_z,n);
f=fs*(0:n/21)/n;
subplot 211;
plot(y_z);
xlabel('时间s');
ylabel('幅值');
title('加噪后的时域波形');
subplot 212;
plot(f,abs(y_zf(1:n/2)));
xlabel('频率Hz');
ylabel('频率幅值');
title('加噪后的频谱图');

法度图:

波形图如下:

当执行上述法度时,会听到喧闹的声音层,且频率高于原始语音很多,由加噪后的频谱图与加噪前的频谱图相比较会明显发明在原时间内多了很多频率变更,观察到的频谱图变更与我们的目的是一致的,加噪胜利。

  1. 滤波设计
由于噪声信号的频率高于原语音信号的频率,所以选择FIR低通滤波器。在数字信号处理中,脉冲响应不变法会产生频谱混叠现象,使频率响应偏离模拟滤波器的频响特性,为避免这一现象我们采取双线性变换法。经测验考试fp=1000;fc=1200;As=100;Ap=1;
fp=1100;fc=1300;As=100;Ap=1; 
fp=1300;fc=1500;As=100;Ap=1;
fp=1400;fc=1600;As=100;Ap=1;
fp=1500;fc=1700;As=100;Ap=1;
中效果最好的一组为:fp=1300;fc=1500;As=100;Ap=1;
因此设计如下:
fp=1300;fc=1500;As=100;Ap=1; 
wc=2*pi*fc/fs;
wp=2*pi*fp/fs;
wdel=wcwp;
beta=0.112*(As8.7);
N=ceil((As8)/2.285/wdel);
wn= kaiser(N+1,beta);
ws=(wp+wc)/2/pi;
b=fir1(N,ws,wn);
freqz(b,1);

法度图:

滤波器频率特性如图

  1. 滤波结果及谱阐发

将加噪后音频通过此滤波器进行滤波,再进行滤波后去噪信号的谱阐发,选用了函数x=fftfilt(b,y_z),利用FFT的重叠相加法对信号进行滤波处理。

滤波法度清单如下:

x=fftfilt(b,y_z); 
X=fft(x,n);
subplot 211;
plot(f,abs(X(1:n/2)));
title('滤波后的频谱'); 
subplot 212;
plot(x); 
title('滤波后的波形');
sound(x,fs,bits)

法度图:

基于MATLAB的语音去噪处理系统
基于MATLAB的语音去噪处理系统

去噪后的谱阐发如下所示:

执行法度后听到的音频依旧含有噪音信号,不如原始语音清晰,但比加噪后的语音有了明显的改进,可以比较清晰的听到原语音。由谱阐发图可以看出频率高于1500Hz的音频信号都被滤除,开始有点接近原始信号的波形图.。

四.语音信号图

基于MATLAB的语音去噪处理系统

原始语音

基于MATLAB的语音去噪处理系统

加噪后

基于MATLAB的语音去噪处理系统

减噪后

  1. 实验总结与体会

这次是用Matlab对语音信号的处理进行了一系列的操纵。在Matlab平台上实现了语音的录制、加噪、滤波以及谱阐发。比较加噪后的频谱可以发明高于1500Hz的噪音已经滤除,通过声音的回放也可以发明去除比较尖锐的干扰噪音。由于设计的滤波器法度功能单一,仅能处理一般条件下的语音信号,不克不及进行精度较高的语音信号处理。

Matlab是英文Matrix Laboratory(矩阵实验室)的缩写,它是由美国Math Word公司推出的用于图形处理和数值计算的数学计算。在Matlab环境下,用户可以集成的进行法度设计、图形绘制、数字值计算、输入输出文件管理等操纵。MATLAB优秀的数值计算能力和卓越的数据可视化能力使其在同类软件中脱颖而出。

通过这次的课题研究,我能更好的掌握Matlab平台的使用,意识到Matlab是学习其他科目的工具,这次的课题就是在解决一个数字信号处理问题,这让我对Matlab软件在解决实际问题的应用上布满了兴趣。文章来源地址https://www.toymoban.com/news/detail-501555.html

到了这里,关于基于MATLAB的语音去噪处理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法

    提示:据说是科大讯飞的算法面试题 知道哪些噪声,分别用什么滤波器处理? 噪声来源灰常多,但主要可以分为三类: 1.来自捕捉源的(acquisition/digitization) ,比如一个摄像机的镜头、A/D或者sensor; 2.来自图像传输过程(image transmission), 传输图像的信道包括无线电、微波

    2024年02月05日
    浏览(36)
  • 图像处理之理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器的matlab简单实现

    一、前言 高通滤波器的功能是让高频率通过而滤掉或衰减低频,其作用是 使图像得到锐化处理,突出图像的边界 。经理想高频滤波后的图像把信息丰富的低频去掉了,丢失了许多必要的信息**。一般情况下,高通滤波对噪声没有任何抑制作用**,若简单的使用高通滤波,图像质

    2023年04月25日
    浏览(32)
  • Matlab图像处理之Lee滤波器

       LEE滤波器是一种常用于合成孔径雷达(SAR)图像去噪的滤波器。它能增强图像的局部对比度。今天我们将通过MATLAB来实现这种滤波器。   LEE滤波器是一种基于窗函数的滤波器,其原理是将窗口内的像素进行加权平均,以消除图像中的噪声。这种滤波器通常用于SAR图像

    2024年02月09日
    浏览(33)
  • 如何评价滤波器的去噪效果?

    假如使用两种滤波器,那么滤波效果如何去评价 1 ? 为了能够得到高质量的去噪后信号,需要对滤波器的滤波效果进行评价,选取去噪效果最好的滤波器对原始信号进行去噪处理。 一般使用 信噪比和峰值信噪比 对滤波器进行量化评价, 信噪比和峰值信噪比的值越大,说明

    2024年02月03日
    浏览(98)
  • Matlab图像处理- 高斯低通滤波器

      高斯低通滤波器 高斯低通滤波器是一种 更平滑的一种滤波器 ,高斯低通滤波器完全没有振铃现象,且边缘平滑。 示例代码 利用输入图像,构建一个截止频率为30的高斯低通滤波器的透视图如下图所示。 效果图片

    2024年02月09日
    浏览(33)
  • 信号处理之FIR数字滤波器(Matlab仿真)

            数字滤波器的作用是滤除不感兴趣的信号,留下想要的信号。数字滤波器可分为无限脉冲响应(IIR)数字滤波器、有限脉冲响应(FIR)数字滤波器两种,两者各有优缺点,其中FIR数字滤波器因其具有良好的线性相位特性受到广泛应用,线性相位是指信号中各频率成分的相对

    2024年02月03日
    浏览(40)
  • 数字图像处理之matlab实验(三):空间滤波器

    空间滤波,就是在原图像上,用一个固定尺寸的模板去做卷积运算,得到的新图像就是滤波结果。滤波,就是过滤某种信号的意思。过滤哪种信号取决于模板设计,如果是锐化模板,处理后就保留高频信号,如果是平滑模板,处理后就保留低频信号。 (1)模板运算 图像处理

    2024年04月28日
    浏览(37)
  • 165基于matlab的各类滤波器

    基于matlab的各类滤波器。汉宁窗设计Ⅰ型数字高通滤波器、切比雪夫一致逼近法设计FIR数字低通滤波器、模拟Butterworth滤波器设计数字低通滤波器、频域抽样法的FIR数字带阻滤波器设计、频域抽样法的FIR数字带通滤波器设计、汉宁窗的FIR数字高通滤波器设计、双线性法设计巴

    2024年02月20日
    浏览(27)
  • Matlab图像处理频域滤波实现——巴特沃斯低通、高通、带通带阻滤波器

    巴特沃斯滤波器是一种常用于图像处理的滤波器,它在频域中的传递函数具有更加平滑的过渡,相对于理想滤波器来说,巴特沃斯滤波器可以更好地控制截止频率和滤波器的阶数。下面是巴特沃斯滤波器的不同类型的原理简介: 1.原理 (1)巴特沃斯低通滤波(Butterworth Lowp

    2024年04月09日
    浏览(45)
  • OpenCV(图像处理)-基于Oython-滤波器(低通、高通滤波器的使用方法)

    低通滤波 :低通滤波可以去除图像的噪音或平滑图像。 高通滤波 :可以帮助查找图像的边缘。 噪音 :即对一幅图像的产生负面效果,过暗或过亮的部分,一幅图像中,低于或高于某个像素点的值,都可以认为是噪音。 卷积核 :即用来滤波的矩阵,卷积核一般为奇数,如

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包