赵文静,孙瑾怡,戴玮博,曹锡哲
(1.南京信息工程大学电子与信息工程学院,江苏南京,210044,2.南京信息工程大学人工智能学院,江苏南京,210044)
随着时代的发展,模拟信号、数字信号的单信道传输技术愈发成熟,也促成对同一信道下模拟数字混合收发系统开发的研究。对信号的处理,也大多如文献[1]采用FPGA,其成本高,难以广泛应用。
本文采用STM32为核心对模拟数字信号进行混合,利用PWM脉宽调制对信号进行调制解调,可在载波为20-30Mhz、模拟信号在500Hz到3000Hz的范围传输的同时无失真传输4位数字,且响应时间小于2s,信道带宽小于25Khz。基本满足现实生活中对语音传输频率和数字响应时间的要求,具有很高的现实价值。但同时,频率范围上限仅到3000Hz,存在一定的局限性。
本设计是利用对数字信号的处理来实现模拟周期信号的输出。其最根本的理论基础为时域抽样定理,也称为奈奎斯特定理。设取样脉冲序列s(t)是周期为Ts的冲击函数序列δTs(t),即冲激取样,则冲激序列δTs(t)的频谱函数也是周期冲激序列,如下式(1)所示:
设被抽样信号为f(t)是频带有限的,即信号f(t)的频谱只在区间(-ωm,ωm)为有限值,而在此区间外为零,简称带限信号。其频谱函数为F(j),则取样信号fs(t)的频谱函数为:
由公式可以看出取样信号fs(t)的频谱是由原信号频谱F(jω)的无限个频移项组成,其频移的角频率分别为nωs(n=0,±1,±2,……),其幅值为原频谱的1/Ts。由取样信号fs(t)的频谱可以看出,如果ωs>2ωm,即fs>2fm或Ts<1/(2fm),那么各相邻项频移后的频谱就不会互相混叠,这时就能设法从取样信号的频谱Fs(jω)中得到原信号的频谱,即从取样信号fs(t)中恢复原信号f(t)。如果ωs<2ωm,那么移频后各相邻频谱将相互重叠。这样原信号就不能再恢复,因此,对信号进行抽样时必须满足ωs>2ωm。题目要求最大输入信号频率为5kHz,所以对其抽样的频率至少10kHz。
PWM脉冲宽度调制缩写是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包括形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化。
系统先通过STM32引脚自带的AD转化将输入的模拟信号转换成数字信号储存在单片机内,通过单片机的自带的定时器,用数字信号调整占空比来产生PWM信号,PWM脉冲宽度的细精确度比电压细分精度更高;在线性度和温度系数方面,利用PWM技术的DAC,可比常规专用芯片的性能高2个数量级左右;在成本方面一般只有后者的几分之一左右。但基于PWM的DAC也有缺点,如噪声较大、需要高精度的低通滤波器等[2]。
本文用常见的双路合成法来改良其问题。双路PWM合成精密DAC的输出电压为式(3)。
式中,K为后级增益(对基本量程K=1),Vr 为基准电压,N1、N2分别为两路输入电压计数值, D为衰减比例,VOS为输出失调电压。 整理后可得输出电压为式(4)。
对于已定电路,K、Vr、N、D和VOS均为定值,DAC的输出电压只与N1、N2有关。
(1)系统总体框图
系统总体框图如下图1所示。
图1 系统总体框图
(2)前端发射子系统框图
前端发射子系统框图如下图2所示。
图2 前端发射子系统框图
发射端采用PWM脉宽调制技术,将语音信号通过ADS1118转换成数字信号输入单片机,按键连接单片机做帧头插入,通过程序控制单片机产生PWM波形,利用乘法器混合AD9854产生的30MHz进行倍频后连接放大器上天线。
(3)后端接收子系统框图
后端接收子系统框图如下图3所示。
图3 后端接收子系统框图
接收端下天线后先经过放大器放大,经乘法器将高频转换为低频后,经过包络检波器还原出模拟信号,利用单片机DA出数字信号。
2.2.1 PWM程序功能描述与设计思路
PWM编码。为提高PWM编码精度,设置一个全局变量max作为通过设置中断捕获的模拟信号的量化最高值。进入中断处理函数时收到的值与max比较,若信值大于max则将其赋给max。返回值为该值与最大值的比值倍数。生成PWM的占空比为一个常数加上一个捕获的值与其最大值的比值相关系数。
2.2.2 单片机驱AD9864
首先,对AD9854进行初始化,根据手册中时序图进行代码编写,采用并行模式,其余功能IO口设置的输出输入分别为推挽输出模式和上拉输入模式。开始给寄存器对应地址写值,并行通信写地址方式与串行有所区别,参考手册修改寄存器地址。
2.2.3 按键扫描和液晶屏显示程序
按键扫描。每隔200ms扫描一次键盘,先使列为高电平扫描行得出按下按键的行值,再使行为高电平扫描列得出按下按键的列值,利用lcd屏幕显示数字。
(1)语音信号输入测试
要求输入的模拟信号频率范围在100Hz到5KHz,将信号源所产生的任意信号接入示波器进行观察。调整信号源输出5KHz的正弦波,接入示波器,观察信号的频率,在5到5.003KHz间进行波动,符合要求,测试成功。
图4 已调波形图
(2)调整DDS输出载波信号
要求输入的载波信号频率范围在20MHz到30MHz,现将DDS模块9854的主控板STM32F1的程序调好后,控制其输出在规定频率范围内的正弦波测试信号,将输出端接在示波器上进行观测,记录其频率,观察其波形,得出结论符合要求。
(3)低通滤波器测试
测试中,输入信号为冲激信号时,通过滤波器后输出波形与冲激信号基本一致,冲激信号出现后存在一定震荡。与理论保持一致。当输入为高频率(100kHz)正弦波与低频率(10kHz)正弦波叠加时,通过低通滤波器后,高频率正弦波被滤去,剩下低频率正弦波,波形分别如图5和图6所示。虽然存在一定的震荡,但与理论保持一致,测试结束。
图5 500HZ信号解调波形图
图6 1.5KHz信号解调波形图
图7 按键输入调制波形图
图8 输入0129输出端lcd显示图
测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。
(1)模拟信号输入结果分析
输入的语音信号测试频率数据在测试范围10Hz到5kHz内波形良好,频率有些许小波动,波动范围在0.005kHz范围内,在合理范围内。
输入频率不同信号测试结果如下表1所示。
表1 模拟信号收发测试结果
(2)模拟信号输入结果分析
利用矩阵键盘通过按键输入4个数字,按下发送键后进行循环查收。在接收端解调后,在LCD屏上进行显示的过程。经4次测试,记录每一次从数字发送到显示模块所需要的响应时间分别为,1.8s,1.7s,1.6s和1.7s,平均值1.7s<2s,符合要求。按下停止键后,LCD显示部分数字清屏,等待下一次传输,测试结束。
表2 数字收发测试结果
发射端数字 接收端数字 响应时间2 3458 3458 1.7s 3 6745 6745 1.6s 4 8752 8752 1.7s
测试解调后的语音信号频率。记录解调后语音信号的频率与波形,将数据与理论计算应得的数据进行对比,发现在3kHz内,得到的波形符合传输要求,当频率大于3kHz,不断向上增大,会逐渐带有失真,失真的程度随着频率的增大而增大。
(3)载波程控分析
测试DDS产生的载波信号。要求载波频率在20~30MHz内实现功能,选取3个载波频率,20MHz,22MHz,25MHz进行测试。观察经过解调后波形符合要求,且信道带宽不大于25KHz,3个载波频率皆可调,皆满足要求。
表3 载波程控测试结果
根据上述测试数据,由此可以得出以下结论:
①模拟信号在100Hz~5kHz的语音信号内,接收端解调后的模拟信号波形无明显失真,且只有模拟信号信号传输时,LCD显示部分处于熄灭状态。
②收发机可在3个载波频率中选择设置,且载波频率范围在20~30kHz内,同时信道带宽不大于25kHz。
③在满足模拟信号在100Hz~5kHz调试没问题的基础上进行扩展模拟信号频率范围,基本可以达到在此条件下波形无明显失真。
④同时输入语音信号与数字信号,混合后进行调制发送后,再解调分别观察示波器与LCD显示屏,示波器波形在指定范围内无明显失真,LCD满足延迟2秒时间内接受到发送的数字。