多频数字相敏检测软件设计
2013年12月05日 13:58 作者:张富华 张家田 吴银川张富华 张家田 吴银川
西安石油大学光电油气测井与检测教育部重点实验室,陕西西安 710065
【文章摘要】
基于相敏检波的原理,推导了多频数字相敏检波算法,得到多频信号相敏检波中采样率、采样点数以及信号频率的约束关系。使用C# 语言设计了多频数字相敏检测软件,对被测信号进行处理,计算出被测信号的幅度和相位,数据结果以文本文档形式保存。实验结果表明,该软件可计算出含有多个不同频率的激励信号的相位和幅度。
【关键词】
多频信号;相敏检波;控制软件; C#
0 引言
在石油电法测井中,通过检测相同频率响应信号的相位和幅度,从而确定地层参数达到测井的目的。能否准确检测多频信号,影响着对目标地层参数测量的准确度。常见的幅度相位检测方法有相敏检波技术和快速傅里叶变换两种,相对于快速傅里叶变换,相敏检波技术通过锁相检测确定频率信号的幅度和相位,计算检测结果不需要大量的内存空间,计算量小,对硬件要求不高。本文基于相敏检波技术的原理,推导出多频相敏检波原理,能快速的计算出多频信号中包含的任一频率的相位和频率。
1 基本原理
1.1 数字相敏检波原理
数字相敏检测原理如图1 所示。其中s(n) 为被检测的信号)(st采样后的信号, con(n) 和sin(n) 是和s(n) 同频正交参考信号, 通过检测得到信号的幅度Am 和相位φ 。
图1 数字相敏检波原理
这里假设待测信号) sin( ) ( s0 φ ω += t A t ,对)(st在一个周期内进行傅立叶变换,并取0 ω ω =,则有:
) ( ) ( s) ( 0 2 0 0 0t d e t jS tj ω ω π ω ∫ − =
=
=
= =
= ( 1 )
这里,
对) (st进行采样后变为)(sn: ) 2(sin) ( s0 φ π += n ff A n s ,采样长度为N ,采样频率为s f 。则采样的周期数为。其中s s f T 1 = ,为采样间隔, 0 0 2ω π = T ,为信号周期。令:
则有
(2)
即
(3)
同理可得
(4)
故可得待测信号的幅度和相位:
(5)
由数字相敏检波原理,可以推导出多频相敏检测的公式,其中及为M 个频率的计算结果, 为N 个采样数据。
1.2 整周期采样
设信号频率为, 采样频率为采样点数为N,则采样周期数
且K 为整数(8)
实现整周期采样的关键是如何将一个完整的周期信号均匀的分成N 等分进行采样,即实现式(8)。整周期采样可以使信号特征频率为频域分频率的整数倍,消除了泄漏现象,提高了谱分析的精度。在相敏检波算法中,整周期采样也能够有效提高检测的精度。在软件实际应用的过程中,应当设置合适的采样频率以及采样点数满足式(8)的要求。
2 软件设计
本设计使用C# 语言编写软件,软件设计遵循方便易用,界面美观大方,具有良好的人机交互性,并且具有很好的可靠性,可计算多个不同频率的激励信号的相位和幅度。C#[4] 是一种由C 和C++ 衍生出来的面向对象的编程语言。它在继承C 和C++ 强大功能的同时去掉了一些它们的复杂特性。C# 综合了VB 简单的可视化操作和C++ 的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET 开发的首选语言。
软件界面如图2 所示,软件包括参数设置、数据读入、计算、计算结果、结果保存、软件退出五部分。其中参数设置可以对采样频率、采样点数、激励信号的个数以及频率进行配置。设置按键可以清空当前界面的所有内容,确认按键可以锁定参数设置面板,使设置好的参数不能被修改,只有当参数设置正确,单击确认按键后,数据读
入、计算模块才能被激活。单击打开文件可以打开存放s(n) 的文本文档,默认路径为D 盘;通过读入按键,将选择的文档读入到程序中;单击计算开始计算并将计算结果显示在软件界面的左下方的计算结果显示区内;单击保存按键将计算结果以文本的形式保存,保存内容包括数据源路径、采样频率、采样点数、频率数等关键参数。
本软件的参数设置主要包括采样频率、采样点数、被测信号的频率等。其中采样点数N 由数据源文件中s(n) 的点数决定, 被测信号的频率为已知的。采样频率以及采样点数的设置最好满足整周期采样即式(8),方便后续数据处理。设置的参数被读入到程序中,赋值给fs,f,N, 并带入到式(6) (7)中,为计算做准备。在软件使用过程中, 通过点击打开文件将弹出一个对话框,用户可以选择存放数据源的文件,并通过读入按键,将数据源文件中的数据读入到程序中。
结果保存文件的内容中包含数据源路径、采样频率、采样点数、频率设置,并且能将计算结果区域中的所有内容保存到结果文件中,方便后续的数据处理。
为了便于操作者使用,控制软件在使用时采用交互式设计。如果被测信号的频率与采样点数的乘积不能被采样频率整除,软件会弹出“非整周期采样”,对操作者进行提示,但是不会妨碍软件继续执行。
3 多频数字相敏检波软件的运行
启动软件后,单击设置,则清空当前数据,可以对参数进行配置,如果参数设置错误,可以通过设置按键进行重新配置,设置正确后单击确定。打开文件,选择数据文件,通过读入将选择的数据文件读入到程序之中。当所有配置完成后,通过单击计算,程序将先根据配置的采样频率、采样点数、被测信号频率,计算出图1 中的con(n) 和sin(n) 的值,再根据多频相敏检波的原理,得出从而计算出被测信号的幅度和相位。设待测信号:A=2, f=18Hz,fs=90Hz,N=500,按照图3 的流程, 将f=18Hz,fs=90Hz,N=500 输入到参数配置中,进行计算。计算结果如表1 所示, 其中非整周期采样时改变输入信号频率为f=17Hz, 根据结果可以看出,非整周期采样的误差大于整周期采样的误差。
4 实验验证
图3 多频信号波形
将如图3 所示的已知各信号分频的多频信号做为s(n) 输入到软件中,将表2 中的数据输入到参数配置中,运行软件,计算结果如表3,表4 所示。
表3 整周期采样误差
表4 非整周期采样误差
由表3,表4 可得出,在相同条件下整周期采样的误差远小于非整周期采样的误差;整周期采样时,该软件的测量精度高。
5 结语
本文针对多频信号的幅度和相位检测,根据数字相敏检波原理,推导出了多频数字相敏检波原理,并使用C# 语言,根据此原理设计出多频数字相敏检测软件,给出了控制软件的流程图。在实验验证中通过输入一多频信号,经过参数配置后,通过计算得出多频信号的幅度和相位,并通过改变输入信号的频率,对比整周期采样与非整周期采样的区别,实验结果表明该软件具有较强的抗干扰能力和较好的检测精度,能够很好的完成对多频信号的相位和幅度的检测。最后处理的数据以文本格式保存,数据保存包含数据源路径、采样频率、采样点数、频率设置等参数信息,可以方便简单的对数据进行处理。
【参考文献】
[1] 吴银川, 张家田,严正国, 苏娟. 多频测井信号相敏检波技术研究[J]. 仪器仪表用户,2008,15(3):32-33.
[2] 石军,曹卫峰,徐方友,等. 数字相敏检波在DSP 中的实现[J]. 郑州轻工业学院学报:自然科学版, 2010,25(2):85-87.
[3] 黄家亮. 基于DSP 的数字相敏检波器的实现[J]. 石油仪器,2009,23 (6):84-85.
[4] 王超,潘扬,张维维.Visual C# 通用范例开发金典[M]. 北京:电子工业出版社,2008(6):52 054