搜档网
当前位置:搜档网 › 基于MATLAB有噪声语音信号处理

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

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

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

一设计内容

选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计FIR数字滤波器,并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。

二设计的具体实现

1语音信号的时频分析

利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行采样,记住采样频率和采样点数。下面介绍wavread 函数几种调用格式。

(1)y=wavread(file)

功能说明:读取file所规定的wav文件,返回采样值放在向量y中。

(2)[y,fs,nbits]=wavread(file)

功能说明:采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。

接下来,对语音信号kalong.wav进行采样。其程序如下:

[y,fs,nbits]=wavered (‘kalong’);把语音信号加载入Matlab 仿真软件平台中然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:Xk=fft(xn,N)

参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn 的长度时,fft函数自动在xn后面补零。当N小于xn的长度时,fft函数计算xn 的前N个元素,忽略其后面的元素。

在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。其程序如下:

[x,fc,nbits]=wavread ('kalong.wav');

sound(x,fc,nbits); %回放语音信号

N=length(x); %求出语音信号的长度

t=0:1/fc:(size(x)-1)/fc;

X=abs(fft(x,N)); %傅里叶变换

X=X(1:N/2);

f=fc/N*(0:1:(N/2)-1);

figure(1)

subplot(2,1,1);

plot(t,x);

title('原始信号波形');xlabel('s');

subplot(2,1,2);

plot(f,abs(X));%可见声音信号频谱在0~4e3范围之内

程序结果如下图:

2

4

68

10

12

-0.2

-0.100.1

0.2原始信号波形

s

020004000

600080001000012000

5001000

1500原始信号频谱

Hz

幅度

2 语音信号加噪与时谱分析

在本次设计中,我们是利用MA TLAB 中加入单频率噪声到语音信号中,模仿语音信

号被污染,并对其频谱分析。

语音信号添加噪声及其频谱分析的主要程序如下: N=length(x)% 计算信号x 的长度

fn=5e3;%在0~4e3范围,会与原始声音信号发生频率混叠,无法用FIR 低通滤波器滤除

t=0:1/fc:(N-1)/fc; % 计算时间范围,样本数除以采样频率 x=x(:,1); x=x';

y=x+ 0.1*sin(fn*2*pi*t);

sound(y,fc,nbits); % 明显听出有尖锐的单频啸叫声

Y=abs(fft(y,N)); % 对原始信号和加噪信号进行fft 变换 Y=Y(1:N/2); %截取前半部分 figure(2);

subplot(2,1,1); plot(t,y);

title('加噪后信号波形');xlabel('s'); subplot(2,1,2); plot(f,abs(Y));

程序结果如下图:

2

4

68

10

12

-0.4

-0.200.2

0.4加噪后信号波形

s

20004000

600080001000012000

05000

10000

15000加噪后信号频谱

Hz

幅度

3 设计FIR 数字滤波器

介绍用窗函数法设计FIR 滤波器的步骤。如下:

(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N 。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。

(2)构造希望逼近的频率响应函数。 (3)计算h(n).。

(4)加窗得到设计结果。

接下来,我们根据语音信号的特点给出有关滤波器的技术指标: 低通滤波器的性能指标:

fp=4.2e3;fs=4.8e3;%先设定通带和阻带截止频率fp 和fs

hn=fir1(M ,wc ,window),可以指定窗函数向量window 。如果缺省window 参数,则fir1默认为哈明窗。其中可选的窗函数有Rectangular Barlrtt Hamming Hann Blackman 窗,其相应的都有实现函数。

下面我们将给出FIR 数字滤波器的主要程序。

% wp=0.3*pi;ws=0.4*pi;%要想滤除频率为5e3的噪声,必须使通带和阻带截止频率fp 和fs 满足:4e3

fp=4.2e3;fs=4.8e3;%先设定通带和阻带截止频率fp 和fs

wp=2*pi*fp/fc;ws=2*pi*fs/fc;%再根据数字频率与频率

w=2*pi*f*T=2*pi*f/fc,得到数字通带和阻带截止频率wp 和ws tr_width=ws-wp;

M=ceil(6.6*pi/tr_width)+1 n=[0:1:M-1]; wc=(ws+wp)/2; hd=ideal_lp(wc,M); w_ham=(hamming(M))'; h=hd.*w_ham

[H,W]=freqz(h,[1]); %绘制频率响应曲线 figure(3);

subplot(221),stem(n,hd);title('理想脉冲相应') axis([0 M-1 -0.3 0.4]);xlabel('n');ylabel('hd(n)') xa=0.*n; hold on

plot(n,xa,'k'); hold off

subplot(222),stem(n,w_ham);title('hamming 窗') axis([0 M-1 -0.3 1.2]);xlabel('n');ylabel('w(n)') subplot(223),stem(n,h);title('实际脉冲相应') axis([0 M-1 -0.3 0.4]);xlabel('n');ylabel('h(n)') hold

plot(n,xa,'k'); hold off

figure(4);plot(W*fc/(2*pi),abs(H));grid 得到得结果如图:

50100

-0.200.2

理想脉冲相应

n h d (n )

050100

0.51

hamming 窗

n

w (n )

50100

-0.20

0.2

实际脉冲相应

n

h (n )

2000

4000

6000

8000

10000

12000

00.2

0.4

0.6

0.8

1

1.2

1.4

4 滤波后语音信号的波形及频谱

下面我们将滤波后语音信号的波形及频谱的程序:

y_fil=fftfilt(h,y); %用设计好的滤波器对y 进行滤波

Y_fil=abs(fft(y_fil,N));Y_fil=Y_fil(1:N/2); %计算频谱取前一半 sound(y_fil,fc,nbits); % 播放消噪之后的声音信号 figure(5);

subplot(2,1,1);plot(t,y_fil);grid on;

title('经过滤波后时域信号');xlabel('s'); subplot(2,1,2);plot(f,Y_fil);grid on;

title('经过滤波后信号频谱'); xlabel('Hz');ylabel('幅度'); 得到如图结果:

2

4

6810

12

-0.2

-0.100.1

0.2经过滤波后时域信号

s

020004000

600080001000012000

5001000

1500经过滤波后信号频谱

Hz

幅度

三 小结

“基于MATLAB 的有噪声语音信号处理”是希望将数字信号处理技术应用于某一实际领域,这里就是指对语音及加噪处理。本设计圆满的完成了对加噪声语音信号的读取与打开,与设计内容的要求十分相符;也较好的完成了对原始语音信号和加噪声后的语音信号的频谱分析,通过fft 变换,得出了语音信号的频谱图;在滤波这一部分,主要用窗函数法设计FIR 滤波器,实现了预期的滤波效果。

设计的特色在于它将语音信号看作一个向量,于是就把语音数字化了。那么,

就可以完全利用数字信号处理的知识来解决语音及加噪处理问题。我们可以像给一般信号做频谱分析一样,来对语音信号做频谱分析,也可以较容易的用数字滤波器来对语音进行滤波处理。通过比较加噪前后,语音的频谱和语音回放,能明显的感觉到加入噪声后回放的声音与原始的语音信号有很大的不同。

语音信号处理与及其MATLAB实现分析

目录 摘要 (2) 第一章绪论 (3) 1.1 语音课设的意义 (3) 1.2 语音课设的目的与要求 (3) 1.3 语音课设的基本步骤 (3) 第二章设计方案论证 (5) 2.1 设计理论依据 (5) 2.1.1 采样定理 (5) 2.1.2 采样频率 (5) 2.1.3 采样位数与采样频率 (5) 2.2 语音信号的分析及处理方法 (6) 2.2.1 语音的录入与打开 (6) 2.2.2 时域信号的FFT分析 (6) 2.2.3 数字滤波器设计原理 (7) 2.2.4 数字滤波器的设计步骤 (7) 2.2.5 IIR滤波器与FIR滤波器的性能比较 (7) 第三章图形用户界面设计 (8) 3.1 图形用户界面概念 (8) 3.2 图形用户界面设计 (8) 3.3 图形用户界面模块调试 (9) 3.3.1 语音信号的读入与打开 (9) 3.3.2 语音信号的定点分析 (9) 3.3.3 N阶高通滤波器 (11) 3.3.4 N阶低通滤波器 (12) 3.3.5 2N阶带通滤波器 (13) 3.3.6 2N阶带阻滤波器 (14) 3.4 图形用户界面制作 (15) 第四章总结 (18) 附录 (19) 参考文献 (24)

摘要 数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。 数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。 数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

MATLAB中产生高斯白噪声

MATLAB中产生高斯白噪声,涉及到awgn和wgn函数 MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。 1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。 y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。 y = wgn(m,n,p,imp,state) 重置RANDN的状态。 在数值变量后还可附加一些标志性参数: y = wgn(…,POWERTYPE) 指定p的单位。POWERTYPE可以是'dBW', 'dBm'或 'linear'。线性强度(linear power)以瓦特(Watt)为单位。 y = wgn(…,OUTPUTTYPE) 指定输出类型。OUTPUTTYPE可以是'real'或 'complex'。 2. AWGN:在某一信号中加入高斯白噪声 y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。 y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定信号强度。y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。 y = awgn(…,POWERTYPE)指定SNR和SIGPOWER的单位。POWERTYPE可以是'dB'或'linear'。如果POWERTYPE是'dB',那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是'linear',那么SNR作为比值来度量,而SIGPOWER 以瓦特为单位。 注释 1. 分贝(decibel,dB):分贝(dB)是表示相对功率或幅度电平的标准单位,换句话说,就是我们用来表示两个能量之间的差别的一种表示单位,它不是一个绝对单位。例如,电子系统中将电压、电流、功率等物理量的强弱通称为电平,电平的单位通常就以分贝表示,即事先取一个电压或电流作为参考值(0dB),用待表示的量与参考值之比取对数,再乘以20作为电平的分贝数(功率的电平值改乘10)。 2. 分贝瓦(dBW, dB Watt):指以1W的输出功率为基准时,用分贝来测量的功率放大器的功率值。 3. dBm (dB-milliWatt):即与1milliWatt(毫瓦)作比较得出的数字。 0 dBm = 1 mW 10 dBm = 10 mW 20 dBm = 100 mW 也可直接用randn函数产生高斯分布序列,例如: 程序代码 y=randn(1,2500); y=y/std(y);

语音信号处理答案

二、问答题(每题分,共分) 、语音信号处理主要研究哪几方面的内容? 语音信号处理是研究用数字信号处理技术对语言信号进行处理的一门学科,语音信号处理的理论和研究包括紧密结合的两个方面:一方面,从语言的产生和感知来对其进行研究,这一研究与语言、语言学、认知科学、心理、生理等学科密不可分;另一方面,是将语音作为一 种信号来进行处理,包括传统的数字信号处理技术以及一些新的应用于语音信号的处理方法 和技术。 、语音识别的研究目标和计算机自动语音识别的任务是什么? 语音识别技术,也被称为自动语音识别,(),其目标是将人类的语音中的词汇内容转换为 计算机可读的输入,例如按键、二进制编码或者字符序列。 计算机自动语音识别的任务就是让机器通过识别和理解过程把语音信号转变为相应的文本 或命令的高技术。 、语音合成模型关键技术有哪些? 语音合成是实现人机语音通信,建立一个有听和讲能力的口语系统所需的两项关键技术,该系统主要由三部分组成:文本分析模块、韵律生成模块和声学模块。.如何取样以精确地抽取人类发信的主要特征,.寻求什么样的网络特征以综合声道的频率响应,.输出合成声音的质量如何保证。 、语音压缩技术有哪些国际标准? 二、名词解释(每题分,共分) 端点检测:就从包含语音的一段信号中,准确的确定语音的起始点和终止点,区分语音信号和非语音信号。 共振峰:当准周期脉冲激励进入声道时会引起共振特性,产生一组共振频率,称为共振峰频率或简称共振峰。 语谱图:是一种三维频谱,它是表示语音频谱随时间变化的图形,其纵轴为频率,横轴为时间,任一给定的频率成分在给定时刻的强弱用相应点的灰度或色调的浓淡来表示。 码本设计:就是从大量信号样本中训练出好的码本,从实际效果出发寻找好的失真测度定义 公示,用最少的搜素和计算失真的运算量。 语音增强:语音质量的改善和提高,目的去掉语音信号中的噪声和干扰,改善它的质量 三、简答题(每题分,共分) 、简述如何利用听觉掩蔽效应。 一个较弱的声音(被掩蔽音)的听觉感受被另一个较强的声音(掩蔽音)影响的现象称为人耳的“掩蔽效应”。人耳的掩蔽效应一个较弱的声音(被掩蔽音)的听觉感受被另一个较强的声 音(掩蔽音)影响的现象称为人耳的“掩蔽效应”。被掩蔽音单独存在时的听阈分贝值,或者 说在安静环境中能被人耳听到的纯音的最小值称为绝对闻阈。实验表明,—绝对闻阈值最小,即人耳对它的微弱声音最敏感;而在低频和高频区绝对闻阈值要大得多。在范围内闻阈随频率变化最不显著,即在这个范围内语言可储度最高。在掩蔽情况下,提高被掩蔽弱音的强度, 使人耳能够听见时的闻阈称为掩蔽闻阈(或称掩蔽门限),被掩蔽弱音必须提高的分贝值称为 掩蔽量(或称阈移)。 、简述时间窗长与频率分辨率的关系。 采样周期、窗口长度和频率分辨率△之间存在下列关系:△(*) 可见,采样周期一定时,△随窗口宽度的增加而减少,即频率分辨率相应得到提高,但同时时间分辨率降低;如果窗口取短,频率分辨率下降,而时间分辨率提高,因而二者是矛盾的。 、简述时域分析的技术(最少三项)及其在基因检测中的应用。()

基于Matlab的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期:2013 年5 月 目录 1 绪论.............................................................................................................. 错误!未定义书签。 1.1课题背景及意义................................................................................. 错误!未定义书签。 1.2国内外研究现状................................................................................. 错误!未定义书签。 1.3本课题的研究内容和方法................................................................. 错误!未定义书签。 1.3.1 研究内容................................................................................ 错误!未定义书签。 1.3.2 开发环境................................................................................ 错误!未定义书签。 2 语音信号处理的总体方案............................................................................ 错误!未定义书签。 2.1 系统基本概述.................................................................................... 错误!未定义书签。 2.2 系统基本要求与目的........................................................................ 错误!未定义书签。 2.3 系统框架及实现................................................................................ 错误!未定义书签。 2.3.1 语音信号的采样.................................................................... 错误!未定义书签。 2.3.2 语音信号的频谱分析............................................................ 错误!未定义书签。 2.3.3 音乐信号的抽取.................................................................... 错误!未定义书签。 2.3.4 音乐信号的AM调制.............................................................. 错误!未定义书签。 2.3.5 AM调制音乐信号的同步解调............................................... 错误!未定义书签。 2.4系统设计流程图................................................................................. 错误!未定义书签。 3 语音信号处理基本知识................................................................................ 错误!未定义书签。 3.1语音的录入与打开............................................................................. 错误!未定义书签。 3.2采样位数和采样频率......................................................................... 错误!未定义书签。 3.3时域信号的FFT分析......................................................................... 错误!未定义书签。 3.4切比雪夫滤波器................................................................................. 错误!未定义书签。 3.5数字滤波器设计原理......................................................................... 错误!未定义书签。 4 语音信号实例处理设计................................................................................ 错误!未定义书签。 4.1语音信号的采集................................................................................. 错误!未定义书签。

白噪声的测试MATLAB程序

白噪声的测试MATLAB程序 学术篇 2009-11-13 22:18:03 阅读232 评论0 字号:大中小订阅 clear; clc; %生成各种分布的随机数 x1=unifrnd(-1,1,1,1024);%生成长度为1024的均匀分布 x2=normrnd(0,1,1,1024);%生成长度为1024的正态分布 x3=exprnd(1,1,1024);%生成长度为1024的指数分布均值为零 x4=raylrnd(1,1,1024);%生成长度为1024的瑞利分布 x5=chi2rnd(1,1,1024);%生成长度为1024的kaifang分布%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的均值 m1=mean(x1),m2=mean(x2),m3=mean(x3),m4=mean(x4),m5=mean(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的方差 v1=var(x1),v2=var(x2),v3=var(x3),v4=var(x4),v5=var(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的自相关函数 figure(1);title('自相关函数图'); cor1=xcorr(x1);cor2=xcorr(x2);cor3=xcorr(x3);cor4=xcorr(x4);cor5=xcorr(x5); subplot(3,2,1),plot(1:2047,cor1);title('均匀分布自相关函数图'); subplot(3,2,2),plot(1:2047,cor2);title('正态分布'); subplot(3,2,3),plot(1:2047,cor3);title('指数分布'); subplot(3,2,4),plot(1:2047,cor4);title('瑞利分布'); subplot(3,2,5),plot(1:2047,cor5);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的概率密度函数 y1=unifpdf(x1,-1,1); y2=normpdf(x2,0,1); y3=exppdf(x3,1); y4=raylpdf(x4,1); y5=chi2pdf(x5,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %各种分布的频数直方图 figure(2); subplot(3,2,1),hist(x1);title('均匀分布频数直方图'); subplot(3,2,2),hist(x2,[-4:0.1:4]);title('正态分布'); subplot(3,2,3),hist(x3,[0:.1:20]);title('指数分布'); subplot(3,2,4),hist(x4,[0:0.1:4]);title('瑞利分布'); subplot(3,2,5),hist(x5,[0:0.1:10]);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %各种分布的概率密度估计 figure(3);

基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

语音信号处理系统设计 摘要:语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。语音信号处理的目的是得到某些参数以便高效传输或存储,或者是用于某种应用,如人工合成出语音、辨识出讲话者、识别出讲话内容、进行语音增强等。本文简要介绍了语音信号采集与分析以及语音信号的特征、采集与分析方法,并在采集语音信号后,在MATLAB 软件平台上进行频谱分析,并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。利用MATLAB来读入(采集)语音信号,将它赋值给某一向量,再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波,然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。 关键词:Matlab,语音信号,傅里叶变换,滤波器 1课程设计的目的和意义 本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。通过完成本课题的设计,拟主要达到以下几个目的: 1.1.了解Matlab软件的特点和使用方法。 1.2.掌握利用Matlab分析信号和系统的时域、频域特性的方法; 1.3.掌握数字滤波器的设计方法及应用。 1.4.了解语音信号的特性及分析方法。 1.5.通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。 2 设计任务及技术指标 设计一个简单的语音信号分析系统,实现对语音信号时域波形显示、进行频谱分析,

利用滤波器滤除噪声、对语音信号的参数进行提取分析等功能。采用Matlab设计语言信号分析相关程序,并且利用GUI设计图形用户界面。具体任务是: 2.1.采集语音信号。 2.2.对原始语音信号加入干扰噪声,对原始语音信号及带噪语音信号进行时频域分析。 2.3.针对语音信号频谱及噪声频率,设计合适的数字滤波器滤除噪声。 2.4.对噪声滤除前后的语音进行时频域分析。 2.5.对语音信号进行重采样,回放并与原始信号进行比较。 2.6.对语音信号部分时域参数进行提取。 2.7.设计图形用户界面(包含以上功能)。 3 设计方案论证 3.1语音信号的采集 使用电脑的声卡设备采集一段语音信号,并将其保存在电脑中。 3.2语音信号的处理 语音信号的处理主要包括信号的提取播放、信号的重采样、信号加入噪声、信号的傅里叶变换和滤波等,以及GUI图形用户界面设计。 Ⅰ.语音信号的时域分析 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法。 Ⅱ.语音信号的频域分析 信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更

高斯白噪声地matlab实现

通信系统建模与仿真 实验一、高斯白噪声的matlab 实现 要求: 样本点:100 1000 标准差:0.2 2 10 均值: 0 0.2 白噪声 如果噪声的功率谱密度在所有的频率上均为一常数,即 ) /(),(,)(0Hz W f n f P n +∞<<-∞= 式中:0n 为常数,责成该噪声为白噪声,用)(t n 表示。 高斯白噪声的matlab 实现

1.样本点为1000、均值为0、标准差为0.2时,高斯白噪声分布为下图所示: 程序如下所示: % White background nois clear all f = 1:1:1000; for i = 1:length(f) K = (0.2) * randn(1,1) - 0; P(i) = 10.^(K - 3.95*(10^-5)*f(i)); A(i) = sqrt(2*P(i)); end xifft = ifft(A); realx = real(xifft); ti = [1:length(xifft)-1]/1000; realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2) 2.样本点为1000、均值为0、标准差为2时,高斯白噪声分布为下图所示:

程序如下所示: % White background nois clear all f = 1:1:1000; for i = 1:length(f) K = (2) * randn(1,1) - 0; P(i) = 10.^(K - 3.95*(10^-5)*f(i)); A(i) = sqrt(2*P(i)); end xifft = ifft(A); realx = real(xifft); ti = [1:length(xifft)-1]/1000; realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2) 3.样本点为1000、均值为0、标准差为10时,高斯白噪声分布为下图所示:

白噪声产生程序

第二章的白噪声产生程序 例2.2 用乘同余法产生(见光盘FLch2bzsheg2.m) ①编程如下: A=6; x0=1; M=255; f=2; N=100;%初始化; x0=1; M=255; for k=1: N %乘同余法递推100次; x2=A*x0; %分别用x2和x0表示x i+1和x i-1; x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(x i)中; v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中; )减去0.5再乘以存储器f中的系数,存放在v(:,k)=(v1-0.5 )*f; %将v1中的数( i 矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环 次数变化; x0=x1; % x i-1= x i; v0=v1; end %递推100次结束; v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且 可直接显示在MATLAB的window中; k1=k; %grapher %以下是绘图程序; k=1:k1; plot(k,v,k,v,'r'); xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声') ②程序运行结果如图2.6所示。 图2.6 采用MA TLAB产生的(-1,+1)均匀分布的白噪声序列 ③产生的(-1,1)均匀分布的白噪声序列 在程序运行结束后,产生的(-1,1)均匀分布的白噪声序列,直接从MATLAB的window 界面中copy出来如下(v2中每行存6个随机数):

v2 = -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 *另外,书中图2.3白噪声的产生如下: 显然,只要在例2.2程序的初始化部分中给N=300,f=6,运行程序就可以得到如图2.3所示的(-3,3)的白噪声过程. ①编程如下: A=6; x0=1; M=255; f=6; N=300;%初始化; x0=1; M=255; for k=1: N %乘同余法递推100次; x2=A*x0; %分别用x2和x0表示x i+1和x i-1; x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(x i)中; v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中; )减去0.5再乘以存储器f中的系数,存放在v(:,k)=(v1-0.5 )*f; %将v1中的数( i 矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环 次数变化; x0=x1; % x i-1= x i; v0=v1; end %递推100次结束; v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且 可直接显示在MATLAB的window中; k1=k; %grapher %以下是绘图程序; k=1:k1; plot(k,v,k,v,'r'); xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声')

语音信号处理 (第2版)赵力 编著 语音信号处理勾画要点

语音信号处理(第2版)赵力编著 重点考点 第2章语音信号处理的基础知识 1.语音(Speech)是声音(Acoustic)和语言(Language)的组合体。可以这样定义语音:语音是由一连串的音组成语言的声音。 2.人的说话过程可以分为五个阶段:(1)想说阶段(2)说出阶段(3)传送阶段(4)理解阶段(5)接收阶段。 3.语音是人的发声器官发出的一种声波,它具有一定的音色,音调,音强和音长。其中,音色也叫音质,是一种声音区别于另一种声音的基本特征。音调是指声音的高低,它取决于声波的频率。声音的强弱叫音强,它由声波的振动幅度决定。声音的长短叫音长,它取决于发音时间的长短。 4.说话时一次发出的,具有一个响亮的中心,并被明显感觉到的语音片段叫音节(Syllable)。一个音节可以由一个音素(Phoneme)构成,也可以由几个音素构成。音素是语音发音的最小单位。任何语言都有语音的元音(Vowel)和辅音(Consonant)两种音素。 5.元音的另一个重要声学特性是共振峰(Formant)。共振峰参数是区别不同元音的重要参数,它一般包括共振峰频率(Formant Frequency)的位置和频带宽度(Formant Bandwidth)。 6.区分语音是男声还是女声、是成人声音还是儿童声音,更重要的因素是共振峰频率的高低。 7.浊音的声带振动基本频率称基音周期(或基音频率),F0表示。 8.人的听觉系统有两个重要特性,一个是耳蜗对于声信号的时频分析特性;另一个是人耳听觉掩蔽效应。 9.掩蔽效应分为同时掩蔽和短时掩蔽。 10.激励模型:一般分成浊音激励和清音激励。浊音激励波是一个以基音周期为周期的斜三角脉冲串。 11.声道模型:一是把声道视为由多个等长的不同截面积的管子串联而成的系统。按此观点推导出的叫“声管模型”。另一个是把声道视为一个谐振腔,按此推导出的叫“共振峰模型”。 12.完整的语音信号的数字模型可以用三个子模型:激励模型、声道模型和辐射模型的串联来表示。 13.语谱图:人们致力于研究语音的时频分析特性,把和时序相关的傅立叶分析的显示图形。 第三章语音信号分析 1.贯穿于语音分析全过程的是“短时分析技术”。 2.语音信号的数字化一般包括放大及增益控制、反混叠滤波、采样、A/D变换及编码(一般就是PCM码);预处理一般包括预加重、加窗和分帧等。 3.预滤波的目的有两个:

语音信号处理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产生高斯噪声

%正态分布(normal distribution)又名高斯分布(Gaussian distribution), % MATLAB 命令是normrnd。 %1)R=normrnd(MU,SIGMA):生成服从正态分布(MU参数代表均值,DELTA参数代表标准差)的随机数。 % 输入的向量或矩阵MU和SIGMA必须形式相同,输出R也和它们形式相同。 %2)R=normrnd(MU,SIGMA,m):生成服从正态分布(MU参数代表均值,DELTA参数代表标准差)的随机数矩阵, % 矩阵的形式由m定义。m是一个1×2向量,其中的两个元素分别代表返回值R中行与列的维数。 %3) R=normrnd(MU,SIGMA,m,n):生成m*n形式的正态分布的随机数矩阵。 %4)randn()是标准正态分布;MA TLAB命令是normrnd 功能:生成服从指定均数和标准差的正态分布的随机数列, %即高斯随机序列。 例如: %高斯噪声为n(m)=nmr+jnmi,其中实虚部均为独立同分布N(0, a)的高斯随机数,信号x(m)=s(m) + n(m) % SNR = 10 lg[1/(2a)] = – 3 – 10 lg(a) (dB) [之所以是2a不是a是因为实虚部] %若有用信号s(n)的最大幅度am,要求得到的信噪比为p,则p=10log10[(am^2)/b^2],用这个公式反推出高斯 %噪声的方差b^2 snr=10; sqrt(a)=10^(-(snr+3)/10); noise=normrnd(0,sqrt(a),1,1000)+1*i*normrnd(0,sqrt(a),1,1000); %或者 noise=sqrt(a)*randn(1,1000)+1*i*sqrt(a)*randn(1,1000);

基于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 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数

现代通信原理作业一 姓名:张英伟学号:8036 班级:13级理工部3班 利用matlab完成: ●产生正弦波信号、均匀白噪声以及高斯白噪声并分别将两种噪声叠加到正弦 波信号上,绘出波形。 ●分别求取均匀白噪声序列和高斯白噪声序列的自相关及功率谱密度,绘出波 形。 一、白噪声区别及产生方法 1、定义: 均匀白噪声:噪声的幅度分布服从均匀分布,功率谱密度在整个频域内均匀分布的噪声。 高斯白噪声:噪声的幅度分布服从正态分布,功率谱密度在整个频域内均匀分布的噪声。 2、matlab仿真函数: rand函数默认产生是区间在[0,1]的随机数,这里需要利用公式: z2=a+(b-(a))*rand(m,n)............(公式1) randn函数默认产生均值是0、方差是1的随机序列,所以可以用其来产生均值为0、方差为1的正态分布白噪声,即N(0,12)。利用公式: z1=a+b*randn(1,n).................(公式2) 可以产生均值为a,方差为b2 高斯白噪声,即N(a,b2)。 二、自相关函数与功率谱密度之间的关系 1、功率谱密度:每单位频率波携带的功率,这被称为信号的功率谱密度。 2、自相关函数:描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度。 3、维纳-辛钦定理: 由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。幸运的是维纳-辛钦定理提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。 4、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)

语音信号处理

语音信号处理 ——语音信号的清、浊音分析 班级: 姓名: 学号: 时间:2014年9月22日

1 实验目的 通过Matlab 编程实现语音信号的时域波形图,并观察清音、浊音信号的时域特点。掌握语音信号的时域分析技术,如短时平均能量、短时平均幅度、短时平均过零率分析、短时平均自相关、短时平均幅度差。 2 实验原理 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。 3 实验过程 1)观察信号波形图 信号的采样周期为20kHz ,图中幅度较大的为浊音,幅度较小的为清音。 2)计算语音信号的短时能量、短时平均幅度并画图 1 20()N n n m E x m -==∑ 1 0|()|N n n m M x m -==∑

由于语音信号的能量随时间变化,清音和浊音之间的能量差别显著。平均幅度函数没有平方运算,因此动态范围比短时能量小,接近于标准能量计算的动态范围的平方根。虽然都可以用来区分清、浊音,但短时平均幅度的清浊音幅度差没有短时能量明显。 3)计算信号的短时平均过零率并画图 1 1{|sgn[()]sgn[(1)]|}2N n n m Zn x m x m -==--∑

过零率可以反映信号的频谱特性。高频率对应着高过零率,低频对应着低过零率。浊音过零率低,清音的过零率低。 4)分别取语音信号的清、浊音部分,分析其短时自相关函数 1 0()()()N k n n n m R k x m x m k --== +∑ 分别取小段浊音、清音信号,计算其短时自相关函数。浊音的自相关函数呈现出周期性,有明显突出的峰值,在80个采样点附近,其基因周期: T=(1/fs)*80=(1/20000)*80=3ms ; 清音的短时自相关函数没有周期性,也不具有明显突出的峰值,其性质类似于噪声。 5)计算语音信号的短时平均幅度差函数并画图 1 0()|()()|N k n n n m F k x m x m k --== -+∑

相关主题