ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:139.75KB ,
资源ID:2975239      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2975239.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(HUT基于C6000的QPSK解调器设计与实现解读.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、HUT基于C6000的QPSK解调器设计与实现解读 湖 南 工 业 大 学课 程 设 计资料袋 计算机与通信 学院(系、部) 20152016 学年第 一 学期课程名称: DSP应用 课程设计 指导教师: 龙永新 职称 副教授 学生姓名: 戴勇建 专业班级 通信1201班 学号12408200115 设计题目: 基于C6000的QPSK解调器设计与实现 成 绩: 起止日期: 2015 年 12 月 7 日 至 2015 年 12 月 18 日 目录清单序号材料名称资料数量备注1课程设计任务书12课程设计说明书13课程设计图纸0张456DSP应用课程设计设计说明书基于C6000的QPSK解调器设

2、计与实现起止日期: 2015年 12 月 7 日 至 2015年 12 月 18 日学生姓名戴勇建班级通信1201学号12408200115成绩指导教师(签字)计算机与通信学院2015年 12 月 18 日课题名称基于C6000的QPSK解调器设计与实现人 数6组 长戴勇建同组人员周利莎、戴平凡、龚胜、陈策力、许增、胡卫明课题的主要内容和要求1.主要内容:(1)编写程序。 (2)程序要完善、优化,能运行于C5402开发板,能演示输入输出数据的完整图形,显示结果,并对程序或相关设计予以解释。2.主要任务:(1)算法设计;(2)程序设计;(3)程序的调试与各项性能的测试。具体任务1、编写程序,对

3、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信号解调的设计过程通过

4、该设计,熟悉QPSK解调器的原理和方法,掌握其DSP程序设计与实现过程,以及程序的调试技巧。是对DSP应用技术理论学习的总结和补充,为DSP应用系统的开发设计打下基础。二、设计原理 QPSK 信号解调可以采用相干解调的方法实现,下图为方框图:三、设计所需仪器与设备1、PC微机1台,安装CCS3.02、DSP仿真器TDS510-USB2.0,1套四、设计内容1、编写程序,对 QPSK调制信号进行解调。在 DSP 编程时,直接把载波放入存储器,然后通过统计的方法判断是“1”还是“0” ,最后通过并串转换还原出原来信号。2、程序完善、优化,面向C6000开发调试。3、能演示输入输出数据的完整图形,显

5、示结果,并对程序或相关设计予以解释。五、设计步骤1、用仿真机将计算机与TI C54x开发板连接好,然后运行CCS软件。2、新建一个项目:点击Project-New,将项目命名为DEQPSK,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS软件不能识别以中文命名的文件夹。3、新建一个源文件:点击点击FileNewSource File可以打开一个文本编辑窗口,点击 保存按键,保存在和项目相同的一个文件夹下面(DEQPSK),保存类型选择*.C(如果源文件 是C语言编写的,保存类型选择*.C,如果使用汇编语言编写的,选择*.ASM为保存类型),我们在

6、这里将保存名字命名为DEQPSK.c 。 4、在项目中添加源文件:在新建立了一个源文件以后,要想使用CCS编译器对该源文件 进行编译还需要将源文件添加到项目中去。添加方法是在工程管理器中右键单击DEQPSK.pjt, 在弹出的菜单中选择Add Files,然后将刚才建立的DEQPSK.c文件添加到该项目中去。 5、编写源程序: 在工程管理器中双击DEQPSK.c ,将出现文本编辑窗口,在该文本编辑窗口中输入如 下内容:#include #define InputLength 15 /*IQ两路的长度*/#define SineLenth 64 /*一个周期正谐波的长度*/#define p1(

7、sineLength/8)*1 /*第一相位*/#define p2(sineLength/8)*3/*第二相位*/#define p3(sineLength/8)*5 /*第三相位*/#define p4(sineLength/8)*7 /*第四相位*/#define OutputLength InputLength*SineLength /*输出数据的总长度*/#define pi 3.14159/*/*子函数和子程序定义开始*/void main() int i=0,j=0,a=0,n,x,b=0; int IInputLength=0,0,0,1,0,0,1,1,0,0,0,1,1,1

8、,1; int QInputLength=0,1,1,1,1,1,0,0,0,0,0,1,1,1,1; void PhaseSelection(int a); /*相位选择函数声明*/ IER=0; for(i=0;iSineLength;i+) /*在sin_data里面存储一个正弦波*/ sin_datai=2047+(sin)(2047.0*sin(2*pi*i/(SineLength); /*调用sin函数*/ for(j=0;jSineLength;j+) /* 再往sin_data里面存储一个sin波形,这样sin_data里有两个sin波形*/ sin_datai+=sin_da

9、taj; for(j=0;jOutputLength+64;j+) /将输出数组初始化 QPSKj=0; for(j=0;jInputLength;j+) /OQPSK相位选择 if(Ij=1&Qj=1) phaseSelection(p1); /*选择pi/4的相位*/ if(Ij=0&Qj=1) phaseSelection(p2); /*选择3pi/4的相位*/ if(Ij=0&Qj=0) phaseSelection(p3); /*选择5pi/4的相位*/ if(Ij=1&Qj=0) phaseSelection(p3); /*选择5pi/4的相位*/ for(i=OutputLeng

10、th;iOutputLength+64;i+) QPSKi=0; for(i=0;iOutputLength+8;i+) *(int*)(0x30000+4*i)=QPSKi; /把数据给一个地址,然后从这个地址看结果(xt1029) a=*(int*)(0x30000+4*i); *(int *)(0x8000+4*i)=a; for(;) submit_qdma(); wait(); /*相位选择函数定义结束*/解调程序部分源代码#include #define InputLength 15 /*IQ两路的长度*/#define SineLenth 64 /*一个周期正谐波的长度*/#de

11、fine p1(sineLength/8)*1 /*第一相位*/#define p2(sineLength/8)*3/*第二相位*/#define p3(sineLength/8)*5 /*第三相位*/#define p4(sineLength/8)*7 /*第四相位*/#define OutputLength InputLength*SineLength /*输出数据的总长度*/#define pi 3.14159int w=0;static int m=0;static int IInputLength=0,0,0,1,0,0,1,1,0,0,0,1,1,1,1; /*输入数据1路*/st

12、atic int QInputLength=0,1,1,1,1,1,0,0,0,0,0,1,1,1,1; /*输入数据Q路*/static int QPSKOutputLength;static int sin_dataSineLength*2;static int cos_dataSineLength;static int I_multply_cosOutputLength;static int Q_multply_sinOutputLength;static int I_DeQPSKInputLength;static int Q_DeQPSKInputLength;/*子函数和子程序定义

13、*/void main() int i=0,j=0; void PhaseSelection(int a); void multply(); void IQ_Decision(); for(i=0;iSineLength;i+) sin_datai=(int)(64.0*sin(2*pi*i/(SineLength); cos_datai=(int)(64.0*cos(2*pi*i/(SineLength); i=SineLength; for(j=0;jSineLength;j+) sin_datai+=sin_dataj; for(j=0;jInputLength;j+) if(Ij=1&Qj=1) PhaseSelection(p1); else if(Ij=0&Qj=1) PhaseSelection(p2); else if(Ij=0&Qj=0) PhaseSelection(p3); else PhaseSelection(p4); asm(nop); multply(); IQ_

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

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