应用MATLAB实现信号抽样及抽样定理课程设计_第1页
应用MATLAB实现信号抽样及抽样定理课程设计_第2页
应用MATLAB实现信号抽样及抽样定理课程设计_第3页
应用MATLAB实现信号抽样及抽样定理课程设计_第4页
应用MATLAB实现信号抽样及抽样定理课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEXXX学院信号与通信综合设计项目题目:应用MATLAB实现信号抽样及抽样定理学院:电子与信息工程学院专业:通信工程班级:姓名:学号:联系方式:指导教师:报告成绩:摘要抽样定理是通信理论中的一个重要定理,是模拟信号数字化的理论依据,包括时域抽样定理和频域抽样定理两部分。采样过程所应遵循的规律,又称取样定理、抽样定理。采样定理说明采样频率与信号频谱之间的关系,是连续信号离散化的基本依据。通过MATLAB对抽样定理进行实验仿真验证,得到实验目的的结果。关键词:频率;抽样定理;PAGEPAGE5目录TOC\o"1-2"\h\u11272一、课程设计目的 21703二、实验设备及环境 219890三、实验原理 221129四、实验内容 3230534.1正弦信号的抽样: 3219154.2混合信号的抽样: 3286914.3实现效果 328404实验心得 926209参考文献 11一、课程设计目的学会利用MATLAB完成信号取样及对取样信号的频谱进行分析;学会利用MATLAB改变取样间隔,观察取样后信号的频谱变化;利用MATLAB,仿模信号抽样与恢复系统的实际实现,探讨过抽样和欠抽样的信号以及抽样与恢复系统的性能。二、实验设备及环境Pc机(win10)MATLAB2017a三、实验原理抽样定理:设时间连续信号f(t),其最高截止频率为fm,如果用时间间隔为

T≤1/2fm的开关信号对f(t)进行抽样时,则f(t)就可被样值信号唯-地表示。

在一个频带限制在(0,

fn)内的时间连续信号f(t),如果以小于等于1/fh的时间间隔对它进行抽样,那么根据这些抽样值就能完全恢复原信号。或者说,如果-一个连续信号f(t)的频谱中最高频率不超过fh这种信号必定是个周期性的信号,当抽样频率fs≥2fn时,抽样后的信号就包含原连续信号的全部信息,当需要时,可以根据这些抽样信号样本来还原原来的连续信号。时域抽样定理:一个频谱受限的信号f(t),如果频谱只占据-wm~+wm的范围,则信号f(t)可以用等间隔的抽样值惟一地表示。而抽样间隔必须不大于(其中wm

=

2πfm),或者说,最低抽样频率为2fm。

频域抽样定理:若信号f(t)是时间受限信号,它集中在-tm~+tm的时间范围内,若在频域中以不大于1/2tm的频率间隔对f(t)的频谱F(w)进行抽样,则抽样后的频谱F1(w)可以惟一地表示原信号。傅立叶变换: 采用数值计算法计算傅立叶变换的理论依据是:若信号为时限信号,当时间间隔T取得足够小时,上式可演变为:

上式用MATLAB表示为:F=f*exp(-j*t'*w)*T

其中F为信号f(1)的傅里叶变换,w为频率,T为时间步长(取样间隔)。四、实验内容4.1正弦信号的抽样:首先时间跨度选择-0.2到0.2,间隔0.0005取一个点,原信号sin(2π*60t)

,则频率为60Hz。

由于需要输出原始信号的波形,编写代码进行傅里叶变换,有公式origin_F

=

origin

*

exp(-1i

*

t'

*

W)

*

0.0005

傅里叶变换后的值,并取绝对值。

采样则调整取点的间隔就好了。

f_covery

=

f_uncovery

*

sinc((1/Nsampling)

*

(ones(length(n_sam),

1)

*

t

-

n_sam'

*

ones(1,

length(t))));

最后则可以输出波形和原始信号进行对比分析。

4.2混合信号的抽样:这里和正弦信号相比,只是待抽样信号不同了而已,但是混合信号用的是正弦和余弦的叠加

sin(2

*

pi

*

60

*

t)

+

cos(2

*

pi

*

25

*

t)

+

sin(2

*

pi

*

30

*

t)

由于抽样频率没变,依然是80Hz、121Hz、150Hz,所以得到的结果和上面的是不一样的

4.3实现效果图1正弦信号波形图2恢复的波形图对比80Hz的信号和121Hz的信号可知,原信号为60Hz的信号,至少需要120Hz才能不失真地恢复信号,由图可得,80Hz的信号虽然还是正弦信号,但是相位信息已经失真了。121Hz和150Hz的抽样信息则准确地恢复了原信号。%%

设置原始信号

t

=

-0.2

:

0.0005

:

0.2;

N

=

1000;

k

=

-N

:

N;

W

=

k

*

2000

/

N;

origin

=

sin(2

*

pi

*

60

*

t);%

原始信号为正弦信号

origin_F

=

origin

*

exp(-1i

*

t'

*

W)

*

0.0005;%

傅里叶变换

origin_F

=

abs(origin_F);%

取正值

figure;

subplot(4,

2,

1);

plot(t,

origin);

title('原信号时域');

subplot(4,

2,

2);

plot(W,

origin_F);

title('原信号频域');混合信号:图3混合抽样图图4恢复波形图

这个信号明显地可以看出80Hz采样的失真情况。由于混合信号中频率最高的那个信号为60Hz,因此也是至少需要120Hz才能不失真地恢复原始信号。

程序:

clear

all

%%

设置原始信号

t

=

-0.2

:

0.0005

:

0.2;

N

=

1000;

k

=

-N

:

N;

W

=

k

*

2000

/

N;

origin

=

sin(2

*

pi

*

60

*

t)

+

cos(2

*

pi

*

25

*

t)

+

sin(2

*

pi

*

30

*

t);%

原始信号为正弦信号叠加

origin_F

=

origin

*

exp(-1i

*

t'

*

W)

*

0.0005;%

傅里叶变换

origin_F

=

abs(origin_F);%

取正值

figure;

subplot(4,

2,

1);

plot(t,

origin);

title('原信号时域');

subplot(4,

2,

2);

plot(W,

origin_F);

title('原信号频域');

%%

对原始信号进行80Hz采样率采样

Nsampling

=

1/80;

%

采样频率

t

=

-0.2

:

Nsampling

:

0.2;

f_80Hz

=

sin(2

*

pi

*

60

*

t)

+

cos(2

*

pi

*

25

*

t)

+

sin(2

*

pi

*

30

*

t);

%采样后的信号

F_80Hz

=

f_80Hz

*

exp(-1i

*

t'

*

W)

*

Nsampling;

%

采样后的傅里叶变换

F_80Hz

=

abs(F_80Hz);

subplot(4,

2,

3);

stem(t,

f_80Hz);

title('80Hz采样信号时域');

subplot(4,

2,

4);

plot(W,

F_80Hz);

title('80Hz采样信号频域');

%%

对原始信号进行121Hz采样率采样

Nsampling

=

1/121;

%

采样频率

t

=

-0.2

:

Nsampling

:

0.2;

f_80Hz

=

sin(2

*

pi

*

60

*

t)

+

cos(2

*

pi

*

25

*

t)

+

sin(2

*

pi

*

30

*

t);

%采样后的信号

F_80Hz

=

f_80Hz

*

exp(-1i

*

t'

*

W)

*

Nsampling;

%

采样后的傅里叶变换

F_80Hz

=

abs(F_80Hz);

subplot(4,

2,

5);

stem(t,

f_80Hz);

title('121Hz采样信号时域');

subplot(4,

2,

6);

plot(W,

F_80Hz);

title('121Hz采样信号频域');

%%

对原始信号进行150Hz采样率采样

Nsampling

=

1/150;

%

采样频率

t

=

-0.2

:

Nsampling

:

0.2;

f_80Hz

=

sin(2

*

pi

*

60

*

t)

+

cos(2

*

pi

*

25

*

t)

+

sin(2

*

pi

*

30

*

t);

%采样后的信号

F_80Hz

=

f_80Hz

*

exp(-1i

*

t'

*

W)

*

Nsampling;

%

采样后的傅里叶变换

F_80Hz

=

abs(F_80Hz);

subplot(4,

2,

7);

stem(t,

f_80Hz);

title('150Hz采样信号时域');

subplot(4,

2,

8);

plot(W,

F_80Hz);

title('150Hz采样信号频域');

%%

恢复原始信号

%

从80Hz采样信号恢复

figure;

n

=

-100

:

100;

Nsampling

=

1/80;

n_sam

=

n

*

Nsampling;

f_uncovery

=

sin(2

*

pi

*

60

*

n_sam)

+

cos(2

*

pi

*

25

*

n_sam)

+

sin(2

*

pi

*

30

*

n_sam);

t

=

-0.2

:

0.0005

:

0.2;

f_covery

=

f_uncovery

*

sinc((1/Nsampling)

*

(ones(length(n_sam),

1)

*

t

-

n_sam'

*

ones(1,

length(t))));

subplot(3,

1,

1);

plot(t,

f_covery);

title('80Hz信号恢复');

%

从121Hz采样信号恢复

Nsampling

=

1/121;

n_sam

=

n

*

Nsampling;

f_uncovery

=

sin(2

*

pi

*

60

*

n_sam)

+

cos(2

*

pi

*

25

*

n_sam)

+

sin(2

*

pi

*

30

*

n_sam);

t

=

-0.2

:

0.0005

:

0.2;

f_covery

=

f_uncovery

*

sinc((1/Nsampling)

*

(ones(length(n_sam),

1)

*

t

-

n_sam'

*

ones(1,

length(t))));

subplot(3,

1,

2);

plot(t,

f_covery);

title('121Hz信号恢复');

%

从150Hz采样信号恢复

Nsampling

=

1/150;

n_sam

=

n

*

Nsampling;

f_uncovery

=

sin(2

*

pi

*

60

*

n_sam)

+

cos(2

*

pi

*

25

*

n_sam)

+

sin(2

*

pi

*

30

*

n_sam);

t

=

-0.2

:

0.0005

:

0.2;

f_covery

=

f_uncovery

*

sinc((1/Nsampling)

*

(ones(length(n_sam),

1)

*

t

-

n_sam'

*

ones(1,

length(t))));

subplot(3,

1,

3);

plot(t,

f_covery);

title('150Hz信号恢复');

实验心得通过本实验,认识Matlab这个功能强大的仿真软件,初步了解了Matlab的操作界面以及简单的程序语言和程序运行方式,通过具体的取样和恢复信号的过程,更加深刻了解了采样定理的定义的具体含义:将模拟信号转换成数字信号,即对连续信号进行等间隔采样形式采

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论