数字滤波器处理语音信号.docx
《数字滤波器处理语音信号.docx》由会员分享,可在线阅读,更多相关《数字滤波器处理语音信号.docx(13页珍藏版)》请在冰豆网上搜索。
数字滤波器处理语音信号
课程设计报告
课程名称数字信号处理
课题名称数字滤波器处理语音信号
专业通信工程
班级
学号
姓名
指导教师胡瑛张细政
2013年9月8日
湖南工程学院
课程设计任务书
课程名称数字信号处理
课题数字滤波器处理语音信号
专业班级通信
学生姓名
学号
指导老师胡瑛张细政
审批
任务书下达日期2013年9月1日
任务完成日期2013年9月8日
目录
1、课题的主要功能························································1
1.1问题描述···························································1
1.2功能要求···························································1
2、课题的功能模块划分····················································1
3、滤波器实现原理·························································2
3.1矩形窗设计低通滤波器··············································2
3.2哈明窗设计低通滤波器··············································3
3.3矩形窗设计带通滤波器··············································3
3.4哈明窗设计带通滤波器··············································3
4、程序调试·······························································4
5、总结···································································9
6、附件···································································9
7、评分表································································16
1.课题的主要功能
1.1问题描述
语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。
在现实生活中,纯净的语音信号很难存在,所以我们就得依赖于一定的实验设备将夹杂在纯净的语音信号中的噪音信号把它给处理掉,剩下纯净的语音信号,这样的话,我们的声音在另一方听起来就不会产生失真。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。
在Matlab语言环境下,我们就得要自己设计滤波器,将我们自己的语音信号中的杂音去除,留下我们自己的语音信号。
1.2功能要求
一.首先对语音信号进行采集和频谱分析,在频谱不失真的情况下,必须注意采样频率一定要满足奈奎斯特定律,即取样频率一定要大于2倍的信号最大频率,在实验中我们的语音信号一般是在50HZ至3400Hz之间,所以采用的采样频率采用8000Hz。
二.利用矩形窗和哈明窗设计正确的低通、带通四种滤波器进行滤波处理,四种滤波器必须能够有效地滤掉杂音信号而保留有效地语音信号。
三.语音信号经过滤波器滤波处理后,杂音有所减少,效果变的更好,而且通过滤波器之后的频谱应与先前的语音信号频谱相似。
2、课题的功能模块的划分
制作对含有噪音信号的语音信号的滤波器,首先自己要先录制一段自己的语音信号,再就是给这些纯净的语音信号自己加噪音,可以加单频的噪音,可以是多频,也可以加高斯白噪声,再就是自己设计几种滤波器,将加进去的各种噪声滤掉,最后通过滤波器的语音信号时频谱图与先前的时频谱相对比,看看是否有很大的区别,如果没有太大的区别,那就说明你自己设计的滤波器是正确的。
图2.1功能模块图
3、滤波器实现的原理
一.矩形窗设计低通滤波器
设计滤波器主要求出滤波器的的频率响应函数H,下面的为设计滤波器的主要原理:
(1)确定数字滤波器的参数:
在用矩形窗设计数字低通滤波器时,首先我们的确定滤波器的参数,参数的设定是由我们自己的语音信号决定的,由于我们的语音信号的频率范围为50Hz至3400Hz之间,所以我们设定滤波器的通带频率wp=0.6*pi,阻带截止频率为ws=0.7*pi,这两个参数可以在实现最佳滤波时进行调整,
(2)求出数字滤波器的阶数N:
wdelta=ws-wp,N=ceil(4*pi/wdelta)wdelta表示滤波器的带宽,由于矩形窗的带宽为4*pi/N,再调用Matlab中的ceil函数取整求出N的值。
(3)求出滤波器的单位脉冲响应:
调用b=fir1(N,Wn,‘ftype’,window)函数,当ftype=high时,设计高通FIR滤波器;当ftype=stop时,设计带阻滤波器。
Wn为通带与阻带的中心频率,即wn=(ws+wp)/2。
其中N必须为偶数,当输入的阶次N为奇数时,fir1函数会自动将阶数加1,window长度为n+1,如不指定window参数,则fir1函数采用hamming窗。
(4)求出频率响应函数:
调用freqz函数[H,f]=freqz(b,1,512,fs),返回频率响应函数H,其中fs为抽样频率,b为先前的单位脉冲响应。
二.哈明窗设计低通滤波器
哈明窗设计低通滤波器与矩形窗设计低通滤波器原理相似,只是在求波波器的单位脉冲响应调用firl函数时,函数里面的参数‘ftype’应当为‘lowpass’,在windows参数里面应当设置为‘hamming’,即保证是hamming窗设置的低通滤波器,再一个就是求阶数N时,需注意hamming窗的带宽为8*pi/N。
三.矩形窗设计带通滤波器
(1)设计带通滤波器时,一样先确定带通滤波器的参数,由带通滤波器的图像可以知道,我们要设计两个截止频率,两个通带频率,在这里我们将这些参数设置为wsl=0.01*pi,wpl=0.03*pi,wpu=0.85*pi,wsu=0.65*pi,这里的wsl为第一个阻带截止频率,wpl为第一个通带截止频率,wsu为第二个通带截止频率,wpu第二个为阻带截止频率。
(2)第二步与矩形窗设计低通滤波器相似,只是wdelta=wpl-wsl,再调用ceil函数求出N的值。
(3)类似与前面的滤波器设计,只是再调用firl函数,函数里面的参数‘ftype’应当为‘bandpass’,在windows参数里面应当设置为‘boxcar’,即保证是矩形窗设置的是带通滤波器。
(4)第四步与矩形窗设计低通滤波器一样。
四.哈明窗设计带通滤波器
6、附件
代码:
%矩形窗设计数字低通滤波器
[x1,fs,bits]=wavread('f:
/b');
%sound(x1,fs,bits);
y1=fft(x1,32768);
figure
(1)
subplot(2,1,1)
plot(x1);
Title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(y1));
title('原始语音信号频谱')
N=length(x1)-1;
t=0:
1/fs:
N/fs;
d=[0.8*cos(2*pi*5000*t)]';
x2=x1+d;
%sound(x3,fs,bits);
figure
(2)
subplot(2,1,1)
plot(x2)
title('加单频余弦信号的语音信号时域波形')
y2=fft(x2,32768);
subplot(2,1,2)
plot(abs(y2));
title('加单频余弦信号的语音信号频谱')
wp=0.6*pi;ws=0.7*pi;
wdelta=ws-wp;
N=ceil(4*pi/wdelta);
Wc=(ws+wp)/2
b=fir1(N,Wc/pi,'low',boxcar(N+1));
[H,f]=freqz(b,1,512,fs);
figure(3)
subplot(1,1,1),plot(f,20*log10(abs(H)))
title('矩形窗设计数字低通滤波器');
xlabel('频率/Hz');ylabel('振幅/dB');gridon;
y3=fftfilt(b,x2,fs);
figure(4)
y4=fft(y3,32768);
subplot(2,1,1)
plot(y3);
title('滤波后的信号时域波形');
subplot(2,1,2)
plot(abs(y4));
title('滤波后的信号频谱')
sound(y3,fs,bits);
%矩形窗设计数字带通滤波器
[x1,fs,bits]=wavread('f:
/b');
%sound(x1,fs,bits);
y1=fft(x1,32768);
figure
(1)
subplot(2,1,1)
plot(x1);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(y1));
title('原始语音信号频谱')
N=length(x1)-1;
t=0:
1/fs:
N/fs;
d=[0.8*cos(2*pi*5000*t)]';
x2=x1+d;
%sound(x2,fs,bits);
figure
(2)
subplot(2,1,1)
plot(x2)
title('加单频余弦信号的语音信号时域波形')
y2=fft(x2,32768);
subplot(2,1,2)
plot(abs(y2));
title('加单频余弦信号的语音信号频谱')
wsl=0.01*pi;wpl=0.03*pi;wpu=0.85*pi;wsu=0.65*pi;
B=wpl-wsl;
N=ceil(4*pi/B);
wp=[(wsl+wpl)/2,(wpu+wsu)/2];
b=fir1(N,wp/pi,'bandpass',boxcar(N+1));
[H,f]=freqz(b,1,512,fs);
figure(3)
subplot(1,1,1),plot(f,20*log10(abs(H)))
title('矩形窗设计数字带通滤波器');
xlabel('频率/Hz');ylabel('振幅/dB');gridon;
y3=fftfilt(b,x2,fs);%给出滤波器的输出
figure(4)
y4=fft(y3,32768);
subplot(2,1,1)
plot(y3);
title('滤波后语音信号时域波形');
subplot(2,1,2)
plot(abs(y4));
title('滤波后语音信号频谱')
sound(y3,fs,bits);
%哈明窗设计数字低通滤波器
[x1,fs,bits]=wavread('f:
/b');
%sound(x1,fs,bits);
y1=fft(x1,32768);
figure
(1)
subplot(2,1,1)
plot(x1);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(y1));
title('原始语音信号频谱')
N=length(x1)-1;
t=0:
1/fs:
N/fs;
d=[0.8*cos(2*pi*5000*t)]';
x2=x1+d;
%sound(x3,fs,bits);
figure
(2)
subplot(2,1,1)
plot(x2)
title('加单频余弦信号的语音信号时域波形')
y2=fft(x2,32768);
subplot(2,1,2)
plot(abs(y2));
title('加单频余弦信号的语音信号频谱')
wp=0.6*pi;ws=0.7*pi;
wdelta=ws-wp;
N=ceil(8*pi/wdelta);
Wc=(ws+wp)/2
b=fir1(N,Wc/pi,'low',hamming(N+1));
[H,f]=freqz(b,1,512,fs);
figure(3)
subplot(1,1,1),plot(f,20*log10(abs(H)))
title('哈明窗设计数字低通滤波器');
xlabel('频率/Hz');ylabel('振幅/dB');gridon;
y3=fftfilt(b,x2,fs);%给出滤波器的输出
figure(4)
y4=fft(y3,32768);
subplot(2,1,1)
plot(y3);
title('滤波后的信号时域波形');
subplot(2,1,2)
plot(abs(y4));
title('滤波后的语音信号频谱')
sound(y3,fs,bits);
%哈明窗设计数字带通滤波器
[x1,fs,bits]=wavread('f:
/b');
%sound(x1,fs,bits);
y1=fft(x1,32768);
figure
(1)
subplot(2,1,1)
plot(x1);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(y1));
title('原始语音信号频谱')
N=length(x1)-1;
t=0:
1/fs:
N/fs;
d=[0.8*cos(2*pi*5000*t)]';
x2=x1+d;
%sound(x3,fs,bits);
figure
(2)
subplot(2,1,1)
plot(x2)
title('加单频余弦信号的语音信号时域波形')
y2=fft(x2,32768);
subplot(2,1,2)
plot(abs(y2));
title('加单频余弦信号的语音信号频谱')
wsl=0.01*pi;wpl=0.03*pi;wpu=0.85*pi;wsu=0.65*pi;
B=wpl-wsl;
N=ceil(8*pi/B);
wp=[(wsl+wpl)/2,(wpu+wsu)/2];
b=fir1(N,wp/pi,'bandpass',hamming(N+1));
[H,f]=freqz(b,1,512,fs);
figure(3)
subplot(1,1,1),plot(f,20*log10(abs(H)))
tilte('哈明窗设计数字带通滤波器');
xlabel('频率/Hz');ylabel('振幅/dB');gridon;
y3=fftfilt(b,x2,fs);%给出滤波器的输出
figure(4)
y4=fft(y3,32768);
subplot(2,1,1)
plot(y3);
title('滤波后语音信号时域波形');
subplot(2,1,2)
plot(abs(y4));
title('滤波后语音信号频谱')
sound(y3,fs,bits);
7、评分表
计算机与通信学院课程设计评分表
课题名称:
数字滤波器处理语音信号
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期: