Matlab课程设计

发布 2022-10-01 01:39:28 阅读 6098

语音信号滤波去噪使用双线性变换法设计的巴特沃斯滤波器

学生姓名:申涛指导老师:胡双红。

摘要本课程设计主要内容是设计利用使用双线性变换法设计一个巴特沃斯滤波器,对一段含噪语音信号进行滤波去噪处理并根据滤波前后的波形和频谱分析滤波性能。本课程设计**平台为matlab7.0,开发工具是m语言编程。

首先利用录音工具录制一段语音信号,并人为加入一单频噪声,然后对信号进行频谱分析以确定所加噪声频率,并设计滤波器进行滤波去噪处理,最后比较滤波前后的波形和频谱并进行分析。由分析结果可知,滤波器后的语音信号与原始信号基本一致,即设计的iir滤波器能够去除信号中所加单频噪声,达到了设计目的。

关键词课程设计;滤波去噪;iir滤波器;双线性变换法;巴特沃斯滤波器;matlab

1 引言。本课程设计主要利用matlab,设计一个语音信号滤波去噪——使用双线性变换法设计的巴特沃斯滤波器。。在dsp中,很多习题和计算法都要求大量的计算,正是这样,matlab提供了一种方便的工具使得很多方案可以很容易的尝试。

这准要得益于matlab工具,使得各种概念的演绎、设计方案和参数的变更变得易如反掌。

1.1课程设计目的。

本课程设计主要利用matlab,设计一个语音信号滤波去噪——使用双线性变换法设计的巴特沃斯滤波器。

1.2课程设计的要求。

1)滤波器指标必须符合工程实际。

2)设计完后应检查其频率响应曲线是否满足指标。

3)处理结果和分析结论应该一致,而且应符合理论。

4)独立完成课程设计并按要求编写课程设计报告书。

1.3设计平台。

matlab是matrix laboratory的缩写,是一款由美国the mathworks公司出品的商业数学软件。matlab是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,matlab还可以用来创建用户界面及与调用其它语言(包括c,c++和fortran)编写的程序。

尽管matlab主要用于数值运算,但利用为数众多的附加工具箱(toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。另外还有一个配套软件包simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。 matlab 产品族可以用来进行以下各种工作:

1)数值分析。

2)数值和符号计算。

3)工程与科学绘图。

4)控制系统的设计与**。

5)数字图像处理技术。

6)数字信号处理技术。

7)通讯系统设计与**。

8)财务与金融工程。

2 设计原理。

2.1 iir滤波器。

从离散时间来看,若系统的单位抽样(冲激)响应延伸到无穷长,称之为“无限长单位冲激响应系统”,简称为iir系统。

无限长单位冲激响应(iir)滤波器有以下几个特点:

1)系统的单位冲激响应h(n)是无限长;

2)系统函数h(z)在有限z平面;

3)结构上存在着输出到输入的反馈,也就是结构上是递归型的。

iir滤波器采用递归型结构,即结构上带有反馈环路。同一种系统函数h(z)可以有多种不同的结构,基本网络结构有直接ⅰ型、直接ⅱ型、级联型、并联型四种,都具有反馈回路。同时,iir数字滤波器在设计上可以借助成熟的模拟滤波器的成果,巴特沃斯(butterworth)滤波器、切比雪夫(chebyshev)滤波器、椭圆(cauer)滤波器、贝塞尔(bessel)滤波器等,这些典型的滤波器各有特点。

有现成的设计数据或图表可查,在设计一个iir数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。

据iir数字滤波器的设计原理,提出了iir数字滤波器的快速设计方法,并在matlab环境下做出了实现快速设计iir 数字滤波器的设计系统。。在该系统中,只需要将数字滤波器的技术性能指标根据指定的或是需要的设计方法(如双线性变换法或脉冲响应不变法等),转换为模拟滤波器的技术性能指标,根据指定的模拟滤波器设计出相应的数字滤波器,该系统中指定的模拟滤波器为巴特沃斯滤波器和切比雪夫滤波器,该系统为快速、高效地设计iir数字滤波器提供了一个可靠而有效的工作平台。

2.2 双线性变换法。

这种映射是最好的变换方法,它涉及一个众所周知的函数给出为。

这里t是一个参数。这个变换的另一个名字就是线性分式变换,因为当乘开之后得到。

在这每个变量上都是线性的,如果另一个固定的话,或者说在s和z上是双线性的。在(2-1)式制约下的复平面映射如图2-1所示。从该图的观察可以得出下面几点:

图 2-1 双线性变换法中的复平面映射。

1)在(2-1)式中利用得到。

因此,2)整个左半平面映射到单位圆内,所以这是一个稳定的变换。

3)虚轴映射到单位圆是一种一对一的方式进行的,因此,在频域不存在混叠。在(2-2)式中代入,得到。

作为的函数解出得到。

这表明是与非线性关联的,但是不存在混叠。因此在(2-3)式中我们说是被预畴变到的。

2.3 巴特沃斯滤波器。

巴特沃斯低通滤波器的幅度平方函数定义为。

其中c为一常数参数,n为滤波器阶数,为归一化低通截止频率,式中n为整数,是滤波器的阶次。

巴特沃斯低通滤波器在通带内具有最大平坦的振幅特性,这就是说,n阶低通滤波器在处幅度平方函数的前2n-1阶导数等于零,在阻带内的逼近是单调变化的。巴特沃斯低通滤波器的振幅特性如图2-2所示。

滤波器的特性全由其阶数n决定。当n增加时,滤波器的特性曲线变得更陡峭,这时虽然由(2-4)式决定了在处的幅度函数总是衰减3db,但是它们将在通带的更大范围内接近于1,在阻带内更迅速的接近于零,因而振幅特性更接近于理想的矩形频率特性。滤波器的振幅特性对参数n的依赖关系如图2-2所示。

设归一化巴特沃斯低通滤波器的归一化频率为,归一化传递函数为,其中,则2-5)

由于2-6)

所以巴特沃斯滤波器属于全极点滤波器。

3设计步骤。

3.1 设计流程图。

语音信号滤波去噪——使用双线性变换法设计的巴特沃斯滤波器,根据语音信号特点和iir滤波器特性设计的流程如图3.1所示。

图3-1 设计流程图。

3.2 语音信号的采集。

利用windows下的录音机,录制语音信号“domain 是领域的意思”,时间在2.09s。然后在matlab软件平台下,利用函数w**read对语音信号进行采样,记住采样频率和采样点数。

录音机使用如图3.2所示。

图3-2 录音机图。

图3-3 语音信号属性图。

图3-4 语音属性转换图。

3.3语音信号的频谱分析。

首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。

> [x,fs,bits]=w**read('e:\输入参数为文件的全路径和文件名,输出的第一个参数是每个样本的值,fs是生成该波形文件时的采样率,bits是波形文件每样本的编码位数。

> sound(x,fs,bits按指定的采样率和每样本编码位数回放。

> n=length(x计算信号x的长度。

> fn=2100单频噪声频率。

> t=0:1/fs:(n-1)/fs计算时间范围,样本数除以采样频率。

> x=x(:,1变成一维。

> x=x'; y=x+0.1*sin(fn*2*pi*t); 设置加入干扰后的语音。

>sound(y,fs,bits应该可以明显的听出有单频的尖啸声。

>x=abs(fft(x));y=abs(fft(y));对原始信号和加噪信号进行fft变换,取幅度谱。

>x=x(1:n/2); y=y(1:n/2截取前半部分

>deltaf=fs/2/n计算频谱的谱线间隔。

>f=0:deltaf:fs/2-deltaf计算频谱频率范围。

图3-5 原始语音信号与加干扰后语音信号对比分析图。

3.4 设计巴特沃斯滤波器。

> fp=fn-400;fc=fn-50; %定义通带和阻带截止频率。

> rp=1;as=45; %定义通带波纹和阻带衰减。

> wp=fp/fs*2*pi;ws=fc/fs*2*pi; %计算对应的数字频率。

> t=1; fs=8000; %定义采样间隔。

> omegap=2/t*tan(wp/2);omegas=2/t*tan(ws/2); 截止频率预畸变。

> [n,wn]=buttord(omegap,omegas,rp,as,'s')

> [cs,ds]=butter(n,wn,'s')

> [b,a]=bilinear(cs,ds,1/t);

> [db,mag,pha,grd,w]=freqz_m(b,a);

>delta=[1,zeros(1,99)];ha=filter(b,a,delta);

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,取垂直方向为基准线,在基准线左...