编程算法
文章平均质量分 50
SongYuLong的博客
学无止境
展开
-
Python 实现RGB和YUV互转
【代码】Python 实现RGB和YUV互转。原创 2023-10-17 14:10:14 · 932 阅读 · 0 评论 -
判断CPU大小端模式函数实现
数据在内存中有两种存储顺序,分别称为:大端模式(Big Endian)和小端模式(Little Endian)。原创 2023-09-16 17:07:49 · 255 阅读 · 0 评论 -
常用十种算法滤波
式中:α=滤波系数;X(n)=本次采样值;Y(n-1)=上次滤波输出值;Y(n)=本次滤波输出值。一阶低通滤波法采用本次采样值与上次滤波输出值进行加权,得到有效滤波值,使得输出对输入有反馈作用。一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现普通硬件RC低通滤波器的功能。原创 2023-03-07 18:56:56 · 1517 阅读 · 0 评论 -
通过温度湿度计算露点
露点(Dew point),又称露点温度(Dew point temperature),在气象学中是指在固定气压之下,空气中所含的气态水达到饱和而凝结成液态水所需要降至的温度。在此温度时,凝结的液态水如果飘浮在空中被称为雾;而如果沾在固体表面上时则称为露,因而得名露点。形象地说,露点温度就是空气中的水蒸气变为露珠时的温度。补充:当该温度低于零摄氏度时,又称为霜点。原创 2022-10-15 17:09:36 · 4965 阅读 · 2 评论 -
单摆周期计算
【代码】单摆周期计算。原创 2022-10-15 10:58:17 · 392 阅读 · 0 评论 -
圆周率π的计算
圆周率π的计算方法。原创 2022-10-14 09:48:20 · 1153 阅读 · 0 评论 -
音频PCM数据计算声音分贝值,实现简单VAD功能
计算音频数据PCM分贝值,计算公式:Lp=20∗Log10(Prms/Pref)dBL_p=20*Log_{10}(Prms/Pref)dBLp=20∗Log10(Prms/Pref)dBPrmsPrmsPrms:当前声音振幅值;PrefPrefPref:声音振幅最大值(即PCM数据表示的最大值);对于16bitsPCM数据,一个声音采样点为2个字节最大(216−1=655352^{16}-1=65535216−1=65535)我们对n个采样点数据求和然后取其平均值,作为Prms/PrefPrm原创 2022-06-24 11:32:22 · 2719 阅读 · 0 评论 -
HSV颜色空间和RGB颜色空间相互转换C语言实现
HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。色调H用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,紫色为300°;饱和度S饱和度S表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合原创 2021-05-24 18:07:15 · 5603 阅读 · 2 评论 -
FOC控制中Clark/iClark和Park/iPark变换及matpoltlib仿真
三相abc波形函数(电机正转):Ua = Um cos(ωt)Ub = Um cos(ωt - (2/3)π)Uc = Um cos(ωt + (2/3)π)反转函数(电机反转):Ua = Um cos(ωt)Ub = Um cos(ωt + (2/3)π)Ub = Um cos(ωt - (2/3)π)m:表示电压幅度;t:表示时间;ω:其中:Φ角度, t时间, T周期, f频率, π圆周率, 角速度ω=Φ/t=2π/T=2πf,角速度等于2π除以周期,也等于2π乘以频率;F原创 2021-04-13 16:30:44 · 3964 阅读 · 3 评论 -
checksum 校验和
checksum.c#include "stdio.h"#include "stdlib.h"/** * @brief CheckSum8计算 * @param cksum : 计算结果初始值,一般为0 * @param pBuffer : 数据缓存 * @param size : 数据长度 * @return CheckSum8计算结果*/unsigned short CheckSum8(unsigned int cksum, void *pBuffer, int size){原创 2021-04-07 14:01:17 · 1722 阅读 · 0 评论 -
重力感应、陀螺仪相关算法
rx,ry,rz为弧度值,x,y,z为重力感应值;rx = atan(x / sqrt(yy + zz)) 180/3.1415926ry = atan(y / sqrt(xx + zz)) 180/3.1415926rz = atan(z / sqrt(xx + yy)) *180/3.1415926原创 2020-03-09 11:28:46 · 1819 阅读 · 1 评论 -
数字信号处理
产生(a, b)区间上均匀分布的随机数#include <stdio.h>#include <stdlib.h>#include <stdint.h>#include <unistd.h>#include <math.h>#include <ctype.h>// Xi = (axi-1 +c)(mod M)...原创 2018-06-05 20:03:37 · 1512 阅读 · 0 评论 -
Excel MAC十六进制递增
Excel MAC十六进制递增: 在第一个表格单元里输入以如下公式,然后下拉复制单元格。="28-38-48-58-"&REPLACE(DEC2HEX(HEX2DEC("68AC")+ROW(1:1000)-1),3,,"-")表格生成如下以28-38-48-58-68-AC开始递增28-38-48-58-68-AC28-38-48-58-68-AD28-38-48-58-68-AE28原创 2017-12-01 14:04:51 · 7228 阅读 · 0 评论 -
排序算法
冒泡排序算法:public static void main(String[] args) { int [] score = new int[5]; for (int i = 0; i < score.length; i++) { score[i] = new Random().nextInt(100); System.o原创 2017-10-23 19:36:15 · 193 阅读 · 0 评论 -
编程算法笔记
求一个最大值x, 分为n 个以指数增加的数列(x^(1/(n-1)) ^ n 如:最大值1000,20个数 (1000^(1/19)) ^ n n=0~19将以min to max的整数值域转成0~100 百分比数值min : 设定的最小值 max :设定的最大值 cur :当前值,值域[min , max] temp:转换后的0~100 百分比数值,cur == mi...原创 2017-08-16 19:03:06 · 632 阅读 · 0 评论