




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字调制解调的DSP实现BPSK、QPSK调制解调仿真1 系统的工作原理1.1 BPSK调制解调原理在PSK调制时,载波的相位随调制信号状态不同而改变。如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,此时它们就处于“同相”状态;如果一个达到正最大值时,另一个达到负最大值,则称为“反相”。一般把信号振荡一次(一周)作为360度。如果一个波比另一个波相差半个周期,我们说两个波的相位差180度,也就是反相。当传输数字信号时,“1”码控制发0度相位,“0”码控制发180度相位。载波相位只有0和两种取值,分别对应于调制信号的“0”和“1”。传“1“信号时,
2、发起始相位为的载波;当传“0”信号时,发起始相位为0的载波。由“0”和“1”表示的二进制调制信号通过电平转换后,变成由“1”和“1”表示的双极性NRZ(不归零)信号,然后与载波相乘,即可形成2PSK信号。用开关电路去选择相位相差p 的同频载波(如图1-1)产生。图 11BPSK解调必须采用相干接收法(如图1-2)。图 121.2 QPSK调制解调原理正交相移键控(Quadrature Phase Shift Keyin,QPSK)是一种数字调制方式。它分为绝对相移和相对相移两种。由于绝对相移方式存在相位模糊问题,所以在实际中主要采用相对移相方式DQPSK。目前已经广泛应用于无线通信中,成为现代
3、通信中一种十分重要的调制解调方式。在四相绝对相移键控是利用载波的四种不同相位来表征数字信息的。由于每一种载波相位代表两个比特信息,故每个四进制码元又被称为双比特码元。双比特码元中的两个信息比特通常是按格雷码(即反射码)排列的。图1-3(a)表示A方式时QPSK信号的矢量图,图(b)表示B方式时QPSK信号的矢量图。图 13 QPSK信号的矢量图QPSK信号常用的产生方法有三种:正交调制法、相位选择法及脉冲插入法。1)正交调制法发送端采用正交调制法的方框图如图1-4所示,图 14 QPSK调制系统方框图(正交法)2)相位选择法图 15相位选择法的方框图3)脉冲插入法图 16插入脉冲法产生QPSK
4、信号原理方框图QPSK信号的相干解调图 17 QPSK信号的相干解调方框图QPSK同2PSK一样,在接收机解调时,由于相干载波相位的不确定性,使得解调后的输出信号不确定。为了克服这种缺点,在实际通信中通常采用QDPSK系统。2 BPSK和QPSK的数学模型2.1 BPSK信号模型BPSK信号的数学表达式为: 其中 若在某一码元持续时间T内观察是,式(1.1)可以简写为: BPSK信号也相当于用矩形双极性不归零基带信号与载波信号相乘,故也可表示成: 2.2 QPSK信号模型BPSK信号的数学表达式为: 式中 常见的 有两种形式(见下表):双比特码元载波相位ABAB0005/410/27/411/
5、4013/23/43 仿真结果1、BPSK仿真结果:BPSK调制解调过程星座图2、QPSK仿真结果BPSK调制过程4 仿真代码BPSK代码:1. main.cextern void qpsk(); void filter(float *b,float *a,float *s,int N_b,int N_s);#include "C54MATH.H"DATA x256;DATA y256; /正弦信号DATA Pulse256; /被调信号DATA PskSignal256; /BPSK调制信号DATA PskSignal01256; /BPSK调制信号DATA RecMeg
6、256;DATA RecSig256;#define N 256void main() int i,j; for(i=0;i<N;i+)/产生一个500Hz的正弦信号作为调制信号 xi=i*0x1000; sine( x, y, N ); for(i=0;i<N;i+)/产生一个被调信号(用-1,1分别表示被调信号的两种状态) j=i/32; switch (j%2) case 0: Pulsei=-1; break; case 1: Pulsei=1; break; /调用汇编函数bpsk bpsk(); for(i=0;i<N;i+) PskSignal01i=PskSi
7、gnali*yi+4;if(PskSignal01i>0)RecMegi=1;else if(PskSignal01i<0)RecMegi=-1;RecSigi=(RecMegi+1)/2; for(;); 2. psk_asm.asm .title"psk_asm.asm" .global _qpsk ;定义为全局变量,提供给C调用 .global _y ;C程序变量 .global _Pulse ;C程序变量 .global _PskSignal ;C程序变量 .mmregs .text_qpsk: rsbx CPL stm #8-1,AR2 ;循环变量 2
8、56/32=8 stm #_y, AR4 stm #_Pulse, AR3 stm #_PskSignal, AR5 loop: ld *AR3, A bc phase0, AEQ ;若为0状态信号,则相移0 sub #1, A addm #4, AR4 bc phase1, AEQ ;若为1状态信号,则相移pi pskend: addm #32, AR3 banz loop, *AR2- ret phase0: rpt #32-1 mvdd *AR4+, *AR5+ b pskend phase1: rpt #32-1 mvdd *AR4+, *AR5+ addm #-36,AR4 b ps
9、kend phase2: rpt #32-1 mvdd *AR4+, *AR5+ addm #-40,AR4 b pskend phase3: rpt #32-1 mvdd *AR4+, *AR5+ addm #-44, AR4 b pskend .end 3. bpsk.cmd -c -l rts.lib-l c54math.lib-stack 0x200-heap 0x200MEMORY PAGE 0: INT_PM_DRAM: origin = 0080h, length = 1000h PAGE 1: INT_DM_1: origin = 1080h, length = 01000h
10、SECTIONS .text : > INT_PM_DRAM PAGE 0 .cinit : > INT_PM_DRAM PAGE 0 .switch : > INT_PM_DRAM PAGE 0 .data : > INT_DM_1 PAGE 1 .stack : > INT_DM_1 PAGE 1 .bss : > INT_DM_1 PAGE 1 .sysmem : > INT_DM_1 PAGE 1 .const : > INT_DM_1 PAGE 1 .dout : > INT_DM_1 PAGE 1 QPSK代码:1. main.
11、cextern void qpsk(); #include "C54MATH.H"DATA x256;DATA y256; /正弦信号DATA Pulse256; /被调信号DATA PskSignal256; /QPSK调制信号DATA PskSignal01256;DATA RecMeg256;DATA RecSig256;#define N 256void main() int i,j; for(i=0;i<N;i+)xi=i*0x1000; sine( x, y, N );/产生一个被调信号(用-3,-1,1,3分别表示被调信号的四种状态) for(i=0;i
12、<N;i+) j=i/32; switch (j%4) case 0: Pulsei=-3; break; case 1: Pulsei=-1; break; case 2: Pulsei=1; break; case 3: Pulsei=3; break; /调用汇编函数qpsk qpsk(); for(i=0;i<N;i+) for(;); 2. psk_asm.asm .title"psk_asm.asm" .global _qpsk ;定义为全局变量,提供给C调用 .global _y ;C程序变量 .global _Pulse ;C程序变量 .glob
13、al _PskSignal ;C程序变量 .mmregs .text_qpsk: rsbx CPL stm #8-1,AR2 ;循环变量 256/32=8 stm #_y, AR4 stm #_Pulse, AR3 stm #_PskSignal, AR5 loop: ld *AR3, A bc phase0, AEQ ;若为0状态信号,则相移0 sub #1, A addm #4, AR4 bc phase1, AEQ ;若为1状态信号,则相移pi/2 sub #1, A addm #8, AR4 bc phase2, AEQ ;若为2状态信号,则相移pi sub #1, A addm #1
14、2, AR4 bc phase3, AEQ ;若为3状态信号,则相移3*pi/2 pskend: addm #32, AR3 banz loop, *AR2- ret phase0: rpt #32-1 mvdd *AR4+, *AR5+ b pskend phase1: rpt #32-1 mvdd *AR4+, *AR5+ addm #-36,AR4 b pskend phase2: rpt #32-1 mvdd *AR4+, *AR5+ addm #-40,AR4 b pskendphase3: rpt #32-1 mvdd *AR4+, *AR5+ addm #-44, AR4 b pskend .end 3. qpsk.cmd -c -l rts.lib-l c54math.lib-stack 0x200-heap 0x200MEMORY PAGE 0: INT_PM_DRAM: origin = 0080h, length = 1000h PAGE 1: INT_DM_1: origin = 1080h, length = 01000h SECTIONS .text : > INT_PM_DRAM PAGE 0 .cinit : &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分析当前零售业中的数字化趋势及其对业务的影响
- 古代诗歌的美感鉴赏教学教案
- 学科型智慧教室环境下外语学习者个性化支持
- 绿色包装方案与生态设计的结合
- 综合收入与工作经历核实证明书(7篇)
- 植物生物学分类及生态适应性试题集
- 数字金融重塑农村金融市场结构的路径分析
- 秋游的故事写事作文7篇范文
- 现代通信技术原理练习题
- 公司员工绩效与考勤考核综合报表
- 2025至2030中国芳纶纤维行业需求预测及发展前景趋势研究报告
- 初级保健按摩师(脊柱按摩师)资格理论必背考试题(附答案)
- 2025届新高考历史押题模拟试卷 3套(含答案解析)
- 2025年银行从业资格证考试题库获取试题及答案
- 十一学校小升初入学测试数学真题及详细解答
- 4-02-02-01 国家职业标准客运车辆驾驶员 (2025年版)
- 2024北京西城区四年级(下)期末语文试题及答案
- 【航线补贴绩效评估实证研究-以华夏航空公司为例19000字(论文)】
- 电梯五方对讲设计方案
- 24 唐诗三首 《茅屋为秋风所破歌》课件
- 2025年初一下册语文-课内现代文复习23课.《蛟龙探海》(解析版)
评论
0/150
提交评论