周期信号波形识别及参数测量装置
2022-05-26孙逸洁马蕾
孙逸洁,马蕾
(郑州铁路职业技术学院,河南郑州,450000)
0 引言
本文分析了赛题要求和关键实现技术。根据题目基本要求和发挥部分的各项指标,本设计经观察确认其测试结果完全符合题目要求,并对测量的范围进行了提升,本系统可以在测试2MHz 的信号频率时准确识别到波形类型和参数,能实现基本功能和发挥功能的要求。
1 原理与设计
■1.1 方案论证
1.1.1 信号调理方案设计
方案一:可选多通道放大电路。信号调理电路对应不同幅度的信号采用多种放大倍数的放大器,放大器出口至A/D转换前采用多选一的模拟开关把信号汇总,这种调理电路优点是每一路信号都可以单独调试,精确度高,但是为了细腻的覆盖整个采样的幅度空间,会造成通道数过于繁多,信号偏置控制电路复杂,手动的调试工作量繁重,并且增加了主控制器切换通道的任务量,这种方案占用电路板面积大,分布参数和抗干扰能力都有不容易解决的问题。本方案不采用这种设计。
方案二:信号调理电路采用集成程控放大器,采用专用的程控放大器电路,此类放大器具备放大和衰减的功能,无须多路模拟开关。但是在选定不同放大档位的情况下,此类放大器需要利用外部模拟信号调整信号放大倍数和本底偏置。这种信号可利用DAC 实现,利于系统进行自校准。并且整个调理电路元器件数量少,带宽高,本设计采用这种设计。
1.1.2 信号采样方案设计
方案一:信号采样电路采用和数据处理电路采用传统控制器(包含且不限于51、STM32),利用此类控制器内部集成A/D 转换器,将模拟信号量化成数字信号。但是这类控制器内部集成的A/D 转换器通常都是速度较低的种类(例如逐次逼近式A/D),最高采样率在1MHz 左右,经过计算可以满足本题中基本要求所提供的技术参数,但是无法保证题目发挥部分中对50kHz 信号占空比精确测量的要求。因此不选用此方案。
方案二:信号采样电路采用以FPGA 等可编程器件,利用FPGA 外部扩展高速并行A/D 转换器,配合FPGA 内部的高速RAM,可轻松实现大于20MHz 的采样速率,并且可以自由选择采样速率,适宜测量不同频率的模拟信号,系统扩展STM32 将数据进行多种运算后,送至屏幕进行显示。本设计采用这种设计。
1.1.3 波形判别方案设计
方案一:时域判别法:对采集的信号按照时间先后和预制的波形数据进行幅度信息的对比,对二者的差值进行分析,得到最终结果,但是此方案要求对信号调理电路的失真度要求很高,并且要求单周期内有很高的信号量化数据,这给采样模块提出了更高的要求,特别是当信号本身包含交流和直流成分时,此种判别方法的工作量和成功率包含很大的不确定性。本设计不采用这种设计。
方案二:频域判别法:任何周期信号都可以通过FFT运算得到其频谱,而且其频谱具有鲜明的特点,通过对信号各个频率成分的幅度信息的综合判断,可以稳定判定该信号的种类。本设计采用这种设计。
■1.2 方案构成
系统主要由信号调理电路模块、AD 转换模块、数据采集和存储模块、数据处理模块、显示模块构成,具体的总体框图如图1 所示。
图1 系统总体框图
1.2.1 系统工作分析
电源部分:本系统采用5V 供电,电源部分使用了三路线性稳压器AMS1117 分别降压成+3.3V,+2.5V,+1.2V 给FPGA 和MCU 供电。使用SGM3204 电荷泵产生-5V 电源供模拟电路使用。
信号输入:信号经过J1 端子进行输入,继电器JD5 可选择信号的耦合方式是交流耦合或直流耦合,继电器JD6及周边电路实现对输入信号的衰减。配合后级的程控放大器来确定整机提供的幅度量程,衰减电路中的电容对高频信号起到补偿的作用。U14A 使用JFET 型运放构成电压跟随器,程控放大器选用AD603,MCU 可以通过改变AD603的1 脚和2 脚电压差来改变其放大倍数,放大的范围是从-11dB—+31dB,最高带宽可以达到90MHZ.末级电路使用的是LMH6643 作为波形偏置电路,使采集的波形偏置到水平轴的上方,本设计使用经过滤波的PWM 来控制AD603的放大倍数和LMH6643 的偏置控制。
AD 采集:TLC5510 由FPGA 的PLL 提供25MHz 的时钟进行实时采集,在此注意TLC5510 高速AD 的输出不是0V 起调整的,在数据手册中也给出了采集参考值。
当AD 采集到的数据传递给FPGA 之后,首先在FPGA内部首先进行了AD 值的累加取平均值,滤除掉一部分杂波,然后再将累加取平均之后的AD 值送给FPGA 触发模块,测频率模块。在FPGA 中开辟了一块RAM 内存用于存放取样模块传递出来的AD 值,通过AD 数据的最大值和最小值,计算出幅值,测频率模块根据采集到的AD 数据计算在一秒以内多少个周期信号得出频率,通过单一周期中的总AD 数据个数、高于AD 数据平均值的AD 数据个数可计算出矩形波占空比和正负脉宽等参数,测量出来的频率以及AD 数据都通过SPI 传递给了STM32,AD 数据主要用于波形的显示以及FFT 运算,通过FFT 的运算来实现波形的识别,并且根据采样输入信号的幅值和频率自动设置采样率和档位,stm32 还负责将采集到的波形,幅值,频率,矩形波占空比等数据在液晶屏上的显示。
1.2.2 信号调理电路模块
被测信号的范围是50mV~10V,由于信号比较微弱,本身的能量比较小,本设计选用JFET 型高阻抗放大器AD825 作为输入缓冲电路。信号调理电路设计的输入阻抗为1MHz,输入高频交流信号时,电阻分压会降低信号的带宽,为此需要在分压电阻上并联电容来补偿。输入信号配置了继电器来选择信号的交流和直流属性。
程控放大AD603 可通过电压来改变增益。AD603 程控放大器的放大倍数可以通过程序设定PWM 信号来自由调整。配合前端可选择的电路分压网络,自动适应大范围变化的模拟信号,本设计中,可选择的信号可从10mV~40V,针对被测信号的大小来调节放大器的增益,使电路增益能够调整并得到不同幅值的输出信号,确保数据采样的精确性。
1.2.3 数据采集和存储模块
本系统数据采集和存储模块芯片采用Altera 公司Cyclone IV 系列高性能的FPFA:EP4CE6E22C8N。其资源丰富,该芯片有144 个引脚,6272 个逻辑单元,276480位RAM,可以满足本设计要求。
1.2.4 数据处理模块
STM32 是基于ARM Cortex M 处理器内核的32 位闪存微控制器,速度达到72MHz,多达20KB 的RAM,需要外围元件少,非常适合进行例如FFT 的运算。
■1.3 FFT 理论分析和计算
图2 信号调理电路
图3 FPGA 接口图
图4 STM32 部分电路图
信号处理中,通常采用DFT 对ADC 的输出信号进行分解,得到谐波信号。根据香农采样定理可知,采样频率需要大于信号频率的两倍。一个采样周期内,等时间间隔采样N个样值,经过FFT 之后,即可得到包含N 个点的FFT 结果。为减小误差,N 的值通常选取2 的整数次方。
假设采样频率为Fs,信号频率F,采样点数为N。那么FFT 之后结果就是一个为N 点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。
那么,在经过FFT 分析后得到的第一个点的模值是A1的N 倍,而且只有在FFT 结果点对应的频率在ω2,ω3 时,其模值才明显放大,在其他频率点,模值接近于0。在这些模值明显放大的点中,除第一个点之外的其它点模值是相应信号幅值的N/2 倍。
每个复数的相位就是在该频率值下信号的相位:φ2,φ3。
FFT 结果有对称性,通常我们只是用前半部分的结果,也就是小于采样频率一半的结果。同时也只有采样频率一半以内、具有一定幅值的信号频率才是真正的信号频率。
为了测量非正弦波的基波有效值和总谐波有效值,可以采用傅里叶算法假定被采样的模拟信号是一个周期性时间函数,可表示为:
其离散形式为:
式中 N 为一周期采样点数,xk为第k 次采样值,x0、xN分别为k=0、N 时的采样值。则基波有效值为 :
初相角为:
总谐波有效值按下式计算 :
对于波形的识别而言,对信号在频域上的变化进行分析判断,用来识别其波形。
正弦波:只有基波分量。
矩形波:除了基波,还有3,5,7 次等谐波分量,3次谐波为基波分量的1/3。
三角波:除了基波,还有3,5,7 次等谐波分量,3 次谐波为基波分量的1/9。
■1.4 STM32 主程序流程图
STM32 主要是用于液晶屏的显示、检测按键、与FPGA的通信、以及FFT 算法的运算,在程序的最开始 STM 首先对液晶屏、按键、SPI 进行初始化,然后负责与FPGA 通信,当测量按键被按下的时候,STM32 通过SPI 协议向FPGA发送测量指令,并进行量程控制和偏移设置,并接受来自FPGA 的数据,FPGA 传递的数据有多个周期的波形数据,信号的频率,占空比等信息,STM32 对FPGA 传递的多个周期的AD 数据进行分析,截取其中单一周期的数据进行FFT 运算,根据FFT 运算出的基波和n 次谐波的分量情况判断波形类型,根据AD 数据的最大值最小值计算信号的幅值,而后在液晶屏幕上实时显示波形图像,波形类型,频率,占空比等信息。
图5 STM32 程序流程图
2 实验
测试方法:在测试时,将被测参数通过本系统测量的示数与参数的标称值进行对比,进而知到本系统的参数。本系统在测试模块中留有测试孔,只需将波形发生器引接线与设计相接即可测量。
测试仪器:信号发生器、示波器、稳压电源。
测试结果如表1 所示。
表1 频率测试结果
表2 幅值测试结果
表3 占空比测试结果
3 结论
我们对以STM32F103 和FPGA 为核心,实现了可以测量题目所要求的20mV~10V,1Hz~50kHz的正弦波,三角波,矩形波信号的波形类型和参数,以及实现了对频率和幅值的扩展在实际测试当中,可以测量2MHz 的频率时准确识别到波形类型和参数,对于测试的幅值也超越了任务的要求,实现了对于除基本要求之外的波形识别,对于正指数波、洛伦兹波、心电图波也做了识别,对于信号的有效值、周期、矩形波的正频宽和负频宽参数也进行了测量,综上所诉,本文所设计的系统其幅值和频率范围,扩展参数和波形的测量都达到了题目的要求,也超越了要求的精度,并实现了波形的显示等功能,以及按照题目设计要求进行测试,详细记录了测试结果。完成了题目的所有设计要求。