摘 要
本次课程设计为基于MATLAB的BPSK原理电路仿真。本次课设着重介绍了算法的实现,并采用MATLAB程序仿真测试了BPSK过程中单极性不归零编码、脉冲成形、PSK调制、信号通过AWGN信道、载波恢复、解调、解码等过程。
关键词:BPSK;2PSK;MATLAB;数字频带通信;
目 录
绪论 1
1 BPSK数字调制原理 2
1.1数字带通传输分类 2
1.2 BPSK调制原理
2
1.2.1调制原理分析 2
1.2.2解调原理分析 4
2 MATLAB软件 6
2.1 MATLAB软件介绍 6
3基于的MATLAB的BPSK调制分析和仿真 7
3.1基于MATLAB的BPSK调制系统总述 7
3.2编码过程的MATLAB实现 8
3.3 BPSK调制的MATLAB的实现 11
3.4 AWGN信道MATLAB的实现 13
3.5载波恢复的MATLAB实现 16
3.5.1接收端带通滤波器 16
3.5.2通过FFT实现载波的直接频率估计 20
3.5.3自适应(迭代)算法验证恢复频率 22
3.6 BPSK解调 25
4
30
附录 31
致谢 32
参考文献 33
绪论
数字信号传输方式分为数字带通传输和数字基带传输。对于本次课程设计二进制相移键控BPSK(Binary Phase Shift Key)是利用载波的相位变化来传递数字信息,而振幅和频率保持不变的一种数字带通调制方式。在实际应用中,PSK具有恒包络特性,频带利用率比FSK高,在相同信噪比的条件下误码率也较低,同时PSK调制实现相对简单,故卫星通信,遥测遥控中用得最多的是BPSK方式调制。
1 BPSK数字调制原理
1.1数字带通传输分类
数字带通传输中一般利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制,比如对载波的振幅、频率和相位进行键控可获得振幅键控(ASK)、频移键控(FSK)和相移键控(PSK)。
1.2 BPSK调制原理分析
1.2.1调制原理分析
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。在BPSK中,通常用初始相位0或
分别表示二进制的‘0’和‘1’。因此,BPSK信号的时域表达式为:
1-1
其中,
表示第n个符号的绝对相位:
1-2
因此,式(1-1)可以改写为:
1-3
由于表示信号的两种码元的波形相同,极性相反,故BPSK信号一般可以表述为一个双极性全占空(100% duty ratio)矩形脉冲序列于一个正弦载波的相乘,即
1-4
其中,
1-5
这里,g(t)脉冲宽度为
的单个矩形脉冲,而
得统计特性为
1-6
即发送二进制符号位‘0’时(
取+1),
取0相位;发送二进制符号为‘1’时(
取-1),
取
相位。这种以载波的不同相位直接去表示响应的二进制数字信号的调制方式,称为二进制绝对相移调制(BPSK)。
调制原理框图如图1.1所示:
图1.1 BPSK调制原理图
典型波形如图1.2所示:
图1.2 发送码元为1 0 0 1 1的BPSK波形
1.2.2解调原理分析
BPSK信号的解调方法是相干解调法。由于PSK信号本身就是用相位传递信息的,所以在接受端必须利用信号的相位信息,故采用相干解调法来解调信号。
BPSK解调原理框图如1.3所示:
抽样判决
低通滤波器
相乘器
带通滤波器
图1.3 BPSK解调原理框图
给出了一种BPSK信号想干接受设备原理框图。图中经过带通滤波的信号在相乘器与本地载波相乘,在相干解调中,如何得到与接收的BPSK信号同频同相的相干载波是关键,然后用低通滤波器去除高频分量,再进行抽样判决,判决器是按极性进行判决,得到最终的二进制信息。图中,假设相干载波的基准相位于BPSK信号的调制载波的基准相位一致。但是,由于在BPSK信号的载波恢复过程中存在
o的相位迷糊(phase ambiguity),即恢复的本地载波与所需的相干载波可能同相,也可能反相,这种相位关系的不确定性将会造成解调出数字基带信号与发送的数字基带信号正好相反,即‘1’变为‘0’,‘0’变为‘1’,判决器输出数字信号全部出错。这种现象称为BPSK方式的‘倒
’现象。
具体波形如图1.4所示
图1.4 解调信号示意图
2 MATLAB软件
2.1 MATLAB软件介绍
MATLAB 简介 MATLAB 的名称源自Matrix Laboratory,它是一种科学计算软件,专门 以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起, 并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理 等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以 非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。
在通信仿真中,欲将寄载消息的信号保质保量的传送给接收者,就必须对它们进行加工处理,对相应的部件进行分析和研究,而这种研讨过程中会用到大量的
计算。它是以矩阵,数组为基本处理对象,矩阵的维数不需要预先指定,且随时可变,具有丰富的矩阵运算功能。仿真功能我们采用MATLAB语言编程,以Windows和MATLAB为软件运行环境。将通信原理中的
用MATLAB来实现。通过灵活的菜单和界面设计使 某些参数可调。同时运用Simulink软件包,使波形在仿真的同时显示系统。更加有利于在课堂上使用。
MATLAB界面:
图2.1 MATLAB界面
3基于的MATLAB的BPSK调制分析和仿真
3.1基于MATLAB的BPSK调制系统总述
基于MATLAB的BPSK调制解调系统流程框图如3.1所示:
图3.1 BPSK调制解调系统流程框图
通信过程分析:
整个发送与接收过程仿真了实际中的通信过程,输入一段信息如‘ph’经过编码过程,变换为一串二进制字符,再加载矩形窗进行脉冲成形,生成原始的数字基带信号,为了发送信息,通过BPSK调制成数字带通信号发射,发射信号进入模拟的AWGN信道,被接收机所接受,BPSK解调采用的是相干解调,故需要进行载波恢复,恢复载波的频率,用已恢复的载波对接受信号进行相乘,再对其进行抽样判决,恢复最原始的二进制字符,再进行解码恢复原始的信息内容。
仿真过程的要求:
本次课设使用MATLAB进行BPSK通信过程仿真,要求不仅能将原始信息转换成二进制字符信息,解调后也能很好的恢复成原来的信息,过程中对信号观察不仅需要从时域上进行观察分析,也需要再频域上进行观察分析,以分析通过AWGN信道对信号的影响。
3.2编码过程的MATLAB实现
对于输入的文本信息,如果要进行调制发送,必然而且也可以将其转换成由‘0’与‘1’二进制字符,这个过程是信源编码过程。
算法原理:
对于输入的文本信息,在MATLAB中有对于的ASCII编码,MATLAB会自动的任意一行文档表示为一列ASCII码。再将十进制的ASCII码转换为二进制的的字符。
对于数字形式的信息,必须转化成模拟形式,也就是脉冲成形过程,它将数字形式的每个字符转换成合适的模拟脉冲,经过传输后,接受端可以从接受到的信号中恢复出原来的二进制字符。本次课设采用矩形窗加载,即为矩形脉冲。
算法原理框图如3.2所示:
图3.2 算法框图
MATLAB代码:
%编码和脉冲成形
%采样率100
decimalvalue=real(str);%使用自带real函数读取字符串的ASCII码
binaryvalue=dec2base(decimalvalue,2,8);% dec2base函数转成8位二进制形式字符
%因为使用dec2base函数转换出的二进制字符是使用char型的数组
%进行将char型转换成int型二进制字符
matrix1=size(binaryvalue);
a=matrix1(1,1);
b=matrix1(1,2);
bv=[];
for i=1:1:a;
for j=1:1:b;
bv1=binaryvalue(i,j);
bv1=bv1*1;
bv1=bv1-48;
bv=[bv bv1];
end
end
%为了能使编码后的二进制可以进行脉冲成形需要对其进行过采样