TI毫米波雷达开发——High Accuracy Demo 串口数据接收及TLV协议解析 matlab 源码

前置基础

需熟悉TLV 协议 并对TI 基本的 TLV 输出套路有基本的概念。

源代码功能说明

一个使用matlab对6843 High Accuracy Demo 进行数据解析的Demo Project。


适用于TI 毫米波雷达 TLV 协议架构解析的Matlab上位机代码走读博客。

功能演示视频

Matlab mmWave TLV 协议解析功能演示

文件结构

在这里插入图片描述

01.bin / 02.bin

通过串口捕获到的原始数据保存在当前bin文件中。

ParseData.m

函数执行入口

read_file_and_plot_object_location.m

读取bin文件并且绘图

read_serial_port_and_plot_object_location.m

读取串口并保存数据

函数解析

configureSport(comportSnum)

配置串口

% 配置串口号及波特率。
% 串口接收的数据存在InputBufferSize中。
function [sphandle] = configureSport(comportSnum,BaudRate)
    global BYTES_AVAILABLE_FCN_CNT;

    if ~isempty(instrfind('Type','serial'))
        disp('Serial port(s) already open. Re-initializing...');
        delete(instrfind('Type','serial'));  % delete open serial ports.
    end
    comportnum_str = ['COM' num2str(comportSnum)];
    sphandle = serial(comportnum_str,'BaudRate',BaudRate);
    set(sphandle,'InputBufferSize', 2^20);
    set(sphandle,'Timeout',10);
    set(sphandle,'ErrorFcn',@dispError);
    set(sphandle,'BytesAvailableFcnMode','byte');
    set(sphandle,'BytesAvailableFcnCount', 2^20+1);%BYTES_AVAILABLE_FCN_CNT);
    set(sphandle,'BytesAvailableFcn',@readUartCallbackFcn);
    fopen(sphandle);
return

readUartCallbackFcn(sphandle, 0);

串口数据接收并放入缓冲区并控制


function [] = readUartCallbackFcn(obj, event)
global bytevecAcc;
global bytevecAccLen;
global readUartFcnCntr;
global BYTES_AVAILABLE_FLAG
global BYTE_VEC_ACC_MAX_SIZE
global EXIT_KEY_PRESSED
glo
  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SVM(支持向量机)是一种常用的机器学习算法,用于分类和回归任务。在Matlab中,可以使用LIBSVM库来实现SVM分类。 首先,需要将数据准备为适合训练和测试的格式。假设你有一个包含特征和目标变量的数据集。特征表示为一个包含每个样本的行和每个特征的列的矩阵。目标变量是一个向量,其中包含与每个样本对应的类别。 接下来,下载并安装LIBSVM库。将其添加到MATLAB路径中,以便能够访问其函数。 在MATLAB中,使用svmtrain函数来训练SVM分类器。它需要包含特征和目标变量的矩阵作为输入参数。此外,您还需要指定SVM的参数,例如内核类型和惩罚参数。 例如,以下是使用线性内核和C=1的SVM分类器的训练代码: ```matlab % 准备数据 features = [特征矩阵]; labels = [目标变量向量]; % 训练SVM分类器 model = svmtrain(labels, features, '-t 0 -c 1'); % 使用训练后的模型进行预测 [predicted_labels, accuracy, decision_values] = svmpredict(labels, features, model); ``` 这是一个简单的示例,只使用了默认的线性内核和惩罚参数。您可以根据实际情况调整这些参数以获得更好的性能。另外,还可以尝试其他内核类型,例如径向基函数(RBF)或多项式内核,以适合不同类型的数据集。 以上是使用MATLAB实现SVM分类器的简单介绍。在实际应用中,您可能还需要进行特征选择、交叉验证和模型调优等步骤,以提高分类器的性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雷达爆破手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值