掌桥专利:专业的专利平台
掌桥专利
首页

一种基于FPGA的多组分痕量气体检测解调方法

文献发布时间:2024-04-18 19:58:21


一种基于FPGA的多组分痕量气体检测解调方法

技术领域

本发明属于气体检测领域,更为具体地讲,涉及一种基于FPGA的多组分痕量气体检测解调方法。

背景技术

痕量气体是气体浓度低于10E-6的粒种。波长调制吸收光谱技术(WavelengthModulation Spectroscopy,WMS)是一种高效的痕量气体检测技术,该方法具有选择性好、检出限低、检测速度快等优点。检测时信号发生器输出低频三角波叠加高频正弦信号,其中低频三角波用于改变激光器输出波长,高频正弦信号用于调制,激光器穿过待测气体后,由锁相放大器对二次谐波信号进行解调,解调出的二次谐波幅值和待测气体浓度成正相关。

由于气体在中红外吸收强度要远大于近红外波段,因此目前采用量子级联激光器(Quantum Cascade Laser,QCL)作为检测光源,QCL波长覆盖2.7~14微米,并且其输出波长会随着驱动电流发生改变。但是普通的DFB-QCL波长扫描范围只有几个波数,通常只能检测1种气体,若对多种气体进行检测,则在光路设计时需要多支QCL合束处理。在进行检测时,需要依次点亮每支QCL并进行调制,探测器接收到吸收后的光强后依次进行解调。该方法虽然可以检测多种气体,但是QCL不能同时工作,因此检测时间较长。

综上所述,如何进行多支QCL的同步调制解调是多组分痕量气体准确检测的重点及难点。

发明内容

本发明的目的在于克服现有气体检测技术中的不足,提供一种基于FPGA的多组分痕量气体检测解调方法。该技术同时对两支QCL进行调制,在FPGA内部搭建解调架构,该技术在同时对光强信号进行解调的同时,节省了FPGA内部的ROM和DSP资源,在具有高性能信号解调的同时具有低成本的显著优势。

为实现上述发明,本发明一种基于FPGA的多组分痕量气体检测解调方法,其特征在于包括ADC模块,ADC驱动模块,DAC模块,DAC驱动模块,ROM模块,互相关运算模块,FIR模块,运算模块及上位机模块,其中:

ADC模块用于采集探测器接收到的光电信号。ADC为量化位宽W位,采样率为f的高精度ADC。当ADC模块收到ADC驱动模块发出的CNV信号有效时,ADC对光强信号进行一次采集,并将数据发送到ADC驱动模块;

ADC驱动模块用于驱动ADC进行数据采集。驱动模块输出CNV信号有效驱动ADC进行一次信号采集,并将采集到的数据adc_data发送给互相关运算模块;

DAC模块用于输出模拟电压给QCL驱动模块。DAC为双通道器件,将DAC驱动模块输出的数据转换成双通道模拟电压给QCL驱动模块;

DAC驱动模块用于驱动DAC工作。该模块输出低频三角波叠加高频正弦数据,其中低频三角波Trig用于激光器波长扫描,高频正弦波sin用于对激光器光强进行高频调制。由于DAC模块为双通道器件,驱动模块CH0输出三角波频率为ft,正弦波频率为fs,CH1输出三角波频率为ft,正弦波频率为2*fs;

ROM模块存储用于二次谐波解调的正弦信号。该模块选用双口ROM,ROM位宽W位,深度为D=f/fs/2,内部存储一个完整的正弦信号。当对光强信号进行解调时,ROM从0,1,2…D-1地址中读取数据sin_data发送给互相关运算模块,同时从D/4,D/4+1…D-1,0,1,2…地址中读取数据cos_data发送给互相关运算模块;

互相关运算模块对ADC输出的数据adc_data和ROM模块输出的数据sin_data和cos_data分别做乘法运算,记adc_data*sin_data=A0,adc_data*cos_data=B0,将A0、B0输出给FIR模块,同时对采集数据adc_data进行4*fs频率进行解调,记2*A0*cos_data=A1,2*B0*cos_data-adc_data=B1,将A1、B1输出给FIR模块;

FIR模块将互相关运算模块输出的A0、B0、A1、B1进行滤波,然后将滤波后的数据AF0、BF0、AF1、BF1发送给均方根运算模块;

运算模块对AF0、BF0进行方和根运算,同时对AF1、BF1进行方和根运算,并将运算结果发送给上位机模块;

上位机模块将数据换算成浓度信息并进行显示;

本发明具有以下优势:

1、本发明同时对两支QCL进行调制与解调,可以同时检测出两种不同的痕量气体浓度,相较之前QCL依次工作的方法,本发明可以有效缩短检测时间。

2、在FPGA内部搭建的双通道解调架构,节省了FPGA内部的ROM和DSP资源,在具有高性能信号解调的同时具有低成本的显著优势。本发明提出的双通道解调架构,当对2*fs、4*fs进行解调时,需要在FPGA内部同时缓存2*fs、4*fs的正弦与余弦数据,本发明只使用ROM缓存了频率为2*fs的正弦数据,通过读地址和算法的改进,节省了66.67%的ROM存储资源。同时,在进行4*fs互相关运算时,本发明采用三角函数对互相关运算进行了改进,运算过程如下:

adc_data*sin(4*fs)=2*adc_data*sin(2*fs)*cos(2*fs)=2*A0*cos(2*fs)(1)

adc_data*cos(4*fs)=adc_data*(2*cos(2*fs)^2-1)

=2*adc_data*cos(2*fs)^2-adc_data

=2*B0*cos(2*fs)-adc_data(2)

公式(1)、(2)中sin(2*fs)和cos(2*fs)分别为发明内容中的sin_data和cos_data。由公式(1)、(2)可以看出,当对频率4*fs进行互相关运算时,可以借助A0、B0的运算结果,用于节省运算过程中的乘法运算,大量减少DSP的使用量。

附图说明

图1是一种基于FPGA的多组分痕量气体检测解调方法示意图;

图2是多组分痕量气体检测系统图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅是本发明的一部分实施例,并不是全部的实施例。

实施例

图1是本发明一种基于FPGA的多组分痕量气体检测解调方法结构图。如图1所示,该技术包括ADC模块1,ADC驱动模块2,DAC模块3,DAC驱动模块4,ROM模块5,互相关运算模块6,FIR模块7,运算模块8及上位机模块9集成在FPGA中实现。多组分痕量气体检测系统如图2所示。包括QCL模块10、QCL模块11、QCL驱动模块12、QCL驱动模块13、气体池模块14、探测器模块15、锁相放大器模块16、上位机模块17。下面分别对各个模块进行详细说明。

ADC模块1用于采集探测器接收到的光电信号。ADC为16位,采样率为f=100KSPS的ADC。当ADC模块收到ADC驱动模块发出的CNV信号有效时,ADC对光强信号进行一次采集,并将数据发送到ADC驱动模块;

ADC驱动模块2用于驱动ADC进行数据采集。驱动模块输出CNV信号有效驱动ADC进行一次信号采集,并将采集到的数据adc_data发送给互相关运算模块;

DAC模块3用于输出模拟电压给QCL驱动模块。DAC为双通道器件,将DAC驱动模块输出的数据转换成双通道模拟电压给QCL驱动模块;

DAC驱动模块4用于驱动DAC工作。该模块输出低频三角波叠加高频正弦数据,其中低频三角波Trig用于激光器波长扫描,高频正弦波sin用于对激光器光强进行高频调制。由于DAC模块为双通道器件,驱动模块CH0输出三角波频率为ft=10Hz,正弦波频率为fs=5KHz,CH1输出三角波频率为ft=10Hz,正弦波频率为2*fs=10KHz。;

ROM模块5存储用于二次谐波解调的正弦信号。该模块选用双口ROM,ROM位宽W位,深度为D=f/fs/2=10,内部存储一个完整的正弦信号。当对光强信号进行解调时,ROM从0,1,2…9,0,1…地址中读取数据sin_data发送给互相关运算模块,同时从3,4…9,0,1,2…地址中读取数据cos_data发送给互相关运算模块;

互相关运算模块6对ADC输出的数据adc_data和ROM模块输出的数据sin_data和cos_data分别做乘法运算,记adc_data*sin_data=A0,adc_data*cos_data=B0,将A0、B0输出给FIR模块,同时对采集数据adc_data进行4*fs=20KHz频率进行解调,记2*A0*cos_data=A1,2*B0*cos_data-adc_data=B1,将A1、B1输出给FIR模块;

FIR模块7将互相关运算模块输出的A0、B0、A1、B1进行滤波,然后将滤波后的数据AF0、BF0、AF1、BF1发送给均方根运算模块;

运算模块8对AF0、BF0进行方和根运算,同时对AF1、BF1进行方和根运算,并将运算结果发送给上位机模块;

上位机模块9将数据换算成浓度信息并进行显示;

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

相关技术
  • 基于光栅解调的光致热弹光谱痕量气体检测装置及方法
  • 一种基于中红外全光纤直接吸收法的多组分痕量气体检测系统和方法
技术分类

06120116482810