信号解调FSK.docx

上传人:b****8 文档编号:10257198 上传时间:2023-02-09 格式:DOCX 页数:18 大小:302.40KB
下载 相关 举报
信号解调FSK.docx_第1页
第1页 / 共18页
信号解调FSK.docx_第2页
第2页 / 共18页
信号解调FSK.docx_第3页
第3页 / 共18页
信号解调FSK.docx_第4页
第4页 / 共18页
信号解调FSK.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

信号解调FSK.docx

《信号解调FSK.docx》由会员分享,可在线阅读,更多相关《信号解调FSK.docx(18页珍藏版)》请在冰豆网上搜索。

信号解调FSK.docx

信号解调FSK

成绩评定表

学生姓名

唐微

班级学号

1003030112

专业

电子信息工程

课程设计题目

信号解调(FSK)

组长签字:

成绩

日期

年月日

课程设计任务书

学院

信息科学与工程学院

专业

电子信息工程

学生姓名

唐微

班级学号

1003030112

课程设计题目

信号解调(FSK)

实践教学要求与任务:

要求:

将模拟信号(FSK调制)解调成数字信号。

任务:

通过对课程设计任务的完成,使学生理解课题教学的理论内容,并且能够掌握和熟悉DSP的开发流程和基本的编程方法,熟悉DSP5000系列芯片,并利用CCS5000系列的开发环境进行程序设计,完成相应功能。

冋时,由于设计中涉及到各种器件的使用,可以起到综合运用各种技术和知识的作用。

此外学生的实验技能、动手能力、分析问题、解决问题的能力都将得到培养,为进步进行工程实践奠定良好的基础。

工作计划与进度安排:

第1周:

熟悉环境,查阅相关资料

第2周:

代码编译链接与仿真设计

第3周:

程序调试与编译,性能分析及验收

第4周:

撰写课程设计报告、答辩

指导教师:

年月曰

专业负责人:

年月曰

学院教学副院长:

年月曰

摘要

信号处理的内容含滤波、均衡、放大、噪声消除、信号产生、检测、运算和参量提取等许多方面。

数字信号处理器DSP是针对数字信号处理需要而设计的一种可编程的单片机,它具有运算速度快、可编程特性及接口灵活等优点,用来实现数字信号处理系统更成了当前发展趋势。

FSK(Frequency-shiftkeying):

频移键控,就是用数字信号去调制载波的频率。

是信息传输中使用得较早的一种调制方式,它的主要优点是:

实现起来较容易,抗噪声与抗衰减的性能较好,在中低速数据传输中得到了广泛的应用。

它是利用基带数字信号离散取值特点去键控载波频率以传递信息的一种数字调制技术。

本文通过对FSK信号解调原理的分析,提出了用DSP实现FSK解调的方法,将模拟信号解调成数字信号,重点讨论该方法的软件设计与仿真,即FSK解调

在TMS320C55xDSP上的实现方法。

采用过零计数算法进行解调。

通过实验证明,本方法设计的FSK调制解调器具有调制相位连续、解调无相位抖动、传输速率快等特性。

此种运算具有实现简单,效率较高,用于系统的调制与解调,占用CPU系统资源较少等特点。

关键词:

DSPFSK解调过零计数算法软件仿真

1设计目的及要求1

1.1设计目的1

1.2设计要求1

2设计原理1

2.1FSK概述1

2.2FSK解调原理1

3CCS软件介绍3

4设计过程4

5软件程序5

5.1输入信号程序5

5.2正弦波信号程序5

5.3FSK解调程序10

5.4命令文件程序11

6仿真结果12

7个人总结12

参考文献13

1设计目的及要求

1.1设计目的

课程设计的实践教学环节。

学生通过动手做软件和硬件设计,能够熟练掌握数字信号处理技术,提高学生综合分析问题、发现问题和解决问题的能力,增加对基础知识的消化和理解。

其内容包括:

FIR滤波器,IIR滤波器,FFT快速傅里叶变换,语音处理,A/D,D/A转换等。

1.2设计要求

将模拟信号(FSK调制)解调成数字信号。

2设计原理

2.1FSK概述

FSK是频移键控的简称,故二进制频移键控常简写为2FSK。

数字调频又可称作频移键控(FSK),它是利用载频频率变化来传递数字信息。

这种调制解调方式容易实现,抗噪声和抗衰减性能较强,因此在中低速数据传输系统中得到了较为广泛的应用。

在实际应用中,应用最为泛的是2FSK,故FSK常泛指为2FSK<2FSK信号是O符号对应于载频为W1,而1符号对应于载频W2,而且两者之间的改变是瞬间完成的。

容易想到,2FSK信号可利用一个矩形脉冲序列对一个载波进行调频而获得。

这正是频率键控通信方式早期采用的实现方法,也是利

用模拟调频法实现数字调频的方法。

2FSK信号的另一产生方法便是采用键控法,即用受矩形脉冲序列控制的开关电路对两个不同的独立频率源进行选通

22FSK解调原理

FSK有多种方法解调,如包络检波法、相干解调法、鉴频法、过零检测法及

差分检波法等,相应的接收系统的框图如图1所示,

(a)非a相干方式

 

COSω

I

COSω〔t

(b)相干方式

(C)过零检测法

图12FSK解调原理框图

这里采用的是过零检测法对FSK调制信号进行解调。

2FSK信号的过零点数随不同载频而异,故检出过零点数就可以得到关于频率的差异,这就是过零检测法的基本思想。

用过零检测法对FSK信号进行解调的原理框图如图1(C)所示。

其中整形1和整形2的功能类似于比较器,可在其输入端将输入信号叠加在2.5V上。

2FSK调制信号从“FSKlN”输入。

U6(LM339)的判决电压设置在2.5V,可把输入信号进行硬限幅处理。

这样,整形1将FSK信号变为TTL电平;整形2和抽样电路共同构成抽样判决器,其判决电压可通过电位器进行调节。

单稳1(74LS123)和单稳2(74LS123)分别被设置为上升沿触发和下降沿触发,它们与相加器U7(74LS32)一起共同对TTL电平的FSK信号进行微分、整流处理。

再通过低通滤波器滤除高次谐波,再依次通过整形2和抽样电路共同构成抽样判决器,便能得到FSK解调信号。

其解调原理图如下:

图2零点检测法解调原理

3CCS软件介绍

CCS为信号处理器的开发过程提供配置、构造、调试、跟踪和分析程序的工具,在基本代码产生工具的基础上增加了调试和实时分析的功能。

开发设计人

员可在不中断程序运行的情况下检查算法的对错,实现对硬件的实时跟踪调试,从而大大缩减了程序的开发时间。

CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。

CCS有两种工作模式,即:

软件仿真器模式:

可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。

硬件在线编程模式:

可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。

面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。

CCS的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持C/C++和汇编的混合编程,其主要功能如下:

1)具有集成可视化代码编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;

2)含有集成代码生成工具,包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中;

3)基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持C源代码级调试;

4)断点工具,能在调试程序的过程中,完成硬件断点、软件断点和条件断点的设置。

4设计过程

1、CCS的软仿真设置:

(a)•运行桌面上的“SetUPCCStUdiOv3.T后,将弹出的“CodeComposerStUdiOSetup”系统配置对话框(b).在Platform下选择SimUlatOr,在AVaiIabIeFaCtOryBOardS中只显示软件仿真驱动,选中相应的驱动C55xxRev3.0CPUFUnctionalSimUIatOr。

(C).点击<

点击SaVe&Quit。

(d).保存设置并退出CodeComposerStUdiOSetUP程序,此时将弹出一个选择的对话框,点击Yes,将保存设置退出CodeComposer

StUdiOSetUP程序并启动运行CodeComposerStUdiO

所有步骤可见图3中标注。

防t⅝⅛4⅞v⅞⅞4⅛tτ⅞r¾⅛⅞λt1-4ft1««hM«b#«rd1«lk∙ty⅞⅝w

2、程序是由输入已调制的信号、正弦波信号、汇编源程序(完成乘法运算)以及一个命令文件组成。

3、建立工程,往工程中添加文件。

将各程序进行编译,成功后观察运行结果。

5软件程序

5.1输入信号程序

#include"stdio.h"

#include"math.h"

main()

{

inti;

floatf[256];

FlLE*fp;

if((fp=fopen(l"d:

\\firdinput.dat","w+"))==NULL)

{

Printf("can'topenfile!

∖n");

exit(0);

}

for(i=0;i<=255;i++)

{

f[i]=(cos(2*3.14159265*i*1000∕10000)+cos(2*3.14159265*i*3000∕10000))∕4;

fprintf(fp,"%ld∖n",(long)(f[i]*32767));

}

fclose(fp);

}

5.2正弦波信号程序

.title”sin_wave.asm”.mmregs

.def_c_intOO.bssL,1

.bssK,1

.bssAx,1

FS

.set10000

;A/D转换率

F

.set100

;信号频率

L_v

.setFs/F

;每个周期输出点数

K_v

.set720

;预先计算点数

AX_v

.set50*32768/100

;幅值系数

sin_x

.usectSin_x”,K_v

d_XS

.usectSin_vars”,1

d_SqUr_XS

.usectSin_varS',1

d_temp_s

.usectSin_vars”,1

d_Sinx

.usectSin_vars”,1

d」_S

.usectSin_vars”,1

d_XC

.usectcos_varS',1

d_SqUr_XC

.usectcos_varS',1

d_temp_c

.usectcos_varS',1

d_cosx

.usectcos_varS',1

d」_C

.usectcos_varS',1

STACK

.usect.Stack”,200h

SYSSTACK

.usect.'Sysstack',200h

K_theta.set(314159265/K_v)*32767/100000000;theta=(pi/720)*32768(0.25deg)

.data

table_s:

.word01c7h,030bh,0666h,1556h

table_c:

.word0249h,0444h,0aabh,4000h

.text

_c_int00:

amov#STACK+100h,xsp

amov

#STACK+200h,xssp

mov

#0,mmap(imr0)

mov

#0,mmap(imr1)

bclr

AR3LC

mov

#k_theta,ar0

mov

#0,ar1

amov

#Sin_x,xar6

mov

#K_v/4,mmap(brc0)

rptb

loop1-1

mov

mmap(ar1),ac0

mov

ac0<<#0,*(#d_XS)

mov

ac0<<#0,*(#d_XC)

call

Sinx

call

cosx

amov

#d_Sinx,xar3

amov

#d_cosx,xar4

bset

fret

mpym

*ar3,*ar4,ac0

mov

hi(ac0«#1),*ar6+

amar

*ar1+0

Ioopl:

amov

#Sin_x+K_v/4-1,xar7;Sin91(deg)--sin179(deg)

mov

#K_v/4-2,mmap(brc0)

rptb

loop2-1

mov

*ar7-,*ar6+

Ioop2:

mov

#K_v/2,mmap(brc0)

amov

#Sin_x,xar7

rptb

loop3-1

mov

*ar7+,ac0

neg

ac0

mov

ac0«#0,*ar6+

Ioop3:

nop

amov

#sin_x,XAR3

amov

#Sin_x,XAR5

bclr

SXmd

bclr

frct

amov

#0,ar1

;N

amov

#L,xar2

;L

mov

#L_v,*ar2+

mov

#K_v,*ar2+

;K=720

mov

#AX_v,*ar2+

;AX

amov

#Sin_wave,xar4

mov

#2000,mmap(brc0)

rptb

loop4-1;loop

bclr

frct

mov

ar1,hi(ac0)

;N

Sftl

ac0,#-16,ac0

;取N/L余数

amov

#L,xar2

rpt

#15

SubC

*ar2,ac0

amov

#K,ar2

mpym

*ar2,ac0,ac0

;720*N

amov

#L,xar2

rpt

#15

SUbC

*ar2,ac0

;720*N/L

mov

#0ffffh,ac1

and

ac1,ac0

amar

*ar2+;K

rpt

#15

SUbC

*ar2,ac0;取余数

mov

hi(ac0),ar5

Ioop4:

sinx:

add

ar3,ar5

amov

#Ax,xar2

bset

fret

mpym

*ar2,*ar5,acθ

mov

hi(acθ),*ar4+

amar

*ar1+

b

Ioop4

bset

fret

amov

#table_s,xar3

amov

#d_xs,xar2

amov

#d」_s,xar4

mov

#7fffh,*ar4

Sqrmr

*ar2+,ac0

mov

*ar4«#16,ac1

:

:

mov

hi(ac0),*ar2

masmr

t3=*ar2+,*ar3+,ac1,acθ

mpy

t3,ac0,ac0

mov

hi(ac0),*ar2

masmr

*ar2-,*ar3+,ac1,acθ

mpym

*ar2+,acθ,acθ

mov

hi(ac0),*ar2

masmr

*ar2-,*ar3+,ac1,acθ

mpym

*ar2+,acθ,acθ

mov

hi(ac0),*ar2

masmr

*ar2-,*ar3+,ac1,acθ

amov

#d_xs,xar5

mpym

*ar5,acθ,acθ

mov

hi(ac0),*(#d_Sinx)

nop

ret

 

cosx:

bset

frct

amov

#d_xc,xar2

amov

#d」_c,xar4

mov

#7fffh,*ar4

Sqrmr

*ar2+,acθ

mov

*ar4«#16,ac1

:

:

mov

hi(acθ),*ar2

masmr

t3=*ar2+,*ar3+,ac1,acθ

mpy

t3,acθ,acθ

mov

hi(acθ),*ar2

masmr

*ar2-,*ar3+,ac1,acθ

mpym

*ar2+,acθ,acθ

mov

hi(acθ),*ar2

masmr

*ar2-,*ar3+,ac1,acθ

SftS

acO,#-1

neg

ac0

mpym

*ar2+,acθ,acθ

amar

*ar2+

add

*ar4,16,ac0

mov

hi(acθ),*ar2

ret

.end

5.3FSK解调程序

.title

"DEFSK.asm"

 

.mmregs

.def

Start

.bss

temp,1

Indata.usect"buffer",64

Out.usect"buffer",1

STACK.usect

"STACK",10

distance

.set31

amplitude

.set32700

************************************

.text

start:

LD

#indata,DP

STM

#indata,AR1

nop

JUDGE:

LD

*AR1+,A;循环检测幅度是否大于amplitude

SUB

#amplitude,A

BC

A1,AGT

B

JUDGE

************************************

A1:

MAR

*+AR1(distance)

LD

*AR1+,A

SUB

#amplitude,A

BC

F1,AGT

***********************************

 

F0:

ST

#0,@oUt

B

Start

F1:

ST

#1,@oUt

B

Start

.end

***********************************

5.4命令文件程序

MEMoRY

{

PAGE0:

VECS:

Origin=0xff80,Iength=0x80

PROG:

Origin=0x1000,length=0x1000

PAGE1:

DATA:

Origin=0x4000,length=0x1000

STACK:

Origin=0x3000,length=0x1000

}

SECTIONS

.vectors:

{}

>

VECSPAGE0

.text:

{}

>

PRoGPAGE0

.data:

{}

>

DATAPAGE1

.stack:

{}

>

STACKPAGE1

6仿真结果

根据断点的设置,运行仿真步骤,可得如下仿真结果:

吕北1Si>ql4il4r/Crlr-C5<τISis⅞l⅞l*T)-Cai

i⅛,⅛fLl⅛f≤H

7个人总结

通过这次的课程设计,我发现我在基于dsp平台的编程方面还不是很到位,平时学习的知识也欠缺全面性。

这次在老师的耐心指导下,我学到了很多很实际的解决问题的方法。

这次我以定点DSPTMS320VC55x及其仿真的信号解调为题,完成了对FSK信号解调的任务。

但上述过程尚有许多不成熟、不完善的地方,这也是需要今后进一步开展的工作。

同时通过这次课程设计,使我对DSP技术有了更进一步的了解。

同时对CCS集成环境更为熟悉了。

通过这次课程设

计使我大体了解了DSP工程中的诸多进程,为我在今后的工作中奠定了坚实的实践基础。

我会在今后的日子里,继续努力学习的。

参考文献

[1]戴明帧∙TMS320C54X原理与应用•北京航空航天大学出版社,2004

[2]程佩青.数字信号处理教程.北京:

清华大学出版社,2007

[3]赵洪亮黄鹤松.TMS320C55xDSP应用程序设计与开发•北京:

北京航空航天大学出版社,2002

[4]赵红怡.DSP技术与应用实例.西安:

电子工业出版社,2009

[5]张邹彦.DSP原理及应用.北京:

电子工业出版社,1999

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1