利用相关函数进行元素识别的一个实验性观点
利用相关函数进行元素识别的一个实验性观点
随着NXP智能车竞赛的发展,赛道元素种类越来越多(比如圆环)。在以往的比赛中我们一般采用特征识别的方法来检测这些赛道元素,这种方法缺点很明显,需要为不同的特征设计不同的识别方法。本文主要探讨利用相关函数的特性构建一个通用的识别方法。
流程简介本方法的大概流程:
确定识别模板序列x
待检测的序列y
对x和y序列做傅里叶变换得到X和Y序列
对X序列就共轭序列得到X’序列
X’序列和Y序列逐项相乘获得频域相关序列R
对R序列进行傅里叶反变换得到时域相关序列r
检测r序列的值,若r大于设定的阈值即可认为识别成功
从相关系数到互相关函数相关系数的意义好了我们从头的来理解这个方法,本方法的出发点是概率论中的协方差Cov和相关系数$\rho$. 首先回顾一下自相关的意义,我个人的表述是一个数列y能由另一个数列x线性表示(y=ax+b)的程度,如果如果相关系数等于1那么y当中的每一个值都能由对应的x值来线性表示。对于协方差和相关系数的理解可以参考知乎上的这个回答https://www.zhihu.com/question/20852004?so ...
废旧小主机改造路由器
废旧小主机改造路由器,廉价的家用NAS解决方案
好久没有写博客了,看了看上一篇还是去年9月份的事情。大三了学习压力好大,没什么时间研究技术方面的东西了。下学期还要开始考研,哎更没时间,估计博客又要好久不能更新了。
最近喜欢上了逛闲鱼捡垃圾,捡到了一台110元的废旧小主机。电子垃圾真便宜,还真是三千预算进图吧,学校对面开网吧啊。一直想给之前用的路由器加些功能,可无奈毕竟是路由器算力跟不上,硬件供电也不行,还把我硬盘给搞坏了。把这次捡的这小主机改造成路由器岂不是美滋滋。改造,开干!关于改造过程,因为篇幅有限,这篇博客只谈软件改造部分,关于硬件部分其实也没什么好说的,就是着重处理了一下散热,然后因为需要wifi就买了一块7260AC无线网卡插上,另外弄了两根6dB天线装上。主机配置如下:
Intel Atom n270处理器(32位)1GB DDR2L 内存32GB 固态Intel 7260AC双频无线网卡4个USB2.0接口一个百兆以太网口另有SATA接口,IDE接口,串口,mini-PCIe,USB扩展排针等等一系列接口,看中这个主板也是因为接口比较丰富。
装系统关于系统,我最终选择了 ...
GitHub Pages开启全站https连接
好久没更新博客了,最近想写博客时发现travis-CI自动部署系统用不了了,本地也用不了了,问题还不一样.弄了小半个下午才弄好.应该是某个插件更新了导致的一些错误,再加上本地的python版本有问题,导致都没法用还显示错误不一样.别人的博客框架确实好用,但是除了问题震荡还是有点麻烦的.whatever,修好了就好了.
GitHub Pages开启全站https安全连接最近Chrome69版本发布修改了https的显示方式,于是我又了解了一下https,意识到我的博客还是用的http连接非常不安全怎么办啊,于是在最近全部升级成了https连接(其实就是强迫症犯了觉得那个小锁很好看也想要一个).
升级成https后的显示效果
开启GitHub Pages强制https全站https访问需要禁止http访问才有意义,这一步很简单,直接在项目的设置界面中的GitHub Pages那里打勾就好
貌似以前自定义域名开启https还很麻烦,但是现在GitHub升级了,一切都变得容易了起来.
全部资源使用https完成上一步后打开网站发现使用https连接但是还是没有小绿锁.因为很多资 ...
MCS51单片机常用寄存器及汇编指令梳理
MCS51单片机寄存器简介
最近马上要考试51单片机了,借着这个机会梳理了一下51单片机的各个寄存器以及我个人常弄混淆的一些东西.
管脚
名称
描述
PSEN
ROM选通信号
EA
=0 只访问片外ROM
ALE
地址锁存器信号
RESET
2机器周期高电平复位
XTAL1
crystal oscillator
一共40脚 32个IO 注意P1可以驱动4个LSTTL,其他为8个
P3口第二功能
管脚
功能
P3.0
RXD
P3.1
TXD
P3.2
INT0
P3.3
INT1
P3.4
T0
P3.5
T1
P3.6
WR
P3.7
RD
内存
地址
说明
00H~07H
第0工作区
08H~0FH
第1工作区
……
…….
20H~2FH
可位寻址区
30H~7FH
用户RAM区
80H~FFH
SFR
上电建议将SP改成60H避免冲突
注意事项
内存中对应的位地址为 00H~7FH
寄存器 注意 SP复位值为07H(越过第0工作组寄存器区),IO复位是FFH ...
kinetis KV58 DAC模块食用指南
kinetis KV58 DAC模块食用指南
本文主要以KV58为例介绍kinetis系列微控制器的DAC模块的寄存器以及配置方法.
Kinetis KV5x系列DAC特性简介DAC全称Digital Analog Convertor 数模转换器,用于输出模拟信号.kinetis的DAC模块拥有以下特点:
12bit输出
16深度支持DMA的FIFO缓冲器
DAC可作为外部管脚输出或者内部ADC的比较电压
4096级输出
双参考电压
停止模式可维持输出电压
支持DMA
可由PDB0 PDB1 XBARA_OUT15硬件触发转换
Kinetis KV5x系列DAC结构图(摘自KV5x Sub-Family Reference Manual Page 1075)
可以看出DAC的结构还是相对简单的.总体来说DAC有一个16深度的缓冲区可以配置成不同的模式(Ring Buffer,FIFO等)有一个转换指针*Buffer Read Point,该指针指向的数据就会由DAC输出.不论由硬件还是软件触发DAC转换的本质是移动这个指针使它指向不同的数据来输出不同的电压值,DAC输出的过程其 ...
翻译 BLE低功耗蓝牙协议简介
原文连接 https://doc.qt.io/qt-5/qtbluetooth-le-overview.html
BLE低功耗蓝牙简介什么是低功耗蓝牙低功耗蓝牙又被称为智能蓝牙(Bluetooth Smart),是一个于2011年提出的无线网络技术.与经典蓝牙(“classic”Bluetooth)一样工作在2.4GHz.它的主要特点正如其名字一样,低能量消耗.它提供了一种仅仅用一颗纽扣电池就工作几月甚至几年的可能性.该项技术作为蓝牙4.0技术的子协议被叫做Bluetooth Smart Ready Devices.它的主要技术特点如下:
极低峰值,平均值功耗
可以使用纽扣电池驱动数年时间
低功耗
多网络互联
距离增强
低功耗蓝牙使用了一种客户端-服务端(client-server)结构.服务端(外围设备)提供服务,例如温度,心率等,并广播它们.客户端(中心设备)连接到服务端并读取被广播的数据.
基本服务结构低功耗蓝牙BLE主要依靠两个协议:ATT(Attribute Protocol)以及GATT(Generic Attribute Protocol).它们是通信层中最重要的协 ...
mathjax数学公式编辑工具
mathjax数学公式编辑工具使用简介
数学在各个学科的许多方面有许多重要的用途。本文主要研究利用数学公式编辑工具mathjax快速编辑复杂数学公式。本文主要研究mathjax的使用,关于它的安装配置等本文将不做深入讨论。关于mathjax在hexo博客系统下的配置可以点击这里
显示效果$$ \iiint_v(\sum_{i=0}^{\infty}\frac{\partial{(xy_i}+\sqrt[5]{y_i^2})}{\partial{x}})dv $$
基础语法公式显示公式显示一共有两种方式,一种是行内显示如$\frac{a^2_i}{b}$,而另一种是单独显示,就像上文那个例子那样.在markdown中显示数学公式都需要特定的标识符,行内显示使用单个$来确定显示的内容,例如$ a=b^2 $那么输出效果就是$a=b^2$ .独立显示使用$$,例如$$ a=b^2 $$$$ a=b^2$$
另外如果公式有多行,可以使用 和 来包含多行内容,例如
$$\begin{aligned}\dot{x} & = \sigma(y-x ...
自制摇摇棒
自制摇摇棒开发总结
最近做了一个摇摇棒,也算是一个小制作吧,原理很简单,制作过程也不是很复杂.
YaoyaobangOnSTM32硬件及软件资料下载
摇摇棒简介
摇摇棒就是一个可以摇动然后显示图案的小制作.利用人眼的视觉暂留现象,显示图案.我制作的摇摇棒使用STM32C8T6微控制器作为主控,使用内部RC震动器(也可外接晶振),采用16个LED灯作为显示部分,采用ams1117作为电源稳压芯片,也可直接不经过稳压芯片直接驱动.软件方面设计为摇动的频率可变,以任意较快频率(可产生视觉暂留现象的频率)晃动都可以产生图像.采用低功耗设计,自动进入待机模式节省电量.待机时功耗低至60μw.
细节
原理检测频率使用震动开关检测晃动的频率,震动开关就是在震动的时候能产生高低电平.通过systick定时器和外部中断的配合使用可以达到计算晃动频率的目的.以下是两个主要使用的函数
12345678910111213141516171819202122void HAL_SYSTICK_Callback()//定时器回掉函数{ yaoyaobangBase.timeCount++; if( ...
IAR7.8STM32无法下载程序错误解决方法
IAR7.8对STM32f1系列下载程序时出现错误报告IAR The selected device does not match the target device
解决方案http://supp.iar.com/Updates/?product=EWarm 下载安装补丁即可
也可以在本站下载 点击下载
IAR产品补丁发布地址http://supp.iar.com/Updates/
EOF
kinetis KV58 FTM模块食用指南
NXP Kinetis系列 KV58微控制器FTM模块食用指南
本文主要介绍利用FTM模块输出pwm波和利用FTM模块进行正交解码
FTM模块简介FTM模块是一个多功能定时器模块,主要功能有,PWM输出、输入捕捉、输出比较、定时中断、脉冲加减计数、脉冲周期脉宽测量.在KV58中,共有FTM0,FTM1,FTM2,FTM3四个独立的FTM模块.其中FTM0和FTM3有8个通道,可用于电机或舵机的PWM输出,但不具备正交解码功能,也就是对旋转编码器输入的正反向计数功能.而FTM1和FTM2则具备正交解码功能,但是FTM1和FTM2各只有两个通道.FTM模块的时间基准来自一个16位的计数器,该计数器的值可读取,即可作为无符号数对待,也可作为有符号数的补码对待.
FTM模块与TPM差异熟悉恩智浦 Kinetis MCU 的朋友会发现,Kinetis 各个系列都有某种联系或者可以称为一脉相承吧!举个 L 系列的 TPM 与 K 系列的 FTM 例子吧.根据参考手册的叙述,FTM 模块是 TPM 模块改进而来的一种定时器模块,即飞思卡尔在它的 8 位单片机 HCS08 系列上应用多年的定时器模块 ...