首页 数字信号处理课程设计报告

数字信号处理课程设计报告

举报
开通vip

数字信号处理课程设计报告PAGE/NUMPAGES长沙学院《数字信号处理》课程设计说明书题目数字信号处理课程设计系〔部〕电子与通信工程系专业〔班级〕级通信班姓名学号24指导老师李广柱、王路露起止日期2014.6.23-数字信号处理设计任务书一.课程设计的目的通过数字信号处理的课程设计,使学生对信号的采集,处理,传输,显示,存储和分析等有一个系统的掌握和理解。巩固和运用数字信号处理课程中的理论知识和实验技能,掌握最基本的数字信号处理的理论和方法,培养学生发现问题,分析问题和解决问题的能力...

数字信号处理课程设计报告
PAGE/NUMPAGES长沙学院《数字信号处理》课程设计 说明书 房屋状态说明书下载罗氏说明书下载焊机说明书下载罗氏说明书下载GGD说明书下载 题目数字信号处理课程设计系〔部〕电子与通信工程系专业〔班级〕级通信班姓名学号24指导老师李广柱、王路露起止日期2014.6.23-数字信号处理设计任务书一.课程设计的目的通过数字信号处理的课程设计,使学生对信号的采集,处理,传输,显示,存储和分析等有一个系统的掌握和理解。巩固和运用数字信号处理课程中的理论知识和实验技能,掌握最基本的数字信号处理的理论和方法,培养学生发现问题,分析问题和解决问题的能力。二.课程设计的题目语音信号的采集、分析与处理。三.设计 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 〔主要技术关键的分析、解决思路和 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 比较等〕对一段语音信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。设计内容:采样一段语音信号;画出语音信号的时域波形和频谱图;给定滤波器的性能指标,设计数字滤波器,并画出滤波器的频率响应;然后用设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱。关键技术:频谱图的理解;设计数字滤波器;数字滤波的方法;解决思路:对语音号进行快速傅里叶变换,得到信号的频谱特性;在MATLAB环境中可以利用函数fir设计FIR滤波器,可以利用函数butter设计IIR滤波器;利用MATLAB中的函数freqz画出各滤波器的频率响应。四.设计步骤.语音信号的采集对一段语音信号,时间在s内。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,要求理解掌握采样频率、采样位数等概念。.语音信号的频谱分析要求首先画出采样后语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。.设计数字滤波器和画出其频率相映给出各滤波器的性能指标:()低通滤波器性能指标fb=Hz,fc=Hz,As=dB,Ap=dB。()高通滤波器性能指标fc=Hz,fb=Hz,As=dB,Ap=dB。要求用窗函数法和双线性变换法设计上面要求的种滤波器。在MATLAB中,可以利用函数fir设计FIR滤波器,可以利用函数butter设计IIR滤波器;利用MATLAB中的函数freqz画出各滤波器的频率响应。.用滤波器对信号进行滤波要求用自己设计的各种滤波器分别对采集的信号进行滤波,在MATLAB中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。.比较滤波前后语音信号的波形与频谱并回放语音信号要求在一个窗口同时画出滤波前后的波形与频谱。在MATLAB中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。.编制实现上述任务的相应的程序。.撰写-字课程设计 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 。五.设计要点.参考“数字信号处理〞教材掌握频谱分析的意义。.参考“数字信号处理〞教材掌握数字滤波器的设计方法。.学会使用MATLAB的帮助。六.设计进度安排本次课程设计共计周时间(周):第周星期一,分析问题、查阅资料;第周星期二到第周星期四,编写程序、调试、修改;第周星期五,演示、写设计报告。七.考核 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 .同学平时表现占总成绩%,若迟到扣分,无故旷课每次扣分,二次不到者总成绩以分计。.课程设计报告占总成绩%,在规定时间内上交。.严禁抄袭,复制设计内容,查出后相关同学设计成绩以零分处理。八.参考资料.高西全,丁玉美.数字信号处理.##:##电子科技大学,..黄文梅,熊##,杨勇.信号分析与处理——Matlab语言与其应用.##:国防科技大学,..余成波.数字信号处理与Matlab实现.:清华大学,.##学院课程设计鉴定表##张华东学号2012032104专业通信工程班级2班设计题目数字信号处理课程设计指导教师李广柱王路露指导教师意见:评定等级:教师签名:日期:答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名:日期:系〔部〕意见:系主任签名: 日期:说明课程设计成绩分“优秀〞、“良好〞、“中〞、“与格〞、“不与格〞五类;目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc391742231"摘要PAGEREF_Toc391742231\h1HYPERLINK\l"_Toc391742232"1、绪论PAGEREF_Toc391742232\h2HYPERLINK\l"_Toc391742233"2、课程设计的具体内容PAGEREF_Toc391742233\h2HYPERLINK\l"_Toc391742234"、读取语音信号的任务PAGEREF_Toc391742234\h2HYPERLINK\l"_Toc391742235"、任务分析和解决方案PAGEREF_Toc391742235\h2HYPERLINK\l"_Toc391742236"、编程得到的MATLAB代码PAGEREF_Toc391742236\h2HYPERLINK\l"_Toc391742237"、运行结果和相应的分析PAGEREF_Toc391742237\h3HYPERLINK\l"_Toc391742238"2.2、IIR滤波器设计和滤波处理PAGEREF_Toc391742238\h3HYPERLINK\l"_Toc391742239"、设计任务PAGEREF_Toc391742239\h3HYPERLINK\l"_Toc391742240"、任务分析和解决方案PAGEREF_Toc391742240\h3HYPERLINK\l"_Toc391742241"、编程得到的MATLAB代码PAGEREF_Toc391742241\h4HYPERLINK\l"_Toc391742242"、运行结果和相应的分析PAGEREF_Toc391742242\h8HYPERLINK\l"_Toc391742243"2.3、FIR滤波器设计和滤波处理PAGEREF_Toc391742243\h12HYPERLINK\l"_Toc391742244"、设计任务PAGEREF_Toc391742244\h12HYPERLINK\l"_Toc391742245"、任务分析和解决方案PAGEREF_Toc391742245\h12HYPERLINK\l"_Toc391742246"、编程得到的MATLAB代码PAGEREF_Toc391742246\h13HYPERLINK\l"_Toc391742247"、运行结果和相应的分析PAGEREF_Toc391742247\h16HYPERLINK\l"_Toc391742248"3、总结PAGEREF_Toc391742248\h20HYPERLINK\l"_Toc391742249"4、存在的不足与建议PAGEREF_Toc391742249\h21HYPERLINK\l"_Toc391742250"5、参考文献PAGEREF_Toc391742250\h21语音信号的采集、分析与处理摘要本文利用Windows操作系统提供的录音机录制了一段声音,针对该声音文件,利用MATLAB读取文件获得语音信号,利用FFT算法对该信号进行谱分析。同时设计得到了IIR、FIR滤波器,每种形式的滤波器分别都设计了低通、高通和带通三种类型,利用滤波器对运用信号进行处理,并对处理的结果进行了分析。通过对语音信号的采集、分析和处理,掌握了利用FFT进行谱分析的基本原理和基本方法;掌握了滤波器设计的基本理论和基本方法,并学会了对信号进行时域分析和频域分析的基本原理和基本方法。关键词:语音信号;谱分析;IIR滤波器;FIR滤波器1、绪论通过语音传递信息是人类交换信息最方便、最快捷的一种形式,在高度发达的信息化时代,用数字化的方法进行语音处理是整个数字化通信网中最重要、最基本的组成部分之一。数字通信、高音质的窄带语音系统、语音学习机、声控打字机、自动翻译机、智能机器人、新一代计算机语音智能终端以与许多军事上的应用等,都要用到语音信号处理技术。随着集成电路和微电子技术的飞速发展,语音信号处理技术已融入人们的日常生活中。语音信号处理的目的是要得到某些语音特征参数以便高效地传输或存储;或者是通过某种处理运算以达到某种用途的要求,例如人工合成语音、辨识出讲话者、识别出讲话者的内容等。MATLAB是一款功能强大、易于使用的高校数值计算和可视化软件,可以用数学形式的语言编程,又有大量的库函数,所以编程简单、编程效率高[1~2]。本次课程设计主要是利用MATLAB对数字化的语音信号进行时域和频域的分析,同时在MATLAB中设计滤波器,并利用滤波器对语音信号进行滤波处理,分析滤波前后语音信号的变化,对理解滤波器在语音信号处理过程中的作用是很重要的。下面介绍课程设计的具体内容,在介绍的过程中,紧密结合课程设计任务书,首先分析课程设计的任务;提出解决任务的思路和方法;然后提供解决方案:MATLAB程序;并对运行MATLAB程序得到的结果进行分析。2、课程设计的具体内容根据课程设计任务书,首先需要录制一段声音文件;在MATLAB下读取该文件得到数字语音信号,利用FFT对数字语音信号进行谱分析;设计滤波器,并利用滤波器对语音信号进行处理,对滤波结果进行分析,得出结论。2.1、原始语音信号的读取和分析2.1.1、读取语音信号的任务根据课程设计任务书,首先需要录制一段声音文件;在MATLAB下读取该文件得到数字语音信号,并利用FFT对数字语音信号进行谱分析。2.1.2、任务分析和解决方案MATLAB提供了读取语音文件的函数:[y,Fs,nbits]=wavread(filename);该函数读取名为filename的文件,并将读取得到的数字语音信号放在了变量y中;语音的采样率用Fs表示;nbits则表示语音变量的位数。这样一来,利用该函数即可完成语音信号的读取。在得到数字语音信号之后,即可利用MATLAB提供的FFT函数对该语音信号进行处理,得到语音信号的频谱。2.1.3、编程得到的MATLAB代码解决以上问题,编程得到的代码如下:[x,fs,nbits]=wavread('关机.wav');x1=x(:,1);%读取一个声道的声音datlen=length(x1);%获取声音序列的长度Time=(0:datlen-1)/fs;%声音持续对应的时间freq=(-datlen/2:datlen/2-1)/datlen*fs;%频率指标xfft=fftshift(fft(x1));%求得声音序列的频谱2.1.4、运行结果和相应的分析运行以上代码得到的结果如图1所示:图1语音信号的时域和频域波形由图1可以看出语音信号中有非常粗的一段谱线。2.2、IIR滤波器设计和滤波处理2.2.1、设计任务根据课程设计任务书,要求用双线性变换法设计butterworth型IIR滤波器,且滤波器的技术指标满足:(1)低通滤波器性能指标fb=1000Hz,fc=1200Hz,As=20dB,Ap=1dB。(2)高通滤波器性能指标fc=4800Hz,fb=5000Hz,As=30dB,Ap=1dB。在设计滤波器之后,利用滤波器对语音信号进行处理,并分析滤波前后的差别。2.2.2、任务分析和解决方案在MATLAB中,有几种设计IIR滤波器的方法,可以首先设计出模拟滤波器,再利用双线性变换法转换成相应的数字滤波器;也可以直接利用MATLAB提供的函数设计得到数字滤波器,设计Butterworth滤波器的基本原理,可以参见文献[3]。MATLAB提供了butter函数,可以直接按双线性变换法设计IIR滤波器,在运行butter函数之前,需要根据技术指标要求计算滤波器的阶数和3dB截止频率,MATLAB提供了以下函数:[n,Wn]=buttord(Wp,Ws,Rp,Rs);其中Wp、Ws分别为通带截止频率和阻带截止频率;Rp和Rs为通带最大衰减和阻带最小衰减。在计算得到阶数n和3dB截止频率Wn之后,可以运行:[b,a]=butter(n,Wn)得到滤波器系数b和a。高通滤波器的设计是一样的。在设计得到滤波器系数之后,可以运行:y=filter(b,a,x)对输入信号x进行滤波,得到结果y。2.2.3、编程得到的MATLAB代码解决以上问题,编程得到的代码如下,其中低通IIR滤波器的代码为:fp=1350;%通带截止频率,单位:Hzft=2500;%阻带截止频率,单位:Hzwp=2*pi*fp;%通带截止频率,单位:rad/sws=2*pi*ft;%阻带截止频率,单位:rad/sRp=1;%通带最大衰减,单位:dBRs=20;%阻带最小衰减,单位:dB[N,Wn]=buttord(wp,ws,Rp,Rs,'s');%计算滤波器的阶数和3dB截止频率[Z,P,K]=buttap(N);%计算butterworth归一化滤波器的零极点[Bap,Aap]=zp2tf(Z,P,K);%将零极点转化为滤波器系数[b,a]=lp2lp(Bap,Aap,Wn);%将归一化滤波器转换为满足技术指标的原型低通滤波器[bzlp,azlp]=bilinear(b,a,fs);%用双线性变换法实现模拟滤波器到数字滤波器的转换[Hiirlp,W]=freqz(bzlp,azlp);%得到滤波器的频率响应函数%wpz=fp/(fs/2);%数字通带截止频率,单位:rad%wsz=ft/(fs/2);%数字通带截止频率,单位:rad%[N,Wn]=buttord(wpz,wsz,Rp,Rs);%计算数字滤波器的阶数和3dB截止频率%[Bz,Az]=butter(N,Wn);%直接设计数字滤波器%画出IIR低通滤波器的频率响应函数figure('Position',scrsz);subplot(211);plot(W*fs/(2*pi)/1e3,20*log10(abs(Hiirlp/max(Hiirlp))));gridon;xlabel('\fontsize{16}频率[kHz]')ylabel('\fontsize{16}幅度[dB]')title('\fontsize{18}IIR低通滤波器的幅频响应')subplot(212);plot(W*fs/(2*pi)/1e3,unwrap(angle(Hiirlp)),'k');gridon;xlabel('\fontsize{16}频率[kHz]')ylabel('\fontsize{16}相位[rad]')title('\fontsize{16}IIR低通滤波器的相频响应')%对语音进行滤波,并画出滤波后信号的时域波形和频谱xiirlp=filter(bzlp,azlp,x1);%利用IIR低通滤波器对语音信号进行滤波xiirlpfft=fftshift(fft(xiirlp));%IIR低通滤波后语音信号的频谱figure('Position',scrsz);subplot(211);plot(Time,xiirlp,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}IIR低通滤波后声音的幅度');title('\fontsize{18}IIR低通滤波后声音的时域波形');subplot(212);plot(freq/1e3,abs(xiirlpfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}IIR低通滤波后声音频谱幅度');title('\fontsize{18}IIR低通滤波后声音的频域波形');%比较低通IIR滤波前后信号的时域波形figure('Position',scrsz);subplot(211);plot(Time,x1,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}声音的幅度');title('\fontsize{18}声音的时域波形');subplot(212);plot(Time,xiirlp,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}IIR低通滤波后声音的幅度');title('\fontsize{18}IIR低通滤波后声音的时域波形');%比较低通IIR滤波前后信号的频谱figure('Position',scrsz);subplot(211);plot(freq/1e3,abs(xfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}声音频谱幅度');title('\fontsize{18}声音的频域波形');subplot(212);plot(freq/1e3,abs(xiirlpfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}IIR低通滤波后声音频谱幅度');title('\fontsize{18}IIR低通滤波后声音的频域波形');%播放声音sound(xiirlp,fs,nbits);pause(3);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%设计IIR高通滤波器,采用巴特沃斯滤波器的形式。%这里先设计模拟滤波器,再通过双线性变换法转换为数字滤波器;同学们可以%直接设计数字滤波器。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ft=5000;%通带截止频率,单位:Hzfp=12000;%阻带截止频率,单位:Hzwpz=2*pi*5000;%数字通带截止频率,单位:radwsz=2*pi*12000;%数字通带截止频率,单位:radRp=2;%通带最大衰减,单位:dBRs=30;%阻带最小衰减,单位:dB[N,wc]=buttord(wpz,wsz,Rp,Rs,'s');%计算数字滤波器的阶数和3dB截止频率[B,A]=butter(N,wc,'s');%直接设计数字滤波器K=0:511;fk=0:14000/512:14000;wk=2*pi*fk;%得到滤波器的频率响应函数Hk=freqs(B,A,wk);T=1;Fs=1/T;wpz=0.2;wsz=0.3;wp=2*tan(wpz*pi/2);ws=2*tan(wsz*pi/2);rp=1;rs=20;[N,wc]=buttord(wpz,wsz,rp,rs);[B,A]=butter(N,wc);[Bz,Az]=bilinear(B,A,fs);[Nd,wdc]=buttord(wpz,wsz,rp,rs);[Bdz,Adz]=butter(Nd,wdc);[N,Wn]=ellipord(wpz,wsz,Rp,Rs);[Bzhp,Azhp]=ellip(N,Rp,Rs,Wn,'high');[Hiirhp,W]=freqz(Bzhp,Azhp);%画出IIR高通滤波器的频率响应函数figure('Position',scrsz);subplot(211);plot(W*fs/(2*pi)/1e3,20*log10(abs(Hiirhp/max(Hiirhp))));gridon;xlabel('\fontsize{16}频率[kHz]')ylabel('\fontsize{16}幅度[dB]')title('\fontsize{18}IIR高通滤波器的幅频响应')subplot(212);plot(W*fs/(2*pi)/1e3,unwrap(angle(Hiirhp)),'k');gridon;xlabel('\fontsize{16}频率[kHz]')ylabel('\fontsize{16}相位[rad]')title('\fontsize{16}IIR高通滤波器的相频响应')%对语音进行滤波,并画出滤波后信号的时域波形和频谱xiirhp=filter(Bzhp,Azhp,x1);%利用IIR高通滤波器对语音信号进行滤波xiirhpfft=fftshift(fft(xiirhp));%IIR高通滤波后语音信号的频谱figure('Position',scrsz);subplot(211);plot(Time,xiirhp,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}IIR高通滤波后声音的幅度');title('\fontsize{18}IIR高通滤波后声音的时域波形');subplot(212);plot(freq/1e3,abs(xiirhpfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}IIR高通滤波后声音频谱幅度');title('\fontsize{18}IIR高通滤波后声音的频域波形');%比较高通IIR滤波前后信号的时域波形figure('Position',scrsz);subplot(211);plot(Time,x1,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}声音的幅度');title('\fontsize{18}声音的时域波形');subplot(212);plot(Time,xiirhp,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}IIR高通滤波后声音的幅度');title('\fontsize{18}IIR高通滤波后声音的时域波形');%比较高通IIR滤波前后信号的频谱figure('Position',scrsz);subplot(211);plot(freq/1e3,abs(xfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}声音频谱幅度');title('\fontsize{18}声音的频域波形');subplot(212);plot(freq/1e3,abs(xiirhpfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}IIR高通滤波后声音频谱幅度');title('\fontsize{18}IIR高通滤波后声音的频域波形');%播放声音sound(xiirhp,fs,nbits);pause(3)在设计高通滤波器的时候,采用直接设计数字滤波器的方法,实际上在MATLAB中直接设计数字IIR滤波器默认采用双线性变换法。通过以上代码可以看出,在设计高通波器的时候,有意使用了椭圆滤波器,这样可以降低滤波器的阶数,同学们在设计过程中可以依然根据任务书的要求采用Butterworth滤波器。2.2.4、运行结果和相应的分析设计得到的低通IIR滤波器的频率响应函数如图2所示:图2IIR低通滤波器的频率响应通过图2可以看出,设计得到的IIR低通滤波器满足课程设计的技术指标要求。通过图3可以看出,设计得到的IIR高通滤波器满足课程设计的技术指标要求。利用图2设计的滤波器对语音信号进行滤波处理,得到的滤波结果与原始信号的比较如图4和图5所示:图3IIR高通滤波器的频率响应图4IIR低通滤波器对语音信号滤波前后的时域波形图5IIR低通滤波器对语音信号滤波前后的频域波形图4直观上可以看出,经IIR低通滤波后的时域波形更平滑一些;图5所表现的频谱更能说明问题,利用图3设计的滤波器对语音信号进行滤波处理,得到的滤波结果与原始信号的比较如图6和图7所示:图6IIR低通滤波器对语音信号滤波后时域波形和频域波形图7IIR高通滤波器对语音信号滤波前后的时域波形图8IIR高通滤波器对语音信号滤波前后的频域波形通过对比图2和图8可以看出,FIR低通滤波器具有线性相位的特性。仔细观察图8可以发现,FIR低通滤波器满足课程设计的技术指标要求。图9IIR高通滤波器对语音信号滤波前后的时域波形和频域波形2.3、FIR滤波器设计和滤波处理2.3.1、设计任务根据课程设计任务书,要求用窗函数法基于Kaiser窗设计FIR滤波器,且滤波器的技术指标满足:(1)低通滤波器性能指标fb=1000Hz,fc=1200Hz,As=20dB,Ap=1dB。(2)高通滤波器性能指标fc=4800Hz,fb=5000Hz,As=30dB,Ap=1dB。在设计滤波器之后,利用滤波器对语音信号进行处理,并分析滤波前后的差别。2.3.2、任务分析和解决方案基于窗函数设计FIR滤波器的原理可以参见文献[3]。MATLAB提供了fir1函数,可以实现基于窗函数设计FIR滤波器,在运行fir1函数之前,需要根据技术指标确定过渡带宽度和滤波器阶数,根据文献[3]可知可调用fir1函数设计得到FIR滤波器:b=fir1(n,Wn,window);式中n为窗函数的长度,Wn为过渡带中间频率,window为窗函数序列,设计得到的FIR滤波器单位脉冲响应为b。高通滤波器的设计是一样的。在设计得到滤波器系数之后,可以运行:y=fftfilt(b,x)对输入信号x进行滤波,得到结果y。2.3.3、编程得到的MATLAB代码解决以上问题,编程得到的代码如下,其中低通FIR滤波器的代码为:fp=1350;%通带截止频率,单位:Hzft=2500;%阻带截止频率,单位:Hzwp=2*pi*fp;%通带截止频率,单位:rad/sws=2*pi*ft;%阻带截止频率,单位:rad/swpz=wp/fs;%数字通带截止频率,单位:radwsz=ws/fs;%数字阻带截止频率,单位:radRs=35;%阻带最小衰减,单位:dBBt=wsz-wpz;%过渡带宽度alpha=0.5842*(Rs-21)^0.4+0.07886*(Rs-21);%alpha参数M=ceil((Rs-8)/2.285/Bt);%滤波器阶数wcz=(wpz+wsz)/2/pi;%过渡带中心频率hnlp=fir1(M,wcz,hanning(M+1));%利用汉宁窗设计滤波器系数[Hfirlp,W]=freqz(hnlp,1);%得到滤波器的频率响应函数%画出FIR低通滤波器的频率响应函数figure('Position',scrsz);subplot(211);plot(W*fs/(2*pi)/1e3,20*log10(abs(Hfirlp/max(Hfirlp))));gridon;xlabel('\fontsize{16}频率[kHz]')ylabel('\fontsize{16}幅度[dB]')title('\fontsize{18}FIR低通滤波器的幅频响应')subplot(212);plot(W*fs/(2*pi)/1e3,unwrap(angle(Hfirlp)),'k');gridon;xlabel('\fontsize{16}频率[kHz]')ylabel('\fontsize{16}相位[rad]')title('\fontsize{16}FIR低通滤波器的相频响应')%对语音进行滤波,并画出滤波后信号的时域波形和频谱xfirlp=fftfilt(hnlp,x1);%利用FIR低通滤波器对语音信号进行滤波xfirlpfft=fftshift(fft(xfirlp));%FIR低通滤波后语音信号的频谱figure('Position',scrsz);subplot(211);plot(Time,xfirlp,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}FIR低通滤波后声音的幅度');title('\fontsize{18}FIR低通滤波后声音的时域波形');subplot(212);plot(freq/1e3,abs(xfirlpfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}FIR低通滤波后声音频谱幅度');title('\fontsize{18}FIR低通滤波后声音的频域波形');%比较低通FIR滤波前后信号的时域波形figure('Position',scrsz);subplot(211);plot(Time,x1,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}声音的幅度');title('\fontsize{18}声音的时域波形');subplot(212);plot(Time,xfirlp,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}FIR低通滤波后声音的幅度');title('\fontsize{18}FIR低通滤波后声音的时域波形');%比较低通FIR滤波前后信号的频谱figure('Position',scrsz);subplot(211);plot(freq/1e3,abs(xfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}声音频谱幅度');title('\fontsize{18}声音的频域波形');subplot(212);plot(freq/1e3,abs(xfirlpfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}FIR低通滤波后声音频谱幅度');title('\fontsize{18}FIR低通滤波后声音的频域波形');%播放声音sound(xfirlp,fs,nbits);pause(3);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%设计FIR高通滤波器,采用汉宁窗函数。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fp=2500;%通带截止频率,单位:Hzft=1350;%阻带截止频率,单位:Hzwp=2*pi*fp;%通带截止频率,单位:rad/sws=2*pi*ft;%阻带截止频率,单位:rad/swpz=wp/fs;%数字通带截止频率,单位:radwsz=ws/fs;%数字阻带截止频率,单位:radRs=40;%阻带最小衰减,单位:dBBt=wpz-wsz;%过渡带宽度alpha=0.5842*(Rs-21)^0.4+0.07886*(Rs-21);%alpha参数M=ceil(ceil((Rs-8)/2.285/Bt)/2)*2;%滤波器阶数wcz=(wpz+wsz)/2/pi;%过渡带中心频率hnhp=fir1(M,wcz,'high',hanning(M+1));%利用汉宁窗设计滤波器系数[Hfirhp,W]=freqz(hnhp,1);%得到滤波器的频率响应函数%画出FIR高通滤波器的频率响应函数figure('Position',scrsz);subplot(211);plot(W*fs/(2*pi)/1e3,20*log10(abs(Hfirhp/max(Hfirhp))));gridon;xlabel('\fontsize{16}频率[kHz]')ylabel('\fontsize{16}幅度[dB]')title('\fontsize{18}FIR高通滤波器的幅频响应')subplot(212);plot(W*fs/(2*pi)/1e3,unwrap(angle(Hfirhp)),'k');gridon;xlabel('\fontsize{16}频率[kHz]')ylabel('\fontsize{16}相位[rad]')title('\fontsize{16}FIR高通滤波器的相频响应')%对语音进行滤波,并画出滤波后信号的时域波形和频谱xfirhp=fftfilt(hnhp,x1);%利用FIR高通滤波器对语音信号进行滤波xfirhpfft=fftshift(fft(xfirhp));%FIR高通滤波后语音信号的频谱figure('Position',scrsz);subplot(211);plot(Time,xfirhp,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}FIR高通滤波后声音的幅度');title('\fontsize{18}FIR高通滤波后声音的时域波形');subplot(212);plot(freq/1e3,abs(xfirhpfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}FIR高通滤波后声音频谱幅度');title('\fontsize{18}FIR高通滤波后声音的频域波形');%比较高通FIR滤波前后信号的时域波形figure('Position',scrsz);subplot(211);plot(Time,x1,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}声音的幅度');title('\fontsize{18}声音的时域波形');subplot(212);plot(Time,xfirhp,'k');xlabel('\fontsize{16}声音的持续时间[s]');ylabel('\fontsize{16}FIR高通滤波后声音的幅度');title('\fontsize{18}FIR高通滤波后声音的时域波形');%比较高通FIR滤波前后信号的频谱figure('Position',scrsz);subplot(211);plot(freq/1e3,abs(xfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}声音频谱幅度');title('\fontsize{18}声音的频域波形');subplot(212);plot(freq/1e3,abs(xfirhpfft),'k');axis([-2525080]);xlabel('\fontsize{16}频率[kHz]');ylabel('\fontsize{16}FIR高通滤波后声音频谱幅度');title('\fontsize{18}FIR高通滤波后声音的频域波形');%播放声音sound(xfirhp,fs,nbits);pause(3);2.3.4、运行结果和相应的分析设计得到的低通FIR滤波器的频率响应函数如图8所示:图10FIR低通滤波器的频率响应图11FIR高通滤波器的频率响应图12FIR低通滤波器对语音信号滤波前后的时域波形图13FIR低通滤波器对语音信号滤波后的频域波形图12直观上可以看出,经IIR高通滤波后的时域波形比原始波形更加起伏不平;从图13可以看出,原始信号频谱中仅保留了2.64kHz谱线,低频的谱线全都消失了,这说明高通滤波的效果达到了。图14FIR低通滤波器对语音信号滤波后的时域与频域波形图15FIR高通滤波器对语音信号滤波前后的时域波形图16FIR高通滤波器对语音信号滤波前后的频域波形图17FIR高通滤波器对语音信号滤波后的时域波形和频域波形3、总结本次数字信号处理课程设计主要是应用MATLAB对语音信号进行频谱分析与滤波。虽然对于这方面有了一些基础的知识,也学了“数字信号处理〞课程,但是刚开始面对这个题目也有点找不到方向。首先采集语音信号就遇到了困难,windows7系统自带的录音机录出来的语音不是wav格式的,为了解决这个问题,从XP系统拷贝录音机的应用程序,利用XP系统下的录音机录了一段wav格式的语音。在MATLAB中得到了原始语音信号的时域波形和频谱图。然后通过查阅参考文献,网上查资料、利用MATLAB的help,以与和同学进行讨论,不断地调试修改,终于将课程设计完成。其中滤波器的设计是个难点,比如设计数字滤波器所需函数的使用。编写程序也遇到了不少的困难,主要是由于对MATLAB不是很熟练造成的。通过这次课程设计,我对MATLAB,以与数字滤波器的设计有了更深的理解,同时也加深了对数字信号处理理论知识的理解。编程也增强了动手能力,也增强了团队意识,提高了综合能力,使我得到了很大的锻炼。4、存在的不足与建议本次课程设计的不足之处是滤波器的实现方法仅限于书本所学,滤波器系数的量化问题也没有考虑,虽然能用MATLAB完成这次设计,但对设计原理还不是特别清楚。另一方面,希望老师在实验室多了解学生设计进度状况,多予以辅导。5、参考文献[1]黄文梅,熊##,杨勇.信号分析与处理——Matlab语言与其应用.##:国防科技大学,2000.[2]余成波.数字信号处理与Matlab实现.:清华大学,2008.[3]高西全,丁玉美.数字信号处理.##:##电子科技大学,2008.
本文档为【数字信号处理课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
zxiang
多年工作经验
格式:doc
大小:297KB
软件:Word
页数:25
分类:其他高等教育
上传时间:2022-05-05
浏览量:9