HUT基于C6000的QPSK解调器设计与实现解读.docx
- 文档编号:2975239
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:16
- 大小:139.75KB
HUT基于C6000的QPSK解调器设计与实现解读.docx
《HUT基于C6000的QPSK解调器设计与实现解读.docx》由会员分享,可在线阅读,更多相关《HUT基于C6000的QPSK解调器设计与实现解读.docx(16页珍藏版)》请在冰豆网上搜索。
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_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HUT 基于 C6000 QPSK 解调器 设计 实现 解读