实验二滤波器设计Word格式.docx

上传人:b****6 文档编号:17340236 上传时间:2022-12-01 格式:DOCX 页数:14 大小:99.88KB
下载 相关 举报
实验二滤波器设计Word格式.docx_第1页
第1页 / 共14页
实验二滤波器设计Word格式.docx_第2页
第2页 / 共14页
实验二滤波器设计Word格式.docx_第3页
第3页 / 共14页
实验二滤波器设计Word格式.docx_第4页
第4页 / 共14页
实验二滤波器设计Word格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

实验二滤波器设计Word格式.docx

《实验二滤波器设计Word格式.docx》由会员分享,可在线阅读,更多相关《实验二滤波器设计Word格式.docx(14页珍藏版)》请在冰豆网上搜索。

实验二滤波器设计Word格式.docx

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中

(2)语音信号的频谱分析

要求首先画出语音信号的时域波形,然后对语音信号进行频域分析,在MATLAB中可以利用函数fft对信号进行快速的傅立叶变换,从而得到信号的频谱特性,从而加深对频谱特性的理解。

其程序如下:

[y,fs,bits]=wavread('

G:

\课件\技术\课程教学Matlab脚本\a.wav'

[10245120]);

sound(y,fs,bits);

Y=fft(y,4096);

subplot(211);

plot(y);

title('

原始信号波形'

);

subplot(212);

plot(abs(Y));

原始信号频谱'

程序运行结果如图1-1所示。

图1-1原始信号的波形与频谱

(3)设计数字滤波器和画出频率响应

根据语音信号的特点给出相关滤波器的性能指标:

●低通滤波器的性能指标:

fp=1000Hz,fc=1200Hz,As=100db,Ap=1db;

●高通滤波器的性能指标:

fc=4800Hz,fp=5000Hz,As=100db,Ap=1db;

●带通滤波器的性能指标:

fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100db,Ap=1db;

要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中可以利用函数butte,cheby1和ellip设计IIR滤波器,最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应,这里以低通滤波器为例来说明设计过程。

用窗函数法设计的低通滤波器的程序如下:

fp=1000;

fc=1200;

As=100,Ap=1;

fs=22050;

wc=2*fc/fs;

wp=2*fp/fs;

N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1;

beta=0.1102*(As-8.7);

Win=Kaiser(N+1,beta);

b=fir1(N,wc,Win);

freqz(b,1,512,fs);

程序运行结果如图1-2所示.这里选用凯塞窗设计,滤波器的幅度和相位响应满足设计指标,但滤波长度(N=708)太长,实现起来很困难,主要原因是滤波器的指标太苛刻,因此一般不用窗函数设计这种类型的滤波器。

图1-2低通滤波器的幅度和相位响应

用双线性变换法设计的低通滤波器的程序如下:

[n,wn]=ellipord(wp,wc,Ap,As);

[b,a]=ellip(n,Ap,As,wn);

程序运行结果如图1-3所示。

这里选用椭圆函数设计,滤波器的幅度和相位响应满足设计指标,滤波长度为N=11。

图1-3低通滤波器的幅度和相位响应

(4)用滤波器对信号进行滤波

比较两种滤波器的性能,然后用性能好的滤波器对采集的信号进行滤波,在MATLAB中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。

(5)比较滤波前后语音信号的波形及频谱

要求在一个窗口同时画出滤波前后的波形及频谱,其程序如下:

x=filter(b,a,y);

X=fft(x,4096);

plot(x);

滤波后信号波形'

plot(abs(X));

滤波后信号频谱'

sound(x,fs,bits);

程序运行结果如图1-4所示,得到滤波后信号的波形与频谱。

图1-4滤波后信号的波形与频谱

(6)回放语音信号

在MATLAB中,函数sound可以对声音进行回放。

其调用格式为

sound(x,fs,bits)

可以感觉滤波前后声音有变化

2.基于MATLAB的声音信号频谱分析

2.1实验目的

综合运用数字信号处理的理论知识进行频谱分析和滤波设计,通过理论推导得出相应的结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。

2.2实验基本要求

●熟悉离散信号和系统的时域特性

●熟悉线性卷积和相关的计算编程方法

●掌握序列傅立叶变换的计算机实现方法,利用傅立叶变换对离散信号、系统和系统响应进行频域分析。

●利用MATLAB对wav文件进行频谱分析

2.3实验内容和要求

选择一个wav文件作为分析对象,或录制一段语音信号,对其进行频谱分析,根据信号的频谱特点重构语音信号。

2.4实验实现步骤

(1)语音信号的获取

选择一个wav文件作为分析对象,可选择每个windows都有的ding,wav(在windows目录中)这是一个比较单纯的声音“叮”,也可以利用windows下的录音机或其它软件,录制一段自己的话音,时间控制在1s左右,然后在MATLAB软件平台下,通过使用wavread函数,理解采样频率,采样位数等概念。

(2)Wav文件的频谱分析

画出语音信号的时域波形,然后对语音信号进行频谱分析。

在MATLAB中,可以利用函数fft对信号进行快速傅立叶变换,得到信号的频谱特性

在频谱特性中分析最大值的位置(可能有几个),它代表的频率和时域的采样时间有关,相邻两点之间的距离为f=1/(NTs)其中,N是离散傅立叶变换的点数,Ts是采样的时间,前面在读取wav文件时得到了采样频率fs=1/Ts。

既然知道了该声波的频谱,按频率就可以反演它的时域值,利用以上分析的主要峰值来重构声波,由于没有考虑到相位和其他频谱分量,所以波形和原来的波形相差甚远,但大体频率是没有错的。

(3)Wav文件的分段傅立叶分析

语音是分节点的,应该把它分段分析,而且实际应用中的DSP的FFT的点数是有限的,一般只能达到千点。

将读出的声音信号分左、右声道来显示波形,对每个声道分段处理,每段长度1024,最后一段不够时补零;

然后对所有段做1024点FFT,画出三维频谱图,利用每段分析的主要峰值来重构声波,声音听起来挺刺耳,但已经可以感觉到声音的变化,最后使用线性插值来平滑波形,在来听一下声音的效果,这时的声音就柔和多了。

2.5实验报告要求

完成课程设计任务后,应按要求提供课程设计报告,设计报告应包含如下几个方面的内容。

(1)实验目的

(2)实验基本要求

(3)详细设计过程

(4)调试分析

(5)结果分析与体会

(6)附录或参考资料

3.基于MATLAB的简单语音处理系统设计

3.1实验目的

3.2实验基本要求

●掌握数字信号处理的基本概念,基本理论和基本方法

●确定音响系统的的采样频率

●掌握在windows环境下进行音乐信号采集数据的方法

●掌握matlab设计FIR和IIR数字滤波器的方法

3.3实验内容和要求

确定一段音乐信号并对音乐信号进行采样;

画出采样后音乐信号的时域波形和频谱图;

给定滤波器的性能指标,采用窗函数法或双线性变换设计一组滤波器,并画出滤波器的频率响应;

然后用自己设计的滤波器对采集的信号进行滤波,回放语音信号。

简单语音处理系统结构如图3-1所示。

图3-1简单语音处理系统结构图

3.4实验实现步骤

(1)音乐信号的采集

要求在MATLAB软件平台下,利用有关函数对音乐信号进行采样,确定采样频率和采样点数。

(2)音乐信号的频谱分析

首先画出音乐信号的时域波形,然后对音乐信号进行频谱分析。

在MATLAB中,可以利用函数fft对信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解

(3)设计一组数字滤波器并画出频率响应

给出各滤波器的性能指标(也可以根据需要自己设置滤波器性能指标):

●fp=1000Hz,fs=120Hz;

●fp1=120Hz,fp2=500Hz,fc1=100Hz,fc2=520Hz;

●fp1=520Hz,fp2=1000Hz,fc1=500Hz,fc2=1200Hz;

●fp1=1200Hz,fp2=2000Hz,fc1=1000Hz,fc2=2200Hz;

●fp1=2200Hz,fp2=4000Hz,fc1=2000Hz,fc2=4200Hz;

●fp1=4200Hz,fp2=8000Hz,fc1=4000Hz,fc2=8200Hz;

●fp1=8200Hz,fp2=10000Hz,fc1=8000Hz,fc2=12000Hz;

●fc=10000Hz,fp=12000Hz。

各滤波器的As=100db,Ap=1db;

要求首先用窗函数法设计上面要求的三种滤波器,在MATLAB中可以利用函数fir1设计FIR滤波器,利用函数butte、cheby1和ellip设计IIR滤波器;

最后,利用MATLAB中的函数freqz画出各滤波器的频率响应。

(4)利用滤波器对信号进行滤波

要求学生用自己设计的滤波器对采集的信号进行滤波,在MATLAB中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。

(5)音乐信号合成

将滤波后的信号进行合成。

(6)回放音乐信号

在MATLAB中,函数sound可以对音乐进行回放。

3.5实验报告要求

4.使用FFT实现任意三个同频带信号的频分复用

4.1实验目的

综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,再利用Matlab做为编程工具,进行计算机实现,从而加深对所学计算机知识的理解,建立概念。

4.2实验基本要求

●熟悉数字信号处理的基本概念,基本理论和基本方法

●掌握序列傅立叶变换的计算机实现方法,利用序列傅立叶变换对离散信号和系统响应进行频域分析

●学会Matlab使用,掌握Matlab的程序设计方法

●掌握Matlab设计FIR和IIR数字滤波器的方法

4.3实验内容和要求

选择三个不同频段的信号对其进行频谱分析,根据信号频谱的特征,设计三个不同的数字滤波器,将三路信号合成为一路信号,分析合成信号的频域和时域特点,然后将合成信号分别通过设计就好的三个数字滤波器,分离出原来的三路信号,分析得到的三路信号的时域波形和频谱,与原始信号进行比较说明频分复用的特点。

频分复用结构如图4—1所示。

图4-1频分复用结构图

4.4实验实现步骤

(1)产生三路信号

利用MATLAB语言产生三个不同频段的信号。

(2)对三路信号进行频谱分析

画出三路信号的时域波形,然后对信号进行频谱分析,在matlab中,可以利用函数fft对信号进行快速傅立叶变换,得到信号的频谱特性。

(3)设计数字滤波器并画出频率响应

根据三路信号的频谱特点得到性能指标,有性能指标设计三个数字滤波器。

在matlab中可以利用函数fir1设计FIR滤波器,利用函数butte、cheby1和ellip设计IIR滤波器;

最后,利用matlab中的函数freqz画出各滤波器的频率响应。

(4)信号合成

将三路信号叠加为一路信号。

(5)用滤波器对信号进行滤波

要求学生用自己设计的滤波器对采集的信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对函数进行滤波。

(6)分析得到信号的频谱

对得到的信号进行fft快速傅立叶变换得到信号的频谱特性,与原始信号进行比较,并画出信号的时域波形和频谱。

4.5实验报告要求

5.基于MATLAB的语音信号简单的特技处理——延时和混响

5.1实验目的

5.2实验基本要求

●实现语音信号的特点

●掌握序列快速傅立叶变换方法

●掌握Matlab设计各种数字滤波器的方法和对信号进行滤波的方法。

5.3实验内容和要求

选择一个语音信号作为分析的对象或录制一段语音信号,然后对语音信号进行频谱分析,将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较。

5.4实验实现步骤

选择一段语音信号作为分析的对象,也可以利用Windows下的录音机或其他软件录制一段话音,时间控制在1s左右,然后在Matlab软件平台下,通过使用wavread函数,理解采样频率,采样位数等概念。

(2)语音信号的频谱分析

画出语音信号的时域波形,然后对语音信号进行频谱分析,在Matlab中可以利用函数FFT对信号进行快速傅立叶变换,得到信号的频谱特性。

(3)设计几种特殊类型的滤波器

单回声滤波器,滤波器的系统函数为:

多重回声滤波器,滤波器的系统函数为:

无限个回声滤波器,滤波器的系统函数为:

全通结构的混响器,滤波器的系统函数为:

(4)用滤波器对信号进行滤波

用自己设计的滤波器对采集的信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对函数进行滤波。

(5)分析得到信号的频谱

对得到的信号进行FFT进行快速傅立叶变换,得到信号的频谱特性,与原始信号进行比较,并画出信号的时域波形和频谱。

(6)回放语音信号

在Matlab中,函数sound可以对语音进行回放。

5.5实验报告要求

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

6.1实验目的

6.2实验基本要求

●掌握序列快速傅立叶变换FFT方法

●利用matlab对语音信号进行频谱分析

6.3实验内容和要求

选择一个语音信号作为分析的对象或录制一段语音信号,对语音信号进行频谱分析,利用matlab中的随机函数产生噪声加入到语音信号中,使语音信号被污染,然后进行频谱分析;

设计FIR和IIR数字滤波器,并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。

6.4实验实现步骤

(3)产生噪声

利用matlab中的随机函数rand产生噪声,并加入到语音信号中,得到被污染的语音信号,并回放语音信号;

(4)污染信号的频谱分析

画出被污染的语音信号时域波形,然后对其进行频谱分析

(5)设计FIR和IIR数字滤波器

根据有关的频谱特征,设计FIR和IIR滤波器,在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butte、cheby1和ellip设计IIR滤波器。

(6)对污染信号进行滤波

比较两种滤波器的性能,然后用性能好的的滤波器对采集的信号进行滤波。

在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对函数进行滤波。

(7)回放语音信号

在Matlab中,函数sound可以对语音进行回放,并将滤波后的语音进行比较。

6.5实验报告要求

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1