




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字信号处理课程设计报告中南大学本科生课程设计报告课程名称现代信号处理指导教师赵亚湘学 院信息科学与工程学院专业班级通信工程班 姓名 学号1题目一 语音信号去噪处理1、 设计要求1) 在windows系统下的录音机录制一段1s左右的语音信号作为原声信号,在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数;2) 画出语音信号的时域波形,对采样后的语音进行fft变换,得到信号的频谱特性;对语音信号分别加入正弦噪声和白噪声,画出加噪信号的时域波形和频谱图;3) 根据对加噪语音信号谱分析结果,确定滤除噪声滤波器的技术指标,设计合适的数字滤波器,并画出滤波器的频域
2、响应;4) 用所设计的滤波器对加噪的信号进行滤波,在同一个窗口画出滤波前后信号的时域图和频谱图,对滤波前后的信号进行对比,分析信号变化;5) 利用sound(x)回放语音信号,验证设计效果。2、 设计思想和系统功能分析对语音信号进行读取1、 设计原理加正弦/高斯白噪声对比分析加噪声前后信号时域、频域图设计滤波器滤波,与原信号比较2、本课题的研究基本步骤如下:确定已知声音信号的存储路径。在MATLAB平台上读入语音信号。绘制频谱图并回放原始语音信号。利用MATLAB编程加入一段正弦波噪音,设计滤波器去噪。利用MATLAB编程加入一段随机噪音信号,设计FIR和IIR滤波器去噪,并分别绘制频谱图、回
3、放语音信号。通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优缺点。3、 设计中关键部分的理论分析与计算,关键模块的设计思路1、语言的录入及处理 在MATLAB软件平台下,利用函数wavread( )对语音信号采集,并记录采样频率和采样点数。将语音信号转换成计算机能够运算的有限长序列。用FFT(傅里叶变换)对其作谱分析。对信号添加噪声,然后通过窗函数法设计滤波器滤掉该语音信号的噪声,对比滤波前后的语音波形和频谱。2、时域信号的FFT分析 FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行
4、改进获得的。在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。函数FFT用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幂次方,函数fft执行高速基2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,
5、则函数截短x使之长度为N;若x 为矩阵,按相同方法对x进行处理。3、滤波方法将信号中特定波段频率滤除的操作称为滤波,它是抑制和防止干扰的一项重要措施。若有用信号和无用信号在频谱上可区分,则可采用滤波的方法来衰减甚至消除无用信号。传统的滤波方法是使用滤波器,比如低通、高通、带通、带阻滤波器等,通常按典型的滤波器原型来设计。典型的滤波器原型有Butterworth, Chebyshev和elliptical等几种。本次设计采用巴特沃斯低通滤波器实现对加正弦噪声信号的滤波处理,采用海明窗实现对加高斯白噪声信号的滤波处理。4、 测试数据、测试输出结果,及必要的理论分析和比较1、加正
6、弦噪声(1)由上图中的时域明显看出加正弦噪声前后信号的改变,频域图更是可以轻易选择低通滤波器去滤掉噪声恢复原声音信号。(2)滤波后,效果明显,听声音也可以看出,此次操作的成功。2、 加高斯白噪声 (1)下面两幅图信号时域和频域的对比也能明显看出加噪声前后的差异之处。而且可以看出,巴特沃斯高通、低通、带通滤波器都不能够滤去这种噪声,因此想到窗函数,而我选择的是海明窗。(2)滤波之后的声音信号显然不适合原声音信号一样,但声音效果还是差不多的。五、总结,包括设计过程中遇到的问题和解决方法,设计心得与体会等 Matlab是一套高性能的数值计算和可视化软件。打开matlab 软件,新建new&
7、#160;M-File,输入程序代码,代码分为四大块:原始信号程序;噪声信号程序;巴特沃斯低通滤波器设计程序;对信号进行滤波处理程序,当然每个程序包括画图程序。在编写程序的过程中,有很多需要注意的,比如在利用windows进行录音的时候,windows7录音的格式是.wma格式的,开始是不注意,导致程序一开始运行时就出错,需要用改成.wav格式的,之后对于滤波器性能指标的设计,时域和频谱波形的画图程序显示也需要注意,否则很容易出错,或是显示不了波形。用巴特沃斯低通滤波器滤除噪声之后,实验总是存在误差,无法完全滤除噪声。低通滤波后,声音稍微有些发闷、低沉,原因是高频分量被低通滤波器衰减。但是很接
8、近原来的声音。如果用高通滤波后,只有少许杂音,原因是低频分量被高通滤波器衰减,而人声部分正好是低频部分,所以只剩下杂音,或者发出高频杂音但人的耳朵听不到。 MATLAB7.0功能十分强大且操作起来比较简单,可以在短时间内掌握其操作要领,同时加深了数字信号处理理论联系实际的学习和运用。在编程过程中,MATLAB7.0对格式要求非常严格,不能识别中文标点符号,在使用时容易出现错误,导致整个程序不能运行。在以往,我们都是通过课本来感性的认知语音信号,通过本次的课程设计,让我对语音信号有了一个较为实际的认识。于此同时,让我们再次把数字信号处理及数字滤波器的设计方法重新进行了复习和学习。最为
9、重要的是,本次课程设计让我重新审视了学习的过程:只去做实验是不行的,首先还是要思考,遇到了问题查书籍,百度搜索也只是一种手段,更加重要的是要去想,去理解,只有这样才能真正的做好实验。6、 参考文献1高西全,丁玉美.数字信号处理(第三版)M.西安:西安电子科技大学出版社,2周玲.基于MATLAB的语音信号数字滤波处理J.安庆师范学院学报.3王薇,张明敏.基于MATLAB的FIR数字滤波器典型设计J.火力与指挥控制.七、程序源代码清单%第一题(正弦)%信号采样x,fs,bit=wavread('C:UsersASUSDesktop信号课设相关资料相关资料Soundsbat.wav'
10、);M=size(x,1); %提取采样信号的长度t=(0:length(x)-1)/fs; %计算样本时刻f=fs*(0:(M+1)/2-1)/M+1;x=x(:,1); %只取单声道X=fft(x,M+1);figure(1)subplot(2,1,1);plot(t,x)title('原始信号时域图');xlabel('time(s)');ylabel('幅度');subplot(2,1,2);plot(f,abs(X(1:(M+1)/2);title('原始信号频谱图')xlabel('Hz');ylabe
11、l('幅度'); %加正弦白噪声及滤波a=0.02;f1=5000;ts=0:1/fs:(size(x)-1)/fs; %将所加噪声信号的点数调整到与原始信号相同noise=a*sin(2*pi*f1*ts)' %噪声为5000Hz的正弦信号z=x+noise;Z=fft(z,M+1); %进行N+1点FFT变换fp=3500; %通带截止频率fc=4500; %阻带下限截止频率Rp=3; %通带波纹Rs=30; %阻带波纹Wp=fp/fs*2*pi;Ws=fc/fs*2*pi; %计算对应的数字频率T=2;Fs=1/T; %定义采样间隔wp1=2/T*tan(Wp/2
12、);ws1=2/T*tan(Ws/2); %截止频率预畸变N,wn=buttord(wp1,ws1,Rp,Rs,'s');%计算滤波器介数和截止频率cs,ds=butter(N,wn,'s'); %计算滤波器系统函数分子分母系数b,a=bilinear(cs,ds,Fs); %双线性变换得到数字滤波器系统函数分子分母系数H,W=freqz(b,a);y=filter(b,a,z); %对加噪信号进行滤波Y=fft(y,M+1); %对滤波后进行N+1点FFT变换figure(2)subplot(2,1,1); %画滤波前信号波形图和频谱图plot(t,z)tit
13、le('滤波前信号时域图');xlabel('time(s)');ylabel('幅度');subplot(2,1,2);plot(f,abs(Z(1:(M+1)/2);title('滤波前信号频谱图')xlabel('Hz');ylabel('幅度');figure(3) subplot(2,1,1); %画滤波后信号波形图和频谱图plot(t,y)title('滤波后信号时域图');xlabel('time(s)');ylabel('幅度');su
14、bplot(2,1,2);plot(f,abs(Y(1:(M+1)/2);title('滤波后信号频谱图')xlabel('Hz');ylabel('幅度');figure(4) %绘制滤波器频率响应plot(W/pi,20*log10(abs(H)title('频率响应')xlabel('w/pi');ylabel('幅度');sound(5*x,fs)pause;sound(20*x,fs)pause;sound(20*z,fs)pause;sound(20*y,fs) %滤波后的语音信号 %第
15、一题(高斯)%信号采样x,fs,bit=wavread('C:UsersASUSDesktop信号课设相关资料相关资料Soundsbat.wav');M=size(x,1); %提取采样信号的长度t=(0:length(x)-1)/fs; %计算样本时刻f=fs*(0:(M+1)/2-1)/M+1;x=x(:,1); %只取单声道X=fft(x,M+1);figure(1)subplot(2,1,1);plot(t,x)title('原始信号时域图');xlabel('time(s)');ylabel('幅度');subplot(
16、2,1,2);plot(f,abs(X(1:(M+1)/2);title('原始信号频谱图')xlabel('Hz');ylabel('幅度'); %加高斯白噪声及滤波z2=awgn(x,20); %对信号加信噪比为10的高斯白噪声N2=size(z2,1); %提取采样信号的长度t2=(0:length(z2)-1)/fs; %计算样本时刻f2=fs*(0:(N2+1)/2-1)/N2+1;X2=fft(x,N2+1);Z2=fft(z2,N2+1); %进行N+1点FFT变换fp=1000; %通带截止频率fc=2000; %阻带起始频率Wp
17、=fp/fs*2*pi;Ws=fc/fs*2*pi; %计算对应的数字频率detaw=Ws-Wp;n=ceil(1*pi/detaw);wc=(Wp+Ws)/2;b=fir1(n-1,wc/pi,hamming(n);%选择海明窗,并归一化H,w=freqz(b);ma=20*log10(abs(H);v=conv(b,z2); %对加噪信号进行滤波t1=(0:length(v)-1)/fs; V=fft(v,N2+1); %对滤波后进行N+1点FFT变换figure(2)subplot(2,1,1); %画滤波前信号波形图和频谱图plot(t,z2)title('滤波前信号时域图
18、39;);xlabel('time(s)');ylabel('幅度');subplot(2,1,2);plot(f2,abs(Z2(1:(N2+1)/2);title('滤波前信号频谱图')xlabel('Hz');ylabel('幅度');figure(3) subplot(2,1,1); %画滤波后信号波形图和频谱图plot(t1,v)title('滤波后信号时域图');xlabel('time(s)');ylabel('幅度');subplot(2,1,2);p
19、lot(f2,abs(V(1:(N2+1)/2);title('滤波后信号频谱图')xlabel('Hz');ylabel('幅度'); figure(4) %绘制滤波器频率响应plot(w/pi,ma)title('频率响应')xlabel('Hz');ylabel('幅度');sound(5*x,fs)pause;sound(5*x,fs)pause;sound(5*z2,fs)pause;sound(5*v,fs) %滤波后的语音信号题目二 语音信号的延时和混响一设计要求1) 利用Window
20、s下的录音机或其他软件,录制一段自己的语音信号,时间控制在1s左右,并对录制的信号进行采样;2) 语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图;3) 将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较;4) 设计几种特殊类型的滤波器:单回声滤波器,多重回声滤波器,全通结构的混响器,并画出滤波器的频域响应;5) 用自己设计的滤波器对采集的语音信号进行滤波;6) 分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;7) 回放语音信号。二、设计思想和系统功能分析2.1原始信号用windows的录音机录制一段我的语音信号,要用MATLA
21、B对其进行处理,首先要读入这段语音信号,可以调用软件自带的wavread()函数,找到正确的文件路径就行,但是这个命令只能对*.wav文件处理,所以如果不是的话,要转化格式。回放语音信号,也是可以直接调用软件自带的sound()函数,它的参数的选择和读入函数是一样的,不过随着采样频率的不同,读出来的效果差别很大。用软件的绘图工具绘制语音信号的时域和频域的图形,时域的图形和简单就是把读入的信号按时间和音量的大小绘制一张图即可,但是频域的图形,就要先对语音信号进行傅里叶变换才可以得到频谱图,不过考虑到MATLAB软件自带的快速傅里叶变换函数,所以就直接调用fft()就行,当然还用到了fftshif
22、t()函数对频谱的中心进行搬移。2.2延时和混响 延时的处理就是利用向量(矩阵)的补零,然后使得有效的数据被押后,显示的时候,就会有延时效果,因为开始的零数据没有意义,即没有有用信息,然后零数据的多少,由需要被延时的时间决定。 混响的处理就是利用向量(矩阵)的加法运算,使得两个不同的信号进行相互叠加,即我们说的混响效果。首先是产生两个不同的信号矩阵,一个就用延时后的信号,另一个处理的方式差不多,就是利用补零方法,不过补零的措施不同于延时处理,而是在原始信号的后面补零,其实没有什么实质上的意义,因为不能改变什么,但是由于矩阵的加法要求相加的矩阵的形状一
23、样,即元素的个数一样,所以补零。3、 设计中关键部分的理论分析与计算,关键模块的设计思路滤波器的设计按要求有四种,还要自己设计一种。考虑到实际生活中的回声类型,比较接近IIR滤波器,即下面公式: Y(n)=x(n)+a1*y(n-d1)+a2*y(n-d2)+a3*y(n-d3)+a4*y(n-d4)+a5*y(n-d5)+a6*y(n-d6)+a7*y(n-d7)+a8*y(n-d8)+a9*y(n-d9)+10*y(n-d10)+a11*y(n-d11)-公式1 不过,原理大都是一致的,在MATLAB中,都是调用filter()函数,但是,最最重要的是确定这个函数的两个
24、主要参数a和b。确定了这两个参数就可以进行滤波了,所以只用设计参数a和b,a为传递函数分母系数向量,b为传递函数分子系数向量。 单回声滤波器的设计就是取a和b向量分别为1,zeros(1,4410),0.2和全1。然后进行滤波就可以了。多重回声滤波器,无限回声滤波器以及全通结构的滤波器的设计都只是改变a和b向量的参数而已。多重回声滤波器的a和b向量取值为1,1,1,1,1,1,1,1,1,1,1和1,0,0,0,0,0,0,0,0,0,0.2,正好和单回声滤波器的a和b取值相反。无限回声滤波器的a和b取值为0,0,0,0,0,0,0,0,0,0,1和1,0,0,0,0,0,0,0,0
25、,0,-0.5。还有全通结构的a和b的取值为0.5,0,0,0,0,0,0,0,0,0,1和1,0,0,0,0,0,0,0,0,0,0.5。 我设计的滤波器是一个IIR低通滤波器,是在巴特沃斯滤波器的基础上设计的,参数的设计没有实际的意义,比方说采样频率ft和通带截止频率fp以及阻带截止频率fs和通带,阻带的衰减参数都是随便设定的,只是为了检测一下设计出来的滤波器的性能是否可以达到。首先把几个自己设定的频率归一化,然后计算巴特沃斯滤波器的参数wp和ws,再利用函数的调用,和参数以及衰减的要求,把滤波器的阶数和参数wc求出来,最后调用butter()函数,就可以求出滤波器的参数a和b向
26、量了,不过要进行双线性变换下,使得模拟的低通滤波器变成数字的低通滤波器,当然,也要相应把模拟域下的频率变成数字域下的频率,最后用设计好的滤波器滤波,再绘制图形即可。4、 测试数据、测试输出结果,及必要的理论分析和比较对语音信号进行采样后,用MATLAB对其进行处理,利用其绘图工具,绘制语音信号的时域和频域波形图,图形如下图一。从图形可以看出,语音信号的频率主要集中在低频段,分布呈金字塔状,但是接近零频率的附近的频率成分也很少。延时的处理和混响的处理,处理后的结果的时域和频域的图形,如下图所示: 从原始信号和处理后的延时图可以看出,延时并没有真正意义上改变语音信号,只是把信号的时域推后
27、了,频谱图也可以看出,只是频谱的位置变化了,而且是线性搬移的。从原始信号和处理后的混响的图可以看出,混响改变了语音信号的时域特性,音量有叠加的成分,其频谱也有改变,从图可见,混响的低频段呈明显的凹状分布,说明零频段的频率成分在语音信号中占得比例非常少,本来看不出来,但是混响使得频谱相同部分叠加了,就显得很明显了。按要求设计五类滤波器,并用这五类滤波器分别进行滤波,滤波的结果如下图: 从单回声滤波器的处理图可以看出,对原始语音信号的改变并不是很明显,只是频谱上可以发现低频段的细微变化,时域上几乎没有改变,所以回放语音信号基本上是听不出差别的。 多重回声和无限回声滤波器的处理来
28、看,就可以明显看到对时域和频域的改变,不过如果是人去听回放的语音信号的话,还是听不出有什么特别的差别,只是会比较舒服,圆润,因为从频谱上可以看出来,语音信号的频谱变得均匀了一些,所以会有这种效果。 全通结构的滤波器的处理来看,对时域的改变还是比较明显的,但是从频谱的角度来说,他的效果和无限回声滤波器没有本质上的差别,或者说两者的目的是一样的,所以看起来很相似,甚至相近。 至于我设计的滤波器,由于只是截取语音的一个狭窄的频段进行滤波,所以看起来变化很大,其实是和前面几个滤波器的效果大同小异,没有什么本质上的差别,只是频带变小 ,如果把前面几个的滤波的图放大到这一频带
29、段上来看,还是比较接近的,因为原理都是简单的滤波过程。5、 总结,包括设计过程中遇到的问题和解决方法,设计心得与体会等 这次课程设计的成功,很大方面都要归功于网络上的资料和我的课本,但是最该感谢的毫无疑问是我自己的努力,因为很多的程序网上是给出来了,但是看懂是另外一回事,而且要把它变成自己的就更加靠自己了。做课程设计是为了加深我们对平时学习的理论知识的理解,在理论和实验教学基础上进一步巩固所学基本理论和提高应用所学知识并加以综合应用的能力,培养学生将所学知识应用于实际的思想,提高分析和解决问题的能力,增强学生的综合能力,开发学生的智力,激发学生的创新精神,为毕业设计和以后工作打下必要基础。
30、160;这次为期数日的综合课程设计,使我们弄明白了不少的知识,也学到了不少的东西。首先我们认识到了MATLAB工具箱的强大的功能和方便的操控性,通过软件可以使设计简化,运算简单,而且可以使设计者腾出时间来把重点放在一些困难概念的理解和掌握上。MATLAB的功能很强大,可用于电子,通信,图像等领域的信号处理与系统设计。要精通MATLAB并不是件很容易的事,这得花较多的时间来研究和分析。通过使用软件,我们不仅加深了对书本知识的了解,还将理论与实际相结合,提高了自己实际思考问题、独立分析问题、冷静解决问题的能力,对数字信号处理这门课也更加充满了兴趣。设计滤波器是数字信号处理中最为重要的应用之一,因此
31、学好滤波器的设计及分析,对于我们大学生来说是十分重要的。 这次设计我们最大的收获是掌握了滤波器设计的步骤和方法,比如用到双线性变换法,可以在确定滤波器的系统函数后,用双线性变换公式带入而求得结果。我自己设计的最后一个滤波器就是用这种方法做的。 还有就是学习过程中的不足,这主要体现在做课程设计的过程中,我们深深感觉到自身所学知识的有限,书本上没有提及的环节,我们基本都没有去研究过,做的过程有时突然间觉得有点茫然,虽然通过查阅可以解决问题,但还是浪费了许多时间,这一点是我们在以后的学习中必须加以改进的地方,同时在以后的学习过程中也要督促自己不断地完善自我,超越自我。
32、另外要提的一点,就是团队精神,在这次课程设计中我们遇到问题都是聚在一起讨论,一起思考、寻找解决问题的方法,讨论的过程也是互相学习互相促进的过程。所谓”当局者迷,旁观者清”,有些问题自己写的是时候感觉没什么错误,偏偏运行的时候就是有错误,让队友帮忙看了一下,才发现其实是个很小的错误。还有就是分工要明确,大家根据个人的优势分工,干起事情来才有效率。所以说,团队精神是很重要的一点。 通过这次的课程设计,我们深深地体会到数字信号处理的有用性和重要性。同时也发现了自身存在的不少不足之处,这给今后的学习敲响了警钟,也提供了经验教训。做设计就如做人一样,都是要扎扎实实、一步一个脚印去做,天下事有难
33、易乎,为之,则难者亦易矣;不为,则易者亦难矣。所以说我们做什么事都要认真、踏实地去做,无论成功与否,只要自己曾经努力过,就可以无悔了,而你在做事过程中的经历是任何人都不会有的宝贵的财富。6、 参考文献1 谢自美.电子电路设计.实验.测试.武昌:华中理工大学出版社,1994 2数字信号处理的原理和实现 第二版,刘泉 主编,武汉理工大学出版社 3 数字信号处理教程 程佩青,清华大学出版社 4 数字信号处理丁玉美、高西全编著,西安电子科技大学出版社 5数理统计与MATLAB工程数据分析,王岩,隋思涟,
34、王爱青,清华大学出版社7、 程序源代码清单%原始信号的处理x1,fs,bits=wavread('C:UsersASUSDesktop信号课设相关资料相关资料Soundsbat.wav');x1=z1(:,1);figure(1);subplot(2,2,1);plot(x1);%做原始语音信号的时域图形title('原始语音信号');grid on;xlabel('时间');ylabel('音量');y1=fft(x1);subplot(2,2,2);plot(abs(y1);%画出原始的语音信号的频谱图title('原
35、始信号的频谱');grid on;%延时和混响的处理z=zeros(20000,1);x1;sound(z,fs,bits);subplot(2,2,3);plot(z);title('延时后的时域图');grid on;Z=fft(z);y1=fftshift(Z);subplot(2,2,4);plot(abs(Z);title('延时后的频域图');grid on;y2=x1;zeros(20000,1);y3=y2+z;%混响后信号叠加(两个信号必须长度相等)sound(y3,fs,bits);figure(2);subplot(2,1,1);p
36、lot(y3);title('混响的时域图');grid on;Y3=fft(y3);%混响信号fft变换subplot(2,1,2);plot(abs(Y3);title('混响后的频域图');grid on;%单回声滤波器滤波yy1=filter(1,zeros(1,20000),0.5,1,x1',zeros(1,20000);sound(yy1,fs,bits);figure(3);subplot(2,1,1);plot(yy1);title('单回声滤波器时域波形');grid onYY1=fft(yy1);subplot(2,
37、1,2);plot(abs(YY1);title('单回声滤波器频谱图');grid on;%多重回声滤波器滤波yy1=filter(1,1,zeros(1,20000),0.7,x1',zeros(1,20000);sound(yy1,fs,bits);figure(4);subplot(2,1,1);plot(yy1);title('多重回声滤波器时域波形');grid onYY1=fft(yy1);subplot(2,1,2);plot(abs(YY1);title('多重回声滤波器频谱图');grid on;%无限回声滤波器滤波a
38、=0.5;Bz=0,0,0,0,0,0,0,0,0,0,1;Az=1,0,0,0,0,0,0,0,0,0,-a;yy1=filter(Bz,Az,x1);sound(yy1,fs,bits);figure(5);subplot(2,1,1);plot(yy1);title('无限个回声滤波器时域波形');grid onYY1=fft(yy1);subplot(2,1,2);plot(abs(YY1);title('无限个回声滤波器频谱图');grid on;%全通结构混响器滤波a=0.5;Bz=a,0,0,0,0,0,0,0,0,0,1;Az=1,0,0,0,0
39、,0,0,0,0,0,a;yy1=filter(Bz,Az,x1);sound(yy1,fs,bits);figure(6);subplot(2,1,1);plot(yy1);title('全通结构的混响器的时域波形');grid onYY1=fft(yy1);subplot(2,1,2);plot(abs(YY1);title('全通结构的混响器的频谱图');grid on;y=wavread('C:UsersASUSDesktop信号课设相关资料相关资料Soundsbat.wav');N=length(y);figure(7);subplot
40、(2,2,1);plot(y);title('滤波前的时域波形');Y=fft(y);subplot(2,2,2);plot(abs(Y);title('滤波前的频域波形');axis(0,70000,0,1000);ft=8000;fp=1000;fs=1200;wp=2*pi*fp/ft;ws=2*pi*fs/ft;fp=2*ft*tan(wp/2);fs=2*ft*tan(ws/2);N,wc=buttord(wp,ws,1,50);b,a=butter(N,wc);bz,az=bilinear(b,a,0.5);h,w=freqz(bz,az);zll=
41、filter(bz,az,y);mll=fft(zll);subplot(2,2,3);plot(zll);title('滤波后的时域波形');subplot(2,2,4);plot(abs(mll);title('滤波后的频域波形');axis(0,70000,0,1000);sound(zll);题目三 数字滤波器的设计及实现一、设计要求1) 调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,观察st的时域波形和幅频特性曲线;2) 要求将st中的三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信
42、号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率,要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB; 3) 编程调用MATLAB滤波器设计函数分别设计这三个数字滤波器,并绘图显示其幅频特性曲线; 4) 调用滤波函数filter,用所设计的三个滤波器分别对复合信号st进行滤波,分离出st中的三路不同载波频率的调幅信号,并绘图显示滤波后信号的时域波形和频谱,观察分离效果。2、 设计思想和系统功能分析设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。基本设计过程是:先将给定的数字滤波器的指标转换成过渡模拟滤波器
43、的指标; 设计过渡模拟滤波器;将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。本实验要求读者调用如上函数直接设计IIR数字滤波器。 本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。3、 设计中关键部分的理论分析与
44、计算,关键模块的设计思路1、此题的关键在于第二点里面的抑制载波单频调幅信号,其数学表示式为: 其中,称为载波,fc为载波频率,称为单频调制信号,f0为调制正弦波信号频率,且满足。由上式可见,所谓抑制载波单频调幅信号,就是2个正弦信号相乘,它有2个频率成分:和频和差频,这2个频率成分关于载波频率fc对称。所以,1路抑制载波单频调幅信号的频谱图是关于载波频率fc对称的2根谱线,其中没有载频成分,故取名为抑制载波单频调幅信号。容易看出,图10.4.1中三路调幅信号的载波频率分别为250Hz、500Hz、1000Hz。如果调制信号m(t)具有带限连续频谱,无直流成分,则就是一般的抑制载波调幅信号。其频
45、谱图是关于载波频率fc对称的2个边带(上下边带),在专业课通信原理中称为双边带抑制载波 (DSB-SC) 调幅信号,简称双边带 (DSB) 信号。如果调制信号m(t)有直流成分,则就是一般的双边带调幅信号。其频谱图是关于载波频率fc对称的2个边带(上下边带),并包含载频成分。2、滤波器参数选取观察图可知,三路调幅信号的载波频率分别为250Hz、500Hz、1000Hz。带宽(也可以由信号产生函数mstg清单看出)分别为50Hz、100Hz、200Hz。所以,分离混合信号st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的指标参数选取如下:对载波频率为250Hz的条
46、幅信号,可以用低通滤波器分离,其指标为带截止频率Hz,通带最大衰减dB;阻带截止频率Hz,阻带最小衰减dB,对载波频率为500Hz的条幅信号,可以用带通滤波器分离,其指标为带截止频率Hz,Hz,通带最大衰减;阻带截止频率Hz,Hz,Hz,阻带最小衰减,对载波频率为1000Hz的条幅信号,可以用高通滤波器分离,其指标为带截止频率Hz,通带最大衰减dB;阻带截止频率Hz,阻带最小衰减dB,3、 说明: (1)为了使滤波器阶数尽可能低,每个滤波器的边界频率选择原则是尽量使滤波器过渡带宽尽可能宽。(2)与信号产生函数mstg相同,采样频率Fs=10kHz。(3)为了滤波器阶数最低,选用椭圆滤波器。4、
47、 测试数据、测试输出结果,及必要的理论分析和比较(1) 调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图4.1所示。由图可见,三路信号时域混叠无法在时域分离。但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。图4.1 三路调幅信号st的时域波形和幅频特性曲线 (2) 要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。要求滤波器的通带最大衰减为0.1dB,阻带最小
48、衰减为60dB。图4.2 低通滤波器滤波后信号图图4.3 带通通滤波器滤波后信号图图4.4 高通滤波器滤波后信号图(3) 编程序调用MATLAB滤波器设计函数ellipord和ellip分别设计这三个椭圆滤波器,并绘图显示其幅频响应特性曲线。 图4.5 低通滤波器滤波后频率响应图图4.6 带通滤波器滤波后频率响应图图4.7 高通滤波器滤波后频率响应图(4)调用滤波器实现函数filter,用三个滤波器分别对信号产生函数mstg产生的信号st进行滤波,分离出st中的三路不同载波频率的调幅信号y1(n)、y2(n)和y3(n), 并绘图显示y1(n)、y2(n)和y3(n)的时域波形,观察分离效果。
49、5、 总结,包括设计过程中遇到的问题和解决方法,设计心得与体会等 这次课程设计,由于自己数字信号处理的理论课程差不多已经遗忘,对数字滤波器的设计缺少认识。而且需要运用matlab软件,所以比较吃力。设计过程,看了一遍数字信号处理课程关于数字滤波器的设计的内容,再通过利用参考文献与网络,完成了用Matlab进行数字信号处理课程设计。通过课程设计,加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。同时掌握编程方法和解决实际问题的技巧。 与其他高级语言的程序设计相比,MATLAB环境下可以更方便、快捷地设计出具有严
50、格线性相位的FIR滤波器,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进行优化设计。相信随着版本的不断提高,MATLAB在数字滤波器技术中必将发挥更大的作用。同时,用MATLAB计算有关数字滤波器的设计参数,如H(z)、h(n)等,对于数字滤波器的硬件实现也提供了一条简单而准确的途径和依据。6、 参考文献1 谢自美.电子电路设计.实验.测试.武昌:华中理工大学出版社,1994 2数字信号处理的原理和实现 第二版,刘泉 主编,武汉理工大学出版社 3 数字信号处理教程 程佩青,清华大学出版社
51、4 数字信号处理丁玉美、高西全编著,西安电子科技大学出版社 5数理统计与MATLAB工程数据分析,王岩,隋思涟,王爱青,清华大学出版社七、程序源代码清单function st=mstgN=1600;Fs=10000; %N为信号st的长度T=1/Fs;Tp=N*T; %采样频率Fs=10KHz,Tp为采样时间t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10; %第1路调幅信号的载波频率fc1=1000Hz,fm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hzfc2=Fs/20; %第2路调幅信号的载波频率fc2=500Hzfm
52、2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hzfc3=Fs/40; %第3路调幅信号的载波频率fc3=250Hz,fm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号st=xt1+xt2+xt3; %三路调幅信号相加fxt=fft(st,N); %计算信号st的频谱figu
53、re(1)subplot(2,1,1); %画波形图plot(t,st)title('st的时域图');xlabel('time(s)');ylabel('s(t)');axis(0,Tp/8,min(st),max(st);title('s(t)的波形')grid;subplot(2,1,2); %画波形图stem(f,abs(fxt)/max(abs(fxt),'.');axis(0,Fs/5,0,1.2);title('st的频谱图');xlabel('f(Hz)');ylab
54、el('幅度(db)');gridFs=10000;T=1/Fs; N1=1600; %采样频率Tp=N1*T;t=0:T:(N1-1)*T;k=0:N1-1;f=k/Tp;%调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st st=mstg;%低通滤波器设计与实现fp=280;fs=450; wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)N,wp=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wpb,a=ellip(N,rp,rs,wp
55、); %调用ellip计算椭圆带通DF系统函数系数向量B和Ay=filter(b,a,st); %滤波器软件实现H,W=freqz(b,a);X=fft(st,N1);Y=fft(y,N1);figure(2)subplot(2,1,1); %画滤波后信号波形图和频谱图plot(t,y)axis(0,Tp/8,min(y),max(y);title('滤波后信号时域图');xlabel('time(s)');ylabel('s(t)');grid;subplot(2,1,2);stem(f,abs(Y)/max(abs(Y),'.');axis(0,Fs/5,0,1.2);title('滤波后信号频谱图')xlabel('f(Hz)');ylabel('幅度(db)');grid;figure(3) %绘制滤波器频率响应plot(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力能源设备采购及安装合同
- 临时炊事员聘用合同
- 建筑工程施工合同多场景条款
- 拍摄场地短期租赁合同
- 工厂营销承包合同协议
- 铺位租房协议合同
- 中介合同纠纷调解协议
- 购车协议电子合同
- 琴行上课合同协议
- 饭店装修协议合同
- 层流手术室的管理
- 机电安装安全措施方案
- 中华人民共和国学前教育法-知识培训
- 康复科自查报告及整改措施
- 2024年四川省宜宾市中考英语试题含解析
- 担保公司专项检查方案
- 景区旅游安全风险评估报告
- 二级建造师《矿业工程管理与实务》试题(100题)
- 养护道班考勤管理制度
- 北师大版(2019)必修第二册 Unit6 The admirable Lesson 1 A Medical Pioneer名师教学设计
- GB/T 36187-2024冷冻鱼糜
评论
0/150
提交评论