APP下载

一种简易数字移相器的设计

2021-05-08黄子君王文虎彭琛聂超凡

关键词:度数电路频率

黄子君, 王文虎, 彭琛, 聂超凡

一种简易数字移相器的设计

黄子君, 王文虎, 彭琛, 聂超凡

(湖南文理学院 计算机与电气工程学院, 湖南 常德, 415000)

基于微处理器STM32F407的数字移相器, 提出了一种数字可调的双路移相器。移相器由微处理器片内ADC采集输入信号, 借助FFT算法, 分辨输入信号的频率, 为精确取出一周期输入信号的N点序列, 调节ADC的采样频率刚好为输入信号的N倍, 取出N点数据序列, 运用片内定时器精确控制DAC输出的延时, 从而控制移相度数, DAC循环输出N点信号序列, 并经过低通滤波器, 得到移相信号。为保证移相信号幅频无失真, 引入反馈验证, 采集输出的移相信号与输入信号进行频谱比对, 若不一致, 则重新移相, 直至幅频一致。设计实现了输入信号0º~360º任意度数的移相, 移相效果良好。

数字移相; FFT; 微处理器; 两路移相

移相器为微波信号调节处理电路中必不可少的器件, 在雷达、通信和仪器仪表等领域有着广泛的应用。随着电子技术及信号处理技术的发展, 对信号移相的高精度、多路输出等要求越来越高。早期模拟移相器大多基于矢量合成理论设计而成[1–3], 模拟移相器是利用模拟电路进行相位调节, 但电路复杂, 线性差, 精度低, 且难以实现0º~360º的相位调节。而数字移相器稳定性好, 可靠性高以及随着对相位调节精度的要求越来越高, 数字移相器发展迅速, 具有高精度、灵活性好等优点[4]。如DDS数字移相器的设计、锁相环以及基于FPGA的数字移相设计[4–7]。但是, 文献[4]、[5]中借助DDS设计数字移相器, 移相器限于对直接数字合成信号的移相, 无法实现电路中任意周期信号的移相, 文献[6]、[7]借助锁相环或FPGA进行移相, 需要搭建0°~90°移相电路、象限选择等外围电路, 更无法实现多路移相输出。鉴于上述问题, 本文基于STM32F407设计了一种数字移相器, 结构简单, 无需外接移相电路, 由人机接口配置移相度数, 可对电路中的任意周期信号实现移相, 实现了0º~360º的相位调节, 可双路移相输出。

1 硬件设计

硬件部分由STM32F407最小系统应用电路、人机接口、前置调理电路(跟随器)以及低通滤波电路等组成。其中, GPIO_A3为片内ADC1移相信号输入端口, GPIO_A6为ADC2反馈信号输入口, GPIO_A4、GPIO_A5分别为DAC1和DAC2, 分别输出两路不同的移相信号。人机接口由4×4矩阵键盘(分为数字键和功能键)以及LCD液晶屏构成, 用于相位配置。LCD液晶屏显示移相信息, 数字移相电路如图1所示。

图1 数字移相电路

前置调节电路在信号输入端与ADC1输入端之间接入电压跟随器(前置调理电路), 起到阻抗变换的作用, 即跟随器有输入阻抗大, 输出阻抗小的特性, 接入后与ADC1输入阻抗匹配, 使得ADC1采集更为精确, 从而达到更好的效果。DAC输出的移相信号为离散信号, 经过低通滤波器进行还原滤波, 无失真还原为光滑的连续信号。巴特沃斯低通滤波器, 通频带内的频率响应曲线平坦, 阻频带内频率响应曲线逐渐下降[8–9], 适合还原移相信号。借助Filter_solution仿真配置低通滤波电路参数, 设置如下: 滤波器类型为巴特沃斯滤波器, 截止频率为10 kHz的3阶有源低通滤波, 波特图显示频率范围为1 Hz至100 kHz以及增益为1。如图2所示, 图2a及图2b分别为三阶巴特沃斯低通滤波仿真电路图及波特图。

系统以STM32F407为主控制芯片, 片内有高精度的ADC(12位)、定时器, 并有两路DAC(12位), 可实现双DAC输出。为保证对输入信号的无干扰采集, 输入信号in经过跟随器后, 由片内ADC采集, 通过移相算法并借助片内两路DAC实现双路移相信号输出。移相信号o1、o2的移相相位通过键盘分别设定, 并通过两路DAC同时输出。DAC输出的移相信号为多点构成的离散信号, 需经过低通滤波器进行填充滤波, 将移相信号无失真恢复成连续信号, 最终得到移相信号o1、o2。可单路输出或双路输出。显示模块显示输入信号与移相信号的信号频率、幅值, 以及移相信号的移相度数大小等信息。

2 数字移相算法

移相算法由三部分构成, 测频、移相和验证, 如图3所示。输入信号in经ADC采集后, 需对信号测频, 为调节ADC的采样频率为输入信号频率的倍(为精确取出一周期输入信号的点序列)。测频采用基4-FFT算法, 为能对更大频率范围的信号进行测频, ADC以最大的采样频率1 MHz对输入信号in进行采样[10], 将采样得到的实数点转换为复数点, 其实部为ADC采集得到的数据, 虚部设为0[11]。将复数序列装入FFT算法输入序列, 经快速傅里叶变换后, 得到信号的频谱, 从而得到输入信号的频率大小[10]。

图3 移相算法框图

输入信号in的频率大小为, 采样频率为s, 序列点数=s/; 移相时, 通过定时器控制序列输出延时时间, 进行相位配置, 使输入信号与输出信号存在相位差, 即移相度数, 再由DAC循环输出点信号序列, 即移相信号, 移相范围0º至360º。

输入信号in一周期的数据装入移相数组, 点数为, 移相度数为, 移相输出延时(最小为1/(84 × 106), 84M为微处理器最高时钟), 对应关系为= 360°/; 确定移相度数后, 即可确定移相延时的大小, 由定时器延时后触发DAC循环输出移相数组的数据, 得到一路移相信号。需要输出第二路移相信号时, 重复上式得到第二路的移相输出延时后, 由另一路DAC输出相应的移相信号[12]。

为验证输出的移相信号有无失真, 移相信号输出后, 由另一路ADC采集移相信号, 并通过FFT算法, 得到频谱, 与输入信号信号比较, 以验证移相信号是否失真, 若信号失真, 则重新采集输入信号进行移相。

移相信号由DAC输出, 故为保证输出的移相信号可通过低通滤波器不失真恢复, 须保证采集输入信号一周期的序列点数不能太小。由实验观察可得, 当小于70点时, DAC输出的离散移相信号, 无法还原恢复, 故须不小于70。当为70时, ADC的采样频率应对应为输入信号频率的70倍。故而, 限于微处理器片内ADC的采样频率, 采集信号的频率不能过高, 当序列点数为70时, ADC以最大的采样频率(1 MHz)采集信号, 则输入信号的频率应不大于14.285 kHz(1 MHz除以70为14.285 kHz), 即可移相信号的最大频率为14.258 kHz。

3 软件设计

系统首先对ADC, DAC, LCD以及按键进行初始化, 由ADC进行信号采集, 并利用FFT[13]算法进行测频, 测频后进入移相操作, 最后由DAC输出移相信号。此外, 采集输出的移相信号进行频谱验证, 确保输出信号正确, 主程序流程如图4所示。

测频程序流程图如图5所示, ADC1由定时器触发开始采集信号, 由DMA传输数据。ADC1每隔一个时段以最大采样速率(1 M/s)采样信号, 并将采样的数据通过FFT运算以测量输入信号频率, 根据输入信号的频率调节ADC1的采样频率为输入信号的N倍。测频后进入移相, 移相程序流程图如图5所示, 由ADC1提取一个周期信号的数据序列, 将得到的一周期的数据序列, 按移相度数配置移相定时器, 定时器延时触发控制DAC输出, 即定时器分别控制DAC1、DAC2的输出延时, 从而得到相应移相度数的移相输出信号, 可选择单路移相输出或双路移相输出。为保持原信号的频率、幅值等特性DAC输出速率与ADC采用速率一致。为输出连续的周期信号, DAC循环输出N个点的数据序列(即一周期的信号)。

图4 主程序流程图

图5 测频程序流程图

图6 移相程序流程图

移相信号输出后, 为保证输出的移相信号除相位外幅频与输入信号一致、无失真, 则利用ADC2(采样频率1 M/s)采集低通滤波器输出的移相信号作为反馈信号, 进行FFT运算, 得到频谱, 并与输入信号的频谱进行对比验证, 若输出信号出现了幅频失真, 与输入信号幅频不匹配, 则重新执行测频移相程序进行移相。

4 实验结果

当输入信号为10 kHz的正弦波时, 实验现象如图7所示。其中图a波形1为原信号输入, 波形2为进行移相设置移相270º时DAC1输出的信号, 波形3为进行相位设置移相180º时DAC2输出的波形; 同样图b三路信号分别为原信号输入波形1, 原信号经过移相设置, 输出移相91º信号为波形2, 移相设置360º信号为波形3。图7(a)、(b)三路波形幅值均为2 V且当前频率为10 kHz, 移相效果良好。

实现了周期信号的数字移相, 由按键配置输出两路不同的移相输出信号, 移相范围0º到360º, 最小步进由定时器控制, 可达0.001º。受片内ADC采样频率影响, 采样的范围小, 只能对频率在14.285 kHz以内的信号进行移相处理, 更高频率的信号无法进行移相。若要对更高频信号移相, 则需要采用频率更高的外部专用高速ADC、DAC芯片, 以及采用时钟频率更高的处理器作为移相系统的主控芯片, 使采样范围提高, 从而对信号进行更大频率范围的移相, 提升移相器的性能指标, 并采用多三路及以上的DAC输出, 得到多路不同的移相输出。

图7 移相信号波形

[1] 田学农, 刘传洋, 孙云飞, 等. 一种低增益波动模拟矢量相加移相器的设计[J]. 微电子学, 2016, 46(1): 71–74.

[2] Kim Y, Kim S, Leee I, etal. A 220~320 GHz vector-sum phase shifter using single gilbert-cell structure with lossy output matching [J]. IEEE Transactions on Microwave Theory and Techniques, 2015, 63(1): 256–265.

[3] Asoodeh A, Atarodi M. A full 360 vector-sum phase shifter with very low RMS phase error over a wide bandwidth [J]. IEEE Transactions on Microwave Theory and Techniques, 2012, 60(6): 1 626–1 634.

[4] 高银, 林其伟. DDS数字移相正弦信号发生器的设计[J]. 华侨大学学报, 2009, 30(1): 34–37.

[5] 周英平, 刘祖望, 王荣博. 新型数字移相器的设计[J]. 计算机工程与设计, 2006, 27(11): 2 083–2 084.

[6] 杨朝霞. 相位可调可编程数字移相器的设计[J]. 自动化与仪器仪表, 2016(6): 205–207.

[7] 陈智, 闫璞. 基于FPGA的高性能程控数字移相器设计[J]. 自动化与仪器仪表, 2017(2):51–52, 55.

[8] 陈真, 王钊. IIR数字滤波器的仿真设计与分析[J]. 实验技术与管理, 2016, 33(7): 122–125.

[9] 胡宏军, 肖雁鸿. DCTV中数字滤波器的数字处理、加工与传输[J]. 常德师范学院学报(自然科学版), 2002(2): 56–58.

[10] 郭裕丰, 王文虎, 吴金飞, 等. 一种简易频谱仪的实现[J]. 自动化技术与应用, 2019, 38(4): 123–126.

[11] 卓红艳, 张家如, 邓浩, 等. 多路全相位微波数控移相器控制技术[J]. 太赫兹科学与电子信息学报, 2016, 14(3): 417–420.

[12] 蒋龙云, 茂华风, 王萍, 等. 基于ITER测试平台的谐波—间谐波测量方法[J]. 湖南文理学院学报(自然科学版), 2019, 31(1): 45–49, 64.

Design of a simple digital phase shifter

Huang Zijun, Wang Wenhu, Peng Chen, Nie Chaofan

(College of Computer and Electrical Engineering, Hunan University Arts & Science, Changde 415000, China)

Based on the digital phase shifter of microprocessor STM32F407, a digital adjustable dual-channel phase shifter is proposed. The phase shifter collects the input signal by the on-chip ADC of the microprocessor, and uses the FFT algorithm to distinguish the frequency of the input signal. In order to accurately extract the N-point sequence of the input signal in a period, adjust the sampling frequency of the ADC to be exactly N times the input signal. The N-point data sequence uses the on-chip timer to precisely control the delay of the DAC output, thereby controlling the degree of phase shift. The DAC cyclically outputs the N-point signal sequence and passes through a low-pass filter to obtain the phase-shifted signal. In order to ensure that the amplitude and frequency of the phase-shifted signal is not distorted, feedback verification is introduced, and the collected and output phase-shifted signal is compared with the input signal. The design realizes the phase shift of the input signal by any degree from 0ºto 360º, and the phase shift effect is good.

digital phase shift; FFT; MCU; two-way phase shift

TN 623

A

1672–6146(2021)02–0063–05

10.3969/j.issn.1672–6146.2021.02.013

黄子君, gannbatte@163.com。

2020–09–23

湖南省大学生创新创业训练计划项目(湘教通〔2019〕219号)。

(责任编校: 刘刚毅)

猜你喜欢

度数电路频率
《平行四边形》拓展精练
电路的保护
友谊
振动与频率
图形中角的度数
解读电路
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路
无线电频率的特点
一类非线性离散动力系统的频率收敛性