Code Monkey home page Code Monkey logo

alie's People

Contributors

zpyin avatar

Watchers

 avatar

alie's Issues

如何利用REAL拼接数据进行互对比?

REAL标准雷达存在高低空通道以达到较高的信号动态范围。在使用REAL数据进行互对比时,需要对信号进行拼接,如下图所示:

image

激光雷达对比软件中的预处理模块lidarPreprocess中提供数据拼接功能(针对REAL雷达)。拼接参数现在仍然采取手动计算,因此在进行数据拼接时需要手动修改代码中的拼接参数,参考如下代码:

    mergeRange = [700, 1200; 1200, 2000; 700, 1200];   % height range for signal merge. (m)
    mergeSlope = [15.46, 440.0, 50.8];   % normalization ratio for 532S, 532P, 607 (High / Low)
    mergeOffset = [0, 0, 0];

拼接参数与系统状态和接收通道衰减紧密相关,因此可能会随着时间发生变化。本软件同时提供计算拼接参数的功能,但是因为评估拼接参数需要对激光雷达信号有较高的理解,因此不建议普通用户自行计算。如果需要更新拼接参数,可以联系代码开发人员进行获取。

在获取拼接参数后,可以通过运行代码得到拼接后的信号,如对于REAL,拼接后的信号会增加三个额外的通道信号,分别为“532p”,“532s”和“607”。在互对比的REAL通道中可以通过额外添加这三个通道引用拼接的信号,如下所示:

  REAL:
    lidarNo: 11   # lidar number. (see ./docs/lidarList.md)
    chTag: ['532sh', '532pl', '532sl', '607h', '607l', '532ph', '532p']

最后在互对比设置中增加这个额外通道的增益即可引用,如下所示:

  RCSCmpCfg:
    LidarList: ['REAL', 'CS']
    sigCompose:
      - [0, 0, 0, 0, 0, 0, 1]   # first lidar

初步修正一些不正确的气象局提供的激光雷达数据!

问题描述

气象局定义的二进制数据格式比较清晰,但是有部分厂家并没有严格遵循气象局的激光雷达数据格式,导致其数据不能被程序正确读取。而且整个数据格式修正的反馈过程比较冗长,因此需要自己进行数据的修正。

解决方法

bf7d5ce4a1f提交中,提供了correctCmaDataFormat函数用于修正错误数据,函数用法如下:

correctCmaDataFormat('D:\Data\CMA_Lidar_Comparison\internalChk\HR\detectRange-test', 'hr');

其中第一个参数为数据所在目录,第二个参数为雷达数据的厂家。运行完该命令后,修正后的结果会以correct_为前缀存储在数据目录中。后续进行数据处理时,设置好过滤关键字即可进行正常的数据处理。

如何计算REAL系统的拼接参数

REAL具有如下六个探测通道:

  • 532高空平行通道
  • 532低空平行通道
  • 532高空垂直通道
  • 532低空垂直通道
  • 607高空拉曼通道
  • 607低空拉曼通道

在实际使用过程中需要将对应的高低空通道信号进行融合,形成统一的信号剖面,用于数据反演。代码中提供将高低空通道信号进行融合的功能,位于lidarPreprocess.m中。融合算法通过将低空信号转换到与高空信号同等的强度,然后以过渡区间为基准,对高低空信号进行组合。

将通道进行组合的参数为拼接参数,理论上只与高低空通道的透过率差异相关。在更换接收通道的滤光片后需要重新获取拼接参数。代码库中包含计算拼接参数的代码,可通过如下方式调用:

LEMain('D:\Coding\Matlab\CMA-lidar-evaluation\configBkp\Wuhan_Real\REAL_QL.yml', 'flagReadData', true, 'flagDebug', true, 'flagQL', true);

其中需要的配置文件样本如下:

################################################################################
# lidar configuration file
# DON'T use Chinese characters!!!
################################################################################

resultPath: D:\Data\REAL\20220421
dataSavePath: D:\Data\REAL\20220421
figFormat: png   # figure format to be exported

# data loader configuration
# Load lidar data to a specified directory (defined by `dataSavePath`)
dataLoaderCfg:
  REAL:   # lidar No.1
    dataPath: D:\Data\REAL\20220421\detectRange-test
    dataFilenamePattern: .*   # all files
    # data type
    # 1: WHU standard 1064 nm lidar
    # 2: WHU non-standard 1064 nm lidar
    # 3: CMA standard data format in binary
    # 4: Dasun visibility lidar
    # 5: REAL
    dataFormat: 5
    chTag: ['532sh', '532pl', '532sl', '607h', '607l', '532ph']   # 355e; 355p; 355s; 387; 407; 532e; 532p; 532s; 607; 1064e; 1064p; 1064s; 532pl; 532sl; 607l; 532ph; 532sh; 607h
    nMaxBin: 2030   # number of bins

dataVisualCfg:
  REAL:
    lidarNo: 11   # lidar number. (see ./docs/lidarList.md)
    chTag: ['532sh', '532pl', '532sl', '607h', '607l', '532ph']   # 355e; 355p; 355s; 387; 407; 532e; 532p; 532s; 607; 1064e; 1064p; 1064s; 532pl; 532sl; 607l; 532ph; 532sh; 607h
    figVisible: 'on'   # whether display figures
    preprocessCfg:
      hOffset: 0   # height offset. (m)
      tOffset: 0   # time offset. (min)
      deadTime: [3.5, 3.5, 3.5, 30.4, 3.5, 3.5]   # deadtime (ns). If it's empty, deadtime correction is disabled.
      bgBins: [1800, 1900]   # [start index, stop index] for background correction
      nPretrigger: 55   # if nPretrigger < 0, move signal up
      bgCorFile: ''   # data file of dark measurement results
      overlapFile: ''
    vdrCompose: ['532p', '532s', 0.85, 0]   # VDR: [pChannel, sChannel, gainRatio, offset]
    tRange: '2022-04-21 20:10:00 ~ 2022-04-21 21:00:00'
    hRange: 
      - [0, 10000]
      - [0, 10000]
      - [0, 10000]
    sigRange:
      - [1e3, 5e11]   # 532s
      - [1e1, 1e10]   # 532p
      - [0, 0.4]   # 607
    cRange:   # color range for Range-corrected signal
      - [0, 1e10]   # channel 1
      - [0, 1e10]   # channel 1
      - [0, 1e10]   # channel 1
    title: 
      - 'REAL 532 s'
      - 'REAL 532 p'
      - 'REAL volume depolarization ratio'
    deltaT: 1   # temporal resolution (min)
    markTRange: '2022-04-21 20:10:00 ~ 2022-04-21 21:00:00'

运行以上命令后,得到的典型结果如下所示
image
image

通过观测拼接信号的好坏,可以更改lidarPreprocess.m中的拼接参数,并经过微调,让拼接结果更加复合预期即可。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.