基于PCM 和基带传输对通信系统的设计
2020-04-13张家伟
张家伟
(重庆交通大学,重庆 400000)
1 设计目的和要求
设计目的和要求具体如下:
(1)了解通信原理在实际生活中的应用;
(2)了解通信系统的实现过程;
(3)整个系统能够完成预期的信号处理的要求;
(4)系统所需实现的功能均能够正常流畅地实现;
(5)能够在示波器上明显地观察出经PCM 处理的信号;
(6)能够有效地对PCM 编码输出地码流进行FSK 调制.
2 设计条件
设计条件包括个人PC、e-labsim、Visual Studio2017。
3 系统设计
3.1 基本原理简述
3.1.1 PCM 概要解释
现实中,距离稍长的信号传输都是需要用数字信道传输的,但是很多信号都是模拟信号(如话音),因此就要实现将模拟信号数字化来实现通信。这就是PCM 的目的所在。
PCM 各部分作用和概念解释如下。
抽样:将时间连续的模拟信号由一系列时间离散的样值取代的过程。
量化:将幅值离散化。
编码:将量化后的电平用二进制来表示。
每两个抽样值的时间间隔称作抽样间隔Ts,抽样信号的频率称为抽样频率fs,fs的选取是有讲究的,其要满足低通抽样定理。
3.1.2 双极性码概要解释
二进制比特流往往是0 和1 交替出现,之所以叫双极性码是因为1 的幅值有+1 和-1 之分,实际应用码型中的AMI 码和HDB3码都是双极性码。
3.1.3 FSK 的概要解释
利用基带信号控制载波的参数,使载波的参数携带基带信息,这就是数字调制的基本概念。FSK 是频移键控的调制方式,根据二进制信号的不同幅值控制载波的频率。往往用开关键控法来实现此种调制方式。当数字信号为1 时,载波是频率为f1的信号,数字信号为0 时,载波是频率为f2的频率。
3.2 系统设计原理
3.2.1 e-labsim 构图及解释
图1 为e-labsim 仿真构图。
图1 e-labsim 仿真构图
靠近左边的是三个信号发生器和一个主控模块,信号发生器从上至下依次是:抽样信号的方波信号发生器、2FSK 的正弦载波1 信号发生器、2FSK 的正弦载波2 信号发生器。主控模块提供本次系统处理的基带信号,其是一个正弦信号。二次开发板是核心器件,用于执行系统的算法,算法由Visual Studio 生成的DLL文件导入。通过IN 和OUT 接口来对输入的信号进行算法处理和输出处理后的调制和解调。剩下的5 个示波器用来显示所需显示的信号。
3.2.2 抽样部分的设计
在e-labsim 中,主控&信号源模块引出模拟信号源A-OUT,接到二次开发模块IN1,用信号发生器产生频率16 kHz、峰值为5 V 的方波信号作为抽样信号。当抽样信号的值满足非0 的条件下,OUT 端口就输出IN1 端口的信号幅值,否则,OUT 端口输出的信号的幅值就为0。
图2 为抽样原理图。
图2 抽样原理图
根据抽样定理,抽样频率要大于信号最高频率的两倍,从抽样的结果来看,抽样频率16 kHz 是满足要求的。
3.2.3 量化部分的设计
PCM 中量化是紧紧跟着抽样部分的,抽样后的幅值是连续的,取值有很多种可能,在本系统中,设置输入的幅值不超过2 V。因此,对-2~+2 V 进行了21段量化。量化表1 如所示。
表1 量化值表
在工程文件中,程序对编码后OUT1 输出的值所落的区间进行判别,返回区间中点值作为量化电平值。在OUT2 端口进行输出。
3.2.4 编码的原理设计
从表1 自行设计的编码规则中可知:一共只有21段,没有设置段落码,只设置了极性码和段内码,将所有量化电平都看作为同一段落内的。
编码原理解释如下:
a1=1 时,代表得到的量化值是非负的,反之a0= 0,代表得到的量化值是正的。
在编程中,量化值的编码值放置在record[]数组中,全局整型变量pg 存放量化值对应的位置段值。record[]数组中的值对应十进制变量pg的二进制数值。
3.2.5 双极性码的设计原理
双极性码是体现在信号值“1”上的,当前“1”的极性是与前一个“1”的极性相反的,因此在程序中设计一个标记变量即可。
基于当前record[]数组里的值,设计思想如下。
若record[index]值为1:
若record[index]的值为0,输出也为0。
其中,FC是全局标记变量,若FC为1 则标志着前一个1 极性为负,则当前输出1 的极性为正,同时将标记变量FC修改为0,代表输出了极性为正的“1”。
若FC为0,则标志着前一个1 极性为正,则当前输出1 的极性为负,同时将标记变量FC修改为1,代表输出了极性为负的“1”。
3.2.6 2FSK 的设计原理
此模块功能是针对PCM 编码后的码流来实现的,若码流中的比特值为1,输出频率为f1(如2 000 kHz) 的载波,若码流中的比特值为0,输出频率为f2的载波。
输出的信号是从二次开发板中的OUT4 端口输出的。即:
不同频率的载波由函数信号发生器来得到。
4 详细设计与编码
4.1 设计方案
设计思路具体如下。
主控模块提供一个正弦波,输入到IN1 口,函数信号发生器模块提供一个采样信号,输入到IN2 口,当IN2 口的信号满足一定条件时,在当前的程序运行周期中实施对IN1 口信号的采样;根据预先设置好的量化值表对抽样值进行量化,取他所落区间的中值作为量化结果;量化部分由子功能函数来实现,通过返回值的方式来对OUT 口进行输出;对于编码,同样利用子功能函数Code()来实现,根据量化值所落的位置段这一信息反应在了全局整型变量pg,然后对全局整型变量pg 进行二进制转化,将转化结果存在record[]数组中。为了防止溢出,程序中对下标变量cnt 进行取余操作。在运行周期里,OUT 口会对record[]数组里的内容进行输出。针对输出的值为0 还是为1,进行FSK 调制。程序设计的流程如图3 所示。
图3 编程流程图
4.2 软件工具的选择
选择e-labsim、Visual Studio作为编程工具,e-labsim提供前端连接图所需,Visual Studio 提供c 语言编写环境,生成dll 文件以导入进二次开发模块中。
e-labsim 是一款还拥有仿真引擎和数学模型的模块级仿真软件,与Flash 形式的“伪仿真”不同,e-labsim可以真实再现实验状况和现象。
5 仿真结果
5.1 PCM 结果展示
图4 为PCM 仿真结果。
图4 PCM 仿真结果
5.2 2FSK 和解调结果展示
图5 为2FSK 和解调仿真结果。
图5 2FSK 和解调仿真结果
6 结 论
本次设计结合PCM、FSK、基带传输码型知识设计了一个综合PCM 抽样、量化、编码、将编码的比特流进行FSK 调制和码型变换的通信系统,最后将PCM码流进行解调,从OUT 输出解调信号。