数据采集与传输系统实验报告Word格式.docx
《数据采集与传输系统实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《数据采集与传输系统实验报告Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
另外,对于本题目,还可以考虑采用基带编码的方法进行传输,如HDB3码,但这种编码方法其抗干扰能力较差,因此也不太适合。
方案二:
PSK调制方式具有较强的抗干扰能力,同时其调制带宽相对也比较窄,因此我们考虑采用这种调制方式。
为了简化系统,在实际实现时,我们采用了方波作为载波的PSK调制方式。
当要求的数据传输速率较低(≤24kbps)时,对原始数据处理的方法如下:
“1”用“1010”(0相位两个周期的方波)表示;
“0”用“0101”(π相位两个周期的方波)表示。
上述调制方法能传输的最大码元速率为24kbps,当要求的数据传输速率大于24kbps时,对原始数据处理的方法如下:
“1”用“10”(0相位一个周期的方波)表示;
“0”用“01”(π相位一个周期的方波)表示。
同时我们为了避免PSK调制方式复杂的载波提取电路的设计,在具体设计时采用了异步传输和软件解调相结合的解调方法,即:
首先利用异步传输的起始位,确定数据的初始相位,避免了PSK解调时相位的随机性;
然后利用简单的软件判决进行数据的解调。
这样做有以下优点:
1、只使用两个电平,有足够的定位信息,直流漂移较小。
2、信号频谱的主要部分在30k~50kHz的通带范围内,利于传输。
3、实现方法简单,避免了PSK解调时复杂的载波提取和位同步提取电路。
4、在数据速率较低时,系统具有一定的纠错能力。
例如当收到1110时可判为1(1010),当收到0111时可判为0(0101)。
本系统通过软件加入了自动纠错,能纠正码距为1的误码。
5、系统具有比较宽的数据传输范围:
16kbps~48kbps。
虽然在高端和低端传输速率时,已调信号的带宽已超出了信道的3dB带宽的范围,但由于已调信号的大部分能量仍然在信道的带宽范围之内,而信道噪声又比较小,所以对于正确解调影响不大。
在具体实现上采用单片机完成调制与解调,通信采用单片机间的串行通信来完成。
这样做的好处是:
1、采用单片机串口通信,便于同步,定位方便。
2、单片机本身对于串行信号具有多次抽判的功能。
3、单片机可对接收到的1010四位序列进行软件判决,提高系统的抗噪性能。
4、系统可升级性好,可以根据需要,进行纠错编码。
当信道条件改变时也能较快适应。
系统原理框图如下
图1.1系统原理框图
二、系统实现及理论分析
1.带通滤波器模块
带通滤波器N阶全极点传递函数近似式如上式,可看出带通滤波器的传递函数是由低通滤波器的传递函数变换而来的。
四阶带通滤波器可由低通滤波器和高通滤波器级连而成,因此可以把一个截止频率为30KHZ的高通滤波器和一个截止频率为50KHZ的低通滤波器级联起来,采用切比雪夫型高低通滤波器级联,经计算中心频率约为40KHZ。
切比雪夫型低通滤波器其幅频公式如下:
e和K1为常数Cn为N阶切比雪夫型多项表达式,ωc为截止频率。
N增加则波纹系数增加。
将低通滤波器传递函数的s换为1/s即可得到高通滤波器的传递函数。
滤波器采用归一化设计,求出归一化系数后查表得到所需阻容参数。
为此我们用VB编写了一个滤波器快速设计软件,只要填入频率值和所选电容值就可得出其他电路参数。
图2.1滤波器设计软件界面
该软件是根据[美]D.E.约翰逊等人所编写的《有源滤波器快速实用设计》一书设计的。
首先将输入的截止频率fc和电容c的值代入式子:
计算出参数K,然后查该书相应的阻值表得到各电阻在K=1时的阻值,将该阻值乘以K即得到所设计电路中各电阻的阻值。
以上计算过程和所用到的参数、表格和电路形式都已设计在程序里,由程序自动完成,因此使用时只需选择要设计的电路形式和该电路所需的必要参数即可立刻得到该电路各元件的值,可十分方便快速地设计出所需的各种滤波器。
最后设计出的带通滤波器如下(图2.2)。
图2.2BPF电路原理图
通过EWB模拟得到的频谱响应如下(图2.3):
图2.3BPF仿真结果
2.数据采集模块:
数据采集模块数据采集系统如(图2.4),采用AD0809模数转换器及89C51控制数据采集。
AD0809为8位8输入通道的AD变换器,满足题目所提出的要求。
由单片机控制进行轮询采集或是指定通道采集。
图2.4数据采集模块电路原理图
3.调制解调模块
按据前述对题目的要求的分析和各方案比较,我们最终决定采用方载波的PSK调制方法实现。
具体实现方法是直接利用软件进行调制,然后通过异步方式进行传输。
解调时利用异步传输的特点,根据起始位确定已调信号的初始相位,并通过软件判决进行PSK的解调。
具体实现方法如下:
首先,对要传输的数据进行数字PSK调制,然后把调制后的数据作为异步传输的数据,通过单片机的串行口进行异步传输,即为其再增加异步传输的起始位、校验位和停止位。
在接收端,首先对接收到的信号进行整形,并利用单片机的串行口对调制信号作为异步传输的数据进行接收,然后利用软件判决的方法对接收到的数据进行PSK的解调。
这样就避免了PSK解调时复杂的载波提取和同步提取电路的设计,同时得到较好的接收性能。
在本次设计中,我们采用了18.432MHz的晶体,这是一种在通信中常用的晶体,可方便的分频出16kHz、19.20kHz、24kHz、32kHz、48kHz等传输时钟。
数据传输的码元速率不大于24kbps时:
“1”用“1010”(0相位两个周期的方波)表示,
另外,为了防止单片机的停止位产生富含低频分量的较长连续“1”,通过信道传输前先将单片机串口输出的码序列取非。
具体调制结果示例如下:
起始位
数据
TB
停止位
原信号
00001111*
X
1….
编码取非后(4字节)
1
10101010
0….
01010101
*:
设数据为“”。
这样可以保证数据流中没有三个连续“1”,也没有”11”与”00”连在一起的情况。
这样,使用96kbps的波特率传输时,调制信号的频谱分量大部分集中分布在32kHz与48kHz之间,这样便可在题目所要求的信道中传输码元速率不大于24kbps的数据信息(由于带宽很窄,可不考虑谐波分量)。
对于它的解调,接收到信号后取非再用单片机译码即可实现,同时由于编码的特点,还可纠正传输中码距为1的误码,如单片机收到1101(已取非还原)的数据时可判原信号为0。
当数据传输的码元速率较高(>
24kbps)时,编码自动调整为“1”用“10”(0相位一个周期的方波)表示,“0”用“01”(π相位一个周期的方波)表示的PSK调制方法,使每一码元编码后对应的二进制数据位减少,在相同的时间内传输更多的码元,从而提高码元传输速率,达到扩展功能中提高传输速率的要求。
由于编码位数减少一半,因此使用96kbps的波特率传输时,理论上可达到48kbps的码元传输速率。
另外,由于调制部分和解调部分的输入波特率与输出波特率均不同(调制部分输入波特率为16kbps~48kbps,输出波特率为96kbps;
解调部分输入波特率为96kbps,输出波特率为16kbps~48kbps。
),而且在一片单片机上同时实现数据的收发也较困难,因此调制部分与解调部分均采用了两片89C2051来分别管理数据的输入与输出,以减轻每一片单片机的负担。
这两片单片机之间通过并口实时传输数据,具体电路原理图见(图2.5)。
图2.5调制解调模块电路原理图
在串口加入了一个衰减器使输出电压可以在0-1V的范围内连续变化。
输入口使用LM311比较器构成电平判决电路。
该电路如(图2.6)。
图2.6电平判决电路原理图
4.采集结果显示模块
在此模块中,我们采用了EDM12816B型图形点阵式液晶显示器,它的分辨率为128×
16。
这样我们可以利用自制的字模生成软件编制易懂的中文分级菜单界面,人机交互性较好。
电路原理图见附录总图。
三、其它功能的实现
1.噪声模拟发生器:
通常产生伪随机序列的电路为一反馈移位寄存器。
一般的,线性反馈移位寄存器由于理论比较成熟,实现比较简单,实际中常常使用。
由线性反馈移位寄存器产生出的最长的二进制数字序列成为最大长度线性反馈移位寄存器序列,通常简称为m序列。
图示为一般的线性反馈移位寄存器的组成:
其中若=0则表示此线断开,=1则表示接通。
由于n级移位寄存器共有个可能的不同状态,除全0外,只剩-1个,那末,任何n级线性反馈移位寄存器产生的序列的周期最长为-1。
设n级移位寄存器的初始状态为:
,经过一次移位后,状态变为。
经过n此移位后,状态为。
再位移一次时,移位寄存器左端新得到的输入为:
。
故对任意状态,有:
令
这一方程即为特征方程(或特征多项式)。
由此可以得出的线性反馈移位寄存器。
当各级触发器均处于0状态时,电路就停止产生序列信号,即产生了阻塞现象。
这是由于序列发生器在0状态下不具有自启动特性,所以需要在反馈中增加一个防止全0的修正项,即得到如下图所示的序列发生电路。
在输出口加入了一个衰减器使输出电压可以在0-1V范围内连续变化。
(衰减器电路图请见调制解调器电路图)
图3.1伪随机序列发生电路原理图
方案一
采用普通数字逻辑单元器件产生,此方案所需器件多,结构复杂。
方案二
我们利用Altera公司的大规模可编程逻辑器件EPM7128支持在系统可编程(ISP)功能,由强大的EDA设计软件MAX+PlusII支持,编程、修改、调试十分方便。
采用7128产生伪随机序列满足方程,此方案简单易行,只需把编译好的文件下载到可编程器件中即可。
而且可以仿真,在编译好文件后就可以看出自己的设计是否正确。
伪随机序列实现如下图3.2:
图3.2伪随机序列电路仿真结果
2.测试码发生器
测试码发生器
采用数字逻辑电路。
由带预置的并入串出移位寄存器、移位时钟等构成。
这样构成复杂,且时延Ts控制较难。
采用单片机做测试码发生器可输出多种码型并且可以通过LED显示出码元速率和码型,功能强大、使用灵活,我们采取这种方案。
测试码采用89c2051单片机生成,通过键盘输入发送的测试码和发送的信息速率,同时用LED显示。
设置完成后,单片机就会由串口不停输出测试码。
其电路图如下,LED驱动采用MAX7219,MAX7219是MAXIM公司生产的LED驱动器。
该芯片只需要三根控制/数据线,采用串行移位方式输入数据,可十分方便地控制LED。
图3.3测试码发生器电路原理图
3.噪声加法电路
如果基带传输系统中无码间干扰又无噪声,则连接在接收端的判决电路就能无误码地恢复出调制器发送的已调信号。
但存在噪声时,便难保证无误码。
我们采用一款由运算放大器构成的加法电路。
其中信号的放大倍数为1,噪声的放大倍数为3档,分别是1,1/3,1/5。
加法电路如(图3.4)。
图3.4加法电路原理图
4.简易误码率测试仪及网络时延测试仪
这种误码测试仪仍然由单片机构成。
原理图如下,首先将被测系统串联接入单片机的串口,单片机将预先设定的码型经由串行口发送至被测系统,同时开始计时,再利用双工串口接收,并与原码型比较,计算出待测系统的误码率,同时计算出网络时延。
这样与常规构成方式相比具有码型可变、时延可自适应等优点。
具体实现方法可参考后面软件流程图部分的相应图表(图4.5)。
图3.5误码及网络时延测试仪原理框图
5.信道数据的纠错编码
为了降低误码率,我们还在程序中加入了前向纠错码。
前向纠错码使接收端不仅能在收到的信码中发现有错码,还能够纠正错码。
对于二进制系统,如果能够确定错码的位置,就能够纠正它。
这种方法不需要反向信道(传递重发指令),也不存在由于反复重发而延误时间,实时性好。
而且使用单片机软件可以较简单的实现。
在本系统中,由于信道特性,不存在突发干扰,所以仅使用编码和解码都不太复杂的循环码就可收到较好效果。
循环码的码组由两部分构成:
信息位和监督位。
信息位用来传递本码组的有用信息,而监督位用来对本码组的码元进行差错监督。
[7,4]码虽然只能纠一位随机错码,可是比起能纠多位错码的BCH码,具有编码解码简单、易于用单片机实现的特点。
如果生成矩阵为:
G(x)=
那么,整个码组可以由信息位生成:
[a6a5a4a3a2a1a0]=[a6a5a4a3]×
G(x)。
其实我们在进行编码时可以根据矩阵乘法编制算法。
G(x)可以看作是
[a6a5a4a3a2a1a0]=a6×
45H+a5×
27H+a4×
16H+a3×
0BH
(其中“+”指异或,或者模2加)
用高级语言描述算法(假设编码后的数据存于变量A):
A:
=0;
IFa6=1THENA:
=AXOR45H;
IFa5=1THENA:
=AXOR27H;
IFa4=1THENA:
=AXOR16H;
IFa3=1THENA:
=AXOR0BH;
根据G(x),不难求得监督矩阵H(x):
H矩阵的转置为:
校正子S=R×
H,即有
S=r6×
5+r5×
7+r4×
6+r3×
3+r2×
4+r1×
2+r0×
而得到S的值5、7、6、3、4、2、1分别对应于D6、D5、D4、D3、D2、D1、D0位有错,接收到的R需要相应的异或40H、20H、10H、08H、04H、02H、01H,即可得到正确的发送码组。
如果S为0,则说明无误码。
四.软件流程图
图4.1数据采集主程序
图4.2数据采集中的发送程序
图4.3数据显示主程序
图4.4数据显示中的串口接收程序
图4.5数据显示中的误码与时延测试程序
图4.6数据传输中的编码调制与译码解调程序
(将其中的编码规则改为1->
10,0->
01,译码也作相应修改,即可得到传输速率大于24kbps时的调制解调流程图)
图4.7测试码发生器程序
五、测试结果分析
1.使用的仪器仪表:
HP33120A信号发生器
HP54645D示波器
单片机开发系统及EDA开发系统
计算机
2.系统测试结果:
fl=29.1kHz
fh=51.0kHz
f=3kHz40dB
f=500kHz40dB
调制器码元率:
16kbps~48kbps
5时无误码
3时无误码
1时有误码
信道中传输波特率为96kbps
3.误差分析与改进措施:
测试带通滤波器时由于没有扫频仪,所以我们用示波器简单的进行了频率和幅度的测量。
并且由于电阻电容值的偏差和温漂的影响使滤波器的截止频率不是很准确。
可以通过使用高精度、低温漂的元件加以改善。
在1时,产生误码的原因是:
由于我们为了避免PSK解调时复杂的载波提取和同步提取电路的设计而使用的是幅度判决,在噪声幅度与信号幅度相当时误判较多。
解决这个问题的方法是采用虽复杂但性能更好的PSK相干解调与极性比较法解调,或者采用专用芯片组。