音频信号去噪(实验报告)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

音频信号去噪——《信号与系统》实验报告学院:弘深学院班级:电子信息实验班学号:20136927姓名:文政指导老师:欧静兰2015年5月3日弘深学院电子信息实验班文政201369271|10音频信号去噪目录一、课题目的..........................................................................................2二、课题要求..........................................................................................2三、设计原理..........................................................................................21.高斯白噪声....................................................................................22.工具软件使用.................................................................................2四、实验过程..........................................................................................31.读取音频信号,绘制时域波形.....................................................32.绘制原音频频域图像.....................................................................33.制作叠加白噪声的音频.................................................................44.绘制含白噪声的音频图像.............................................................45.滤波器除噪声.................................................................................46.绘制除白噪声的音频图像.............................................................47.除杂前后的时域与频域对比.........................................................5五、实验结果及分析...............................................................................5附录..........................................................................................................8(MATLAB源程序代码).............................................................................9弘深学院电子信息实验班文政201369272|10一、课题目的1、熟悉MATLAB语言的基本用法;2、掌握MATLAB语言中音频数据与信息的读取与播放方法;3、掌握在MATLAB中设计滤波器的方法;4、掌握噪声产生的方法;5、掌握MATLAB语言中信号频谱的绘制方法。二、课题要求1、噪声加入后,听觉上歌曲声音明显变差;2、采用低通滤波的方法滤除噪声后歌曲声音明显变清晰;3、音乐格式选择.wav;4、绘制出原始音频信号一个声道的时域图和频谱图;5、绘制出加噪声后混合信号同一声道的时域图和频谱图;6、绘制出滤波后音频信号同一声道的时域图和频谱图。三、设计原理选取一段.wav格式的音乐或歌曲,用matlab将选取的音频文件读出来,在读出的音频信号中加入随机高斯噪声,再将带有噪声的音乐信号通过低通滤波器滤除噪声,还原音乐。1.高斯白噪声所谓“高斯白噪声”中的“高斯”是指概率分布是正态函数,而“白噪声”是指它的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。因此,高斯白噪声的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布。2.工具软件使用本文使用MATLAB(使用版本MATLABR2014b)软件对音频信号加高斯白噪声后制作滤波器去噪。(1)使用MATLAB内置函数audioread(′rain.mp3′)读取rain.mp3文件,并将其放入矩阵wave中,获得抽样频率FS;(2)使用MATLAB内置函数sound(wave,FS),播放wave矩阵所包含的音频信弘深学院电子信息实验班文政201369273|10息;(3)使用MATLAB内置函数audiowrite(′rain_1.wav′,wave,FS),将wave矩阵数据输出到文件rain_1.wav;(4)使用MATLAB内置函数floor(length(sound_1)/2),对声道长度对半向下取整;(5)使用MATLAB内置函数a∗randn(size(sound_1)),产生白躁生函数,其均值为0,方差为a;(6)使用MATLAB内置函数fft(noise),对noise进行快速傅里叶变换;(7)使用MATLAB内置函数angle(noise),对noise进行角变换;(8)使用MATLAB内置函数fftshift(noise),对noise进行中心对称;(9)使用MATLAB内置函数abs(noise),对noise进行取模;利用plot函数进行图像的绘制;四、实验过程1.读取音频信号,绘制时域波形程序如下:clearall[wave,FS]=audioread('rain.mp3');%读取音频文件,wave矩阵保存声道信息,FS保存抽样频率信息sound_1=wave(:,1);%声道1sound_2=wave(:,2);%声道2t=0:(length(sound_1)-1);%取时域横轴tplot(t,sound_1);xlabel('t_1');title('未处理');%时域图sound(wave,FS)%音频文件播放audiowrite('rain_1.wav',wave,FS);%输出音频文件2.绘制原音频频域图像程序如下:Fourier=fftshift(fft(sound_1,length(sound_1)));%对信号进行快速Fourier变换halflengthofsound1=length(sound_1);Pyy_1=log10(abs(Fourier))*2/halflengthofsound1;f=(-halflengthofsound1/2:halflengthofsound1/2-1)*1/halflengthofsound1;figure;plot(f,Pyy_1');xlabel('Frequency_1(Hz)');title('未处理弘深学院电子信息实验班文政201369274|10');%axis([03000010])%频谱图,axis输出x,y轴显示范围3.制作叠加白噪声的音频程序如下:a=0.05;%噪声幅度noise=a*randn(size(sound_1));%产生白躁生函数,其均值为0,方差为0.05;sound_x=sound_1+noise;%将噪声叠加在原音频声道上;wave_noise(:,1)=sound_x;wave_noise(:,2)=sound_2;%组合两个声道,形成二维矩阵;figure;plot(t,sound_x,'r');xlabel('t_noise');title('加白噪声');%时域图sound(wave_noise,FS)%播放噪声音频文件;audiowrite('rain_noise.wav',wave_noise,FS);%输出音频文件4.绘制含白噪声的音频图像程序如下:Fourier1=fftshift(fft(sound_x,length(sound_x)));%对信号进行快速Fourier变换halflengthofsoundx=length(sound_x);Pyy_x=log10(abs(Fourier1))*2/halflengthofsoundx;f_x=(-halflengthofsoundx/2:halflengthofsoundx/2-1)*1/halflengthofsoundx;figure;plot(f_x,Pyy_x','r');xlabel('Frequency_x(Hz)');title('加白噪声');%axis([03000010])%频谱图,axis输出x,y轴显示范围5.滤波器除噪声程序如下:N=5;wc=0.1;[m,n]=butter(N,wc);wave_noise_recover(:,1)=filter(m,n,sound_x);wave_noise_recover(:,2)=sound_2;figure;plot(t,wave_noise_recover(:,1),'g');xlabel('t_recover');title('去噪');%时域图sound(wave_noise_recover,FS)audiowrite('rain_noise_recover.wav',wave_noise_recover,FS);%输出音频文件6.绘制除白噪声的音频图像程序如下:Fourier_recover=fftshift(fft(wave_noise_recover(:,1),length(wave_noise_recover(:,1))));%对信号进行快速Fourier变换halflengthofsound_recover=length(wave_noise_recover);Pyy_recover=log10(abs(Fourier_recover))*2/halflengthofsound_recover;弘深学院电子信息实验班文政201369275|10f_recover=(-halflengthofsound_recover/2:halflengthofsound_recover/2-1)*1/halflengthofsound_recover;figure;plot(f_recover,Pyy_recover','g');xlabel('Frequency_recover(Hz)');title('去噪');%axis([03000010])%频谱图,axis输出x,y轴显示范围7.除杂前后的时域与频域对比代码如下:compare_t(:,1)=abs(wave_noise_recover(:,1))-abs(wave_noise(:,1));%取处理声道信息,作差值后取绝对值,得到对比值compare_t(:,2)=wave_noise(:,2);%未处理声道不做处理;figure;plot(t,compare_t(:,1),'k');xlabel('t_compare');title('时域差值图');axis([0inf01]);%时域图差值图compare_f(:,1)=abs(Pyy_recover-Pyy_x);figure;plot(f_recover,compare_f(:,1),'k');xlabel('f_compare');title('频域差值图');%axis([0inf0inf]);%频域图差值图五、实验结果及分析

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功