Matlab环境下采样定理的验证Word文档下载推荐.docx
《Matlab环境下采样定理的验证Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Matlab环境下采样定理的验证Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
的频谱图,并画出x(n),
的波形,进行对比。
三.课程设计要求
1.要求独立完成设计任务。
2.课程设计说明书封面格式要求见《天津城市建设学院课程设计教学工作规范》附表1
3.课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。
4.运行程序,观察并保存程序运行结果,能够对运行结果进行结果分析。
5.课设说明书要求:
1)说明题目的设计原理和思路、采用方法及程序。
2)详细说明调试方法和调试过程,并给程序加注释。
3)给出程序运行结果,并对其进行说明和分析。
指导教师(签字):
系/教研室主任(签字):
批准日期:
2013年12月19日
第1章数字信号处理介绍
1.1背景知识
数字信号处理是20世纪60年代,随着信息学科和计算机学科的高速发展而迅速发展起来的一门新兴学科。
它的重要性日益在各个领域的应用中表现出来。
数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数字的数值计算方法处理(例如:
滤波、变换、增强、估计、识别等),达到提取有用信息便于应用的目的。
数字信号处理(DigitalSignalProcessing,简称DSP)是一门设计许多学科而又广泛应用于许多领域的新兴学科。
DSP有两种含义:
DigitalSignalProcessing(数字信号处理)、DigitalSignalProcessor(数字信号处理器)。
我们常说的DSP指的是数字信号处理器。
数字信号处理器是一种适合完成数字信号处理运算的处理器。
广义来说,数字信号处理是研究用数字方法对信号进行分析、变换、滤波、检测、调制、解调以及快速算法的一门技术学科。
但很多人认为:
数字信号处理主要是研究有关数字滤波技术、离散变换快速算法和谱分析方法。
随着数字电路与系统技术以及计算机技术的发展,数字信号处理技术也相应地得到发展,其应用领域十分广泛。
1.2MATLAB软件介绍
MATLAB是矩阵实验室(MatrixLaboratory)之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
经过不断完善MATLAB已经发展成为适合多学科,多种工作平台的功能强大大大型软件。
成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具。
MATLAB的语言特点:
(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。
(2)运算符丰富。
(3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
(4)程序限制不严格,程序设计自由度大。
(5)MATLAB的图形功能强大。
(6)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。
由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
第2章设计目的及要求
2.1设计目的
1理解并掌握序列的采样定理的条件,并进行验证;
2学会运用MATLAB验证函数的采样定理;
3学会运用MATLAB画出函数的幅频曲线;
2.2设计要求
1掌握利用MATLAB在数字信号处理中的基本应用,并会对结果用所学知识进行分析;
2对连续信号进行采样,在满足采样定理和不满足采用定理两种情况下对连续信号和采样信号进行FFT频谱分析;
3从采样信号中恢复原信号,对不同采样频率下的恢复信号进行比较分析。
第3章设计原理
3.1整体设计原理
利用Matlab对连续信号进行采样,对比采样频率
三种情况下的频谱,并与理想频谱进行分析,进而从实验上验证时域采样定理。
由时域采样原理和频域采样原理,得到一个有用的结论,这两个采样理论具有对偶性:
“时域采样频谱周期延拓,频域采样时域信号周期延拓”。
因此放在一起进行实验。
3.2时域采样定理
模拟信号经过(A/D)变换转换为数字信号的过程称为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率fs,重复出现一次。
为保证采样后信号的频谱形状不失真,采样频率必须大于信号中最高频率成分的两倍,这称之为采样定理。
3.2.1时域采样定理公式的推导
(1)对模拟信号
以间隔T进行时域等间隔理想采样,形成的采样信号的频谱
是原模拟信号频谱
以采样角频率
(
)为周期进行周期延拓。
公式为:
(2)采样频率
必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。
理想采样信号
和模拟信号
之间的关系为
对上式进行傅立叶变换,得到:
在上式的积分号内只有当
时,才有非零值,因此:
3.2.2采样信号的恢复
可用传输函数
的理想低通滤波器不失真地将原模拟信号
恢复出来,只是一种理想恢复。
因为
(2.2.2)
理想低通滤波器的输入输出
和
=
*
(2.2.3)
3.2.3采样信号的混叠现象
对连续信号进行等间隔采样时,如果不能满足采样定理,采样后信号的频率就会重叠,即高于采样频率一半的频率成分将被重建成低于采样频率一半的信号。
这种频谱的重叠导致的失真称为混叠,而重建出来的信号称为原信号的混叠替身,因为这两个信号有同样的样本值。
3.3频域采样定理
频域采样点数N必须大于等于时域离散信号的长度M(即N≥M),才能使时域不产生混叠,则N点IDFT[
]得到的序列
就是原序列x(n),即
=x(n)。
如果N>
M,比原序列
尾部多N-M个零点;
如果N<
M,z则
=IDFT[
]发生了时域混叠失真,而且
的长度N也比x(n)的长度M短,因此。
与x(n)不相同。
3.3.1频域采样定理公式的推导
对信号x(n)的频谱函数X(ejω)在[0,2π]上等间隔采样N点,得到
则N点IDFT[
]得到的序列就是原序列x(n)以N为周期进行周期延拓后的主值区序列,公式为:
第4章设计过程的实现
4.1设计步骤
画出连续信号的时2.域波形及频谱特性曲线;
2对信号进行采样得到采样序列,画出采样频率分别是200Hz,100Hz,60Hz时的采样序列波形;
4.2设计步骤框图
图1采样定理示意
第5章设计结果及分析
5.1用MATLAB设计程序对应图形
图2时域波形与幅频特性曲线
图3信号恢复后的时域波形图
图4频域采样的频谱图
5.2设计分析
5.2.1时域采样定理的分析
由公式知原信号的最高截止频率为100Hz,由上图可知,在三种不同的采样频率下,只有采样频率为200Hz时信号恢复较好。
具体分析如下:
(1)频率为60Hz即
<
时,为原信号的欠采样信号和恢复,采样频率不满足时域采样定理,那么频移后的各相临频谱会发生相互重叠,这样就无法将他们分开,因而也不能再恢复原信号。
频谱重叠的现象被称为混叠现象。
(2)频率为100Hz即
时,为原信号的临界采样信号和恢复,上图有其采样的离散波形和频谱,从恢复后信号和原信号先对比可知,恢复情况很差,前后时域波形差别很大。
(3)频率为200Hz即
>
时,为原信号的过采样信号和恢复,由上图采样信号离散波形和频谱,可以看出采样信号的频谱是原信号频谱进行周期延拓形成的。
此时的采样是成功的,它能够恢复原信号,从时域波形可看出,从上图采样恢复后的波形可看出与原信号误差很小了,并且比上面采样所得的冲激脉冲串包含的细节要多,说明恢复信号的精度已经很高,这样我们可以利用低通滤波器得到无失真的重建。
5.2.2频域采样定理的分析
由频域采样定理可知,采样后的信号频谱是原信号频谱以采样频率为周期进行周期延拓形成的,周期性在上面两个图中都有很好的体现。
但是从16点和32点采样后的结果以及与员连续信号频谱对比可以看出,16点对应的频谱出现了频谱混叠而并非原信号频谱的周期延拓。
这是因为N取值过小导致采样角频率
,因此经周期延拓出现了频谱混叠。
而N取32时,其采样角频率
,从而可以实现原信号频谱以抽样频率为周期进行周期延拓,并不产生混叠.
本例中,x(n)的长度M=26。
从图中可以看出,当采样点数N=32大于等于序列长度M=26时,则x32(n)=IDFT[X(k)]=x(n),时域无混叠;
当采样点数N小于序列长度M时,对信号x(n)的频谱函数X(ejω)在[0,2π]上等间隔采样N=16时,N点IDFT[
]得到的序列正是原序列x(n)以16为周期进行周期延拓后的主值区序列。
由于存在时域混叠,x316(n)=IDFT[X(k)]≠x(n)。
由此可知频域采样定理的条件是:
频域采样点数N≧M。
总结
这次的数字信号处理的课设,我们做的是基于MATLAB的采样定理的验证。
采样定理在数字信号处理中是一个重要的内容。
以前的学习当中,有很多的不了解。
通过这次的课设,我清楚地掌握了采样定理的内容,学到了不少。
首先,通过本次课设,我掌握了MATLAB软件的使用,了解了其优缺点,学会了利用MATLAB实现函数的波形图及频谱图的产生。
在设计过程中,有好几次图都无法产生,通过查阅资料及网上查询,最终将所要求的图形全都画了出来。
通过这个过程,我明白了所有的软件程序调试过程中,我们只有自己亲自动手,亲自编写程序,才能学会解决问题的方法,提高自己发现问题、分析和解决问题的能力。
其次,在做课设的过程当中,常常因为一个程序搞不出来而厌烦想到放弃。
但是,正因为不断地翻阅资料,告知自己不要放弃,不要认输,最后才把程序写出来。
这个过程中我学会了无论遇到多大的困难,只有静下心来,不怕困难,努力钻研,就一定能克服困难,渡过难关。
在此次的课设中,我对数字信号处理这门学科也有了更深的认识。
在我们的学习当中,仅仅掌握课本上的知识是远远不够的,还要学会如何应用到实践中。
只有这样,我们才能更好的地去学习。
参考文献
[1]高西全,丁玉美.数字信号处理(第三版)[M].西安:
西安电子科技大学出版社,2008.10
[2]《MATLAB在数字信号处理中的应用》薛年喜主编清华大学出版社,2003年
[3]郑阿奇,曹戈,赵阳.MATLAB实用教程[M].北京:
电子工业出版社,2007.7
[4]程卫国,冯峰,姚东,徐听.MATLAB5.3应用指南[M].北京:
人民邮电出版社,2003.5
[5]陈杨.MATLAB6.X图像编程与图像处理[M].西安:
西安电子科技大学出版社,2004.4
[6]陈怀琛等编著.MATLAB及在电子信息课中的应用.北京:
电子工业出版社,2002.
[7]刘卫国主编.MATLAB程序设计与应用(第二版).北京:
高等教育出版社,2006.
附录
1.时域采样程序
clc;
clear;
closeall;
fs=500;
fs1=200;
fs2=100;
fs3=600;
%设置四重采样频率
t=0:
1/fs:
0.1;
%采集信号长度为0.1s
A=100;
b=50*2*pi;
a=10;
%连续信号xa(t)的参数
xa=exp(-a*t).*sin(b*t);
k=0:
511;
f=fs*k/512;
%由wk=2pik/512=2pifT求得模拟频率f
w=2*pi*k/512;
Xa=xa*exp(-j*[1:
length(xa)]'
*w);
%近似模拟信号频谱
T1=1/fs1;
t1=0:
T1:
x1=A*exp(-a.*t1).*sin(b*t1);
%200Hz抽样序列x1(n)
X1=x1*exp(-j*[1:
length(x1)]'
%x1(n)的512点DTFT
T2=1/fs2;
t2=0:
T2:
x2=A*exp(-a.*t2).*sin(b*t2);
%100Hz抽样序列x2(n)
X2=x2*exp(-j*[1:
length(x2)]'
%x2(n)的512点DTFT
T3=1/fs3;
t3=0:
T3:
x3=A*exp(-a.*t3).*sin(b*t3);
%60Hz抽样序列x3(n)
X3=x3*exp(-j*[1:
length(x3)]'
%x3(n)的512点DTFT
figure
(1);
subplot(2,2,1);
plot(t,xa);
axis([0,max(t),min(xa),max(xa)]);
title('
模拟信号'
);
xlabel('
t(s)'
%X-轴标注
ylabel('
Xa(t)'
%Y-轴标注
line([0,max(t)],[0,0]);
%添加网格和绘X-轴线
subplot(2,2,2);
plot(f,abs(Xa)/max(abs(Xa)));
模拟信号的幅度频谱'
axis([0,500,0,1]);
f(Hz)'
|Xa(jf)|'
subplot(2,2,3);
stem(t1,x1,'
.'
%绘棒状图,末端用实心圆点
line([0,max(t1)],[0,0]);
axis([0,max(t1),min(x1),max(x1)]);
抽样序列x1(n)(fs1=200Hz)'
n'
X1(n)'
f1=fs1*k/512;
subplot(2,2,4);
plot(f1,abs(X1)/max(abs(X1)));
x1(n)的幅度谱'
|X1(jf)|'
figure
(2);
stem(t2,x2,'
line([0,max(t2)],[0,0]);
axis([0,max(t2),min(x2),max(x2)]);
抽样序列x2(n)(fs2=100Hz)'
X2(n)'
f=fs2*k/512;
plot(f,abs(X2)/max(abs(X2)));
x2(n)的幅度谱'
stem(t3,x3,'
line([0,max(t3)],[0,0]);
axis([0,max(t3),min(x3),max(x3)]);
抽样序列x3(n)(fs3=600Hz)'
X3(n)'
f=fs3*k/512;
plot(f,abs(X3)/max(abs(X3)));
x3(n)的幅度谱'
|X3(jf)|'
)
2.信号的恢复程序
fork=1:
1:
3
ifk==1Fs=60;
%抽样频率
elseifk==2Fs=100;
elseifk==3Fs=200;
end
T=1/Fs;
dt=T/3;
%每个抽样间隔T上g(t)去三个样点
tp=0.1;
%重构时间区域为[0,0.1s]
t=0:
dt:
tp;
%生成序列t
n=0:
tp/T;
%生成序列n
TMN=ones(length(n),1)*t-n'
*T*ones(1,length(t));
%生成TMN矩阵
x=A*exp(-a.*n*T).*sin(b*n*T);
%生成模拟信号抽样序列x(n)
xa=x*sinc(Fs*TMN);
%内插公式
subplot(3,1,k);
%绘制重构信号
plot(t,xa);
holdon;
axis([0,max(t),min(xa)-100,max(xa)+100]);
st1=sprintf('
由Fs=%d'
Fs);
st2='
Hz的抽样序列x(n)重构的信号'
;
ylabel('
xa(t)'
st=[st1,st2]
title(st);
x0=A*exp(-a.*t).*sin(b*t);
%以3Fs对原始模拟信号抽样
stem(t,x0,'
line([0,max(t)],[0,0]);
%绘制抽样信号
end
3频域采样理论的验证
M=26;
N=32;
n=0:
M;
%产生M长三角波序列x(n)
xa=0:
M/2;
xb=ceil(M/2)-1:
-1:
0;
xn=[xa,xb];
Xk=fft(xn,1024);
%1024点FFT[x(n)],用于近似序列x(n)的TF
X32k=fft(xn,32);
%32点FFT[x(n)]
x32n=ifft(X32k);
%32点IFFT[X32(k)]得到x32(n)
X16k=X32k(1:
2:
N);
%隔点抽取X32k得到X16(K)
x16n=ifft(X16k,N/2);
%16点IFFT[X16(k)]得到x16(n)
subplot(3,2,2);
stem(n,xn,'
boxon
(b)三角波序列x(n)'
x(n)'
axis([0,32,0,20])
1023;
wk=2*k/1024;
%
subplot(3,2,1);
plot(wk,abs(Xk));
(a)FT[x(n)]'
\omega/\pi'
|X(e^j^\omega)|'
axis([0,1,0,200])
N/2-1;
subplot(3,2,3);
stem(k,abs(X16k),'
(c)16点频域采样'
k'
|X_1_6(k)|'
axis([0,8,0,200])
n1=0:
subplot(3,2,4);
stem(n1,x16n,'
(d)16点IDFT[X_1_6(k)]'
x_1_6(n)'
N-1;
subplot(3,2,5);
stem(k,abs(X32k),'
(e)32点频域采样'
|X_3_2(k)|'
axis([0,16,0,200])
subplot(3,2,6);
stem(n1,x32n,'
(f)32点IDFT[X_3_2(k)]'
x_3_2(n)'