山东建筑大学基于MATLAB的信号分析与处理课程设计.docx
《山东建筑大学基于MATLAB的信号分析与处理课程设计.docx》由会员分享,可在线阅读,更多相关《山东建筑大学基于MATLAB的信号分析与处理课程设计.docx(15页珍藏版)》请在冰点文库上搜索。
山东建筑大学基于MATLAB的信号分析与处理课程设计
山东建筑大学
课程设计说明书
题目:
基于MATLAB的信号分析与处理
课程:
数字信号处理课程设计
院(部):
信息与电气工程学院
专业:
通信工程
班级:
学生姓名:
学号:
指导教师:
完成日期:
2011年1月
目录
目录1
摘要2
正文3
1设计目的和要求3
2设计原理3
3设计内容4
(1)程序源代码4
(2)调试分析过程描述6
(3)结果分析12
总结与致谢13
参考文献14
摘要
随着计算机和信息科学的飞速发展,信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分。
本文利用MATLAB软件首先产生成低频、中频、高频三种频率信号,然后将三种信号合成为连续信号,对连续周期信号抽样、频谱分析,并设计低通、带通、高通三种滤波器对信号滤波,观察滤出的信号与原信号的关系,并分析了误差的产生,通对数字信号处理课程的理论知识的综合运用。
从实践上初步实现对数字信号的处理。
关键词:
MATLAB;滤波器;连续信号;频谱分析
正文
1设计目的和要求
产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。
2设计原理
理论上信号的采样要符合奈奎斯特采样定律,就是采样频率要高一点,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。
这就是信号的时域采样。
频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。
如果系统是一个连续系统,则滤波器称为模拟滤波器。
如果系统是一个离散系统,则滤波器称为数字滤波器。
信号通过线性系统后,其输出就是输入信号和系统冲激响应的卷积。
除了外,的波形将不同于输入波形。
从频域分析来看,信号通过线性系统后,输出信号的频谱将是输入信号的频谱与系统传递函数的乘积。
除非为常数,否则输出信号的频谱将不同于输入信号的频谱,某些频率成分较大的模,因此,中这些频率成分将得到加强,而另外一些频率成分的模很小甚至为零,中这部分频率分量将被削弱或消失。
因此,系统的作用相当于对输入信号的频谱进行加权。
IIR滤波器的设计原理
IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。
IIR数字滤波器的设计步骤:
(1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;
(2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器;
(3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;
(4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。
本课程设计设计思想:
首先利用MATLAB分别产生低频中频高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通,低通,带通滤波器,得到滤波器的幅频及相频特性。
3设计内容
(1)程序源代码
f1=20;
f2=200;
f3=500;
t=(1:
100)/2000;
x1=sin(2*pi*t*f1);
figure
(1);subplot(2,1,1);plot(x1);%绘制x(t)的图形
xlabel('t');ylabel('x1(t)');
title('连续信号');
grid;
x2=sin(2*pi*t*f2);
subplot(2,1,2);plot(x2);%绘制x2(t)的图形
xlabel('t');ylabel('x2(t)');
title('连续信号');
grid;
x3=sin(2*pi*t*f3);
figure
(2);subplot(2,1,1);plot(x3);%绘制x3(t)的图形
xlabel('t');ylabel('x3(t)');
title('连续信号');
grid;
x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3);
subplot(2,1,2);plot(x);%绘制x(t)的图形
xlabel('t');ylabel('x(t)');
title('连续信号');
grid;
n=[1:
100];t=n/2000
X=fft(x,512);w=(0:
255)/256*1000;
x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3);
figure(3);stem(x);%绘制x(n)的图形
xlabel('n');ylabel('x(n)');
title('数字信号');
grid;
figure(4);plot(w,abs([X(1:
256)]));%绘制频谱图
xlabel('Hz');ylabel('频率响应幅度');
title('频谱图');
grid;
[B,A]=butter(8,100/1000,'low');
[H,w]=freqz(B,A,512);
figure(5);subplot(2,1,1);
plot(w*2000/(2*pi),abs(H));%绘制低通频谱图
xlabel('Hz');ylabel('频率响应幅度');
title('低通滤波器');
grid;
subplot(2,1,2);plot(w/(2*pi),angle(H));
xlabel('Hz');ylabel('angle');
title('相位特性');
grid;
y=filter(B,A,x);
figure(6);subplot(2,1,1);plot(y);
xlabel('t');ylabel('x(t)');
title('连续信号');
grid;
Y=fft(y,512);w=(0:
255)/256*1000;
subplot(2,1,2);plot(w,abs([Y(1:
256)]));%绘制频谱图
xlabel('Hz');ylabel('频率响应幅度');
title('频谱图');
grid;
n=8;wn=[100300]/1000;
[B,A]=butter(n,wn);
[H,w]=freqz(B,A,512);
figure(7);subplot(2,1,1);
plot(w*2000/(2*pi),abs(H));%绘制带通频谱图
xlabel('Hz');ylabel('频率响应幅度');
title('带通滤波器');
grid;
subplot(2,1,2);plot(w/pi,angle(H));
xlabel('Hz');ylabel('angel');
title('相位特性');
grid;
y=filter(B,A,x);
figure(8);subplot(2,1,1);plot(y);
xlabel('t');ylabel('x(t)');
title('连续信号');
grid;
Y=fft(y,512);w=(0:
255)/256*1000;
subplot(2,1,2);plot(w,abs([Y(1:
256)]));%绘制频谱图
xlabel('Hz');ylabel('频率响应幅度');
title('频谱图');
grid;
[B,A]=butter(8,300/1000,'high');
[H,w]=freqz(B,A,512);
figure(9);subplot(2,1,1);
plot(w*2000/(2*pi),abs(H));%绘制高通频谱图
xlabel('Hz');ylabel('频率响应幅度');
title('高通滤波器');
grid;
subplot(2,1,2);plot(w/pi,angle(H));
xlabel('Hz');ylabel('angle');
title('相位特性');
grid;
y=filter(B,A,x);
figure(10);subplot(2,1,1);plot(y);
xlabel('t');ylabel('x(t)');
title('连续信号');
grid;
Y=fft(y,512);w=(0:
255)/256*1000;
subplot(2,1,2);plot(w,abs([Y(1:
256)]));%绘制频谱图
xlabel('Hz');ylabel('频率响应幅度');
title('频谱图');
grid;
(2)调试分析过程描述
产生的低中高频信号
在实验过程中出现了滤波器对连续信号滤波不明显的原因,导致结果很不理想。
经过仔细检查源程序,发现是在设计滤波器时对滤波器的参数设置有一定的误差,从而导致了结果的不正确。
(3)结果分析
由上述结果显示,在误差允许的范围内实验结果与理论结果相同。
低通滤波带通滤波高通滤波后的波形与先前信号的波形出入不大。
出现误差的原因:
在设计滤波器的参数时并不是十分的准确,在不同计算机上运行MATLAB时会有一定的偶然误差,从而导致实验误差的存在。
总结与致谢
通过此次数字信号处理课程设计,我了解了关于MATLAB软件在数字信号处理方面的应用,又一次学习了MATLAB软件的使用和程序的设计,加深了对MATLAB的仿真的了解,我对数字信号处理的理解更加加深了一步。
MATLAB拥有强大的数据仿真能力,在生产和研究中起着非常大的作用。
MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。
特别是MATLAB还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。
这使得我在以后的学习工作做了很好的铺垫,在这过程中我遇到了所多的难题,通过与老师的交流和学习,让我学会了很多在课堂上没有理解的难点。
同时也进一步加深了对MATLAB的理解和认识。
MATLAB软件使得困难、枯燥的数字处理过程变得非常简单,不仅能够非常迅速的计算出幅频相频、卷积、DFT、FFT等,而且还能自动画出连续、离散的波形曲线。
使我们能非常直观的了解数字信号的处理结果。
最后,在这里要感谢老师的指导。
没有老师的指导督促,本次课程设计也不能按时按质的完成。
同时还要感谢同学的帮助,我们一起查资料、调程序,一起收获成功的喜悦。
通过一点一点的积累,我相信我能为祖国的通信行业做出我应有的贡献。
参考文献
[1]高西全、丁玉美编著.数字信号处理.西安:
西安电子科技大学出版社,2008.
[2]丁玉美、高西全编著.数字信号处理学习指导.西安:
西安电子科技大学出版社,2001.
[3]郑君里等编.信号与系统.北京:
高等教育出版社,2000.
[4]刘树棠译.数字信号处理——使用MATLAB.西安:
西安交通大学出版社,2002.
[5]导向科技编著.MATLAB程序设计与实例应用.北京:
中国铁道出版社,2001.
[6]罗军辉等编著.MATLAB7.0在数字信号处理中的应用.北京:
机械工业出版社,2005.
[7]陈怀琛等编著.MATLAB及在电子信息课中的应用.北京:
电子工业出版社,2002.
[8]胡广书编著.数字信号处理――理论、算法与实现.北京:
清华大学出版社,2002.
[9]梁虹等编.信号与线性系统分析――基于MATLAB的方法与实现.北京:
高等教育出版社,2006.
[10]刘卫国主编.MATLAB程序设计与应用(第二版).北京:
高等教育出版社,2006.