信号与线性系统课程设计报告分析.docx

上传人:b****7 文档编号:25426433 上传时间:2023-06-08 格式:DOCX 页数:22 大小:792.58KB
下载 相关 举报
信号与线性系统课程设计报告分析.docx_第1页
第1页 / 共22页
信号与线性系统课程设计报告分析.docx_第2页
第2页 / 共22页
信号与线性系统课程设计报告分析.docx_第3页
第3页 / 共22页
信号与线性系统课程设计报告分析.docx_第4页
第4页 / 共22页
信号与线性系统课程设计报告分析.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

信号与线性系统课程设计报告分析.docx

《信号与线性系统课程设计报告分析.docx》由会员分享,可在线阅读,更多相关《信号与线性系统课程设计报告分析.docx(22页珍藏版)》请在冰豆网上搜索。

信号与线性系统课程设计报告分析.docx

信号与线性系统课程设计报告分析

信号与线性系统课程设计报告

 

课题五基于FIR滤波的语音信号处理系统设计

 

班级:

姓名:

学号:

组号及同组人:

成绩:

指导教师:

日期:

 

课题五基于FIR滤波的语音信号处理系统设计

摘要:

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如

C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB

可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程

语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB特点:

1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4)功能丰富的应用工具箱,为用户提供了大量方便实用的处理工具。

关键词:

GUI界面,信号采集,内插恢复,重采样,滤波器

一、课程设计目的及意义

本设计课题主要研究数字语音信号的初步分析方法、FIR数字滤波器的设计及应用。

通过完成本课题的设计,拟主要达到以下几个目的:

(1)熟悉Matlab软件的特点和使用方法。

(2)熟悉LabVIEW虚拟仪器的特点以及采用LabVIEW进行仿真的方法。

(3)掌握信号和系统时域、频域特性分析方法。

(4)掌握FIR数字滤波器的设计方法(窗函数设计法、频率采样设计法)及应用。

(5)了解语音信号的特性及分析方法。

(6)通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。

二、课题任务

(一)简单数字语音信号处理系统的Matlab设计。

使用GUI进行系统的图形用户界面设计,在该界面中包括对语音信号的读取,对信号的时域,频域分析,添加噪声,设计FIR数字滤波器(利用窗函数设计法、频率采样设计法任选)实现噪声滤除。

具体任务如下:

(1)对语音信号进行采集(读取),对数字语音信号加入干扰噪声,画出原始信号及带噪信号的时域波形,利用FFT进行频域分析,画出相应波形,并对语音进行播放。

(3)根据对语音信号及噪声的实际情况分析,选择适当的FIR数字滤波器进行设计,并对噪声进行滤除。

(4)分析、对比噪声滤除前后的语音时域、频域特性,并对噪声滤除前后语音进行播放比较。

(5)利用GUI设计图形用户界面(包含以上功能)。

(二)利用LabVIEW进行仿真设计。

实现简单数字语音信号处理系统的功能,要求给出系统的前面板和框图,并记录仿真结果。

(三)数字语音信号的参数计算(选作)。

对语音信号的短时能量,短时平均过零率等参数进行计算。

(四)整理数据,撰写设计报告。

三、主要设备和软件

1.PC机,一台

2.Matlab6.5以上版本,一套

3.LabVIEW7.0以上版本软件,一套

四、设计原理

1设计GUI界面

 

2.信号采集

程序代码:

globalx,globalfs,globalnbits

[x,fs,nbits]=wavread('C:

\Users\lenovo\Desktop\语音信号\chi1.wav');

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

N=length(x)-1;

figure(101);

plot(x);

title('原始信号时域波形');

figure(102);

freqz(x)%绘制原始语音信号采样后的频率响应图

title('原始语音信号采样后频率响应图');

 

 

3.内插恢复

globalx,globalfs,globalnbits

[x,fs,nbits]=wavread('C:

\Users\lenovo\Desktop\语音信号\chi1.wav');

a=0:

length(x)-1;%产生一个与x长度相等的向量,元素是0到x的长度-1

b=0:

0.5:

(2*(length(x))-1)/2;

y=interp1(a,x,b);

sound(y,16000,nbits);

figure(201)

plot(y);

title('原信号内插恢复');

 

 

4.采样频率

globaly1,globaly2,globaly3,globalx,globalfs,globalnbits

N=length(x)-1

i=1:

2:

N;

y1=x(i);

sound(y1,8000,nbits);

figure(301);

plot(y1);

title('采样频率8000HZ语音信号时域图');

figure(302);

freqz(y1);%求系统的频率响应

title('采样频率8000HZ语音信号频率响应图');

i=1:

4:

N;

y2=x(i);

sound(y2,4000,nbits);

figure(303);

plot(y2);

title('采样频率4000HZ语音信号时域图');

figure(304);

freqz(y2);

title('采样频率4000HZ语音信号频率响应图');

i=1:

8:

N;

y3=x(i);

sound(y3,2000,nbits);

figure(305);

plot(y3);

title('采样频率2000HZ语音信号时域图');

figure(306);

freqz(y3);

title('采样频率2000HZ语音信号频率响应图');

 

5.原信号与重采样

globalx,globaly1,globaly2,globaly3,globalX,globalX1,globalX2,globalX3

X=fft(x)

figure(401)

plot(abs(X));

title('原语音信号频谱图');

X1=fft(y1)

figure(402)

plot(abs(X1));

title('采样频率8000HZ语音信号频谱图');

figure(403)

plot(abs(X2));

title('采样频率4000HZ语音信号频谱图');

X3=fft(y3)

figure(404)

plot(abs(X3));

title('采样频率2000HZ语音信号频谱图');

 

 

 

6.噪声信号及加噪之后

globalx

globalfs

globalnbits

globalX4

globalY

globalnoise

t=1:

1:

length(x);

noise=0.01*cos(2*pi*5000*t);

sound(noise,fs,nbits);

figure(501)

plot(noise);

title('噪声信号时域图');

figure(502)

subplot(2,1,1);

freqz(noise)

title('噪声信号频率响应图');

s=length(noise);

xc=fft(noise,s);

xcc=fftshift(xc);

f=0:

fs/s:

fs*(s-1)/s;

subplot(2,1,2);

plot(f,abs(xcc));

title('噪声信号的频谱图');

X4=x+noise';%加了高频噪声的信号

sound(X4,fs,nbits);%回放加噪信号

sound(x,fs,nbits);

Y=fft(X4);%对加了高频噪声的信号进行傅立叶变换

figure(503);

plot(abs(Y));

X=fft(x);

figure(504)

subplot(2,2,1);

plot(abs(X));

title('原信号频谱图');

subplot(2,2,2);

plot(abs(Y));

title('加噪后的语音信号频谱图');

subplot(2,2,3);

plot(x)

title('原始语音采样后时域信号');

xlabel('时间轴n');

ylabel('幅值A');

subplot(2,2,4);

plot(X4)

title('加噪后语音信号时域图');

 

 

 

 

 

7.进行滤波处理

①FIR滤波器的设计原理

 设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,并使系统函数H(z)具有指定的频率特性。

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。

FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。

FIR滤波器程序代码:

globalfs,globalx,globalnbits,globala,globalb

globalX4,globalY

wp=2*pi*6000/fs;

ws=2*pi*8000/fs;

Rp=10;Rs=40;

wdelta=ws-wp;

N=ceil(1.8*pi/wdelta);%取整

wn=(wp+ws)/2;

[b,a]=fir1(N,wn/pi,boxcar(N+1));%选择窗函数,并归一化截止频率

figure(601)

freqz(b,a);

title('FIR低通滤波器');

②滤波前后对比

f2=filter(b,a,x);

figure(602)

subplot(2,1,1)

plot(X4)

title('FIR低通滤波器滤波前的时域波形');

subplot(2,1,2)

plot(f2);

title('FIR低通滤波器滤波后的时域波形');

sound(f2,fs,nbits);%播放滤波后的语音信号

F0=fft(f2);

Y=fft(X4);

figure(603)

subplot(2,1,1);

plot(abs(Y));

title('加噪后的语音信号频谱图');

xlabel('频率/Hz');

ylabel('幅值');

subplot(2,1,2)

F2=plot(abs(F0));

title('FIR低通滤波器滤波后的频谱')

xlabel('频率/Hz');

ylabel('幅值');

 

结论:

由噪声信号和滤波后的信号的时域图和频谱图可看出噪声信号中的噪声成分已成功的去除,因而设计成功由滤波器的幅频和相频图可看出滤波器的设计也符合要求。

总结

 

参考文献

1《数字信号处理》(第三版)西安电子科技大学出版社;

2《信号与线性系统分析》(第四版)高等教育出版社;

③《信号与线性系统分——MATLAB释疑与实现》电子工业出版社

④《MATLAB及在电子信息课程中的应用》 电子工业出版社

⑤《二阶压控电压源低通滤波器的设计》中国地质大学(武汉)

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

当前位置:首页 > 自然科学 > 物理

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

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