STM32-遥感数据处理

简介: 笔记

一. 简介


在上篇文章中,以及知道如何采集遥感数据了,可是采集到的数据是0-4096范围内的,实际上,下边界不为0,上边界也不为4096。为了方便后续的处理,本文将采集到的遥感数据归一到0-100范围内。


二. 遥感数据校准


这个部分是必要的,可以确定真实情况下上下边界的数据。其具体做法为,连续采集一些边界数据,求和,取平均就可以了。具体做法如下。当采集到的数据靠近我们认为的边界时,就认为是有效数据,否则丢弃,其他四个边界的做法也是如此。


/*XL方向校准*/
void Rocker1CalibrationXL(void)
{
    uint8_t i;
    uint32_t valueSum = 0;
    for(i = 0 ;i < 400; )
    {
        uint16_t value = getX1Value();
        if(value > 0xf600)
        {
            valueSum += value;
            i++;
        }
    }
    XOffSetL = valueSum / 400;
}


三. 数据归一化


这部分也是关键的一步。其具体做法分为如下几个步骤:


获取原始数据

计算原始数据到对应两边界直接的距离(也就是相减)

将计算得到的结果扩大100倍,然后除以两边界的差值

左 边加(100-右边) 除以二,得到最终结果

具体代码实现如下

XValue =  getX1Value();  //获取X方向遥感数值 
if(XValue > XOffSetL)
      XtempL = 0;  /*小于左边界,直接复制为0*/
  else
      XtempL = XOffSetL - XValue ;
if(XValue < XOffSetR)
      XtempR = 0;  /*大于右边界,直接复制为0*/
  else
      XtempR = XValue - XOffSetR;
 uint32_t XtL = XtempL * 100;
 uint32_t XtR = XtempR * 100;
 XtL = XtL / (XOffSetL - XOffSetR);
 XtR = XtR / (XOffSetL - XOffSetR);
 X = (XtL + (100 - XtR)) / 2;  /*结果为遥感到左边界的距离,0 - 100*/


至此就完成啦。

还有关注微信公众号 FPGA之旅


公众号:FPGA之旅


目录
相关文章
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
1429 2
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
1768 0
|
缓存 网络协议 算法
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
1096 4
|
传感器
【经典案例】STM32F407使用HAL库配置I2C详解
STM32F407是一个强大的微控制器,广泛应用于嵌入式系统中。在许多应用中,我们需要使用I2C总线来与传感器、EEPROM、显示屏等外设进行通信。本文将详细介绍如何使用STM32 HAL库来配置和使用I2C接口。
2231 2
|
存储 数据采集 数据安全/隐私保护
使用STM32F103读取TF卡并模拟U盘:使用标准库实现
通过以上步骤,你可以实现用STM32F103将TF卡内容变成U盘进行读取。这种功能在数据采集、便携式存储设备等应用中非常有用。如果你有更多的需求,可以进一步扩展此项目,例如添加文件管理功能、加密存储等。希望这篇博客能帮到你,如果有任何问题,欢迎在评论区留言讨论!
1308 1
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
1764 1