- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
工学院
数字信号处理课程设计
说 明 书
设计题目 语音信号的处理与滤波
系 别 计算机工程系
专业班级 通信061
学生姓名
学 号
指导教师
日 期 日
摘要: 本文主要利用MATLAB工具采用双线性法和窗函数法设计FIR数字滤波,随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。
通过对课程设计,对信号的采集,处理,传输,显示,存储和分析等有一个系统的掌握和理解。巩固和运用在数字信号处理课程中所学的理论知识和实验技能,掌握最基本的数字信号处理的理论和方法,培养发现问题,分析问题和解决问题的能力。
四.设计理论依据
采样频率,采样位数的概念,采样定理;时域信号的DFT,FFT及频谱分析;数字滤波器的设计原理和方法。
五.设计过程(设计步骤)
1.语音信号的采集及频谱分析
用WINDOWS下的录音机,用单声道录制一段音乐或声音,时间在5S内。然后MATLAB软件平台下,利用函数WAVREAD对语音信号进行采样,记住采样频率和采样点数。对语音信号进行快速傅立叶变换,在一个窗口同时画出信号的时域波形图和频谱图,分析语音信号的频谱特点。
程序如下:
[y,fs,bits]=wavread(music.wav,[1024 61500]);
sound(y,fs,bits);
Y=fft(y); plot(y);
figure(1); title(语音信号的时域波形);
grid
figure(2);
plot(abs(Y)); title(语音信号的频谱特性);
grid
图形如下:
2:设计数字滤波器
给出个滤波器的性能指标:
(1)低通滤波器性能指标 fb=1000HZ,fc=1200HZ,As=100dB,Ap=1dB
(2) 高通滤波器性能指标 fb=2800HZ,fc=3000HZ,As=100dB,Ap=1dB
(3)带通滤波器性能指标 fb1=1200HZ,fc1=1000HZ, fb2=2800HZ,fc2=3000HZ As=100dB,Ap=1dB
用窗函数法和双线性变换法设计以上要求的3种数字滤波器绘制个滤波器的频率响应。
IIR低通滤波器,程序如下:
Ap=1; As=100; fs=4000;fb=1000;fc=1200;
%频率预畸
wb=(fb/fs)*2*pi;%临界频率采用角频率表示
wc=(fc/fs)*2*pi;%临界频率采用角频率表示
OmegaP=2*fs*tan(wb/2);
OmegaS=2*fs*tan(wc/2);
[n,wn]=buttord(OmegaP,OmegaS,Ap,As,s);
[b,a]=butter(n,wn,s);
[bz,az]=bilinear(b,a,fs);%映射为数字的
[H,W]=freqz(bz,az);%绘出频率响应
plot(W*fs/(2*pi),abs(H));
title(IIR低通滤波器);
IIR高通滤波器,程序如下:
fs=22050;Ap=1;As=100;fb=5000;fc=4800;
wb=(fb/fs)*2*pi;%临界频率采用角频率表示
wc=(fc/fs)*2*pi;%临界频率采用角频率表示
OmegaP=2*fs*tan(wb/2);
OmegaS=2*fs*tan(wc/2);
[n,wn]=cheb1ord(OmegaP,OmegaS,Ap,As,s);
[b,a]=cheby1(n,Ap,wn,high,s);
[bz,az]=bilinear(b,a,fs);%映射为数字的
[H,W]=freqz(bz,az);%绘出频率响应
f=W/pi*11025;
plot(f,20*log10(abs(H)));
title(IIR高通滤波器);
IIR带通滤波器,程序如下:
fb1=1200;fb2=3000;fc1=1000;fc2=3200;
Ap=1;As=100;fs=8000;
wb1=(fb1/fs)*2*pi; wb2=(fb2/fs)*2*pi;
wc1=(fc1/fs)*2*pi; wc2=(fc2/fs)*2*pi;
OmegaP1=2*fs*tan(wb1/2); OmegaP2=2*fs*tan(wb2/2);
OmegaS1=2*fs*tan(wc1/2); OmegaS2=2*fs*tan(wc2/2)
文档评论(0)