matlab图像频谱分析代码_利用MATLAB读取LAMOST光谱数据

63b033e75d735f070f5518d47570631a.png
目 录
1 概述
2 数据集网站
3 读取与处理流程
  3.1 fitsread函数读取文件
  3.2 画出图像
  3.3 平滑滤波
  3.4 傅里叶滤波
4 结果对比

附录A MATLAB读取与处理的代码
附录B Python读取光谱数据的代码

写在最后
  • 1 概述

2019年3月27日,LAMOST DR6数据集正式对国内天文学家和国际合作者发布。

DR6数据集共包括4902个观测天区,发布巡天光谱总数达到1125万条,其中低分辨率光谱总数991万,中分辨率非时域光谱数据50万,中分辨率时域光谱数据84万。
数据集中高质量光谱数达到937万条,约是国际上其他巡天项目发布光谱数之和的2倍。同时,DR6发布数据中还包括一个636万组恒星光谱参数星表,成为目前全世界最大的恒星参数星表。
LAMOST巡天七年,成为世界上第一个获取光谱数突破千万量级的光谱巡天项目。

4f594e5264f5cbf4d8ef8fca4b961465.gif
图1-1 巡天数据
  • 2 数据集网站

LAMOST的每一期数据都有各自的网站,以下展示DR6的网站。

Home - LAMOST DR6 v1.1​dr6.lamost.org
1778e22acff72d65885c299cd1b11269.png

其网址为:http://dr6.lamost.org/,其实只需要把数字6改成其他数字就可以进去其他数据集的网站了,即:http://drX.http://lamost.org/,X=1,2,3,4,5。

网站里一般都会有醒目的“FITS Download”,就是光谱数据下载的地方。网站进去以后可能需要注册,这里以不需要注册就能下载光谱的DR4数据集为例。

4a5e87ad817a8ddbc41cd481fd9bc380.png
图2-1 LAMOST光谱数据网站

进入之后出现三个选项:

  1. catalog(目录)
  2. fits(原光谱数据,fits格式)
  3. png(处理好的光谱图像,png格式)

2976d682e98b786e835748638c8ee97a.png
图2-2 LAMOST光谱数据目录

点击进入fits,这才是我们需要的数据。

  • 3 读取与处理流程

3.1 fitsread函数读取文件

fitsread函数是MATLAB里专门用于读取FITS格式数据的。

熟悉天文摄影的朋友应该对这个格式十分熟悉,fits不只是天文学研究中常用的文件格式,更是天文摄影照片最常见的数据格式。

data 

直接调用该函数,可以直接读取主要数据数组中的数据。最终获得一个很长很长的矩阵(5x3909矩阵)。

其中,第一行是强度(或者叫Flux,通量),第三行是波长

7594eec63faa9adc28189d2f6edafad0.png
图3-1 数据矩阵

3.2 画出图像

b36009bf099ead0732791a9914677026.png
图3-2 光谱图

3.3 平滑滤波

首先,什么是滤波?

滤波的是指滤掉不想要的成分,即为滤掉通常所说的噪声,留下想要的部分,还原数据原本的模样。以恒星光谱为例,我们想要恒星原本的光谱,但这其中会因为空间中存在很多光子的干扰,使得光谱多了很多原本不属于该恒星的特征,我们需要处理掉这些信号,还原最真实的状态,提高信噪比

而平滑滤波,顾名思义,就是让数据变得“平滑”。空间域的平滑滤波我们一般采用平均法,就是求邻近点的平均值来达到滤波的目的。

在MATLAB中,直接调用smooth函数即可。

%平滑滤波

结果如图3-3,滤波之后特征更加明显了。

d007ff7577b0b6e50d164566c1f35cb5.png
图3-3 平滑滤波后的光谱

3.4 傅里叶滤波

理解傅里叶滤波需要有一定的数学基础,由于这里不是专门说傅里叶分析的文章,于是我不赘述,只是大致介绍一下。

傅里叶滤波的原理是将数据经过傅里叶变换后得到的频谱,再按照要求去除低频或高频部分,该部分通常占比小,不是数据主体,而是由噪声引起的,去掉这部分从而可达到滤波的效果。

傅里叶变换:

反傅里叶变换:
%傅里叶滤波

平滑滤波后再进行傅里叶滤波的对比如图3-4所示。

d6337594c372a8b231a253758b0599af.png
图3-4 傅里叶滤波(橘)与平滑滤波(蓝)
  • 3.5 结果对比

最后,在调整了一些参数后的最终结果如图3-5所示。

665f9927a3de22cadf5e84ec4dee64dd.png
图3-5 最终处理光谱

网站中与之对应的的png格式图片是这样的:

6ecf958809854f483929f6c6030e49b1.png
图3-6 K3恒星的光谱

这是一颗K型恒星光谱,粗略来看和我处理的还是差不多的,但毕竟我不是专业做天文光谱数据处理的,难免有很多不足之处,我做这些只是为了学习这方面的知识。

获取更详细的恒星光谱知识见这篇文章:

拉格朗日L2:【恒星光谱】不同恒星的谱线特征​zhuanlan.zhihu.com
b769ce0917f1642439153cc75cb511e5.png
  • 附录A MATLAB读取与处理的代码
%读取fits格式光谱文件
  • 附录B Python读取光谱数据的代码

以后可能会分享利用Python处理光谱数据,这里先做个铺垫。

# 
  • 写在最后

处理光谱数据的方法还有很多,这里只是一次学习与尝试。

本人最近在学习数字信号处理方面的知识(主要就是为了处理光谱),于是利用LAMOST数据学习了一下,希望有大佬可以批评指正,同时可以让对天文感兴趣的朋友试一试处理郭守敬望远镜的光谱。

谢谢!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值