当前位置:文档之家› 音频降噪Matlab仿真

音频降噪Matlab仿真

音频降噪Matlab仿真
音频降噪Matlab仿真

数字信号处理大作业

班级:1401012_

姓名:齐翔奡_

学号:14010120082

输入信号的时域波形及其功率谱密度:

叠加噪声后的音频信号的时域图形及功率谱密度:

经过带通滤波器的音频信号的时域和功率谱密度:

程序解读:

clc;

clear all;

close all;

[wav,fs]=audioread('GDGvoice8000.wav');

t_end=1/fs *length(wav); % 计算声音的时间长度Fs=50000; % 仿真系统采样率t=1/Fs:1/Fs:t_end; % 仿真系统采样时间点

% 利用插值函数将音频信号的采样率提升为Fs=50KHz wav=interp1([1/fs:1/fs:t_end],wav,t,'spline');

% 设计300Hz~3400Hz的带通预滤波器H(z) [fenzi,fenmu]=butter(6,[300 3400]/(Fs/2));

nt = wgn(1,length(t),0.1); % 噪声

nt=nt/(max(abs(nt))); %归一化噪声

wav_noise = wav + nt;

% 对音频信号进行滤波

wav_after = filter(fenzi,fenmu,wav_noise);

figure(1);

subplot(2,1,1); plot(wav(53550:53750));

title('语音信号时域波形');

axis([0 200 -0.3 0.3]);

subplot(2,1,2); psd(wav, 10000, Fs);

title('语音信号功率谱密度');

axis([0 25000 -20 10]);

figure(2);

subplot(2,1,1); plot(wav_noise(53550:53750));

title('加噪声后的语音信号时域波形');

axis([0 200 -0.3 0.3]);

subplot(2,1,2);

psd(wav_noise, 10000, Fs);

title('加噪声后的语音信号功率谱密度');

axis([0 25000 -20 10]);

figure(3);

subplot(2,1,1);

plot(wav_after(53550:53750));

title('滤波后的语音信号时域波形');

axis([0 200 -0.3 0.3]);

subplot(2,1,2);

psd(wav_after, 10000, Fs);

title('滤波后的语音信号功率谱密度');

axis([0 25000 -20 10]);

sound(wav/max(wav), Fs); % 播放解调音频

sound(wav_after/max(wav_after), Fs); % 播放解调音频

wavwrite(demod_out,Fs,'SSBDemod_OUT.wav'); % 保存输出信号

实验一 MATLAB音频信号处理实验

实验一MATLAB音频信号处理实验 一、实验目的 1、进一步加深DFT算法原理和基本性质的理解; 2、熟悉FFT算法原理; 3、理解掌握音频信号各参数的意义; 二、实验内容 1、对一个音频信号用FFT进行谱分析; 2、对该音频信号进行放大或衰减; 3、对该音频信号加入噪声与去掉噪声处理 三、实验要求 1.语音信号的读取、存储; 2.语音信号的播放; 3.FFT的MATLAB实现; 4.信号放大(6倍); 5.信号调制、产生高频信号; 6.信号叠加之后产生的带有噪声的语音信号; 7.绘制信号图像(时域与频域图像),包括原始信号图像,以及带有噪声的语音信号。 四、实验结果及代码 [S1,fs,bits]=wavread('C:\Users\1\Desktop\实验\handel.wav'); wavwrite(S1,'copy.wav'); F=fft(S1); S1=S1*6; fc=1000; y1=modulate(S1,fc,fs,'fm'); Y1=fft(y1,40000); y2=S1+y1; Y2=fft(y2,40000); figure(1); subplot(221); plot(S1); title('原始的信号时域图'); subplot(222); plot(abs(F));

title('原始的信号频域图'); subplot(223); plot(y1); title('调制后信号时域图'); subplot(224); plot(abs(Y1)); title('调制后信号频域图'); figure(2) subplot(221); plot(y2); title('加噪的信号时域图'); subplot(222); plot(abs(Y2)); title('加噪的信号频域图'); 运行结果如下图1-1 图1-1 五、实验总结 通过本次实验学习了如何使用MATLAB对音频信号进行处理。包括语音信号

基于MATLAB的语音信号滤波处理

基于MATLAB的语音信号滤波处理 题目:基于MATLAB的语音信号滤波处理 课程:数字信号处理 学院:电气工程学院 班级: 学生: 指导教师: 二O一三年十二月

目录CONTENTS 摘要 一、引言 二、正文 1.设计要求 2.设计步骤 3.设计内容 4.简易GUI设计 三、结论 四、收获与心得 五、附录

一、引言 随着Matlab仿真技术的推广,我们可以在计算机上对声音信号进行处理,甚至是模拟。通过计算机作图,采样,我们可以更加直观的了解语音信号的性质,通过matlab编程,调用相关的函数,我们可以非常方便的对信号进行运算和处理。 二、正文 2.1 设计要求 在有噪音的环境中录制语音,并设计滤波器去除噪声。 2.2 设计步骤 1.分析原始信号,画出原始信号频谱图及时频图,确定滤波器类型及相关指标; 2.按照类型及指标要求设计出滤波器,画出滤波器幅度和相位响应,分析该滤波器是否符合要求; 3.用所设计的滤波器对原始信号进行滤波处理,画出滤波后信号的频谱图及时频图; 4.对滤波前的信号进行分析比对,评估所设计滤波器性能。 2.3 设计内容 1.原始信号分析

分析信号的谱图可知,噪音在1650HZ和3300HZ附近的能量较高,而人声的能量基本位于1000HZ以下。因此,可以设计低通滤波器对信号进行去噪处理。 2.IIR滤波器设计 用双线性变换法分别设计了巴特沃斯低通滤波器和椭圆低通滤波器和带阻滤波器: ①巴特沃斯滤波器 fp=800;fs=1300;rs=35;rp=0.5; 程序代码如下: fp=800;fs=1300;rs=35;rp=0.5;Fs=44100; wp=2*Fs*tan(2*pi*fp/(2*Fs));ws=2*Fs*tan(2*pi*fs/(2*Fs)); [n,wn]=buttord(wp,ws,rp,rs,'s'); [b,a]=butter(n,wn,'s'); [num,den]=bilinear(b,a,Fs); [h,w]=freqz(num,den,512,Fs);

Matlab语音信号加噪、滤波处理及幅值幅频响应

课程设计二 基于MATLAB的语音信号采集与处理 一、实验目的和意义 1. MATLAB软件功能简介 MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。 MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。 MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。2. 本题目的意义 本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB 的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。 二、实验原理:

基于MATLAB的语音信号采集与处理

工程设计论文 题目:基于MATLAB的语音信号采集与处理 姓名: 班级: 学号: 指导老师:

一.选题背景 1、实践意义: 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效地提取并表示语音信号所携带的信息。所以理解并掌握语音信号的时域和频域特性是非常重要的。 通过语音相互传递信息是人类最重要的基本功能之一.语言是人类特有的功能.声音是人类常用工具,是相互传递信息的最重要的手段.虽然,人可以通过多种手段获得外界信息,但最重要,最精细的信息源只有语言,图像和文字三种.与用声音传递信息相比,显然用视觉和文字相互传递信息,其效果要差得多.这是因为语音中除包含实际发音容的话言信息外,还包括发音者是谁及喜怒哀乐等各种信息.所以,语音是人类最重要,最有效,最常用和最方便的交换信息的形式.另一方面,语言和语音与人的智力活动密切相关,与文化和社会的进步紧密相连,它具有最大的信息容量和最高的智能水平。 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,处理的目的是用于得到某些参数以便高效传输或存储;或者是用于某种应用,如人工合成出语音,辨识出讲话者,识别出讲话容,进行语音增强等. 语音信号处理是一门新兴的学科,同时又是综合性的多学科领域,

是一门涉及面很广的交叉学科.虽然从事达一领域研究的人员主要来自信息处理及计算机等学科.但是它与语音学,语言学,声学,认知科学,生理学,心理学及数理统计等许多学科也有非常密切的联系. 语音信号处理是许多信息领域应用的核心技术之一,是目前发展最为迅速的信息科学研究领域中的一个.语音处理是目前极为活跃和热门的研究领域,其研究涉及一系列前沿科研课题,巳处于迅速发展之中;其研究成果具有重要的学术及应用价值. 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能

基于matlab的语音信号滤波处理——数字信号处理课程设计

数字信号处理课程设计 题目:基于matlab的语音信号滤波处理学院:物理与电子信息工程 专业:电子信息工程 班级: B07073041 学号: 200932000066 姓名:高珊 指导教师:任先平

摘要: 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。再在Matlab中分别设计不同形式的FIR数字滤波器。之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。

目录 1.设计内容 (4) 2.设计原理 (4) 2.1语音信号的时域分析 (4) 2.2语音信号的频域分析 (5) 3.设计过程 (5) 3.1实验程序源代码 (6) 3.1.1原语音信号时域、频域图 (6) 3.1.2低通滤波器的设计 (6) 3.1.3高通滤波器的设计 (7) 3.1.4带通滤波器的设计 (8) 3.1.5语音信号的回放 (9) 3.2调试结果描述 (10) 3.3所遇问题及结果分析 (15) 3.3.1所遇主要问题 (16) 3.3.2结果分析 (16) 4.体会与收获 (17) 5.参考文献 (17)

语音信号处理matlab实现

短时能量分析matlab源程序: x=wavread('4.wav'); %计算N=50,帧移=50时的语音能量 s=fra(50,50,x);%对输入的语音信号进行分帧,其中帧长50,帧移50 s2=s.^2;%一帧内各种点的能量 energy=sum(s2,2);%求一帧能量 subplot(2,2,1); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=50'); axis([0,500,0,30]) %计算N=100,帧移=100时的语音能量 s=fra(100,100,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,2); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=100'); axis([0,300,0,30]) %计算N=400,帧移=400时的语音能量 s=fra(400,400,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,3); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=400'); axis([0,60,0,100]) %计算N=800,帧移=800时的语音能量 s=fra(800,800,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,4); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=800'); axis([0,30,0,200]) 分帧子函数: function f=fra(len,inc,x) %对读入语音分帧,len为帧长,inc为帧重叠样点数,x为输入语音数据 fh=fix(((size(x,1)-len)/inc)+1);%计算帧数 f=zeros(fh,len);%设一个零矩阵,行为帧数,列为帧长 i=1;n=1; while i<=fh %帧间循环 j=1; while j<=len %帧内循环 f(i,j)=x(n); j=j+1;n=n+1; end n=n-len+inc;%下一帧开始位置 i=i+1; end

基于MATLAB的有噪声语音信号处理毕设

大学本科毕业设计论文 基于MATLAB的有噪声语音信号处理

摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB 有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词?数字滤波器;MATLAB;窗函数法;巴特沃斯; 切比雪夫; 双线性变换

Abstract ?Filterdesignin digital signal processingplaysan extre melyimportant role, FIR digital filters and IIR filter is an importan tpart of filter design.Matlab is powerful,easy to learn,programming efficiency,which was welcomed bythemajority ofsc ientists. Matlab alsohas a particular signalanalysis toolbox,it need nothave strongprogrammingskills can be easily signal analysis, processing and design. Using MATLAB Signal Processing Toolbox can quickly andefficiently design avarietyof digitalfilters. MATLAB basedon the noise issuespeech signal processing design and implementation of digital signalprocessing integrated use of the theoretical knowledge ofthe speechsignal plus noise, time domain, frequencydomainanalysis andfiltering. Thecorrespondingresults obtainedthroughtheoreticalderivation, and then use MATLAB as a programming toolfor computer implementation.Implemented inthe design process,usingthewindow function methodtodesign FIR digital filters with Butterworth, Chebyshev andbilinear Reform IIR digital filter design and use ofMATLAB as asupplementary tool to complete thecalculation and graphic design Drawing. Throughthesimulation of thedesigned filter and the frequency analysis shows thatusingMatlabSignal Processing Toolbox can quickly and easily design digital filters FIR andIIR,the processis simple and convenient, the results of the performance indicators to meetthe specifiedrequirements. ? Keywords: digital filter; MATLAB;Chebyshev;Butterworth;

matlab报告基于matlab有噪声语音信号处理

Matlab课程设计报告题目:基于MATLAB有噪声语音信号处理 系(院):计算机与信息工程学院 专业:通信工程 班级:10623102 指导教师: 学年学期:2011 ~ 2012 学年第2 学期

简介: 我们通信工程专业在实践中经常碰到需要对已接收信号进行处理的情况,而滤波器设计在数字信号处理中占有极其重要的地位。本课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。在设计实现的过程中,我们使用双线性变换法设计IIR数字滤波器,对模拟加噪语音信号进行低通滤波、高通滤波及带通滤波,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。 1 绪论: 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。数字滤波器, 是数字信号处理中及其重要的一部分。本课题采用IIR 滤波器对加噪声音信号进行处理。 IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 2.原始语音信号采集与处理 2.1语音信号的采集 由于MATLAB只识别格式为.wav的声音文件,我们利用PC机上的声卡和WINDOWS操作系统进行数字信号的采集。启动录音机进行录音,以文件名“Orisound”保存入原程序所属的文件夹中。可以看到,文件存储器的后缀默认为.wav ,这是WINDOWS操作系统规定的声音文件存的标准。

音频信号频谱分析MATLAB

[y,Fs,bits]=wavread('DSP(1213)_A.wav'); % read sound file N=round(5.56/0.001); % set the order of the filter %F1=0.07; F2=0.29; %óéD?o?DSP(1213)_C.wavμ??μ?ê3é·??¨500-2000%wp=fp/(Fs/2); Fs=14000 %F1=0.10;F2=0.38; %êêóúDSP(1213)_B.wav òò?a??D?o?μ??μ?ê′ó???a600?a?a2300 Fs=12000 F1=0.12;F2=0.33;%êêóúDSP(1213)_A.wav òò?a??D?o?μ??μ?ê′ó???a700?a?a1900/19 Fs=11250 b=fir1(N,[F1,F2],blackman(N+1)); % using blackman window to implement FIR filter %b=fir1(N,[F1,F2],hanning(N+1)); Y=filter(b,1,y); % output te signal after filtering %freqz(b,1,512,Fs); figure freqz(b,1);%normalized frequency title('the filter response(magnitude and Phase)without using scaling factor after using blackman window'); %title('the filter response(magnitude and Phase)without using scaling factor');%after using blackman window'); t=(0:length(y)-1)/Fs; figure; subplot(2,1,1); plot(t,y); % plot original signal in time domain title('Input signal in time domain'); xlabel('Time(second)'); ylabel('Magnitude'); subplot(2,1,2); plot(t,Y); % plot output signal in time domain title('Output signal in time domain'); xlabel('Time(second)'); ylabel('Magnitude'); figure; fft_y=fft(y); fft_Y=fft(Y); f=Fs*(0:length(y)-1)/length(y); subplot(2,1,1); plot(f,20*log10(abs(fft_y(1:length(y))))); % plot original signal in frequency domain %plot(f,abs(fft_y(1:length(y)))); title('Input signal in frequency domain'); xlabel('Frequency(Hz)'); ylabel('Amplitude(dB)'); subplot(2,1,2); plot(f,20*log10(abs(fft_Y(1:length(y))))); % plot output signal in frequency domain %plot(f,abs(fft_Y(1:length(y)))); title('Output signal in frequency domain'); xlabel('Frequency(Hz)'); ylabel('Amplitude(dB)');

基于matlab的声音信号处理

课程设计任务书

基于MATLAB的声音信号处理的初步实现 内容摘要:数字滤波器是数字信号处理技术的基础, 用来对信号进行过滤、检测、与参数估计等处理。任何检测的信号都含有噪声,而滤波是去除噪声的基本手段,因此滤波器在数字信号处理中占有极其重要的地位。FIR数字滤波器和IIR 数字滤波器是滤波器设计的重要组成部分。随着MATLAB软件及信号处理工具箱的不断完善,MATLAB很快成为应用学科等领域不可或缺的基础软件,它可以快速有效地实现数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。本设计综合运用了数字信号处理的各种基本知识,对不带噪声音信号以及带噪声音信号进行频谱分析,并利用MATLAB信号处理工具箱有效快捷地设计IIR数字滤波器对带噪声音信号进行滤波处理。 关键词:数字滤波器 MATLAB 滤波仿真 The preliminary implementation of voice signal processing based on MATLAB Abstract: Digital filter is the basis of digital signal processing technology, which used for signal filtering, detecting, and parameter estimation. Any detection signal contains noise, and filtering is a basic means to remove the noise, so filter occupies an extremely important position in digital signal processing.FIR digital filter and IIR digital filter is an important part of the filter design. With MATLAB software and the continuous improvement of the signal processing toolbox, MATLAB application quickly became indispensable to areas such as basic software. It can quickly and efficiently for digital filter design, analysis and simulation, greatly reduce the workload, and it is advantageous to the optimization of filter design. This design is integrated used of all kinds of basic knowledge of digital signal processing to complete the analysis of frequency spectrum about speech noisy signal and speech signal, and it use the MATLAB signal processing toolbox effective shortcut to design IIR

应用matlab对语音信号进行频谱分析及滤波

数字信号处理 —综合实验报告 综合实验名称:应用MatLab对语音信号进行 频谱分析及滤波 系: 学生: 班级: 学号: 成绩: 指导教师: 开课时间学年学期

目录 一.综合实验题目 (1) 二、综合实验目的和意义 (1) 2.1 综合实验目的 (1) 2.2 综合实验的意义 (1) 三.综合实验的主要容和要求 (1) 3.2 综合实验的要求: (2) 四.实验的原理 (2) 4.1 数字滤波器的概念 (2) 4.2 数字滤波器的分类 (2) (1)根据单位冲激响应h(n)的时间特性分类 (2) 五.实验的步骤 (3) 下面对各步骤加以具体说明。 5.1语音信号的采集 (3) 5.2 语音信号的频谱分析; (3) 5.3 设计数字滤波器和画出其频率响应 (5) 5.3.1设计数字滤波器的性能指标: (5) 5.3.2 用Matlab设计数字滤波器 (6) 5.6 设计系统界面 (19) 六、心得体会 (20) 参考文献: (21)

一.综合实验题目 应用MatLab对语音信号进行频谱分析及滤波 二、综合实验目的和意义 2.1 综合实验目的 为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,再者,加强学生对Matlab软件在信号分析和处理的运用 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 2.2 综合实验的意义 语言是我们人类所特有的功能,它是传承和记载人类几千年文明史,没有语言就没有我们今天人类的文明。语音是语言最基本的表现形式,是相互传递信息最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。 语音信号处理属于信息科学的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展;它是研究用数字信号处理技术对语音信号进行处理的一门新兴学科,同时又是综合性的多学科领域和涉及面很广的交叉学科,因此我们进行语言信号处理具有时代的意义。 三.综合实验的主要容和要求 3.1综合实验的主要容: 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;综合实验应完成的工作: (1)语音信号的采集; (2)语音信号的频谱分析;

MATLAB语音信号采集与处理

MATLAB课程设计报告课题:语音信号采集与处理

目录 一、实践目的 (3) 二、实践原理: (3) 三、课题要求: (3) 四、MATLAB仿真 (4) 1、频谱分析: (4) 2、调制与解调: (5) 3、信号变化: (8) 快放: (8) 慢放: (8) 倒放: (8) 回声: (8) 男女变声: (9) 4、信号加噪 (10) 5、用窗函数法设计FIR滤波器 (11) FIR低通滤波器: (12) FIR高通滤波器: (13) FIR带通滤波: (14)

一、实践目的 本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。 此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。 二、实践原理: 利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。语音信号的“短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。 三、课题要求: ○1利用windows 自带的录音机或者其它录音软件,录制几段语音信号(要有几种不同的声音,要有男声、女声)。 ○2对录制的语音信号进行频谱分析,确定该段语音的主要频率范围,由此频率范围判断该段语音信号的特点(低沉or 尖锐)。 ○3利用采样定理,对该段语音信号进行采样,观察不同采样频率(过采样、欠采样、临界采样)对信号的影响。 ○4对采集到的语音信号进行调制与解调,观测调制与解调前后信号的变化。 ○5实现语音信号的快放、慢放、倒放、回声、男女变声。

基于matlab的语音信号处理程序

wavefile='a.wav'; [y,fs,nbits]=wavread(wavefile);%读取信号,采样率和采样位数[10000,19999] sound(y,fs,nbits) fs %采样频率这里每秒22050,发现采样频率为音频信号的典型值22050Hz nbits Y=fft(y,1024);%数据点数 whos y figure(1), subplot(2,1,1),plot(y);title('原始信号波形');grid on subplot(2,1,2),plot(abs(Y));title('原始信号频谱'); grid on%横坐标频率,纵坐标振幅%subplot(3,1,3),plot(angle(Y));title('原始信号相位');grid on %双线性变换法设计的低通滤波器 fp=1000;%fp为通带频率 fc=1200;%fc为阻带起始频率 As=100;%As-阻带最小衰减(dB); Ap=1;%Ap-通带波纹(dB); fs1=fs; wp=2*fp/fs1;%wp-椭圆滤波器通带截止角频率; wc=2*fc/fs1;%Ws-椭圆滤波器阻带起始角频率; [n,wn]=ellipord(wp,wc,Ap,As); %n-椭圆滤波器最小阶数; [b,a]=ellip(n,Ap,As,wn);%返回长度为n+1的滤波器系数行向量b和a, b为分子a 为分母 figure(2),freqz(b,a,512,fs1); %数字滤波器的频率响应函数,512表示选取单位圆的上半圆等间距的N个点作为频响输出; x=filter(b,a,y);%一维数字滤波器,y2为滤波前输入,x为滤波结果序列 X=fft(x,1024); figure(3), subplot(2,1,1),plot(x);title('低通滤波后信号波形');grid on subplot(2,1,2),plot(abs(X));title('低通滤波后信号频谱');grid on sound(x,fs); %分析图形,比较滤波前后时域波形和频域频谱。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %短时能量 y=y*2^nbits/2; frameSize=256; overlap=128; %[y,fs,nbits]=wavReadInt(wavefile); fprintf('length of %s is %g sec.\n',wavefile,length(y)/fs);

MATLAB语音信号处理

基于MATLAB的语音信号采集与处理 一、实验的目的和要求 1. MATLAB软件功能简介 MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。 MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。 MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。2. 本题目的意义 本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB 的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。 二、实验原理: 1.理论原理

如何利用matlab处理音频信号

Matlab处理音频信号 一、问题的提出:数字语音是信号的一种,我们处理数字语音信号,也就是对一种信号的处理,那信号是什么呢?信号是传递信息的函数。 一、问题的提出: 数字语音是信号的一种,我们处理数字语音信号,也就是对一种信号的处理,那信号是什么呢? 信号是传递信息的函数。离散时间信号%26mdash;%26mdash;序 列%26mdash;%26mdash;可以用图形来表示。 按信号特点的不同,信号可表示成一个或几个独立变量的函数。例如,图像信号就是空间位置(二元变量)的亮度函数。一维变量可以是时间,也可以是其他参量,习惯上将其看成时间。信号有以下几种: (1)连续时间信号:在连续时间范围内定义的信号,但信号的幅值可以是连续数值,也可以是离散数值。当幅值为连续这一特点情况下又常称为模拟信号。实际上连续时间信号与模拟信号常常通用,用以说明同一信号。 (2)离时间信号:时间为离散变量的信号,即独立变量时间被量化了。而幅度仍是连续变化的。 (3)数字信号:时间离散而幅度量化的信号。 语音信号是基于时间轴上的一维数字信号,在这里主要是对语音信号进行频域上的分析。在信号分析中,频域往往包含了更多的信息。对于频域来说,大概有8种波形可以让我们分析:矩形方波,锯齿波,梯形波,临界阻尼指数脉冲波形,三角波,余旋波,余旋平方波,高斯波。对于各种波形,我们都可以用一种方法来分析,就是傅立叶变换:将时域的波形转化到频域来分析。 于是,本课题就从频域的角度对信号进行分析,并通过分析频谱来设计出合适的滤波器。当然,这些过程的实现都是在MATLAB软件上进行的,MATLAB软件在数字信号处理上发挥了相当大的优势。

语音信号处理matlab仿真

语音信号处理的matlab设计仿真实验 彭杰12350049 12自动化 一、目的 通过利用matlab设计仿真实验,理解如下知识点: 信号的采样及混迭 信号的频谱分析 信号的幅度调制解调的方法 理想滤波器的时频域特性 数字滤波器的设计 二、内容 ①录制一段个人自己的语音信号。 ②采用合适的频率,对录制的信号进行采样,画出采样后语音信号的时域波形和频谱图。 ③给原始语音信号加噪声,画出加噪声后的语音信号和频谱图。 ④设计一个频域的理想带通信道。 ⑤对这个语音信号进行幅度调制,画出调制后的语音信号和频谱图。 ⑥利用理想带通信道对信号进行传输。 ⑦对接受到的信号进行解调,画出解调后的语音信号和频谱图。 ⑧设计性能良好的滤波器对信号进行滤波。 ⑨对语音进行回放,并与滤波后的语音信号进行对比。

三、实验设计与仿真结果 程序汇总如下:

1、原始语音信号的采集、读取与采样 利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行采样,记住采样频率和采样点数。wavread 函数几种调用格式如下: ①y=wavread(file) 功能说明:读取file所规定的wav文件,返回采样值放在向量y中。 ②[y,fs,nbits]=wavread(file) 功能说明:采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。 ③y=wavread(file,N) 功能说明:读取钱N点的采样值放在向量y中。 ④y=wavread(file,[N1,N2]) 功能说明:读取从N1到N2点的采样值放在向量y中。 首先用手机录制一段音频信号(手机音频格式一般为.mp3)。然后用软件将音频

基于MATLAB的有噪声的语音信号处理的课程设计

DSP实验课程设计实验报告 姓名:学号:班级: 1.课程设计题目: 基于MATLAB的有噪声的语音信号处理的课程设计。 2.课程设计的目的: 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,再利用MATLAB做为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 3.课程设计的要求: (1)熟悉离散信号和系统的时域特性。 (2)掌握序列快速傅里叶变换FFT方法。 (3)学会MATLAB的使用,掌握MATLAB的程序设计方法。 (4)利用MATLAB对语音信号进行频谱分析。 (5)掌握MATLAB设计各种数字滤波器的方法和对信号进行滤波的方法。 4.课程设计的内容: 录制一段语音信号,对语音信号进行频谱分析,利用MATLAB中的随机函数产生噪声加入到语音信号中,使语音信号被污染,然后进行频谱分析,设计FIR和IIR数字滤波器,并对噪声污染的语音信号进行滤波,分析滤波后的信号的时域和频域特征,回放语音信号。 5.课程设计的步骤: (1)语音信号的获取 通过录音软件录制一段语音“数字信号处理”,命名为“OriSound”,时长大约1到2秒,在MATLAB中,通过使用wavread函数,对语音进行采样: [y,fs,nbits]=wavread('OriSound'); %语音信号的采集 采样值放在向量y中,采样频率为fs,采样位数为nbits。

(2)语音信号的频谱分析 画出语音信号的时域波形,然后对语音信号进行频谱分析,在MATLAB中,通过使用fft 函数对信号进行快速傅里叶变换,得到信号的频谱特性。 因此采集语音并绘出波形和频谱的模块程序如下: [y,fs,nbits]=wavread('OriSound'); %语音信号的采集 sound(y,fs,nbits); %语音信号的播放 n=length(y) ; %计算语音信号的长度 Y=fft(y,n); %快速傅里叶变换 figure; subplot(2,1,1); %绘出时域波形 plot(y); title('原始信号波形','fontweight','bold'); axis([ 00000 80000 -1 1]); %通过尝试确定合适的坐标参数 grid; subplot(2,1,2); %绘出频域频谱 plot(abs(Y)); title('原始信号频谱','fontweight','bold'); axis([ 0 150000 0 4000]); %通过尝试确定合适的坐标参数 grid; 结果如下:

相关主题
文本预览
相关文档 最新文档