基于MATLAB的信号研究与处理.docx
《基于MATLAB的信号研究与处理.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的信号研究与处理.docx(18页珍藏版)》请在冰豆网上搜索。
基于MATLAB的信号研究与处理
山东建筑大学
课程设计说明书
题目:
基于MATLAB的信号分析与处理
课程:
数字信号处理课程设计
院<部):
信息与电气工程学院
专业:
通信工程
班级:
通信
学生姓名:
学号:
指导教师:
完成日期:
目录
目录1
摘要2
正文3
1设计目的和要求3
2设计原理3
3设计内容4
3.1源程序代码4
3.2程序执行的结果.............................................7
3.3调试分析过程描述12
3.4结果分析12
总结与致谢14
参考文献15
摘要
随着科学技术的飞速发展,人们对信号的要求越来越高。
然而,学好《数字信号处理》这门课程是我们处理信号的基础。
MATLAB是一个处理信号的软件,我们必须熟悉它的使用。
本次课程设计利用MATLAB软件首先产生成低频、中频、高频三种频率信号,然后将三种信号合成为连续信号,对连续周期信号抽样、频谱分析,并设计低通、带通、高通三种滤波器对信号滤波,观察滤出的信号与原信号的关系,并分析了误差的产生,通对数字信号处理课程的理论知识的综合运用。
从实践上初步实现对数字信号的处理。
关键词:
MATLAB;连续信号;采样定理;滤波器;频谱分析;
正文
1设计目的和要求
<1)、产生一个连续信号,该信号中包含有低频、中频、高频分量,对其进行采样,用MATLAB绘制它们的时域波形和频域波形,对其进行频谱分析;
<2)、根据信号频谱分析的结果,分别设计合适的低通、带通、高通滤波器,用MATLAB绘制其幅频及相频特性图;
<3)、用所设计的滤波器对信号进行滤波处理,对滤波后的信号进行FFT频谱分析,用MATLAB绘制处理过程中的各种波形及频谱图,比较滤波前后的时域波形及频谱,对所得结果和滤波器性能进行分析,阐明原因,得出结论;
<4)学会使用MATLAB对信号进行分析和处理;
2设计原理
理论上信号的采样要符合奈奎斯特采样定律,就是采样频率要高一点,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。
这就是信号的时域采样。
频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。
如果系统是一个连续系统,则滤波器称为模拟滤波器。
如果系统是一个离散系统,则滤波器称为数字滤波器。
信号通过线性系统后,其输出就是输入信号和系统冲激响应的卷积。
除非输入是常数外,否则输出的波形将不同于输入波形。
从频域分析来看,信号通过线性系统后,输出信号的频谱将是输入信号的频谱与系统传递函数的乘积。
除非为常数,否则输出信号的频谱将不同于输入信号的频谱,某些频率成分较大的模,因此,中这些频率成分将得到加强,而另外一些频率成分的模很小甚至为零,中这部分频率分量将被削弱或消失。
因此,系统的作用相当于对输入信号的频谱进行加权。
IIR滤波器的设计原理
IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。
IIR数字滤波器的设计步骤:
<1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;
<2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器;
<3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;
<4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。
本课程设计设计思想:
首先利用MATLAB分别产生低频中频高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通,低通,带通滤波器,得到滤波器的幅频及相频特性。
3设计内容
3.1程序源代码
f1=40。
f2=200。
f3=800。
t=(1:
80>/2400。
x1=sin(2*pi*f1*t>。
x2=sin(2*pi*f2*t>。
x3=sin(2*pi*f3*t>。
xt=x1+x2+x3。
figure(1>。
subplot(2,2,1>。
plot(x1>。
gridon。
axis([080-1.21.2]>。
line([0,80],[0,0]>。
%画横坐标轴线
xlabel('t/2400'>。
ylabel('x1(t>'>。
title('低频分量'>。
figure(1>。
subplot(2,2,2>。
plot(x2>。
gridon。
axis([080-1.21.2]>。
line([0,80],[0,0]>
xlabel('t/2400'>。
ylabel('x2(t>'>。
title('(b>中频分量'>。
figure(1>。
subplot(2,2,3>。
plot(x3>。
gridon。
axis([080-1.21.2]>。
line([0,80],[0,0]>。
xlabel('t/2400'>。
ylabel('x3(t>'>。
title('(c>高频分量'>。
figure(1>。
subplot(2,2,4>。
plot(xt>。
gridon。
axis([080-3.23.2]>。
line([0,80],[0,0]>
xlabel('t/2400'>。
ylabel('x(t>'>。
title('(d>含有三种频率的连续信号'>。
%绘制采样后各信号及其傅里叶变换
n=1:
80。
fs=2000。
T=1/fs。
M=1024。
x1n=sin(2*pi*f1*n*T>。
x2n=sin(2*pi*f2*n*T>。
x3n=sin(2*pi*f3*n*T>。
xn=x1n+x2n+x3n。
X1=fft(x1n,M>。
%计算xn的1024点DFT,近似表示序列的傅里叶变换
X2=fft(x2n,M>。
X3=fft(x3n,M>。
Xjw=fft(xn,M>。
k=0:
M-1。
wk=2*k/M。
%产生M点DFT对应的采样点频率(关于π归一化值>
figure(2>。
subplot(2,1,1>。
stem(n,x1n,'.'>。
gridon。
axis([082-1.21.2]>。
xlabel('n'>。
ylabel('x1(n>'>。
title('(e>采样后x1(n)的波形'>。
figure(2>。
subplot(2,1,2>。
plot(wk,abs(X1>>。
%绘制M点DFT的幅频特性图
axis([01.1046]>。
line([0,1.1],[0,0]>
gridon。
xlabel('ω/π'>。
ylabel('幅度'>。
title('(f>FT[x1(n>]的幅频特性图'>。
figure(3>。
subplot(2,1,1>。
stem(n,x2n,'.'>。
gridon。
axis([082-1.21.2]>。
xlabel('n'>。
ylabel('x2(n>'>。
title('(g>采样后x2(n)的波形'>。
figure(3>。
subplot(2,1,2>。
plot(wk,abs(X2>>。
axis([01.1046]>。
line([0,1.1],[0,0]>
gridon。
xlabel('ω/π'>。
ylabel('幅度'>。
title('(h>FT[x2(n>]的幅频特性图'>。
figure(4>。
subplot(2,1,1>。
stem(n,x3n,'.'>。
gridon。
axis([082-1.21.2]>。
xlabel('n'>。
ylabel('x3(n>'>。
title('(g>采样后x3(n)的波形'>。
figure(4>。
subplot(2,1,2>。
plot(wk,abs(X3>>。
axis([01.1046]>。
line([0,1.1],[0,0]>
gridon。
xlabel('ω/π'>。
ylabel('幅度'>。
title('(i>FT[x3(n>]的幅频特性图'>。
figure(5>。
subplot(1,1,1>。
stem(n,xn,'.'>。
gridon。
axis([082-3.23.2]>。
xlabel('n'>。
ylabel('x(n>'>。
title('(j>采样后x(n)的波形'>。
figure(6>。
subplot(2,1,1>。
plot(wk,abs(Xjw>>。
axis([01.1046]>。
line([0,1.1],[0,0]>
gridon。
xlabel('ω/π'>。
ylabel('幅度'>。
title('(k>FT[x(n>]的幅频特性图'>。
figure(6>。
subplot(2,1,2>。
plot(wk,angle(Xjw>>。
%绘制x(n>的相频特性图
axis([01.1-3.23.2]>。
line([0,1.1],[0,0]>
gridon。
xlabel('ω/π'>。
ylabel('相位'>。
title('(l>FT[x(n>]的相频特性图'>。
%绘制低通频谱图
N=5。
wc=0.0882。
[B,A]=butter(N,wc,'low'>。
[H,w]=freqz(B,A,M>。
yn=filter(B,A,xn>。
Y=fft(yn,M>。
figure(7>。
subplot(2,2,1>。
plot(w*2400/(2*pi>,abs(H>>。
gridon。
xlabel('Hz'>。
ylabel('幅度'>。
title('(m>低通滤波器的幅频特性图'>。
figure(7>。
subplot(2,2,2>。
plot(w*2400/(2*pi>,angle(H>>。
gridon。
line([0,1500],[0,0]>
xlabel('Hz'>。
ylabel('相位'>。
title('(n>低通滤波器的相频特性图'>。
figure(7>。
subplot(2,2,3>。
plot(yn>。
axis([082-1.21.2]>。
line([0,80],[0,0]>
gridon。
xlabel('t'>。
ylabel('x(t>'>。
title('(o>低通滤波器滤波后的波形'>。
figure(7>。
subplot(2,2,4>。
plot(wk,abs(Y>>。
axis([01.1040]>。
line([0,1.1],[0,0]>
gridon。
xlabel('ω/π'>。
ylabel('幅度'>。
title('(p>低通滤波后的幅频特性图'>。
%绘制带通频谱图
N=6。
wc=[2001000]/2000。
[B,A]=butter(N,wc>。
[H,w]=freqz(B,A,M>。
yn=filter(B,A,xn>。
Y=fft(yn,M>。
figure(8>。
subplot(2,2,1>。
plot(w*2400/(2*pi>,abs(H>>。
gridon。
xlabel('Hz'>。
ylabel('幅度'>。
title('(q>带通滤波器的幅频特性图'>。
figure(8>。
subplot(2,2,2>。
plot(w*2400/(2*pi>,angle(H>>。
gridon。
line([0,1500],[0,0]>
xlabel('Hz'>。
ylabel('相位'>。
title('(r>带通滤波器的相频特性图'>
figure(8>。
subplot(2,2,3>。
plot(yn>。
axis([082-1.21.2]>。
line([0,82],[0,0]>
gridon。
xlabel('t'>。
ylabel('x(t>'>。
title('(s>带通滤波器滤波后的波形'>。
figure(8>。
subplot(2,2,4>。
plot(wk,abs(Y>>。
axis([01.1046]>。
line([0,1.1],[0,0]>
gridon。
xlabel('ω/π'>。
ylabel('幅度'>。
title('(t>带通滤波后的幅频特性图'>。
%绘制高通频谱图
N=8。
wc=0.412。
[B,A]=butter(N,wc,'high'>。
[H,w]=freqz(B,A,M>。
yn=filter(B,A,xn>。
Y=fft(yn,M>。
figure(9>。
subplot(2,2,1>。
plot(w*2400/(2*pi>,abs(H>>。
gridon。
xlabel('Hz'>。
ylabel('幅度'>。
title('(u>高通滤波器的幅频特性图'>。
figure(9>。
subplot(2,2,2>。
plot(w*2400/(2*pi>,angle(H>>。
line([0,1500],[0,0]>
gridon。
xlabel('Hz'>。
ylabel('相位'>。
title('(w>高通滤波器的相频特性图'>。
figure(9>。
subplot(2,2,3>。
plot(yn>。
axis([082-1.21.2]>。
line([0,82],[0,0]>
gridon。
xlabel('t'>。
ylabel('x(t>'>。
title('(w>高通滤波器滤波后的波形'>。
figure(9>。
subplot(2,2,4>。
plot(wk,abs(Y>>。
axis([01.1046]>。
line([0,1.1],[0,0]>
gridon。
xlabel('ω/π'>。
ylabel('幅度'>。
title('(x>高通滤波后的幅频特性图'>。
3.2程序执行的结果
以上所有程序为一个程序,运行结果如下各图:
1-1产生的四种连续信号
1-2采样后低频分量的波形及其幅频特性
1-3采样后中频分量的波形及其幅频特性
1-4采样后高频分量的波形及其幅频特性
1-5采样后混频信号的波形
1-6采样后混频信号的幅频特性和相频特性
1-7混频信号通过低通滤波器后的波形及其幅频特性
1-8混频信号通过带通滤波器后的波形及其幅频特性
1-9混频信号通过高通滤波器后的波形及其幅频特性
3.3调试分析过程描述
在本次实验中,使用的滤波器是巴特沃斯滤波器如果在实验过程中出现了滤波器对连续信号滤波不明显的原因,导致结果很不理想,只可能是设计滤波器时对滤波器的参数设置有一定的误差。
通过多次设置滤波器参数,得到以上各图,虽然不是百分之百的理想,但滤波器基本可以实现将其他两种频率滤出,只保留单一的频率。
3.4结果分析
图1-1:
MATLAB绘制出的各连续信号包括低频信号的波形,中频信号的波形高频信号的波形,混频信号的波形。
为了画图好看,图中的时间被扩大了2400倍。
对于x3(t>,它的最大值达不到1,估计是其频率太大,MATLAB只能处理离散信号引起。
低通滤波器滤波后的波形1-7中,时域波形带通滤波器滤波后的波形1-8中,时域波形
高通滤波器滤波后的波形1-9中,时域波形从实验中可知,每一个信号的都是在它自身频率处,幅值达到最大。
低通滤波带通滤波高通滤波后的波形与先前信号的波形出入不大。
出现误差的原因:
在设计滤波器的参数时并不是十分的准确,在不同计算机上运行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.