燕山大学。
医学软件课程设计说明书。
题目:基于matlab巴特沃斯滤波器的音频去噪的gui设计。
学院(系): 电气工程学院
年级专业: 13级生物医学工程 2 班
学号: 130103040041
学生姓名魏鑫
指导教师许全盛
院(系):电气工程学院基层教学单位:生物医学工程系
目录。一、 设计目的意义1
1.1 绪论1
1.2 设计目的1
1.3 意义1
二、设计内容2
2.1 设计原理2
2.2 设计内容2
三、设计过程及结果分析3
3.1 设计步骤3
3.2 matlab程序及结果3
3.3 结果分析8
四、总结9五、参考文献10
一、设计目的意义。
1.1 绪论。
语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。
1.2 设计目的。
1)掌握数字信号处理的基本概念,基本理论和基本方法。
2)熟悉离散信号和系统的时域特性。
3)掌握序列快速傅里叶变换方法。
4)学会matlab的使用,掌握matlab的程序设计方法。
5)掌握利用matlab对语音信号进行频谱分析。
6)掌握滤波器的网络结构。
7)掌握matlab设计iir、fir数字滤波器的方法和对信号进行滤波的方法。
1.3 意义。
语音信号处理是一门比较实用的电子工程的专业课程,语音是人类获取信息的重要**和利用信息的重要手段。通过语言相互传递信息是人类最重要的基本功能之一。语言是人类特有的功能,它是创造和记载几千年人类文明史的根本手段,没有语言就没有今天的人类文明。
语音是语言的声学表现,是相互传递信息的最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。
语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。
二、设计内容
2.1 设计原理。
1)截取**片段声音作为语音信号。
2)生成余弦噪声信号加到语音信号中,得到被污染的语音信号。
3)设计巴特沃思滤波器(低通、带通、高通)对被污染的语音信号滤波,滤掉相应的噪音信号,得到符合要求的语音信号。
语音信号的频谱范围主要为700hz左右,因此,在设计低通滤波器时,应把噪声频谱设定在5000hz以上,这样,通过低通滤波器,即可滤除噪声信号从而还原语音信号。
2.2 设计内容。
设计iir数字滤波器的基本思想。
设计iir数字滤波器的方法主要有基于冲激响应不变法的iir数字滤波器设计,基于双线性z变换法的iir数字滤波器设计,数字高通、带通及带阻iir滤波器设计,基于matlab函数直接设计iir数字滤波器。本实验中采用双线性变换法变换的巴特沃思数字滤波器。
2.2.1巴特沃思低通数字滤波器。
1)选择准备好的声音片段作为语音信号(用如下语句调用[x,fs]=audioread(''
2)给信号加一个大频率的噪声(取噪声频率远大于语音信号的最大频率),产生污染信号。
3)设计一个巴特沃思低通滤波器,通带范围包括语音信号,阻带频率设定为小于噪声信号频率。
4)将设计好的巴特沃思低通滤波器滤除被噪声污染后的语音信号。还原语音信号。
2.2.2巴特沃思高通数字滤波器。
1) 选择准备好的声音片段作为语音信号(用如下语句调用[x,fs]=audioread(''
2)给信号加一个大频率的噪声(取噪声频率远大于语音信号的最大频率),产生污染信号。
3)设计一个巴特沃思高通滤波器,通带范围包括语音信号,阻带频率设定为小于噪声信号频率。
4)将设计好的巴特沃思低通滤波器滤除语音信号,保留噪声信号。
2.2.3巴特沃思带通数字滤波器。
1) 选择准备好的声音片段作为语音信号(用如下语句调用[x,fs]=audioread(''
2)给信号加一个小频率或大频率的噪声(取噪声频率远小于语音信号的最小频率或大于语音信号的最大频率),产生污染信号。本实验取小频率的噪声信号。
3)设计一个巴特沃思带通滤波器,通带范围包括语音信号,阻带频率设定为不包括噪声信号频率。
4)将设计好的巴特沃思带通滤波器滤除被噪声污染后的语音信号。还原语音信号。
三、设计过程及结果分析。
3.1 设计步骤。
1)语音信号的采集。
从**截取一段语音片段。然后在matlab软件平台下,利用函数audioread对语音信号进行采样,记住采样频率和采样点数。通过audioread函数的使用,要求理解采样频率、采样位数等概念。
audioread函数调用格式:
x=audioread(file),读取file所规定的w**文件,返回采样值放在向量y中。
x,fs]=audioread(file),采样值放在向量x中,fs表示采样频率(hz)。
x=audioread(file,[n1,n2]),读取从n1点到n2点的采样值放在向量x中。
2)语音信号的频谱分析。
要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在matlab中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。
3)设计数字滤波器和画出频率响应。
根据语音信号的特点给出有关滤波器的性能指标,例如:1)低通滤波器性能指标,fp=3200 hz,fc=3500 hz, as=10db,ap=1db;2)高通滤波器性能指标,fp=5400 hz, fc=5700 hz,as=10db,ap=1db;3)带通滤波器性能指标,fp1=1200 hz,fp2=2500 hz,fc1=800 hz,fc2=2900 hz,as=10db,ap=1db。
4)回放语音信号。
在matlab中,函数sound可以对声音进行回放。其调用格式:sound(x,fs);可以感觉滤波前后的声音有变化。
3.2 matlab程序及结果。
3.2.1语音信号的采集与频谱分析。
将声音文件导入matlab软件中,绘出采样后的语音信号的时域波形和频谱图。
matlab程序如下:
clc;x,fs]=audioread(‘
x=x(:,1);
n=length(x);n=0:n-1; t=n/fs;
figure(1);
subplot(211);plot(x);
sound(x,fs,bits);
title('语音信号时域波形图')
y=fft(x,n);
f=(fs/n)*(1:n);
subplot(212);
plot(f(1:105000),abs(y(1:105000)))
title('语音信号频谱图');
运行程序得到语音信号时域和频谱图形如图一所示:
图一原始信号时域和频谱图。
3.2.2 iir数字滤波器的设计。
下面分别用巴特沃思数字滤波器(低通、带通、高通)对被噪声污染后的信号进行滤波。
3.2.2.1巴特沃思低通滤波器。
添加高频的噪声信号zs=0.05*cos(2*pi*6000*t),matlab程序如下。加噪信号的时域及幅频图如图二所示。
%噪声信号。
zs=0.05*cos(2*pi*6000*t);
x1=x+zs’;
MATLAB课程设计
1 求被控对象传递函数g s 的matlab描述。num 789 6312 11835 den 1 14 56 64 0 0 gs tf num,den transfer function 789 s 2 6312 s 11835 s 5 14 s 4 56 s 3 64 s 2 2 求被控对象脉冲...
MATLAB课程设计
课程设计。题目 matlab计算器。姓名 班级 学院 专业 完成时间。1总体设计。该计算器程序主要是matlab来制作,界面主要由四个静态文本框 21个运算按钮和两个动态文本框组成。实现的运算功能有四则运算 加 减 乘 除。而且添加了括号使人们使用时更加简单。这些计算功能主要调用了matlab的自定...
MATLAB课程设计
matlab课程设计。如图所示,为测量系统的示意图,它由两个能相互转动的连杆,角度编码器和滚轮等组成。o1为固定点,o2点为转动点,o3点为滚轮的中心,连杆的有效长度分别为l1和l2。任一位置时,连杆1相对于某基准位置的角度为 1,两连杆的相对角度为 2。其中对于 1,取垂直方向为基准线,在基准线左...