fir数字滤波器的凯泽窗函数法设计.docx
- 文档编号:133837
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:16
- 大小:750.55KB
fir数字滤波器的凯泽窗函数法设计.docx
《fir数字滤波器的凯泽窗函数法设计.docx》由会员分享,可在线阅读,更多相关《fir数字滤波器的凯泽窗函数法设计.docx(16页珍藏版)》请在冰豆网上搜索。
课程设计任务书
专业
电子信息工程
班级
姓名
设计起止日期
2013-1-7~2013-1-11
设计题目:
语音信号的数字滤波——FIR数字滤波器的凯泽窗函数法设计
设计任务(主要技术参数):
1.语音信号的采样录音(、N);
2.语音信号的频谱分析()
3.语音信号的加噪();
4.数字滤波器的设计(,滤波器的阶数);
5.滤波结果输出及效果分析()
指导教师评语:
成绩:
签字:
年月日
课程设计说明书NO.15
设计题目
语音信号的数字滤波——FIR数字滤波器的凯泽函数法设计
一、课程设计的目的
通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。
并能够对设计结果加以分析。
二、设计步骤
1.语音信号的采集
利用Windows系统采集:
1、按“开始->程序->附件->娱乐->录音机”的顺序操作打开Windows系统中的录音机软件
图1录音机
2、采集语音信号信息:
(将所录wma格式转换为wav格式)
(1)语音内容:
天青色等烟雨,而我在等你
(2)语音格式:
*.wav
(3)语音名称:
青花瓷
(4)语音长度:
4.00(s)
(5)语音属性:
44.1kHz8位双声道128kb/s
图2、语音信号信息图
2.语音信号的频谱分析
1、将上一步骤中保存下来的语音信号文件“青花瓷.wav”复制到计算机装有Matlab软件的磁盘中相应Matlab目录中的“work”文件夹中。
2、双击桌面上Matlab软件的快捷图标,打开Matlab软件
3、在菜单栏中选择“File->new->M-File”打开*.m文件编辑器并命名为Untitled1。
4、打入命令closeall、clc、clearall。
5、输入命令[s,fs]=wavread('青花瓷.wav'),将语音文件“青花瓷.wav”中的波形信号值赋值给数组s,将采样速率赋值给变量fs
6、通过“L=2^floor(loglength(s)));”命令,求信号长度赋值给L,L=131072。
7、定义一个向量:
n=0:
L-1,用“plot(n,s)”命令,画出采集信号的时域图
图3原始声音信号波形
8、根据时域波形,为将信号前面的空白部分去掉,用“LQ1=s(500:
500+L-1)”命令将S信号截短并赋值给LQ1.
9、将原始语音信号和截短语音信号在同一图上画出来
实现代码为:
wavwrite(LQ1,fs,'LQ1.wav');
figure
(2)
subplot(2,1,1);
plot(s);
title('原始语音信号');
subplot(2,1,2);
plot(LQ1);
title('截短语音信号');
图4原始声音信号及加噪后波形
10、编写程序段,利用Matlab软件中已有的FFT程序函数和画图程序函数对导入的语音信号“LQ.wav”进行分析,并根据自己的语音信号频谱中主要能量的分布特征确定自己的语音信号所在的频段为下面的滤波器设计做准备。
程序代码如下:
S1=fft(LQ1);
n=0:
L-1;
figure(3)
subplot(3,1,1);
plot(n,LQ1);
title('截短预处理语音信号');
k=0:
L-1;
subplot(3,1,2);
plot(k,abs(S1));
detf=fs/L;
title('截短预处理语音频谱');
subplot(3,1,3);
plot(k(1:
L/2)*detf,abs(S1(1:
L/2)));
title('截短预处理语音频谱单边');
得出截短信号频谱图如下:
图5截短信号频谱图
由图5可以看出主要能量集中在0-1500HZ频率段。
设通带截止频率为1500HZ,阻带截止频率为2500HZ。
一般希望窗函数满足以下两个要求:
窗谱主瓣尽可能地窄,以获得陡峭的过渡带;尽量减少窗谱的最大旁瓣的相对幅度,也就是能量尽量集中于主瓣,这样使肩峰和波纹减小,就可增大阻带的衰减。
3.语音信号的加噪
(1)产生一个长度与你所截取的语音信号等长的噪声信号,为“LQ2.wav”,所用指令为wavewrite(),所加噪声如图6所示。
叠加噪声可以用awgn()语句,在叠加噪声时,应选取适当的值,尽量能体现出能量主要集中的频段。
(2)将语音与噪声合成的信号“LQ2.wav”送入所设计的基于凯泽窗的FIR数字滤波器中进行滤波。
(3)将滤波结果导出保存成文件“LQ3.wav”.
加噪程序为:
LQ2=awgn(LQ1,15,'measured');
wavwrite(LQ2,fs,'LQ2.wav');
figure(4)
subplot(2,1,1);
plot(LQ1);
title('截短语音信号');
subplot(2,1,2);
plot(s\LQ2);
title('加噪后截短语音信号');
S2=fft(LQ2);
figure(5)
subplot(2,1,1);
plot(abs(S1));
title('预处理语音信号频谱');
subplot(2,1,2);
plot(abs(S2));
title('加噪后截短语音信号频谱)
得出加噪后信号如下:
图6加噪后的语音信号
图7加噪信号频谱
4.滤波器的设计
(1)确定滤波器的参数:
根据上一步骤中设定的自己语音信号主要能量分布的频段设定要设计的滤波器的通带截止频率、阻带截止频率。
通带和过渡带可以通过主瓣和旁瓣的宽度转化,由此得和,设定通带截止频率为3.5dB阻带衰减不小于-80dB,查表知可选用凯泽窗,并通过转化可得以下参数:
(r/sec)
(r/sec)
(r/sec)
(r/sam)
(r/sam)
(r/sam)
(2)设计滤波器:
①采用FIR数字滤波器进行设计。
②根据上一步骤所设定的滤波器参数进行滤波器的设计,验证所设计的数字滤波器的频率响应是否满足要求。
a.给定所要求的频率响应函数
b.求单位采样响应
c.求窗函数。
选用的是凯泽窗,根据通、阻带截止频率计算过渡带宽度。
由于凯泽窗过渡带满足
又因为≤
所以N≥
即N=710
d.计算线性相位延迟
凯泽窗,0≤n≤N-1
e.滤波器的单位采样响应:
=0.0176Sa[0.0176(n-)]
根据以上内容,编写滤波器设计程序如下:
wp=1500*2*pi/fs;
wst=2500*2*pi/fs;
wc=(wp+wst)/2/pi;
N=ceil(5.5*2*pi/(wst-wp));
r=(N-1)/2;
hn1=fir1(N-1,wc,'low',Kaiser(N));
figure(6)
freqz(hn1);
title('滤波器幅频特性与相频特性')
figure(7)
subplot('111')
stem(hn1);
title('滤波器单位采样响应');
得到滤波器幅频特性与相频特性图如下:
图8滤波器幅频特性与相频特性图
三、设计结果与分析
1.比较滤波前(含噪声信号的文件)和滤波后的语音信号效果
滤波前(含噪声信号)的文件名称为:
LQ2.wav.
滤波后的文件名称为LQ3.wav
对原始信号进行滤波代码如下
滤波结果导出程序为
LQ3=conv(LQ2,hn1);
wavwrite(LQ3,fs,'LQ3.wav');
S3=fft(LQ3);
figure(7)
subplot(221)
plot(LQ2);
title('加噪后语音信号');
subplot(222)
plot(LQ3)
title('滤波器处理之后信号图')
subplot(223);
plot(abs(S2));
title('滤波器处理之前频谱');
subplot(224);
plot(abs(S3));
title('滤波器处理之后频谱');
图9滤波后与原始波形进行比较
对原始信号进行滤波代码如下:
s4=conv(LQ1,hn1);
S4=fft(LQ4);
figure
subplot(221);
plot(LQ1);
title('滤波器处理之前');
subplot(222);
plot(LQ4);
title('滤波器处理之后');
subplot(223);
plot(abs(S1));
title('滤波器处理之前');
subplot(224);
plot(abs(S4));
title('滤波器处理之后');
图10滤波后与原始波形进行比较
滤波效果图形分析:
比较图9中的加噪前后语音信号时域图与滤波器处理后语音信号时域图可以看出,语音信号的幅度走向相差不大,但滤波后语音信号的幅度明显小于滤波前的加噪语音信号和原始语音信号。
上图说明经过我设计的基于凯泽的FIR滤波器后加噪信号的噪声被滤掉了一部分,使滤出信号的效果比加噪后好一些。
其他相关的重要数据截图如下:
图11相关数据图
2.计算滤波前后的信噪比
信噪比定义:
在规定的条件下,传输信道特定点上的有用功率与和它同时存在的噪声功率之比,常用分贝数表示,设备的信噪比越高表明它产生的杂音越少。
一般来说,信噪比越大,说明混在信号里的噪声越小,声音回放的音质量越高,否则相反。
依据此定义设:
SNR1表示滤波前的信噪比
SNR2表示滤波后的信噪比
在Matlab中的程序及如下:
p1=sum(LQ1.^2);
p2=sum(LQ2.^2)-sum(LQ1.^2);
SNR1=10*log10(p1/p2);
p3=sum(LQ4.^2);
p4=sum(LQ3.^2)-sum(LQ4.^2);
SNR2=10*log10(p3/p4);
disp(['SNR1=',num2str(SNR1)]);
disp(['SNR2=',num2str(SNR2)]);
得出信噪比
SNR1=15.2014dB
SNR2=27.7486dB
滤波器效果信噪比分析:
SNR1(滤波前的信噪比)为15.2014dB,SNR2(滤波后的信噪比)为27.7486dB,将SNR1与SNR2对比得出滤波后的信噪比比滤波前得信噪比增加了12.5472dB,滤波后的信道有用功率与噪声功率的比相较于滤波器处理之前增大了。
说明滤波后信道的噪声功率与滤波前相比小了一部分,即表示这部分的噪声被滤波器滤掉了,本滤波器的滤波效果不好,滤波前后信噪比差距较小,滤除噪音较少,但是将噪声信号从叠加噪声的语音信号中滤除,说明该滤波器已经成功滤波。
结论:
此基于凯泽函数法设计的FIR数字滤波器,经过试验发现经过滤波后的信道的有用功率与噪声功率的比比滤波前增大,说明滤波后的信噪比比滤波前信噪比增大,表明该滤波器成功滤除噪声,此滤波器设计成功。
3.信号采样的频率分辨率
信号采样的频率分辨率,此次设计中采样结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fir 数字滤波器 凯泽窗 函数 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)