APP下载

锁相放大器测量弱声压信号

2021-03-04段皞一

电脑知识与技术 2021年34期
关键词:移相器乘法器模块化

段皞一

摘要:锁相放大器也称相位检测器,是一种从干扰极大的环境中分离出特定载波频率信号的放大器,具有十分广泛的应用价值。该课题基于锁相放大器发展迅速的背景,结合锁相放大器的工作原理,运用单片机自主搭建具备基础功能的锁相放大器,探讨如何运用锁相放大器测量弱声压信号,并进行相应的数据分析。该实验设计的锁相放大器主要由信号发射、运算放大、乘法器、低通滤波、移相器、示波器几个模块组成。与公司生产的锁相放大器相比,该实验自主设计的锁相放大器结构比较简单,省去了锁相环、滤波整形等非必需的模块,具有成本低廉的特点。

关键词:锁相放大器;模块化;信号通道;乘法器;移相器;滤波器

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2021)34-0116-03

1 基本原理

1.1信号测量原理

锁相放大器是根据正弦函数的正交性原理工作的。其核心部分就是让一个频率为[ω]的正弦函数与另一个频率为[ω]的正弦函数相乘,然后对乘积进行积分(积分时间远大于两个函数的周期),其结果为零。实验的要点就是如何产生出频率相同的参考信号与待测信号,并且将两个信号通过乘法器相乘,最终通过低通滤波器,得出最终的直流信号,推算出待测信号与参考信号的相位差,从而完成待测信号,即弱声压信号的测量。

在检测微弱信号的同时,常常会检测到较强的干扰信号。干扰信号通常是无规律的,不能表示为与时间相关的确定函数;待测信号则是周期性信号,与时间变量存在确定的函数关系。利用这一性质的差异,可以从干扰信号中检测微弱的信号。

1.2 实验原理

自相关检测和互相关检测的实验原理分别如图1和图2所示。

当待测信号非常微弱难以被仪器检测时,可以使输入信号先通过放大器。放大器增益可调,以适应被测信号的大小。此外,可以在乘法器前串联带通滤波器,将中心频率调到与被测信号相同的频率,对干扰信号进行初步抑制。

1.3 公式推导

一般的周期性函数可以展开成傅里叶级数,也可以进行类似的计算。以待测信号为时间的正弦函数为例,进行公式推导。

1.3.1 自相关检测的公式推导

设待测信号随时间变化的关系为

s(t)=Asin(ωt+ψ)                                (1)

干扰信号的随时间的变化关系为n(t),则输入信号为

x(t)=s(t)+n(t)= Asin(ωt+ψ)+n(t)                (2)

经过延时器的输入信号会延迟时间τ,延时器的输出为

x(t-τ)= Asin(ωt-ωτ+ψ)+n(t-τ)             (3)

输入信号和延时器的输出信号依次做相乘运算和积分运算,积分的时间从t0到T,其中T趋于无穷,计算结果为Rxx(τ)

Rxx(τ)=[limT→∞1Tt0T+t0x(t)x(t−τ)dt]

= Rss(τ)+ Rsn(τ)+ Rns(τ)+ Rnn(τ)                  (4)

其中

Rss(τ)=[ limT→∞1Tt0T+t0A²sin (ωt+ψ)sin(ωt−ωτ+ψ)dt]

Rsn(τ)=[ limT→∞1Tt0T+t0Asinωt+ψn(t−τ)dt]

Rns(τ)=[ limT→∞1Tt0T+t0Asin(ωt−ωτ+ψ)n(t)dt]

Rnn(τ)=[ limT→∞1Tt0T+t0ntn(t−τ)dt]                       (5)                    當T趋于无穷,由于s(t)和n(t)不相关且平均值为0,Rsn(τ)和Rns(τ)趋于0。当τ越大时,n(t)和n(t-τ)的相关性越低,Rnn(τ)趋于0。因此,当T趋于无穷且τ较大时,可得:

Rxx(τ)= Rss(τ)=[limT→∞1Tt0T+t0A²sin (ωt+ψ)sin(ωt−ωτ+ψ)dt]

=[limT→∞−A²2Tt0T+t0[cos2ωt−ωτ+2ψ−cosωτ]dt]

=[limT→∞A²2Tt0T+t0cosωτdt]

=[A²2 cosωτ]                                                                      (6)

从最后结果可以看出,当cos[ωτ≠0]时,输出信号为直流信号。可以改变[τ]的大小,观察输出结果大小的变化规律,推出待测信号的参数A和[ω]的值。

1.3.2 互相关检测的公式推导

设待测信号随时间变化的关系为

s(t)=Asin(ωt+ψ)                          (7)

干扰信号的随时间的变化关系为n(t),则输入信号为

x(t)=s(t)+n(t)= Asin(ωt+ψ)+n(t)           (8)

参考信号与待测信号具有相同周期,色参考信号随时间变化关系为

y(t) =Bsin(ωt+ψ0)                      (9)

输入信号和参考信号依次做相乘运算和积分运算,积分的时间从t0到T,其中T趋于无穷,计算结果为R(t)

R(t)=[limT→∞1Tt0T+t0xtytdt]

=[limT→∞1Tt0T+t0ABsinωt+ψsinωt+ψ0+Bn(t)sinωt+ψ0dt]

=[limT→∞−AB2Tt0T+t0[cos2ωt+ψ+ψ0−cosψ−ψ0]dt]

=[limT→∞AB2Tt0T+t0cosψ−ψ0]dt]

=[AB2cosψ−ψ0                                                          (10)]

从最后结果可以看出,输出信号为直流信号。由于参考信号参数已知,可以求出待测信号的振幅A和初相[ψ]的大小。

2 仪器系统

本实验设计的锁相放大器系统原理示意图如图3所示。

其中,参考信号是由Arduino板通过代码生成1000Hz的方波信号;待测信号一开始是基于Arduino自行搭建的,后来由于不能调整频率,且稳定性较弱,改用Arduino配合AD9850模块产生的正弦波,频率也是1000Hz;运算放大器使用的是AD620模块;乘法器是AD835模块;低通滤波器是UAF42模块;移相部分一开始使用基于MAX232芯片自行搭建的模块,后来因为可调电阻的阻值调节具有较大误差,导致相位调节的结果准确度不够高,所以选择在参考信号的产生端使用编程手段对相位进行改变;示波器使用的是实验室的RIGOL DS2072A示波器,以及自行搭建的基于Arduino的简易显示器。

3 实验与分析

3.1 实验步骤

查阅锁相放大器相关文献资料,掌握锁相放大器的原理,并且将锁相放大器划分为参考信号通道、待测信号通道、运算放大器、移相器、乘法器、低通滤波器、电压源等几个模块。之后小组成员每个人主要负责其中的一个模块。

考虑到各个模块相互之间的兼容性,我们每个模块都选了几个备选项,通过调试与不断的试错,最终确定了我们最终的模块型号,它们都是使用Arduino自带的5V电压源进行供电,相互之间较为适配。

每个模块都调试好了以后,我们开始搭建最终的模块。其中出现了许多意料之外的问题,比如,辛辛苦苦焊接了将近一个月的移相器模块,虽然能够进行移相的操作,但是同时让波形产生了抖动,电压的峰值也发生了改变(变化了10%左右),究其原因可能是由于模块中使用的电阻与大小与理论状态有所偏差,以及焊接过程中在接头处产生了不可避免的误差。发现这一问题以后,我们使用参考信号的产生端使用编程手段对相位进行改变。还有,一开始搭建的正弦波信号一直不稳定,最后也做了调整。

最终,对整个锁相放大器模块进行数据的采集,并对数据进行分析。

3.2 弱声压信号测量

本实验的参考方波信号频率为1000Hz,峰峰值为8.6V。下面以相位差为90°为例,推导实验结果的计算过程。

首先,给出实验数据依据的相关公式:

被测信号:[asin (ωt+α)] V

参照信号:[bsin (ωt+β)] V

乘法运算:[ab⋅cosβ−α2−ab⋅cos2ωt+α+β2] V

低通滤波器:[ab⋅cosβ−α2] V

实验中的信号频率采用1000Hz

[ω=2πf=2π⋅1000=6283rad/s]

方波信号:[8.6sin (6283t+α)] V

正弦信号:[1.298sin (6283t+β)] V

方波信号与正弦信号相乘:

理论值:(相位差为90°)

[1.298×8.6(cosβ?α2−cos2×6823⋅t+α+β2)] V

实际值如图:

滤波信号:由于相位差为90°,所以理论值应当为0V,即

[1.298×8.6⋅cosβ−α2=1.298×8.6⋅cos90°2=0]

而实际值为32mV.

[cosβ−α2=32×10−31.298×8.6 ]

[cosβ−α=0.00966]

[β−α=89.67°]

误差为[σ=90−89.6790×100%=0.4%.]

运用锁相放大器对弱声压信号的测量,测量了10组数据,误差在0.4%到5.7%之间,结果如表1所示。

3.3 分析

3.3.1 误差来源

待测信号本身频率不精确等于1000Hz;放大器、移相器模块有信号的损失;乘法器计算的波形有误差、滤波过程有误差。

3.3.2 误差分析

首先,实验中的信号通道模块都是我们自主设计的,方波信号是由Arduino的代码产生的,相对具有较高的稳定性,在示波器上保持1000Hz的频率和8.600V的峰峰值。而由于Arduino自身不带有正弦信号产生的功能,所以实验中,我们使用Arduino Uno单片机和AD985应用模块配合产生正弦波信号,该信号峰峰值稳定在1.298V,但是频率不是精确的1000Hz,而是988Hz,相当于乘法器过后的滤波是针对正弦波的分量进行的,并不是正弦信号本身,这给信号的测量带来了系统上的误差。

乘法器的计算也有一定的误差,以下是实验中90°相位差的参考信号和待测信号经过乘法器后产生的理论和实际的波形图的对比。

4 总结

实验采用988.1Hz,峰峰值为8.600V的方波作为参考信号,1000Hz、峰峰值为1.298V的正弦波作为待测信号,通过Verilog调整相位差,进行了10组测量实验,相位差的误差在0.4%到5.7%之间,基于单片机搭建的锁相放大器实现了测量弱声压信号的功能,取得了较为满意的实验结果。

本实验注重于原理与公式的理解,以及各自模块的选择和最终模块的组装。起初,我们对于误差这一块并不抱有太大的希望,因为造成误差的地方实在是太多了,而且相对于公司生产的锁相放大器商品,本课题基于单片机搭建的锁相放大器在架构上本身就少了相敏检波器、锁相环、滤波整形器等减小实验误差的模块。最终的实验误差并不是太大,可能是由于各个导致实验误差的因素之间相互抵消了一部分的结果。

之后,本课题设计的锁相放大器可以提升地方有以下几点:

首先,能够测量多种频率的信号。要实现该功能只需要每次更改参考信号和待测信号的Arduino代码即可。其次,能够对相位进行检测,从而减小实验误差,这就要求搭建一个更加精确可用的相敏检波器模块。另外,可以探讨如何解决自主焊接的移相器模块误差较大的问题;如何改变接线,让自主设计的正弦信号不再呈现锯齿状;如何改良自主搭建的显示器模块,使其能够更加清晰、稳定地显示波形图,并且显示更多的参数。最后,我们可以搭建类似3D打印机的电控三维扫描支架,与探测协同工作。

参考文献:

[1] 刘芳芳.基于AD630的锁相放大器的设计与分析[D].哈尔滨:哈尔滨理工大学,2016.

[2] 聂娅琴.基于锁相放大器的微弱信号检测研究[D].长沙:中南大学,2014.

[3] 李凤鸣.基于DSP的數字锁相放大器的设计[D].哈尔滨:哈尔滨工程大学,2011.

[4] 陈德煌.模拟乘法器AD834的原理与应用[J].国外电子元器件,2000,8(6):16-17,19.

【通联编辑:代影】

猜你喜欢

移相器乘法器模块化
模块化自主水下机器人开发与应用
一种低开销的近似乘法器设计
光量子芯片中级联移相器的快速标定方法*
模块化住宅
基于变容二极管的紧凑型反射移相器
ACP100模块化小型堆研发进展
模块化VS大型工厂
基于FPGA的流水线单精度浮点数乘法器设计*
基于STC89C52的程控移相器的设计
计及可控移相器的电力系统潮流优化