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

目录

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巡天七年,成为世界上第一个获取光谱数突破千万量级的光谱巡天项目。

79c2ad779562b3bfd0ebb821529b72b8.gif

图1-1 巡天数据

2

数据集网站

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

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

a25e2e6323462eeffd6d2642636ffe2f.png

图2-1 LAMOST光谱数据网站

进入之后出现三个选项:

1.catalog(目录)

2.fits(原光谱数据,fits格式)

3.png(处理好的光谱图像,png格式)

94decda2503588c6447dfeb4a16da568.png

图2-2 LAMOST光谱数据目录

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

3

读取与处理流程

3.1 fitsread函数读取文件

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

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

e415d97575eb3558354de5b3c1204cd8.png

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

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

c159b2093cc10ace633d3181326ad3f0.png

图3-1 数据矩阵

3.2 画出图像

b797619c96f603e7b72020e9ab1a1b97.png

图3-2 光谱图

3.3 平滑滤波

首先,什么是滤波?

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

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

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

684ca3a95daac657c8fc974409b9c448.png

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

42c3ecd509200c9dca533d765458c449.png

图3-3 平滑滤波后的光谱

3.4 傅里叶滤波

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

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

636dd31db2491d4175130d568308609a.png 3961b7fe38d6ff2610747c8bf1610485.png

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

d1082a8eb35bdfed3a13e958deefdb7e.png

图3-4 傅里叶滤波(橘)与平滑滤波(蓝)

3.5 结果对比

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

ce6748fb54f3ed9c1b1ef89250ac534c.png

图3-5 最终处理光谱

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

fb40c7dc629f07d9285eabab0ed37939.png

图3-6 K3恒星的光谱

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

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

dc6edd3bd961e5aa43489024f97b46f4.png

附录A

MATLAB读取与处理的代码

a062e24287bb385b7ce840b5e763d393.png

附录B

Python读取光谱数据的代码

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

3eb420277b35dcfb88de0fbdc4d4da50.png

写在最后

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

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

谢谢!

撰稿:王宝
编辑:杨浩哲

推荐阅读

dc6edd3bd961e5aa43489024f97b46f4.png

天文前沿|「傅里叶级数与摆线」 “地心说”中的奇妙数学

宇宙画廊| 宇宙也会撸猫?

天文基础| 天文漫谈之认识星空(四)

宇宙画廊| 自古红蓝出CP?(v2.0)

30432eb4d5755e431a6b847d5541f567.png 29dd7591311ec6944930e13a5d7543f8.png

扫码关注星迹月影

【版权声明】标注“原创”的文章系《星迹月影》独家稿件,《星迹月影》编辑部保留所有版权;未经授权,不得以任何形式转载或使用。

911ad96b273ed610651d4adc31437e02.png

👉  点击这里写留言!👈

喜欢本篇内容请给我们点赞并点亮在看~

929104e7faf3fa71cf33e48f13d853b9.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值