HUT基于C6000的QPSK解调器设计与实现解读.docx

上传人:b****3 文档编号:2975239 上传时间:2022-11-16 格式:DOCX 页数:16 大小:139.75KB
下载 相关 举报
HUT基于C6000的QPSK解调器设计与实现解读.docx_第1页
第1页 / 共16页
HUT基于C6000的QPSK解调器设计与实现解读.docx_第2页
第2页 / 共16页
HUT基于C6000的QPSK解调器设计与实现解读.docx_第3页
第3页 / 共16页
HUT基于C6000的QPSK解调器设计与实现解读.docx_第4页
第4页 / 共16页
HUT基于C6000的QPSK解调器设计与实现解读.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

HUT基于C6000的QPSK解调器设计与实现解读.docx

《HUT基于C6000的QPSK解调器设计与实现解读.docx》由会员分享,可在线阅读,更多相关《HUT基于C6000的QPSK解调器设计与实现解读.docx(16页珍藏版)》请在冰豆网上搜索。

HUT基于C6000的QPSK解调器设计与实现解读.docx

HUT基于C6000的QPSK解调器设计与实现解读

湖南工业大学

课程设计

资料袋

计算机与通信学院(系、部)2015—2016学年第一学期

课程名称:

DSP应用课程设计

指导教师:

龙永新职称副教授

学生姓名:

戴勇建专业班级通信1201班学号12408200115

设计题目:

基于C6000的QPSK解调器设计与实现

成绩:

起止日期:

2015年12月7日至2015年12月18日

目录清单

序号

材料名称

资料数量

备注

1

课程设计任务书

1

2

课程设计说明书

1

3

课程设计图纸

0

4

5

6

 

DSP应用课程设计

设计说明书

基于C6000的QPSK解调器设计与实现

起止日期:

2015年12月7日至2015年12月18日

 

学生姓名

戴勇建

班级

通信1201

学号

12408200115

成绩

指导教师(签字)

 

计算机与通信学院

2015年12月18日

课题名称

基于C6000的QPSK解调器设计与实现

人数

6

组长

戴勇建

同组人员

周利莎、戴平凡、龚胜、陈策力、许增、胡卫明

1.主要内容:

(1)编写程序。

(2)程序要完善、优化,能运行于C5402开发板,能演示输入输出数据的完整图形,显示结果,并对程序或相关设计予以解释。

 

2.主要任务:

(1)算法设计;

(2)程序设计;

(3)程序的调试与各项性能的测试。

具体任务

 

1、编写程序,对QPSK调制信号进行解调。

在DSP编程时,直接把载波放入存储器,然后通过统计的方法判断是“1”还是“0”,最后通过并串转换还原出原来信号。

2、程序完善、优化,面向C6000开发调试。

3、能演示输入输出数据的完整图形,显示结果,并对程序或相关设计予以解释。

 

时间安排与完成情况

 

12月07日:

分组、任务分配、课题理解。

12月08日-12月14日:

功能、程序设计、系统设计和实现。

12月15日-12月17日:

实验验证和考核。

12月18日:

总结、书写课程设计说明书。

 

 

一、设计目的

1、熟悉QPSK解调器的原理、特点和应用

2、掌握QPSK解调器设计方法

3、熟悉使用DSP实现QPSK信号解调的设计过程

通过该设计,熟悉QPSK解调器的原理和方法,掌握其DSP程序设计与实现过程,以及程序的调试技巧。

是对DSP应用技术理论学习的总结和补充,为DSP应用系统的开发设计打下基础。

二、设计原理

QPSK信号解调可以采用相干解调的方法实现,下图为方框图:

三、设计所需仪器与设备

1、PC微机1台,安装CCS3.0

2、DSP仿真器TDS510-USB2.0,1套

四、设计内容

1、编写程序,对QPSK调制信号进行解调。

在DSP编程时,直接把载波放入存储器,然后通过统计的方法判断是“1”还是“0”,最后通过并串转换还原出原来信号。

2、程序完善、优化,面向C6000开发调试。

3、能演示输入输出数据的完整图形,显示结果,并对程序或相关设计予以解释。

 

五、设计步骤

1、用仿真机将计算机与TIC54x开发板连接好,然后运行CCS软件。

2、新建一个项目:

点击Project-New,将项目命名为DEQPSK,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS软件不能识别以中文命名的文件夹。

3、新建一个源文件:

点击点击File-New-SourceFile可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面(DEQPSK),保存类型选择*.C(如果源文件是C语言编写的,保存类型选择*.C,如果使用汇编语言编写的,选择*.ASM为保存类型),我们在这里将保存名字命名为DEQPSK.c。

4、在项目中添加源文件:

在新建立了一个源文件以后,要想使用CCS编译器对该源文件进行编译还需要将源文件添加到项目中去。

添加方法是在工程管理器中右键单击DEQPSK.pjt,在弹出的菜单中选择AddFiles,然后将刚才建立的DEQPSK.c文件添加到该项目中去。

5、编写源程序:

在工程管理器中双击DEQPSK.c,将出现文本编辑窗口,在该文本编辑窗口中输入如下内容:

#include

#defineInputLength15/*IQ两路的长度*/

#defineSineLenth64/*一个周期正谐波的长度*/

#definep1(sineLength/8)*1/*第一相位*/

#definep2(sineLength/8)*3/*第二相位*/

#definep3(sineLength/8)*5/*第三相位*/

#definep4(sineLength/8)*7/*第四相位*/

#defineOutputLengthInputLength*SineLength/*输出数据的总长度*/

#definepi3.14159

/************************************/

/********子函数和子程序定义开始*************/

voidmain()

{

inti=0,j=0,a=0,n,x,b=0;

intI[InputLength]={0,0,0,1,0,0,1,1,0,0,0,1,1,1,1};

intQ[InputLength]={0,1,1,1,1,1,0,0,0,0,0,1,1,1,1};

voidPhaseSelection(inta);/*相位选择函数声明*/

IER=0;

for(i=0;i

{

sin_data[i]=2047+(sin)(2047.0*sin(2*pi*i/(SineLength)));/*调用sin函数*/

}

for(j=0;j

{

sin_data[i++]=sin_data[j];

}

for(j=0;j

{

QPSK[j]=0;

}

for(j=0;j

{

if(I[j]==1&&Q[j]==1)

{

phaseSelection(p1);/*选择pi/4的相位*/

}

if(I[j]==0&&Q[j]==1)

{

phaseSelection(p2);/*选择3pi/4的相位*/

}

if(I[j]==0&&Q[j]==0)

{

phaseSelection(p3);/*选择5pi/4的相位*/

}

if(I[j]==1&&Q[j]==0)

{

phaseSelection(p3);/*选择5pi/4的相位*/

}

}

for(i=OutputLength;i

{

QPSK[i]=0;

}

for(i=0;i

{

*(int*)(0x30000+4*i)=QPSK[i];//把数据给一个地址,然后从这个地址看结果(xt1029)

a=*(int*)(0x30000+4*i);

*(int*)(0x8000+4*i)=a;

}

for(;;)

{

submit_qdma();

wait();

}

}

/****************相位选择函数定义结束*****************/

解调程序部分源代码

#include

#defineInputLength15/*IQ两路的长度*/

#defineSineLenth64/*一个周期正谐波的长度*/

#definep1(sineLength/8)*1/*第一相位*/

#definep2(sineLength/8)*3/*第二相位*/

#definep3(sineLength/8)*5/*第三相位*/

#definep4(sineLength/8)*7/*第四相位*/

#defineOutputLengthInputLength*SineLength/*输出数据的总长度*/

#definepi3.14159

intw=0;

staticintm=0;

staticintI[InputLength]={0,0,0,1,0,0,1,1,0,0,0,1,1,1,1};/*输入数据1路*/

staticintQ[InputLength]={0,1,1,1,1,1,0,0,0,0,0,1,1,1,1};/*输入数据Q路*/

staticintQPSK[OutputLength];

staticintsin_data[SineLength*2];

staticintcos_data[SineLength];

staticintI_multply_cos[OutputLength];

staticintQ_multply_sin[OutputLength];

staticintI_DeQPSK[InputLength];

staticintQ_DeQPSK[InputLength];

/****************子函数和子程序定义*****************/

voidmain()

{

inti=0,j=0;

voidPhaseSelection(inta);

voidmultply();

voidIQ_Decision();

for(i=0;i

{

sin_data[i]=(int)(64.0*sin(2*pi*i/(SineLength)));

cos_data[i]=(int)(64.0*cos(2*pi*i/(SineLength)));

}

i=SineLength;

for(j=0;j

{

sin_data[i++]=sin_data[j];

}

for(j=0;j

{

if(I[j]==1&&Q[j]==1)

{

PhaseSelection(p1);

}

elseif(I[j]==0&&Q[j]==1)

{

PhaseSelection(p2);

}

elseif(I[j]==0&&Q[j]==0)

{

PhaseSelection(p3);

}

else

{

PhaseSelection(p4);

}

}

asm('nop');

multply();

IQ_

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

当前位置:首页 > 法律文书 > 调解书

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

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