温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
MATLAB
傅里叶变换
光谱仪
光谱
复原
研究
郑莹
软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering37MATLAB 是一套高性能数据分析计算软件,具有强大的矩阵计算、数值计算、符号计算、数据可视化和系统仿真分析等功能1,可以进行绘制函数和数据、实现算法、创建用户界面、连接其他编程语言程序等,广泛应用于科学计算、信号处理与通信、图像处理、信号检测、控制设计、仿真分析、金融建模设计与分析等领域2-3。MATLAB 由 MATLAB 开发环境、MATLAB 数学函数库、MATLAB 语言、MATLAB 图形处理系统和MATLAB 应用程序接口(API)五大部分构成。其主要具有以下优点4:(1)简 洁 易 学:MATLAB 软 件 的 操 作 界 面 简单,即允许用户在命令窗口中输入命令直接得到结果,也可以编写较复杂的应用程序后再运行,这比 C、FORTRAN 等高级语言都要方便得多。由于 MATLAB语言是由 C+语言基础上演变来的,因此只要用户具有 C+的基础,就会很容易掌握 MATLAB 语言。(2)高效的数据处理能力:MATLAB 软件是大量计算算法的集合,包含了 600 多工程中会用到的数学运算函数,方便用户随意调用,实现各种计算功能。MATLAB具有强大的矩阵计算能力,可以对矩阵进行加、减、乘、除等运算以及转置和求逆运算,而且可以处理稀疏矩阵等特殊的矩阵,非常适合于有限元等大型数值算法的编程。此外,MATLAB 软件还具有数十个工具箱可以解决应用中的大多数数学问题。(3)强大的图形符号表达功能:利用 MATLAB 可以方便地绘制多种常用的二维图形和三维图形,如曲线图、散点图、饼图、柱状图、三维曲线/三维曲面图、伪彩色图等。这些图形不但提供大量数据的直观表示,而且更便于揭示数据间的内在关系。除了以上具有的较为突出的优点之外,MATLAB软件开放性好,便于扩展,大量 MATLAB 工具箱函数都是以 M 文件形式提供的,是公开的,用户可以根据自己的需要加以修改,大大节约了程序开发的时间。并且,MATLAB 软件的开放性还体现在与其他编程语言及工具软件的交互上,可以将 MATLAB 作为一个具有强大计算能力的平台发挥作用。因此,MATLAB 是当前应用最广的一款进行科学与工程计算的应用软件。本文将充分利用 MATLAB 软件在数据处理上的优势,基于一款空间调制型傅里叶变换光谱仪的原理和结构,利用 MATLAB 对探测到的光强信息进行程序匹配,保证空域光程差与光谱强度的对应关系,选择合适的数据采集和数据处理方法,利用快速傅里叶变换,编写程序,实现光谱复原。1 傅里叶变换光谱仪的基本原理基于干涉调制原理的傅里叶变换光谱仪具有多通道、辐射通量大、杂散光低、波数准确、精度高等优点,可实现对弱辐射体的高分辨率的光谱探测和分析研究5。近 30 年来,傅里叶变换光谱技术发展非常迅速,傅里叶变换光谱仪的更新换代很快,性能不断提高,从而推动了光谱技术的广泛应用。根据调制原理不同,傅里叶变换光谱仪分为时间调制型和空间调制型两种6。时间调制型傅里叶变换光谱仪主要基于 Michelson 干涉仪原理,通过驱动系统推动反射镜扫描产生光程差,实现光在频域的调制,经过基于 MATLAB 的傅里叶变换光谱仪光谱复原研究郑莹海洋(沈阳理工大学 辽宁省沈阳市 110158)摘要:本文充分利用 MATLAB 在科学计算和数据处理方面的强大计算功能,对一款傅里叶变换光谱仪的干涉图数据进行光谱复原算法的研究,实现了光程差与离散干涉信息序列的匹配,通过去直流、相位校正等数据处理方法,利用快速傅里叶变换得到了对应干涉信息的光谱图,为后续制造完成的光谱仪样机的配套软件提供数据参考。关键词:MATLAB;傅里叶变换;光谱仪;光谱复原基金资助:辽宁省教育厅基础科研项目(面上青年人才项目)(1030040000429)。软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering38双光束干涉得到干涉图,因此,它需要一套高精度的动镜驱动系统;由于含有运动部件,使得系统加工和装调都比较困难,并且系统的重复性和可靠性难以保证,系统的实时性较差。空间调制型傅里叶变换光谱仪是随着面阵探测器的飞速发展而出现的,它不需要动镜驱动系统,光谱仪结构中没有可动部件,其光学元件都处于静态,结构紧凑,它在大大降低研制成本的同时,保留了动镜扫描干涉成像光谱仪的主要优点,能够实现光谱的精确分析,使用波段宽,抗震能力更强,且性能稳定,能满足环境和安全监测、医疗等领域的需求,因此,空间调制型傅里叶变换光谱仪受到国内外研究者们的极大关注。伴随着现代应用光学的进步,尤其是 MOEMS 技术的飞速发展,为满足科学界与工业界对能实时监测、便携以及应用范围更广的光谱仪的迫切需求,傅里叶变换光谱仪正朝着微小型化、轻量化和多功能化方向发展。图 1 是一款小型的空间调制型傅里叶变换光谱仪干涉系统结构示意图,光源 LS 发出的光束经过准直系统 CS 准直后得到平行光,到达第一分束器 BS1 后分为两束光,一束光经微反射镜 M1 反射后到达第二分束器BS2,另一束光经微反射镜 M2 反射后到达第二分束器BS2,由于两个微反射镜的反射面空间位置存在差异,从而引起光的相位发生变化,因此在第二分束器 BS2 处相遇时,发生干涉,干涉图信息分别被第一探测器 DT1和第二探测器 DT2 接收,再经过差分放大其 DA 后,进行信号处理得到对应的光谱。这里,两个分束器的反射率/透射率之比接近50/50,两个微反射镜呈阶梯状,均有 N 个子反射面,每个子反射面的长度的 L,宽度为 W,不同的是反射面之间的阶梯高度,第一微反射镜 M1 和第二微反射镜M2 的阶梯高度为分别为 h1和 h2,阶梯高度的确定遵循奈奎斯特采样定理和光程差互补原则。通过调整两个微反射镜的空间相对位置,确定零光程差,进而形成 N2个阵列式的具有不同光程差的干涉光场。由两个微反射镜结构及空间位置决定的第 p 行 q 列的光程差为:(1)式中 为采样间隔。波数为 的单色波在干涉图元(x,y)上的干涉光强表达式为:(2)其中,B()为光源功率谱密度,舍去第一项的常数项并将各波数单色光干涉图函数积分,以间隔离散采样,取 n=Nx-y,m=N2,可得到整个光谱范围的干涉图函数:(3)对干涉图序列做离散信号傅里叶变换,得到光源的功率谱密度:(4)对频域进行离散量化,在这些频率上,光谱图的傅里叶分量:(5)若采用过零单边采样方法,可以降低系统的原始数据量并减轻系统其他环节的压力,即n=-n0,0,m-n0,其中 n0为过零采样量。2 基于MATLAB的光谱复原方法传统的傅里叶变换光谱仪多以迈克尔逊干涉系统为主7,属于时间调制型的傅里叶变换光谱仪,光谱仪的干涉系统主要是通过动镜移动位置获得时域上的干涉信息,干涉图同样被探测器所采集,经过采样后的干涉图数据需进行去直流、切址、相位校正和傅里叶变换复原得到光谱图8-10。这里,本文要进行光谱复原的傅里叶光谱仪是属于空间调制型的,即光谱仪的结构组成里不(LS-光源;CS-准直系统;M-微反射镜;BS-分束器;DT-探测器;DA-差分放大器;SM-光谱)图 1:空间调制型傅里叶变换光谱仪干涉系统结构示意图软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering39包含任何可动部分,光程差的调制完全依靠两个微反射镜的结构和空间摆放位置来决定,这就导致了光程差是不连续变化的,得到的干涉图数据需要经过离散采样得到,因此需要采用快速傅里叶变换的数据处理方法。同时,为了保证复原的光谱图不失真,采样频率要保证大于光谱最大波数的 2 倍。这里,所研究的空间调制型傅里叶变换光谱仪的工作波长为 4 m。2.1 快速傅里叶变换(FFT)傅里叶变换是一种线性积分变换,用于信号在时域(或空域)和频域之间的变换,它是傅里叶变换光谱仪获取光谱的主要环节11。通常情况下,傅里叶变换指的连续傅里叶变换,将平方可积的函数表示成复指数函数函数的积分或级数形式。快速傅里叶变换(Fast Fourier Transform,简称 FFT)是对离散傅里叶变换(DFT)算法进行改进获得的,属于利用计算机计算离散傅里叶变换的高效、快速的计算方法,该种算法的优势在于计算离散傅里叶变换所需要的乘法次数大大减少,特别是被变换的抽样点数越多,快速傅里叶变换算法在节约计算时间上越显著12。在 MATLAB 中,提供了进行快速傅里叶变换的 fft函数,可调用的快速傅里叶变换命令主要有三种:(1)Y=fft(X):即快速傅里叶变换(FFT)算法计算X 的离散傅里叶变换(DFT)。如果 X 是向量,则 fft(X)返回该向量的傅里叶变换;如果 X 是矩阵,则 fft(X)将X 的各列视为向量,并返回每列的傅里叶变换;如果 X是一个多维数组,则 fft(X)将沿大小不等于 1 的第一个数组维度的值视为向量,并返回每个向量的傅里叶变换。(2)Y=fft(X,n):返回 n 点 DFT。如果未指定任何值,则 Y 的大小与 X 相同;如果 X 是向量且 X 的长度小于 n,则为 X 补上尾零以达到长度 n;如果 X 是向量且 X 的长度大于 n,则对 X 进行截断以达到长度 n;如果 X 是矩阵,则每列的处理与在向量情况下相同;如果X 为多维数组,则大小不等于 1 的第一个数组维度的处理与在向量情况下相同。(3)Y=fft(X,n,dim):返回沿维度 dim 的傅里叶变换。例如,如果 X 是矩阵,则 fft(X,n,2)返回每行的 n点傅里叶变换。2.2 光谱复原方法为充分考虑到前面提到的傅里叶变换光谱仪干涉系统实际结构对光谱复原的影响,本文利用相关光学仿真软件对光谱仪的干涉系统进行了建模仿真,得到干涉图的数据信息,通过干涉系统微反射镜摆放的相对空间位置,判断出干涉图中的光程差分布阵列情况。为了使得干涉图数据与光程差一一对应,在使用 MATLAB 软件进行傅里叶变换前,需要对导入的干涉图数据进行转置处理,并输出,对应的 MATLAB 程序如下:s=input(name of file.txt-,s);a0=load(s);a1=flipud(a0);a1=fliplr(a1);figure(1);mat=reshape(a0,M,N);mat1=mat2gray(mat);imshow(mat1,InitialMagnification,fit);colorbar;set(gca,FontSize,15,fontname,Times);由此得到的干涉图序列的每一个采样点都匹配相应的光程差,图 2 是得到的傅里叶变换光谱仪干涉系统的归一化干涉图,不同的灰度值代表了不同的干涉图信息。对得到的干涉图数据序列进行去直流等数据处理,得到新的干涉图数据序列,再利用快速傅里叶变换,得到对应输入光波的光谱,并做归一化处理,并设定输出光谱图的横轴和纵轴,对应的 MATLAB 主要程序如下:b0=fft(a2);b1=abs(b0);图 2:傅里叶变换光谱仪的干涉图软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering40BM=max(b1(1:M*N/2);plot(nv(1:M*N/2)*10000,b1(1:M*N/2)/BM);figure(2);axis(0 3500 0 1);set(gca,fontsize,15,fontname,Times);xlabel(Wavenumber/cm-1,Fontname,Times New Roman,FontSize,15)