课程设计音乐信号的滤波处理.docx
《课程设计音乐信号的滤波处理.docx》由会员分享,可在线阅读,更多相关《课程设计音乐信号的滤波处理.docx(16页珍藏版)》请在冰豆网上搜索。
课程设计音乐信号的滤波处理
课程设计说明书
2009-2010学年第二学期
课程设计任务书
2009/2010学年第二学期
学院:
信息与通信工程学院
专业:
信息对抗技术专业
学生姓名:
学号:
课程设计题目:
信息处理实践
音乐信号的滤波处理
起迄日期:
6月12日~6月25日
课程设计地点:
指导教师:
系主任:
下达任务书日期:
2010年6月11日
课程设计任务书
1.设计目的:
1、通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力;
2、掌握Matlab的使用方法,能熟练运用该软件设计并仿真通信系统;
3、通过信息处理实践的课程设计,掌握设计信息处理系统的思维方法和基本开发过程。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
一、学习Matlab软件
1、熟悉Matlab的运行环境;
2、学会并掌握m语言编程;
3、根据所设计系统的需要会合理设定需完成系统的各项参数;
4、根据所设计系统的需要,优化程序设计最优系统。
二、实践设计要求:
1、根据所选题目,设计实现系统的原理框图。
2、编写m语言程序,给出系统不同节点输出波形。
3、每人一组,写出设计报告。
三、参考题目
题目1:
音乐信号的滤波处理
(1)
1、在windows下录制自己的一段语音信号或选取一段MP3文件;
2、在语音信号上分别叠加均匀白噪声和高斯白噪声,使信噪比为(学号)dB;
3、对叠加噪声前后的信号进行频谱分析,确定降噪的滤波器指标;
4、根据滤波器指标利用双线性变换法设计滤波器,在Matlab平台下编写程序,并观察分析滤波器的幅频特性、相频特性和群延时,以及滤波前后信号时域特性和频域特性。
题目2:
音乐信号的滤波处理
(2)
1、在windows下录制自己的一段语音信号或选取一段MP3文件;
2、在语音信号上分别叠加均匀白噪声和高斯白噪声,使信噪比为(学号)dB;
3、对叠加噪声前后的信号进行频谱分析,确定降噪的滤波器指标;
4、根据滤波器指标利用冲激响应不变法设计滤波器,在Matlab平台下编写程序,并观察分析滤波器的幅频特性、相频特性和群延时,以及滤波前后信号时域特性和频域特性。
题目3:
数字基带传输系统眼图分析仿真
1、根据数字基带传输系统原理,建立数字基带传输系统原理框图;
2、生成任意二进制信号作为数字基带信号的信源,设信道为高斯白噪声,观察并分析(学号)dB信噪比条件下系统的输出结果,并利用眼图分析方法给出眼图分析结果;
3、对数字基带信号进行M序列加扰,在接收端对其进行解扰,其余条件同2。
根据要求,在Matlab平台下编写程序。
题目4:
音乐信号的滤波处理(3)
1、在windows下录制自己的一段语音信号或选取一段MP3文件;
2、在语音信号上分别叠加均匀白噪声和高斯白噪声,使信噪比为(学号)dB;
3、对叠加噪声前后的信号进行频谱分析,确定降噪的滤波器指标;
4、根据滤波器指标利用窗函数法设计滤波器,在Matlab平台下编写程序,并观察分析滤波器的幅频特性、相频特性和群延时,以及滤波前后信号时域特性和频域特性。
题目5:
音乐信号的滤波处理(4)
1、在windows下录制自己的一段语音信号或选取一段MP3文件;
2、在语音信号上分别叠加均匀白噪声和高斯白噪声,使信噪比为(学号)dB;
3、对叠加噪声前后的信号进行频谱分析,确定降噪的滤波器指标;
4、根据滤波器指标利用频率抽样法设计滤波器,在Matlab平台下编写程序,并观察分析滤波器的幅频特性、相频特性和群延时,以及滤波前后信号时域特性和频域特性。
题目6:
平顶抽样与自然抽样仿真
1、生成任一高斯白噪声信号f(t);
2、将高斯白噪声信号的带宽限制在(学号)kHz,形成信号x(t);
3、根据平顶抽样和自然抽样的原理框图,对x(t)信号分别进行平顶抽样和自然抽样。
在Matlab平台下编写程序,观察并分析抽样前后信号的时域与频域结果;
4、对抽样后的信号进行恢复,比较分析抽样前与恢复后的信号。
注:
以上6个题目中学号为班级学号的后两位,如0705094123,学号为23
选题要求:
学号对6取余,余数为1,选择题目1;
余数为2,选择题目2;
余数为3,选择题目3;
余数为4,选择题目4;
余数为5,选择题目5;
余数为0,选择题目6。
课程设计任务书
3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:
每个同学独立完成自己的任务,每人写一份设计报告,在课程设计论文中写明自己设计的部分,给出设计的matlab的程序与仿真波形图。
4.主要参考文献:
1.南利平等.通信原理简明教程(第2版).北京:
清华大学出版社.2009
2.郑君里等.信号与系统(第二版).北京:
高等教育出版社.2000
3.matlab相关书籍
5.设计成果形式及要求:
设计的程序;
课程设计说明书。
6.工作计划及进度:
6月12日~6月13日相关资料查阅;
6月17日~6月18日相关软件的学习;
6月21日~6月23日方案设计,建立模型并实现;
6月24日书写课程设计说明书;
6月25日答辩、成绩考核。
系主任审查意见:
签字:
年月日
目录
一、设计目的……………………………………………………………
二、设计要求……………………………………………………………
三、设计原理……………………………………………………………
四、设计步骤……………………………………………………………
1、设计方案……………………………………………………………………
2、设计过程……………………………………………………………………
3、设计结果……………………………………………………………………
五、设计总结……………………………………………………………
六、参考资料……………………………………………………………
一、设计目的
1、通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力;
2、掌握Matlab的使用方法,能熟练运用该软件设计并仿真通信系统;
3、通过信息处理实践的课程设计,掌握设计信息处理系统的思维方法和基本开发过程。
二、设计要求
1、根据所选题目,设计实现系统的原理框图。
2、编写m语言程序,给出系统不同节点输出波形。
3、每人一组,写出设计报告。
三、设计原理
双线性变换法原理:
为了克服脉冲响应不变法所存在的缺点,提出采用双线性变换法。
该法的基本思想是首先按给定的指标设计一个模拟滤波器,其次将这个模拟滤波器的系统函数H(s),通过适当的数学变换方法把无限宽的频带,变换成频带受限的系统函数H(s~)。
最后再将H(s~)进行常规z变换,求得数字滤波器的系统函数H(z)。
这样由于在数字化以前已经对频带进行了压缩,所以数字化以后的频响可以做到无混叠效应。
显然,这里寻找压缩频带而又能满足上述映射条件的变换式是个关键。
设将s平面映射到s~平面存在下列的关系式
(1)
式中s~=σ~+jω~,C为变换常数,在式的右边是以ω~表示的周期函数,其周期为2π/T。
如果考虑频率特性则分别以s=jω,s~=jω~代入式
(1)故得:
(2)
现以ω为纵坐标,Ω~=ω~T为横坐标,则模拟与数字频率变量间的关系将如图所示。
结合式
(1)不难看出;s的左半平面与s~的左半平面相对应;s的右半平面与s~的右半平面相对应;s平面的虚轴与s~平面的虚轴相对应。
它们之间主要的区别在于s平面-∞<ω<∞的无限频率范围,被映射到s~平面的主值范围内,即:
也就是说,通过变换式
(1)把整个 s平面映射到s~平面以+-ωs/2为边界的水平窄区内。
这避免数字化后可能出现的频谱混叠提供了必要条件。
为了求出数字滤波器的系统函数,最后还得通过常规z变换将s~平面变换到z平面上来,其关系式为:
(3)
显见,这时在s~左半平面的窄区就被映射到z平面的单位圆内。
现将式(3代入式(1最后求得:
或
(4)
该式是两个线性函数之比,称为线性分式变换,若把它展开求z,则得:
(5)
可见,其反变换也是线性分式函数,所以这种变换是双向的,因此叫做双线性变换。
双线性变换仍然具有将s的左半平面映射到z平面单位圆内;jω轴映射到单位圆上的基本性质。
因为当σ=0时,│z│=1,说明s平面jω轴映射到z平面单位圆上。
当σ<0时,上式中的分母大于分子│z│<1,说明s左半平面映射到z平面单位圆内。
因而它们一一对应,有着单值关系,是一种保角交换。
因此一个稳定的模拟滤波器,通过双线性变换只能得到一个(唯一)稳定的数字滤波器。
它不象脉冲响应不变法那样,由于在z平面与s平面之间的映射存在着多值关系,以至在s平面上许多不同的ω值,映射到z平面后都重叠在一个点子上,造成频谱混叠。
由此可见,双线性变换法将;频带严格限制在ωs/2范围内,从根本上消除了频谱混叠。
四、设计步骤
(一)、设计方案
1、在windows下录制自己的一段语音信号或选取一段MP3文件;
2、在语音信号上分别叠加均匀白噪声和高斯白噪声,使信噪比为13dB;
3、对叠加噪声前后的信号进行频谱分析,确定降噪的滤波器指标;
4、根据滤波器指标利用双线性变换法设计滤波器,在Matlab平台下编写程序,并观察分析滤波器的幅频特性、相频特性和群延时,以及滤波前后信号时域特性和频域特性。
(二)、设计过程
所选语音信号为aplacenearby.wav
1、读取声音信号并画出频谱图
[y,fs,bits]=wavread('aplacenearby.wav');%读取声音信号
sound(y,fs,bits);%播放
N=length(y);%求出声音信号长度
M=length(fs);
Y=fft(y,N);%进行傅里叶变换
figure
(1);
subplot(311);
plot(y)
title('声音信号的波形');gridon
subplot(312);
plot(abs(Y));%axis([-5000,185000,-1.2,1.2]);
title('声音信号的幅频响应曲线');xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');gridon
subplot(313)
plot(angle(Y));%axis([-200,4500,-10,600]);
title('声音信号的相频响应曲线');xlabel('\omega/\pi');ylabel('\phi(\omega)');gridon
2、在音频信号上加入均匀白噪声和高斯白噪声,画出加入白噪声后的频谱图
I=1;%噪声强度
y1=y+1*rand(M,1);%加均匀白噪声
sound(y1,fs,bits);
y2=awgn(y,13);%加高斯白噪声,信噪比为学号13
sound(y2,fs,bits);
Y1=fft(y1,N);%进行傅里叶变换
Y2=fft(y2,N);%进行傅里叶变换
figure
(2);
subplot(311);
plot(y1)
title('加均匀白噪声后的声音信号波形');
subplot(312);
plot(abs(Y1));%axis([-5000,185000,-1.2,1.2]);
title('y1声音信号的幅频响应曲线');xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');gridon
subplot(313)
plot(angle(Y1));%axis([-200,4500,-10,600]);
title('y1声音信号的相频响应曲线');xlabel('\omega/\pi');ylabel('\phi(\omega)');gridon
subplot(311);
plot(y2)
title('加高斯白噪声后的声音信号波形');gridon
subplot(312);
plot(abs(Y2));%axis([-5000,185000,-1.2,1.2]);
title('y2声音信号的幅频响应曲线');xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');gridon
subplot(313)
plot(angle(Y2));%axis([-200,4500,-10,600]);
title('y2声音信号的相频响应曲线');xlabel('\omega/\pi');ylabel('\phi(\omega)');gridon
3、对比信号的频谱
figure(3);
subplot(311);
plot(abs(Y));%axis([-5000,185000,-1.2,1.2]);
title('原始声音信号的幅频响应曲线');xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');gridon
subplot(312);
plot(abs(Y1));%axis([-5000,185000,-1.2,1.2]);
title('加均匀白噪声后的幅频响应曲线');xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');gridon
subplot(313);
plot(abs(Y2));%axis([-5000,185000,-1.2,1.2]);
title('加高斯白噪声后的幅频响应曲线');xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');gridon
4、确定滤波器的设计参数并对加噪声信号去噪处理
Ft=8000;Fp=1000;Fs=1200;T=1;
Ap=1;As=50;%衰减系数
wp=(2/T)*pi*Fp/Ft;ws=(2/T)*pi*Fs/Ft;
fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);
[bLP,aLP]=buttord(wp,ws,Ap,As,'s');%求带通滤波器的阶数和截止频率
[bBP,aBP]=butter(bLP,aLP,'s');%求s域的频率响应参数
[b,a]=bilinear(bBP,aBP,0.5);%利用双线性变换法实现s域到z域的变换
figure(5);
subplot(211);
plot(abs(b));%axis([0,7,-0.2,1.2]);
gridon
xlabel('w(rad)');ylabel('|H(jw)|');title('ƵÆ׺¯Êý');gridon
subplot(212);
plot(20*log10(abs(b)));%axis([0,2*pi,-120,20]);
gridon
xlabel('w(rad)');ylabel('20*lg|H(jw)|(db)');title('20*lg|H(jw)|--w');gridon
yy1=filter(b,a,y1);%滤波函数
yy2=filter(b,a,y2);
%%%%%%%%%%%%%%%%
YY1=fft(yy1);%求滤波后的信号
YY2=fft(yy2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(4);
subplot(221);plot(yy1);title('yy1Â˲¨ºó²¨ÐÎ');gridon
subplot(222);plot(abs(YY1),'r');title('yy1Â˲¨ºóƵÆ×');gridon
subplot(223);plot(yy2);title('yy2Â˲¨ºó²¨ÐÎ');gridon
subplot(224);plot(abs(YY2),'r');title('yy2Â˲¨ºóƵÆ×');gridon
(三)、设计结果
五、设计总结
本次课程设计我是用双线性变换法设计滤波器,用matlab进行仿真,这次可程设计是数字信号处理和matlab软件的一次结合,让我更深的理解了理论和实践相结合的重要性,我将会继续努力,多多实践,理论和实践最好的联系起来,将自己的实力进行提高。
六、参考资料