数字信号处理课程设计

数字信号处理课程设计
数字信号处理课程设计

《数字信号处理》

课程设计报告

基于matlab的时域采样理论研究及实现

专业:通信工程

班级:通信11级

组次:第3组

姓名及学号:汪志发(2011013842)

姓名及学号:桂勇(2011013821)

目录

一、设计目的 (2)

二、设计任务 (2)

三、设计原理 (2)

3.1时域采样定理 (2)

3.2设计原理图 (2)

3.3信号的时域采样与频谱分析 (2)

3.4采样信号的恢复(内插函数法) (4)

四、设计过程 (4)

4.1 MATLAB源程序 (4)

4.2程序运行结果 (7)

4.3数据分析 (11)

4.4结论 (11)

五、收获与体会 (11)

六、参考文献 (13)

基于matlab 的时域采样理论研究及实现

一、设计目的

本次课程设计应用MATLAB 验证时域采样定理。了解MATLAB 软件,学习应用MATLAB 软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。初步掌握线性系统的设计方法,培养独立工作能力。加深理解时域采样定理的概念。

二、设计任务

掌握利用MATLAB 分析系统频率响应的方法和掌握利用MATLAB 实现连续信号采样、频谱分析和采样信号恢复的方法。计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。

三、设计原理

3.1时域采样定理

1、对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期性的延拓形成的。

2、设连续信号的的最高频率为max F ,如果采样频率max 2F F s >,那么采样信号可以唯一的恢复出原连续信号,否则max 2F F s ≤会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。 3.2设计原理图

3.3信号的时域采样与频谱分析

对一个连续信号a f (t)进行理想采样的过程可以用下式表示

)()()(^

t s t f t f a a = (1)

其中)(^

t f a 为)(t f a 的理想采样,s(t)为周期脉冲信号,即

)

(t f a

S T 抽样信号

)(0t f

∑∞

-∞

=-=

n nT t t s )()(δ (2)

)(^t f a 的傅里叶变换)(^

Ωj F a 为

∑∞

-∞

-Ω=

Ωm s

a

a m j F T

j F )]([1

)(^

(3)

上式表明,)(^

Ωj F a 为)(Ωj F a 的周期延拓,其延拓周期为采样角频率(s Ω=2π/T )。只有满足采样定理时,才不会发生频率混叠失真。

在计算机上用高级语言编程,直接按照(3)式计算)(^

t f a 的频谱)(^

Ωj F a 很不方便,下面导出用序列的傅里叶变换来计算)(^

Ωj F a 的公式。

将(2)式代入(1)式,并进行傅里叶变换,

nT

j n a

t j n a t j n a a e

nT f dt e nT t t f dt

e nT t t

f j F Ω-∞

-∞

=Ω-∞

-∞=∞

-Ω-∞

∞-∞-∞

=∑∑?

?∑=

-=-=Ω)()()(])()([)(^

δδ (4)

式中的a f (nT)就是采样后的序列f (n),即:f (n)=a f (nT),f (n)的傅里叶变换为 ∑∞

-∞

=-=

n n

j j e

n f e F ωω

)()( (5)

比较(5)和(4)可知 T

j a e F j F Ω==Ωωω)

()(^

(6)

说明两者之间只在频率度量上差一个常数因子T 。实验过程中应注意这一差别 离散信号和系统在时域均可以用序列来表示,序列图形给人以形象直观的印象,它可以加深我们对信号和系统的时域特征的理解。本实验还将观察分析几种信号及系统的时域特性。

为了观察分析各种序列的频域特性,通常对F(ωj e )在[0,2π]上进行M 点采样来观察分析。对长度为N 的有限长序列f (n),有

∑-=-=1

)()(N n n j j k k

e m

f e

F ωω (7)

其中

1

,...,1,0,2-==

M k k M

k π

ω

通常M 应取的大一些,以便观察谱的细节变化。取模)

(k j e F ω可绘出幅频特性曲线。

3.4采样信号的恢复(内插函数法)

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

信号恢复的时域表达式

)(*)()(t f t h t f s = (8) 而 ∑∑∞

-∞

=∞

-∞

=-=-=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 代入式(8)得:

∑∞

-∞

=-==n s c

s

c

s c c s s nT t Sa nT f T t Sa T t f t f )]([)()(*)()(ω

π

ω

ωπω (9)

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

内插公式表明模拟信号)(t f 等于各采样点函数)(s nT f 乘以对应内插函数的总和,即只要采样频率高于信号频率的两倍,模拟信号就可用它的采样信号代表,而不会丢失任何信息。这种理想低通滤波器的模拟信号完全等于模拟信号)(t f ,是一种无失真的恢复。

四、设计过程

1、画出连续时间信号的时域波形及其幅频特性曲线,信号为

f (x)= sin(2*pi*60*t)+cos(2*pi*25*t)+cos(2*pi*30*t);

2、 对信号进行采样,得到采样序列 ,画出采样频率分别为80Hz ,120 Hz ,150 Hz 时的采样序列波形;

4.1 MATLAB 源程序为: %实现采样频谱分析绘图函数 function fz=caiyang(fy,fs)

%第二个输入变量是采样频率

fs0=10000; tp=0.1;

t=[-tp:1/fs0:tp];

k1=0:999; k2=-999:-1;

m1=length(k1); m2=length(k2);

f=[fs0*k2/m2,fs0*k1/m1]; %设置原信号的频率数组w=[-2*pi*k2/m2,2*pi*k1/m1];

fx1=eval(fy);

FX1=fx1*exp(-j*[1:length(fx1)]'*w);

%求原信号的离散时间傅里叶变换

figure

% 画原信号波形

subplot(2,1,1),plot(t,fx1,'r')

title('原信号'), xlabel('时间t (s)')

axis([min(t),max(t),min(fx1),max(fx1)]) % 画原信号幅度频谱

subplot(2,1,2),plot(f,abs(FX1),'r')

title('原信号幅度频谱') , xlabel('频率f (Hz)')

axis([-100,100,0,max(abs(FX1))+5]) % 对信号进行采样

Ts=1/fs; %采样周期

t1=-tp:Ts:tp; %采样时间序列

f1=[fs*k2/m2,fs*k1/m1]; %设置采样信号的频率数组t=t1; %变量替换

fz=eval(fy); %获取采样序列

FZ=fz*exp(-j*[1:length(fz)]'*w);

%采样信号的离散时间傅里叶变换

figure

% 画采样序列波形

subplot(2,1,1),stem(t,fz,'.'),

title('取样信号') , xlabel('时间t (s)')

line([min(t),max(t)],[0,0])

subplot(2,1,2),plot(f1,abs(FZ),'m')

title('取样信号幅度频谱') , xlabel('频率f (Hz)')

%信号的恢复及频谱函数

function fh=huifu(fz,fs)

%第一个输入变量是采样序列

%第二个输入变量是得到采样序列所用的采样频率

T=1/fs; dt=T/10; tp=0.1;

t=-tp:dt:tp; n=-tp/T:tp/T;

TMN=ones(length(n),1)*t-n'*T*ones(1,length(t));

fh=fz*sinc(fs*TMN); % 由采样信号恢复原信号k1=0:999; k2=-999:-1;

m1=length(k1); m2=length(k2);

w=[-2*pi*k2/m2,2*pi*k1/m1];

FH=fh*exp(-j*[1:length(fh)]'*w);

% 恢复后的信号的离散时间傅里叶变换

figure

% 画恢复后的信号的波形

subplot(2,1,1),plot(t,fh,'g'),

st1=sprintf('由取样频率fs=%d',fs);

st2='恢复后的信号';

st=[st1,st2]; title(st) , xlabel('时间t (s)')

axis([min(t),max(t),min(fh),max(fh)])

line([min(t),max(t)],[0,0]) % 画重构信号的幅度频谱f=[10*fs*k2/m2,10*fs*k1/m1]; %设置频率数组

subplot(2,1,2),plot(f,abs(FH),'g')

title('恢复后信号的频谱') , xlabel('频率f (Hz)')

axis([-100,100,0,max(abs(FH))+2]);

%主函数

fs0=caiyang(f1,80); %频率max s 2f f <,即 欠采样 fr0=huifu(fs0,80);

fs1=caiyang(f1,120);%频率max s 2f f =,临 界采样 fr1=huifu(fs1,120);

fs2=caiyang(f1,150);%频率max s 2f f >,即 过采样 fr2=huifu(fs2,150);。 4.2程序运行结果如下图:

图1 原信号波形及频谱

f=80Hz时采样信号离散波形及频谱图2

s

f=80Hz恢复后信号波形及频谱图3

s

f=120Hz时采样信号离散波形及频谱图4

s

图5 f=120Hz恢复后信号波形及频谱

f=150Hz时采样信号离散波形及频谱图6

s

图7 f=150Hz恢复后信号波形及频谱

4.3数据分析:

(1) 频率s f

(2) 频率s f =max 2f 时,为原信号的临界采样信号和恢复,下图4为其采样的离散波形和频谱,从下图5恢复后信号和原信号先对比可知,只恢复了低频信号,高频信号未能恢复。

(3) 频率s f >max 2f 时,为原信号的过采样信号和恢复,由图6采样信号离散波形和频谱,可以看出采样信号的频谱是原信号频谱进行周期延拓形成的,从图7采样恢复后的波形和频谱,可看出与原信号误差很小了,说明恢复信号的精度已经很高。

4.4结论:

通过这次课程设计,我们可总结得知时域采样理论研究及实现的步骤: 1、画出连续时间信号的时域波形及其幅频特性曲线,信号为

t)*30*pi *cos(2t)*25*pi *cos(2t)*60*pi *sin(2(x)++=f (x)=

sin(2*pi*60*t)+cos(2*pi*25*t)+cos(2*pi*30*t);

2、 对信号进行采样,得到采样序列 ,画出采样频率分别为80Hz ,120 Hz ,150 Hz 时的采样序列波形;

3、对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列和的幅频曲线有无差别。

4、对信号进行谱分析,观察与3中结果有无差别。

5、由采样序列恢复出连续时间信号 ,画出其时域波形,对比与原连续时间信号的时域波形。

五、收获与体会

1、在这次课程设计中,我们首先定义信号时采用了该信号的函数表达式的形式。

2、在MATLAB 中求连续信号的频谱,我们应用的是离散傅立叶变换,这样实际运算的仍是

对连续信号的采样结果,这里我们给予了足够高的采样频率,把其作为连续信号来考虑。 3、实际中对模拟信号进行采样,需要根据最高截止频率max f ,按照采样定理的要求选择采样频率的两倍,即max s 2f f >。 设计中对三种频率时采样分析总结:

(1)欠采样:即max s 2f f <时,时域波形恢复过程中已经不能完整的表示原信号,有了失真,从频谱上也可看出,同的频谱带互相重叠,已经不能体现原信号频谱的特点了,从而无法得到原来的信号。

(2)临界采样:即max s 2f f =时,时域波形任然不能恢复完整的原信号,信号只恢复过程中恢复了低频部分,从频谱上便可看出,但任然不可完全恢复原信号。

(3)过采样:即max s 2f f >时,此时的采样是成功的,它能够恢复原信号,从时域波形可看出,比上面采样所得的冲激脉冲串包含的细节要多,在频域中也没出现频谱的交叠,这样我们可以利用低通滤波器m(t)得到无失真的重建。

综合以上欠采样、临界采样、过采样三种情况的分析,可以看出要使采样信号可以恢复到原信号,采样频率必须满足时域采样定理,从而验证了时域采样定理。

参考文献

[1] 高西全、丁玉美编著《数字信号处理》西安电子科技出版社2007年3月

[2] 邹鲲、袁俊泉、龚享铱编《MA TL A B6.x信号处理》清华大学出版社2002年5月

[3] 薛年喜主编《M AT LAB在数字信号处理中的应用》清华大学出版社2003年

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