MATLAB实现抽样定理探讨及仿真

MATLAB实现抽样定理探讨及仿真
MATLAB实现抽样定理探讨及仿真

应用 MATLAB 实现抽样定理探讨及仿真

一. 课程设计的目的

利用MATLAB ,仿模信号抽样与恢复系统的实际实现,探讨过抽样和欠抽样的信号以及抽样与恢复系统的性能。

二. 课程设计的原理

模拟信号经过 (A/D) 变换转换为数字信号的过程称为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率 fs ,重复出现一次。为保证采样后信号的频谱形状不失真,采样频率必须大于信号中最高频率成分的两倍,这称之为采样定理。时域采样定理从采样信号恢复原信号

必需满足两个条件: (1)

必须是带限信号,其频谱函数在

各处为零;(对信号的要求,即只有带限信号

才能适用采样定理。)

(2) 取样频率不能过低,必须

>2

(或

>2)。(对取样频率的要求,即取样频率要

足够大,采得的样值要足够多,才能恢复原信号。)如果采样频率大于或等于

为连续信号

的有限频谱),则采样离散信号

能无失真地恢复到原

来的连续信号 。一个频谱在区间(- ,

)以外为零的频带有限信号

,可唯一地由

其在均匀间隔

)上的样点值

所确定。根据时域与频域的对称性,可以由时

域采样定理直接推出频域采样定理。

(a)

)

(t f )

()(t t s S T =)

(t f s 连续信号

取样脉冲信号

抽样信号

)

(ωj H )

(0t f 理想低通滤波器

恢复信号

(b)

(c)

图2.1抽样定理

a) 等抽样频率时的抽样信号及频谱(不混叠) b) 高抽样频率时的抽样信号及频谱(不混叠) c) 低抽样频率时的抽样信号及频谱(混叠)

2.1信号采样

如图1所示,给出了信号采样原理图

信号采样原理图(a )

由图1可见,)()()(t t f t f s T s δ?=,其中,冲激采样信号)(t s T δ的表达式为:

∑∞

-∞

=-=

n s

T nT t t s

)()(δδ

其傅立叶变换为∑∞

-∞

=-n s s n )(ωωδω,其中s

s T π

ω2=

。设)(ωj F ,)(ωj F s 分别为)(t f ,)(t f s 的傅立叶变换,由傅立叶变换的频域卷积定理,可得

∑∑∞

-∞

=∞

-∞

=-=

-=n s

s n s s s n j F T n j F j F )]([1

)(*)(21)(ω

ωωωδωωπω

若设)(t f 是带限信号,带宽为m ω, )(t f 经过采样后的频谱)(ωj F s 就是将)(ωj F 在频率轴上搬移至 ,,,,,02ns s s ωωω±±±处(幅度为原频谱的s T 1倍)。因此,当m s ωω2≥时,频谱不发生

混叠;而当m s ωω2<时,频谱发生混叠。 2.1.3信号重构

设信号)(t f 被采样后形成的采样信号为)(t f s ,信号的重构是指由)(t f s 经过插处理后,恢复出原来信号)(t f 的过程。又称为信号恢复。

若设)(t f 是带限信号,带宽为m ω,经采样后的频谱为)(ωj F s 。设采样频率m s ωω2≥,则由式

(9)知)(ωj F s 是以s ω为周期的谱线。现选取一个频率特性????

?><=c

c

s

T j H ω

ωωωω0

)((其中截止

频率c ω满足2

s

c m ω

ωω≤

≤)的理想低通滤波器与)(ωj F s 相乘,得到的频谱即为原信号的频谱

)(ωj F 。

显然,)()()(ωωωj H j F j F s =,与之对应的时域表达式为

)(*)()(t f t h t f s = (10)

∑∑∞

-∞

=∞-∞

=-=-=n s s n s s nT t nT f nT t t f t f )()()()()(δδ

)()]([)(1t Sa T j H F t h c

c

s

ωπ

ω

ω==- 将)(t h 及)(t f s 代入式(10)得

∑∞

-∞

=-==n s

c

s

c

s

c

c

s

s

nT t Sa nT f T t Sa T t f t f )]([)()(*)()(ωπ

ω

ωπω (11) 式(11)即为用)(s nT f 求解)(t f 的表达式,是利用MATLAB 实现信号重构的基本关系式,抽样函数)(t Sa c ω在此起着插函数的作用。

三、抽样定理的仿真和探讨

3.1.1 )(t Sa 的临界采样及重构图

当采样频率小于一个连续的同信号最大频率的2倍,即m s ωω2=时,称为临界采样. 修改门信号宽度、采样周期等参数,重新运行程序,观察得到的采样信号时域和频域特性,以及重构信号与误差信号的变化。

程序运行结果:

3.1.2 )(t Sa 的过采样及重构

当采样频率大于一个连续的同信号最大频率的2倍,即m s ωω2>时,称为过采样.

在不同采样频率的条件下,观察对应采样信号的时域和频域特性,以及重构信号与误差信号的变化。

程序运行结果:

3.1.3 Sa(t)的欠采样及重构

当采样频率小于一个连续的同信号最大频率的2倍,即m s ωω2<时,称为过采样。利用频域滤波的方法修改实验中的部分程序,完成对采样信号的重构。

程序运行结果:

误差分析:绝对误差error 已大为增加,其原因是因采样信号的频谱混叠,使得在c ωω<区域的频谱相互“干扰”所致。

四、课题研讨的小结

该课程设计使我们对采样定理的一些基本公式得到了进一步巩固。在整个实验过程中,我们查阅了很多相关知识,从这些书籍中我们受益良多。虽然学习过采样过程和恢复过程,但是认识不深,实践能力也有所欠缺,通过这次实验对采样过程和恢复过程有了进一步掌握。

通过实验的设计使我们对采样定理和信号的重构有了深一步的掌握,也让我们在实践的过程中了解到团队合作的重要性。虽然在实验过程中出现很多错误,但是在老师的帮助和团队成员的齐心协力下,不断的修正错误,同时也学会了MATLAB 号表示的基本方法及绘图函数的调用。虽然刚开始我们对MATLAB 的基本使用方法没有太深刻的认识,但是该实验使我们对MATLAB 函数程序的基本结构有所了解,也提高了我们独立完成实验的能力和理论联系实际的应用能力。

通过这次课程设计,我们不仅学到了学科知识,锻炼了实践能力,更重要的是学到了学习的方法和团队合作的重要性。我们团队分工有序,每个人都能按时完成各自的任务。在遇到问题时,大家都能够互相理解,互相帮助,最后圆满完成课题!

附录:

一、)(t Sa 的临界采样及重构

1.Sa(t)的临界采样及重构程序代码;

wm=1; wc=wm; Ts=pi/wm; ws=2.4*pi/Ts; n=-100:100; nTs=n*Ts; f=sinc(nTs/pi);

Dt=0.005;t=-20:Dt:20;

fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))); subplot(311); plot(t,fa) xlabel('t'); ylabel('fa(t)');

title('sa(t)=sinc(t/pi)的原信号'); grid;

t1=-20:0.5:20; f1=sinc(t1/pi); subplot(312); stem(t1,f1); xlabel('kTs'); ylabel('f(kTs)');

title('sa(t)=sinc(t/pi)的临界采样信号'); grid; subplot(313); plot(t,fa) xlabel('t'); ylabel('fa(t)');

title('由sa(t)=sinc(t/pi)的临界采样信号重构sa(t)'); grid;

2.程序运行运行结果图与分析

图3.1.1

)(t Sa 的临界采样及重构图

运行结果分析:为了比较由采样信号恢复后的信号与原信号的误差,可以计算出两信号的绝对误差。当t 选取的数据越大,起止的宽度越大。 二、)(t Sa 的过采样及重构 1.Sa(t)的过采样及重构程序代码;

wm=1; wc=1.1*wm;

Ts=1.1*pi/wm;

ws=2*pi/Ts;

n=-100:100;

nTs=n*Ts;

f=sinc(nTs/pi);

Dt=0.005;t=-10:Dt:10;

fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))); subplot(411);

plot(t,fa)

xlabel('t');

ylabel('fa(t)');

title('sa(t)=sinc(t/pi)的原信号');

grid;

error=abs(fa-sinc(t/pi));

t1=-10:0.5:10;

f1=sinc(t1/pi);

subplot(412);

stem(t1,f1);

xlabel('kTs');

ylabel('f(kTs)');

title('sa(t)=sinc(t/pi)的采样信号');

grid;

subplot(413);

plot(t,fa)

xlabel('t');

ylabel('fa(t)');

title('由sa(t)=sinc(t/pi)的过采样信号重构sa(t)');

grid;

subplot(414);

plot(t,error);

xlabel('t');

ylabel('error(t)');

title('过采样信号与原信号的误差error(t)');

grid;

2.程序运行运行结果图与分析。

图3.1.2

)(t Sa 的过采样信号、重构信号及两信号的绝对误差图

运行分析:将原始信号分别修改为抽样函数Sa(t)、正弦信号sin(20*pi*t)+cos(20*pi*t)、指数信号e-2tu(t)时,在不同

采样频率的条件下,可以观察到对应采样信号的时域和频域特性,以及重构信号与误差信号的变化。

三、Sa(t)的欠采样及重构 1.Sa(t)的欠采样及重构程序代码; wm=1;

wc=wm; Ts=2.5 *pi/wm; ws=2*pi/Ts; n=-100:100; nTs=n*Ts; f=sinc(nTs/pi);

Dt=0.005;t=-20:Dt:20;

fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))); error=abs(fa-sinc(t/pi)); subplot(411); plot(t,fa) xlabel('t'); ylabel('fa(t)');

title('sa(t)=sinc(t/pi)的原信号'); grid;

t1=-20:0.5:20; f1=sinc(t1/pi); subplot(412); stem(t1,f1); xlabel('kTs'); ylabel('f(kTs)');

title('sa(t)=sinc(t/pi)的采样信号sa(t)'); grid; subplot(413);

plot(t,fa) xlabel('t'); ylabel('fa(t)');

title('由sa(t)=sinc(t/pi)的欠采样信号重构sa(t)'); grid; subplot(414); plot(t,error); xlabel('t'); ylabel('error(t)');

title('欠采样信号与原信号的误差error(t)'); grid;

2.程序运行运行结果图与分析

图3.1.3)(t Sa 的欠采样信号、重构信号及两信号的绝对误差图

相关主题
相关文档
最新文档