1、外设接口初始化、接收、发送、编码、基带调制、滤波、载波同步、位同步、解调、帧同步等。关键词:调制解调器;DSP;滤波;编码目 录绪 论 11 设计任务及目的 21.1设计任务 21.2设计目的 22 设计原理 22.1 QPSK调制的描述 22 .2QPSK调制原理 23 软件程序 53.2 QPSK调制的DSP实现 93.3符号设定: 103.4主要部分程序: 113.5命令文件 154 程序运行结果及分析 175 结 论 19绪 论21世纪是数字化的时代,随着越来越多的电子产品将数字信号处理(PSP)做为技术核心,DSP已经成为推动数字化进程的动力。作为数字化最重要的技术之一,DSP无论在
2、其应用的深度还是广度,正在以前所未有的速度向前发展。数字信号处理器,也称DSP芯片,是针对数字信号处理需要而设计的一种具有特殊结构的微处理器,它是现代电子技术、相结合的产物。一门主流技术,随着信息处理技术的飞速发展,计算机技术和数字信号处理技术数字信号处理技术逐渐发展成为它在电子信息、通信、软件无线电、自动控制、仪表技术、信息家电等高科技领域得到了越来越广泛的应用。数字信号处理由于运算速度快,具有可编程特性和接口灵活的特点,使得它在许多电子产品的研制、开发和应用中,发挥着重要的作用。采用DSP芯片来实现数字信号处理系统是当前发展的趋势。近年来,DSP技术在我国也得到了迅速的发展,不论是在科学技
3、术研究,还是在产品1 设计任务及目的1.1设计任务课程设计是实践教学环节。学生通过动手做软件和硬件设计,能够熟练掌握数字信号处理技术,增加对基础知识的消化和理解。其内容包括:FIR滤波器,IIR滤波器,FFT快速傅里叶变换 ,语音处理,D/A转换等。1.2设计目的(1)将数字信号调制成模拟信号(QPSK调制)(2)输出调制后的信号。2 设计原理2.1 QPSK调制的描述四相相移键控调制(Quaternary Phase Shift Keying,QPSK)是一种线性窄带数字调制技术,它已经在数字调制技术中占有重要的地位,被广泛地应用于卫星通信、移动通信、视频会议系统、蜂窝电话和其它数字通信领域
4、。具有频带利用率高、频谱特性好、抗衰落性能强、较低的比特错误率等优点。QPSK 基带调制器的目的是把数据比特;映射成/4 相移D-QPSK 星座图,并对I 和Q 脉冲;进行频谱整形,其调制器工作原理框图如图1 所示。2 .2QPSK调制原理所谓的QPSK调制就是利用载波的四种不同相位来表征数字信息,每一种载波相位代表两个二进制代码元信息。由于每一个载波相位代表两个二进制码元信息,所以每四个二进制码元又被称为双比*元。QPSK信号的表示式为(1)式中,是同相支路信号,Q(t)是正交支路信号。 图1给出实现QPSK调制的原理。输人的二进制数字信号经过串并转换电路分为两路速率减半的双极性信号:同相信
5、号,和正交信号Q(t),经低通滤波成形后分别与相互正交的两路载波信号相乘,然后相加即可得到QPSK信号,也可以采用相位选择法来实现QPSK信号输入的二进制数字信号经串并转换后成为双比特码元而载波发生器产生4种不同相位的载波波形根据双比特码元的不同组合,每个比特周期从4种不同相位的载波中选择一种输出,然后经带通滤波器滤除带外干扰信号。就得到QPSK信号,这种方式适用于载波频率较高的 coswct输入 QPSK 信号信号 sinwct 图l QPSK调制原理图 其调制框图如下图2所示。 Y N 图 2 调制子程流程图保存数据 图1中,串并变换器将输入的二进制序列依次分为两个并行的双极性码序列。设二
6、进制数分别为a和b。双极性的a和b脉冲通过两个平衡调制器分别对同相载波和正交载波进行二相调制,两路输出叠加后就可以得到QPSK信号。3 软件程序3.1主程序yao.asm清单 .mmregs .def startK_IF80 .set 1 .bss x,1 .bss y,1 .bss SINSTP,1 .bss SIN25P,1 .datasinx .usect sinx,1000cosx .usect cosx,1000 fsin .usect fsinfcos .usect fcosqpsk .usect qpsk,3000STACK .usect STACK,10table .word
7、-8*32768/10000 .word -32*32768/10000 .word -75*32768/10000 .word -114*32768/10000 .word -76*32768/10000 .word 126*32768/10000 .word 532*32768/10000 .word 1081*32768/10000 .word 1617*32768/10000 .word 1949*32768/10000 .word -8*32768/10000 SINTAB: 07FFFH,07FD8H,07F61H,07E9CH,07D89H,07C29H,07A7CH,07884
8、H .word 07641H,073B5H,070E2H,06DC9H,06A6DH,066CFH,062F1H,05ED7H .word 05A82H,055F5H,05133H,04C3FH,0471CH,041CEH,03C56H,036BAH .word 030FBH,02B1FH,02528H,01F1AH,018F9H,012C8H,00C8CH,00648H .word 00000H,0F9B8H,0F374H,0ED38H,0E707H,0E0E6H,0DAD8H,0D4E1H .word 0CF05H,0C946H,0C3AAH,0BE32H,0B8E4H,0B3C1H,0A
9、ECDH,0AA0BH .word 0A57EH,0A129H,09D0FH,09931H,09593H,09237H,08F1EH,08C4BH .word 089BFH,0877CH,08584H,083D7H,08277H,08164H,0809FH,08028H .word 08001H,08028H,0809FH,08164H,08277H,083D7H,08584H,0877CH .word 089BFH,08C4BH,08F1EH,09237H,09593H,09931H,09D0FH,0A129H .word 0A57EH,0AA0BH,0AECDH,0B3C1H,0B8E4H
10、,0BE32H,0C3AAH,0C946H .word 0CF05H,0D4E1H,0DAD8H,0E0E6H,0E707H,0ED38H,0F374H,0F9B8H .word 00000h,00648H,00C8CH,012C8H,018F9H,01F1AH,02528H,02B1FH .word 030FBH,036BAH,03C56H,041CEH,0471CH,04C3FH,05133H,055F5H .word 05A82H,05ED7H,062F1H,066CFH,06A6DH,06DC9H,070E2H,073B5H .word 07641H,07884H,07A7CH,07C
11、29H,07D89H,07E9CH,07F61H,07FD8H .word 07FFFH .textstart: SSBX FRCT STM #STACK+10,SP STM #sinx,AR1 STM #cosx,AR3 STM #fsin,AR4 STM #fcos,AR2 STM #qpsk,AR0 ST #0,SIN25P CALL SIN25K STM #x,AR5 STM #y,AR7 ST #0xb8e4,*AR7 ;被调的信息 LD *AR7,B STL B,*AR5 ST #0,SIN25P STM #7,AR6 QPSKSTART: LD *AR5,B AND #11,B
12、SFTL B,5 LD *AR5,A ROR A STL A,*AR5 LD SIN25P,A ADD B,A ADD #SINTAB,A STM #255,BRC RPTB QPSKEND SUB #SINTAB,A ADD SINSTP,A AND #07FH,AQPSKEND: READA *AR0+ BANZ QPSKSTART,*AR6- here: B hereSIN25K: STM #500, BRC RPTB SINRET-1 ST #K_IF80,SINSTP STL A,SIN25P READA *AR1+ ADD #32,A READA *AR3+ ADD #64,A R
13、EADA *AR4+ ADD #96,A READA *AR2SINRET RET .end 2. 3.2 QPSK调制的DSP实现3.21参数设定:采样速率384000次/S载波频率48KHZ传输数据速率64Kb/s汉明窗平方根升余弦滚降滚降系数0.3551阶FIR滤波3.22子程序说明:QPSK_demod 子程序用来对接收信号进行波形成型和低通根升余弦特性的滤波。sin_val子程序用线性内插法提高正,余弦值的精度输入输出程序从A/D缓冲区读入16b数据。经过处理后,数据输出至RW_BUFR和RW_BUFI缓冲区,形成为16b数据。 RW_FILR.set 500H RW_FILI .s
14、et 600H RW_BUFR .set 700H RW_BUFI.set 900H RW_ADB .set 6000H RW_FILL.set 51H RW_BUFL .set 51H RW_ADBL .set 800H RW_BUFIN存放RW_BUFR和RW_BUFI的入口地址 RW_BUFOUT存放RW_BUFR和RW_BUFI的出口地址 RW_ADIN存放RW_ADB的入口地址 RW_ADOUT存放RW_ADB的出口地址 SIN_RP存放表sin_tab_512的读取点位置 psk_demod LD RW_ADIN,A;将A/D缓冲的入口放到A中 SUB RW_ADOUT,A;求A/
15、D缓冲区的入口和出口之差 NOP NOP XC 2,ALT ADD #RW_ADBL,A SUB #8,A BC rw_demod00,ALET;检查A/D缓冲区中是否有采样值要解调 LD RW_BUFOUT,A SUB RW_BUFIN,A XC,2,ALEQ ADD #200H,A SUB #24H,A BC rw_demod00,ALT;检查RW_BUFR和RW_BUFI是否有空间 LD #RW_BUFR,A ADD RW_BUFIN,A;计算RW_BUFR的入口地址 STLM A,AR1 LD #RW_BUFI,A计算RW_BUFI的入口地址 STLM A,AR2 LD RW_ADOU
16、T,A ADD #RW_ADB,A;计算RW_ADB的出口地址 STLM A,AR3 STM #50,AR0 ;循环51次 STM #7,BRC RPTBD rw_dem01-1;循环下界到rw_dem01之前 STM #RW_ADBL,BK SSBX FRCT STM #FILR,AR4 STM #FILI,AR5 CALL sin_val;计算正,余弦值 LD *AR3+%,T MPY DATA5,A STH A,*AR4+0 MPY DATA6,A STH A,*AR5+0 RSBX FRCT RPTZ A,#50 MACD *AR4-,scr_wave,A;R(t)信号进行FIR滤波
17、STH A,*AR1+ MACD *AR5-,scr_wave,A;I(t)信号进行FIR滤波 STH A,*AR2+rw_demo01 LD SR_BUFIN,A;改变RW_BUFR的入口地址 ADD #08H,A AND #1FFH,A STL A,RW_BUFIN LD RW_ADOUT,A;改变A/D缓冲区的出口地址 AND #RW_ADBL-1,A STL A,RW_ADOUTrw_demo00 RETsin_val LD SIN_RP,A AND #3FH,A STL A,DATA0 LD DATA0,9,A STL A,DATA0;取低6b LD SIN_RP,10,A STH
18、A,DATA1;取高9b LD DATA1,A ADD #sin_tab_512,A READA DATA2;第一个数据D1 ADD #1,A READA DATA3;第2个数据D2 LD DATA3,A SUB DATA2,A;D1-D2 STL A,DATA4 LD DATA0,T MPY DATA4,A ADD DATA2,16,A STH A,DATA5;正弦值(D1-D2)*xxxxxxB ADD #80,A第一个数据D3第2个数据D4D3-D4 STH A,DATA6;余弦值(D3-D4)*xxxxxxB LD SIN_CH,A ADD #SIN_RP,A;修改sin_tab_51
19、2读入地址 ADD #DEG45,A ADD #8000H,A AND #7FFFH,A STL A,SIN_RP;保存修改后的地址scr_wave ;滚降系数为0.35的根升余弦表 .word 0fff6H,00003H,00013H,0001eH,00019H,0fffaH,0ffc1H,0ff89H,0ff85H .word 0ffe8H,000c2H,001dcH,002a9H,0026aH,00087H,0fcf9H,0f89cH,0f53cH .word 0f52aH,0fa7eH,00633H,01781H,02bb9H,03ed2H,04c7dH,05174H,04c7dH .
20、word 03ed2H,02bb9H,01781H,00633H,0fa7eH,0f52aH,0f53cH,0f89cH,0fcf9H .word 00087H,0026aH,002a9H,001dcH,000c2H,0ffe8H,0ff85H,0ff89H,0ffc1H .word 0fffaH,00019H,0001eH,00013H,00003H,0fff6Hsin_tab_512;512点正弦值 .word 00000H,00192H,00324H,004b6H,00647H,007d9H,0096aH,00afbH,00c8bH .word 00e1bH,00fabH,01139H,
21、012c8H,01455H,015e2H,0176dH,018f8H,01a82H .word 01c0bH,01d39H,01f19H,0209fH,02223H,023a6H,02528H,026a8H,02826H .word 029a3H,02b1fH,02c98H,02e11H,02f87H,030fbH,0326eH,033deH,0354dH .word 036baH,03824H,0398cH,03af2H,03c56H,03db8H,03f17H,04073H,041ceH .word 04325H,0447aH,045cdH,0417cH,04869H,049b4H,04a
22、fbH,04c3fH,04d81H .word 04ebfH,04ffbH,05133H,05269H,0539bH,054caH,055f5H,0571dH,05842H .word 05964H,05a82H,05b9dH,05cb4H,05dc7H,05ed7H,05fe3H,060ecH,061f1H .word 062f2H,063efH,064e8H,065ddH,066cfH,067bdH,068a6H,0698cH,06a6dH .word 06b4aH,06c24H,06cf9H,06dcaH,06e96H,06f5fH,07023H,070e2H,0719eH .word
23、0e57eH,0e708H,0e893H,0ea1eH,0ebabH,0ed38H,0eec7H,0f055h,0f1e5H .word 0f375H,0f505H,0f696H,0f827H,0f9b9H,0fb4aH,0fcdcH,0fe6eH3.5命令文件-o converter1.out-m converter1.map-e startMEMORY PAGE 0: EPROM : org=0E000h, len=1000h PAGE 1: DARAM1 : org=1000h, len=1000h DARAM2 : org=2000h, len=1000h DARAM3 : org=3
24、000h, len=1000h DARAM4 : org=4000h, len=1000h DARAM5 : org=5000h, len=100h DARAM6 : org=5100h, len=100h DARAM7 : org=5500h, len=500h DARAM8 : org=6000h, len=500h DARAM9 : org=0060h, len=10h DARAM10: org=6500h, len=3000hSECTIONS .text : EPROM PAGE 0 .data : sinx :DARAM1 PAGE 1 cosx :DARAM2 PAGE 1 fsi
25、n :DARAM7 PAGE 1 fcos :DARAM8 PAGE 1 qpsk :DARAM10 PAGE 1 xn :DARAM5 PAGE 1 a0 :DARAM6 PAGE 1 .bss :DARAM9 PAGE 1 STACK:4 程序运行结果及分析 图一 调制后 图二 Snap1 图三 载波一图四 载波二图五 载波三图六 载波四5 结 论 随着数字蜂窝系统的发展,对调制解调的技术也将要求越来越高。在数字信号处理飞速发展的今天,采用DSP 技术实现的QPSK 基带调制解调器在技术要求等发面能满足数字蜂窝系统发展的需求,其性能更优于FSK 、ASK 、PSK 等调制方式。QPSK 调制解调的实现过程中,利用查表
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1