数字信号处理Word文件下载.docx
- 文档编号:20886210
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:12
- 大小:348.94KB
数字信号处理Word文件下载.docx
《数字信号处理Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
低通型、高通型、带通型。
1.3用Matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。
1.4用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异1
2.设计指标1
2.1低通滤波器设计指标:
截止频率4000,阻带衰减20dB,过渡带宽0.1π1
2.2高通滤波器设计指标:
截止频率4000,阻带衰减40dB,过渡带宽0.1π1
2.3带通滤波器设计指标:
下截止频率4000,上截止频率8000,阻带衰减20dB,过渡带宽度0.1π1
二、设计原理1
三、设计过程2
1.实验程序源代码2
1.1低通滤波器2
1.2高通滤波器2
1.3带通滤波器3
1.4语音的信号回放(分别执行)4
2.调试结果描述4
四、整理总结9
1.遇到的问题9
2.结果分析10
五、体验与收获11
摘要:
语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。
这为我们的本次设计提供了强大并良好的环境!
本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。
再在Matlab中分别设计不同形式的FIR数字滤波器。
之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。
对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。
最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。
一、设计内容及设计指标
1.设计内容
1.4用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异
2.设计指标
截止频率4000,阻带衰减20dB,过渡带宽0.1π
截止频率4000,阻带衰减40dB,过渡带宽0.1π
下截止频率4000,上截止频率8000,阻带衰减20dB,过渡带宽度0.1π
二、设计原理
语音信号时一种非平稳的时变信号,它带着各种信息。
在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中含的各种信息。
语音
信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息。
语音信号处理可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,崎岖的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。
三、设计过程
1.实验程序源代码
1.1低通滤波器
[x1,fs,bits]=wavread('
C:
\Users\安阳光\Desktop\数字实验'
);
%sound(x1,fs,bits);
figure
(1);
plot(x1);
%做原始语音信号的时域图形
title('
原始语音信号'
xlabel('
时间t'
ylabel('
音量n'
figure
(2);
y1=fft(x1);
%做length(x1)点的FFT
y1=fftshift(y1);
%平移,是频率中心为0
derta_fs=fs/length(x1);
%设置频谱的间隔,分辨率
plot([-fs/2:
derta_fs:
fs/2-derta_fs],abs(y1));
%画出原始语音信号的频谱图
原始语音信号的频谱'
gridon;
1.2高通滤波器
fc1=4000;
N1=2*pi*0.9/(0.1*pi)
wc1=2*pi*fc1/fs;
ifrem(N1,2)==0
N1=N1+1;
end
Window=boxcar(N1+1);
%长度为N1的矩形窗Window
b1=fir1(N1,wc1/pi,Window);
figure(3);
freqz(b1,1,512);
低通滤波器的频率响应'
x1_low=filter(b1,1,x1);
%对信号进行低通滤波
figure(4);
plot(x1_low);
信号经过低通滤波器(时域)'
figure(5);
fs/2-derta_fs],abs(fftshift(fft(x1_low))));
信号经过低通滤波器(频域)'
1.3带通滤波器
f1=4000;
f2=8000;
%带通滤波器的通带范围
w1=2*pi*f1/fs;
w3=w1+0.1*pi;
w2=2*pi*f2/fs;
w4=w2-0.1*pi;
w=[(w1+w3)/2,(w2+w4)/2];
B=0.1*pi;
N3=ceil(2*0.9*pi/B);
N3=N3+mod(N3,2);
Window=boxcar(N3+1);
b3=fir1(N3,w/pi,'
stop'
Window);
%带通滤波器
figure(9);
freqz(b3,1,512);
%数字滤波器频率响应
带通滤波器的频率响应'
x1_daitong=filter(b3,1,x1);
%对信号进行带通滤波
figure(10);
plot(x1_daitong);
信号经过带通滤波器(时域)'
figure(11);
fs/2-derta_fs],abs(fftshift(fft(x1_daitong))));
信号经过带通滤波器(频域)'
1.4语音的信号回放(分别执行)
sound(x1,fs,bits);
%原始信号
sound(x1_low,fs,bits);
%经过低通滤
sound(x1_high,fs,bits);
%经过高通滤波
sound(x1_daitong,fs,bits);
%经过带通滤波
2.调试结果描述
原始语音信号的时域图像:
原始语音信号频谱:
低通滤波器的频率响应:
信号经过低通滤波后的时域波形:
信号经过高通滤波后的频域波形:
高通滤波器的频率响应:
信号经过高通滤波后的时域波形:
带通滤波器的频率响应:
信号经过带通滤波后的时域波形:
信号经过带通滤波后的频域波形:
四、整理总结
1.遇到的问题
在高通与带通滤波器的设计时老是报错,但同样的用法在低通滤波器中就可以实现
b2=fir1(N2,wc2/pi,'
high'
?
Error
using
==>
fir1
The
window
length
must
be
the
same
as
filter
length.
其要求在fir函数中所选用的窗长要和滤波器长度一致。
但在参考书上指出,滤波器阶数必须为窗长加1。
经上网查询后,原来高通、带阻滤波器的阶数应该控制为奇数,因为如果阶数为偶数,则在π点必有一零点,这对于高通带阻来说是不允许的,故取阶数为奇数,而你FIR1滤波器阶数为M+1阶,所以你的M必须为偶数,所以可以将程序中去窗长算法由原程序的:
N2=2*pi*0.9/(0.1*pi);
if
rem(N2,2)==0
N2=N2+1;
End
和:
N3=2*pi*0.9/(0.1*pi);
rem(N3,2)==0
N3=N3+1;
改为了:
N2=N2+mod(N2,2);
(B为过渡带宽)
2.结果分析
经过回放三个不同类型滤波器输出的语音信号,并与原语音信号对比得到了如下结论。
语音高频成分音质有些暗淡
语音低频成分音质沉稳
语音中频成分音质力度较弱
五、体验与收获
通过本次课程设计。
让我对语音信号有了一个较为实际的认识。
经过这次数字信号处理及数字滤波器的设计,也让我对Matlab有里进一步的了解。
这次的实验让我知道了,只做实验远远没有一边思考一边做实验学到的知识多。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理