数字信号处理课程设计...doc
- 文档编号:251299
- 上传时间:2022-10-07
- 格式:DOC
- 页数:29
- 大小:240.50KB
数字信号处理课程设计...doc
《数字信号处理课程设计...doc》由会员分享,可在线阅读,更多相关《数字信号处理课程设计...doc(29页珍藏版)》请在冰豆网上搜索。
课程设计报告
课程名称:
数字信号处理
课题名称:
语音信号的处理与滤波
姓名:
学号:
院系:
专业班级:
指导教师:
完成日期:
2013年7月2日
目录
第1部分课程设计报告………………………………………3
一.设计目的……………………………………………3
二.设计内容……………………………………………3
三.设计原理……………………………………………3
四.具体实现……………………………………………5
1.录制一段声音…………………………………5
2.巴特沃斯滤波器的设计………………………8
3.将声音信号送入滤波器滤波…………………13
4.语音信号的回放………………………………19
5.男女语音信号的频谱分析……………………19
6.噪声的叠加和滤除……………………………22
五.结果分析……………………………………………27
第2部分课程设计总结………………………………28
一.参考文献……………………………………………28
第1部分课程设计报告
一.设计目的
综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
二.设计内容
录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换法设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;换一个与你性别相异的人录制同样一段语音内容,分析两段内容相同的语音信号频谱之间有什么特点;再录制一段同样长时间的背景噪声叠加到你的语音信号中,分析叠加前后信号频谱的变化,设计一个合适的滤波器,能够把该噪声滤除;
三.设计原理
1.在Matlab软件平台下,利用函数wavrecord(),wavwrite(),wavread(),wavplay()对语音信号进行录制,存储,读取,回放。
2.用y=fft(x)对采集的信号做快速傅立叶变换,并用[h1,w]=freqz(h)进行DTFT变换。
3.掌握FIRDF线性相位的概念,即线性相位对及零点的约束,了解四种FIRDF的频响特点。
4.在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波。
5.抽样定理
连续信号经理想抽样后时域、频域发生的变化(理想抽样信号与连续信号频谱之间的关系)
理想抽样信号能否代表原始信号、如何不失真地还原信号即由离散信号恢复连续信号的条件(抽样定理)
理想采样过程描述:
时域描述:
频域描述:
利用傅氏变换的性质,时域相乘频域卷积,若
则有
与的关系:
理想抽样信号的频谱是连续信号频谱的周期延拓,重复周期为Ws(采样角频率)。
如果:
即连续信号是带限的,且信号最高频率不超过抽样频率的二分之一,则可不失真恢复。
奈奎斯特采样定理:
要使实信号采样后能够不失真还原,采样频率必须大于信号最高频率的两倍:
四.具体实现
1.录制一段声音
1.1录制并分析
在MATLAB中用wavrecord、wavread、wavplay、wavwrite对声音进行录制、读取、回放、存储。
程序如下:
Fs=8000;%抽样频率
time=3;%录音时间
fprintf('按Enter键录音%ds',time);%文字提示
pause;%暂停命令
fprintf('录音中......');
x=wavrecord(time*Fs,Fs,'double');%录制语音信号
fprintf('录音结束');%文字提示
fprintf('按Enter键回放录音');
pause;%暂停命令
wavplay(x,Fs);%按任意键播放语音信号
wavwrite(x,Fs,'C:
\Users\acer\Desktop\数字信号\sound.wav');%存储语音信号
N=length(x);%返回采样点数
df=fs/N;%采样间隔
n1=1:
N/2;
f=[(n1-1)*(2*pi/N)]/pi;%频带宽度
figure
(2);
subplot(2,1,1);
plot(x);%录制信号的时域波形
title('原始信号的时域波形');%加标题
ylabel('幅值/A');%显示纵坐标的表示意义
grid;%加网格
y0=fft(x);%快速傅立叶变换
figure
(2);
subplot(2,1,2);
plot(f,abs(y0(n1)));%原始信号的频谱图
title('原始信号的频谱图');%加标题
xlabel('频率w/pi');%显示横坐标表示的意义
ylabel('幅值');%显示纵坐标表示的意义
title('原始信号的频谱图');%加标题
grid;%加网格
图1.1原始信号的时域与频谱图
1.2滤除无效点
针对实际发出声音落后录制动作半拍的现象,如何拔除对无效点的采样的问题:
出现这种现象的原因主要是录音开始时,人的反应慢了半拍,导致出现了一些无效点,而后而出现的无效的点,主要是已经没有声音的动作,先读取声音出来,将原始语音信号时域波形图画出来,根据己得到的信号,可以在第二次读取声音的后面设定采样点,取好有效点,画出滤除无效点后的语音信号时域波形图,对比可以看出。
这样就可以解决这个问题。
x=wavread('C:
\Users\acer\Desktop\数字信号\sound.wav',[4000,24000]);
%从4000点截取到24000结束
plot(x);%画出截取后的时域图形
title('截取后的声音时域图形');%标题
xlabel('频率');ylabel('振幅');
grid;%画网格
图1.2去除无效点
2.巴特沃斯滤波器的设计
2.1设计巴特沃思低通滤波器
MATLAB程序如下。
滤波器图如图3.3所示。
%低通滤波
fp=1000;fs=1200;Fs=22050;
rp=1;rs=100;
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
Fs1=1;
wap=2*tan(wp/2);
was=2*tan(ws/2);
[N,wc]=buttord(wap,was,rp,rs,'s');
[B,A]=butter(N,wc,'s');
[Bz,Az]=bilinear(B,A,Fs1);
figure
(1);
[h,w]=freqz(Bz,Az,512,Fs1*22050);
plot(w,abs(h));
title('巴特沃斯低通滤波器');
xlabel('频率(HZ)');ylabel('耗损(dB)');
gridon;
图2.1巴特沃思低通滤波器
2.2设计巴特沃思高通滤波器
MATLAB程序如下。
滤波器图如图3.5所示。
%高通滤波
fp=4800;fs=5000;Fs=22050;
rp=1;rs=100;
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
T=1;Fs1=1;
wap=2*tan(wp/2);
was=2*tan(ws/2);
[N,wc]=buttord(wap,was,rp,rs,'s');
[B,A]=butter(N,wc,'high','s');
[Bz,Az]=bilinear(B,A,Fs1);
figure
(1);
[h,w]=freqz(Bz,Az,512,Fs1*22050);
plot(w,abs(h));
title('巴特沃斯高通滤波器');
xlabel('频率(HZ)');ylabel('耗损(dB)');
gridon;
图2.2巴特沃思高通滤波器
2.3设计巴特沃思带通滤波器
MATLAB程序如下。
滤波器图如图3.7所示。
%带通滤波
fp=[1200,3000];fs=[1000,3200];Fs=8000;
rp=1;rs=100;
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
T=1;Fs1=1;
wap=2*tan(wp/2);
was=2*tan(ws/2);
[N,wc]=buttord(wap,was,rp,rs,'s');
[B,A]=butter(N,wc,'s');
[Bz,Az]=bilinear(B,A,Fs1);
figure(4);
[h,w]=freqz(Bz,Az,512,Fs1*1000);
plot(w,abs(h));
title('巴特沃斯带通滤波器');
xlabel('频率(HZ)');ylabel('耗损(dB)');
gridon;
图2.3巴特沃思带通滤波器
3.将声音信号送入滤波器滤波
x=wavread('C:
\Users\acer\Desktop\数字信号\sound.wav');%播放原始信号
wavplay(x,fs);%播放原始信号
N=length(x);%返回采样点数
df=fs/N;%采样间隔
n1=1:
N/2;
f=[(n1-1)*(2*pi/N)]/pi;%频带宽度
figure(4);
subplot(4,2,1);
plot(x);%录制信号的时域波形
title('原始信号的时域波形');%加标题
ylabel('幅值/A');%显示纵坐标的表示意义
grid;%加网格
y0=fft(x);%快速傅立叶变换
subplot(4,2,3);
plot(f,abs(y0(n1)));%原始信号的频谱图
title('原始信号的频谱图');%加标题
xlabel('频率w/pi');%显示横坐标表示的意义
ylabel('幅值');%显示纵坐标表示的意义
title('原始信号的频谱图');%加标题
grid;%加网格
3.1低通滤波器滤波
fs=8000;
beta=10.056;
wc=2*pi*1000/fs;
ws=2*pi*1200/fs;
width=ws-wc;
wn=(ws+wc)/2;
n=ceil(12.8*pi/width);
h=fir1(n,wn/p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)