- 博客(378)
- 资源 (14)
- 问答 (1)
- 收藏
- 关注
原创 matlab大小端模式转化十进制
小端模式:内存的低地址存数据的低位,内存的高地址存数据的高位。低低高高。 2,大端模式:内存的低位存数据的高位,内存的高地址存数据的低位。 低高高低使用matlab实现了小端模式的数据处理,并且将处理后的数据写入到excel表格中。处理前 处理后读取设备的值,按小段模式存储,需要分析其数据进行滤波处理读取通道1 通道2 通道3的数据将两个字节的数据 小端模式转化为十进制% 1,小端模式:内存的低地址存数据的低位,内存的高地址存数据的高位。低低高高。 2,大端模式:内存的低位存数.
2021-01-26 13:20:02 3990
原创 fft分辨率
分辨率f = fs/N; fs为采样频率,N为fft的点数;目前fs=1024/5;N=1024; 分辨率=fs/N=0.2hz; 每个点都对应的频率为分辨率的整数;如:第一个点对应0.2hz,第二个点对应0.4hz,第三个点对应0.6hz,如果周期为0.5hz,是无法识别到的; 需要将分辨率将为0.1hz才可以;可以降低fs或者提高N;...
2021-01-19 10:25:02 5403
原创 Matlab修改文件夹下所有的文件名 按照同一个方式修改
本例子实现了在文件夹下的所有.txt文件的文件名添加ABC,如readme.txt=>readmeABC.txt将本文件夹下所有的文件名读取出来,修改文件名后,重新放到另一个文件夹下% 将整个文件夹下的所有文件名加上相同的前缀或后缀% 选中的文件夹下修改txt文件名 使用movefile改变文件夹下所有文件的名字function AddABCToAllFile()clearclcclose all[filename1, pathnameread] = uigetfile('*.
2020-12-25 09:17:24 1127
原创 一种简单查找峰值的函数实现
最近经常用到查找峰值的函数已有的函数要不代码量比较大、逻辑比较复杂、设置的条件比较多,当然对于需要筛选出很合适的峰值来说,这些条件是必须的,对于纷繁复杂的波形中查找到你想要的那个波峰,需要慧眼;但是对于波形很多的数据,不需要那么繁琐的逻辑判断,根据自己的经验,写了一个代码雏形,用来查找峰值,当然后续还需要简单的加一些其他的判断,但对于我的功能已经完成,简单记录一下;主要思想是在前后一定范围内查找合适的波峰或波谷。代码如下: uint8_t K = 8; static uin.
2020-12-04 14:18:23 1484
原创 matlab画频谱图
给定数据和频率,画出其频率分布图,可以根据显示图调整%% 画出信号的频谱% data 需要处理的原始信号 fs:采样频率function fft_data = DrawFFT(data, fs)N=length(data);fft_data=fft(data);magY=abs(fft_data(1:N/2))*2/N;f=(0:N/2-1)'*fs/N;figure()plot(f,magY);h=stem(f, magY, 'fill','--');set(h,'MarkerE
2020-11-03 09:49:55 10335 4
转载 C语言矩阵实现库运算, 简单的数组直接运算两种方式
C语言需要实现矩阵的加和相乘,发现网上很多实现方法运行使用都有些问题,参考了一位博主的,基于C语言的矩阵实现库简单修改了,在此感谢matrix.htypedef struct{ int row; int column; float** data;}MATRIX_T;matrix.cstatic int16_t SizeMatrix(MATRIX_T* matrix){ return matrix->row * matrix->column
2020-09-27 13:51:19 955 3
原创 Caught MathWorks::System::FatalException,头停止点不在文件范围内/缺少)在常量表中/不在形参列表中
使用mex,在MATLAB编译时出现问题,导致程序崩溃,matlab退出。挨个排查函数,发现是由于malloc和free没有正确使用导致,其中有一个变量没有free,虽然写了free(p),定位free没有定义到,需要添加#include <stdlib.h>出现类似的问题一般都是由于内存原因导致或者指针导致,可以一点一点排查函数,看问题出现在哪个函数,再排查具体哪行代码。...
2020-09-08 15:42:13 1151
原创 均值滤波C语言代码实现的一种简单方式
计算均值滤波时,需要每次却数组的和,再求均值,一般先放入一个数组,循环移出最后一个旧的值循环移入新的值一般原来的做法/******************************************************************************//*** @param[in] data[3] 每次处理一组三维的数据,每个数据都需要均值滤波* fifo:中间存数据的数组三维数组,在使用前定义* len: N个值的均值滤
2020-09-08 10:38:36 2986
原创 matlab mex使用错误:undefined reference to `filter()‘collect2.exe: error: ld returned 1 exit status
项目场景:使用mex,在matlab中编辑文件,提示mex错误使用,代码查找没有问题,头文件也include进来。问题描述:错误使用 mexC:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:C:\Users\**.TAN\AppData\Local\Temp\mex_31995362517422_3608\main.obj: in function `
2020-08-28 11:40:31 2747 4
原创 mex matlab 与C语言的简单使用
使用mex在matlab中调用C语言的函数,简单记录一下1.在同一个文件夹下新建.txt,修改为.c,在vs中打开进行编译;在同一个文件夹下新建matlab的文件,调用C语言的主函数2.编辑C语言代码#include "mex.h"/******************************************************************************//** main function * @param[in] nlhs:number of
2020-08-28 09:26:37 1215
原创 matlab将大量数据写入一行,一行一行写入数据或者一列一列的写入数据
将matlab数据写入的文件中,将数据一行一行的写入,或者一列一列的写入在处理文件名时,比如src='data/src_data.txt';若要将文件名改为.csv格式,src(end-3:end)='.csv';就可以啦1.复制文件,将一个文件从一个文件夹下复制到另一个文件夹下,比如将同一个类型的文件放到一块wfilename=fullfile(src_dir, filename);copyfile(file_dir, wfilename); % src_fir为目标文件的路径,filen
2020-08-27 17:13:20 12287
原创 matlab读取文件夹的数据,根据文件名进行分类,加个分类后写入到不同文件夹中(.txt)
读取文件夹下的所有文件,根据文件名中包含的内容进行分类,将不同的分类写入到不同的文件夹下function Data = read_Data( )[filename, pathname] = uigetfile('*.*', '选择数据文件','MultiSelect', 'on'); %选择文件list = dir([pathname,'*.txt']);list_len = length(list);for i =1:list_len filename = list(i).name
2020-08-27 12:36:41 3299
原创 matlab由滤波的系数得到传输函数 设计带通滤波器 design fdatool设计IIR带通滤波器
看到一个带通滤波器的设计如下,开始研究是如何设计的代码:band_low = 0.3; band_high = 1.2; fs_origin = 25; hd_band = design(fdesign.bandpass('N,F3dB1,F3dB2',4,band_low,band_high,fs_origin),'butter'); %带通滤波器%fvtool(hd_band); % viewmeasure(hd_band) %Measure the freq
2020-08-19 18:01:42 10966 2
原创 matlab引入其他文件、git add+rm、Anaconda添加tensorflow
1.类似于C语言的#include, matlab使用addpath('文件路径')2.git add -u; 添加改动和删除的文件,不添加新的文件git add -A:添加所有的文件,包括删除的和新添加的git rm --cached (两个横线):git add中添加到缓存区的文件,若不想上传,去掉,但本地文件还在git status -s:查看缓存区的文件及状态(DM)搭建过程1.官网下载安装Anaconda,一般最新版本2.由于官网python版本太高,需要降版本..
2020-08-17 17:36:46 196
原创 C语言中将数据写入文件中、matlab读取text中的文件
方法如下,记录一下: FILE* fp = fopen("文件名.txt", "a+");/*文件名字定义,自动生成到本文件运行的目录*/ if (fp == NULL) { mexPrintf("file cannot open\n"); } else { fprintf(fp, "%d %d \n", total_int_mag, pace_peaks);
2020-08-12 19:11:07 598
原创 vs2019+matlab2016b mex无法正常使用,找不到已安装的编译器
报错错误使用 mexC:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:C:\Users\VI~1.TAN\AppData\Local\Temp\mex_278893593822679_13932\main.obj: in function `mexFunction':关键是这些问题都不是由于代码导致的,修改代码无法解决上面的错误;使用 mex
2020-08-06 15:55:42 8265
原创 一种简单求平方和的方法
数据处理中经常用到求合加速度的方法-使用递归的方法计算平方和、和每次对所有数据取平方在加和,可以采用一个简单的方法/*存放一个动态的数组*/short_t oldest_y = pAcc->win_acc[pAcc->idx];/*获取最先入组的数据*/pAcc->y_sum = pAcc->y_sum-oldest_y;/*在数组的和中减去此数*/oldest_y = oldest_y* oldest_y;/*计算此数的平方*/pAcc->y_sum2 =
2020-08-04 14:20:43 855
原创 git: cannot merge
git: 提交代码后出现cannot merge原因:A、B同时修改代码,A提交了代码并被merge,B没有更新A代码的i情况下,提交了代码,审核界面显示:Cannot Merge.git status: 显示On branch xtrem-ma100Your branch is ahead of 'origin/****' by 1 commit. (use "git push" to publish your local commits)nothing to commit, wo
2020-07-30 18:16:55 3143
原创 git解冲突,提交代码被退回
1.当提交代码中,与别人已经提交代码同时修改了同一处代码,则会发现冲突,无法提交;提示:You must edit all merge conflicts and then mark them as resolved using git add这时候需要打开代码手动将代码解冲突,上面是别人改的代码,下面是自己改动,若要保留哪个,删掉另外一个以及那些符号即可;修改后继续rebase:git rebase --continue提示:**.c needs merge需要手动将这些文件add一下
2020-05-21 17:11:09 10514
原创 采用查表法计算FFT
使用查表法计算快速傅里叶变换会快一些,本文采用了128点浮点(float)和定点(fix)型的处理,还有64点,包括MATLAB的程序和C语言的程序一一对应,与MATLAB自带的fft运算结果有对比。已归纳,方便下次直接使用。先上运行结果,采用统一一组数据sourcdata =[]; // 这里的数据比较大,因为做过处理MATLAB自带fft运行结果与查表法编写的运行结果对比:C语言对应程序运行结果(这里C语言采用了定点型,相对于matlab程序也做了处理)MATLAB 程序
2020-05-15 10:16:15 2127 3
原创 matlab转C语言遇到的问题
C语言单独对于一个带小数点的数,默认使用四舍五入 但是对于处理除法后的数,相除之后默认取整数。解决方法:整数/整数=整数 浮点数/整数=浮点数,这样round才会四舍五入
2020-05-14 18:33:08 964
原创 使用MATLAB将数据写入到文件中
使用MATLAB将数据写入到文件中writetex = 1; %设置一个标志位,当不需要写入文件时将其关掉if writetex == 1;fid = fopen('.\fft_data.txt','w'); %获取目标文件写入权限,文件路径自己设定endif writetex == 1 %写入操作 fprintf(fid,' %d,%d, %d,%d,%f,%f \n',L,J,k,p,Wncosp,Wnsinp); %将数据写入目标文件.按照打印的格式 endif writ
2020-05-09 16:56:08 1153
原创 决策树分类
发现使用决策树太方便了,之前不了解,吭呲吭呲的自己整了很多,matlab分分钟搞定,还清晰明了效果好;需要根据大量数据进行分类或者设置阈值时,使用决策树太方便了。源数据:提取了一些数据的特征值和类别,用来区分走路和不走了的状态,数据格式[feature1, feature2, feature3, feature4, feature6, sign], sign为结果代码:A=i...
2020-04-30 13:41:46 1430 7
原创 归一化自相关函数 Normalized Auto-Correlation based Step Counting (NASC)
简单总结一下归一化自相关函数,防止遗忘掉上图,参考论文中的Normalized Auto-correlation based Step Counting.自相关函数是函数与函数本身的相关性,如果进行归一化,会看的更清楚。互相关函数是两个函数之间的相关性,当两个函数具有相同周期分量时,他们的极大值同样能体现这种周期性。自相关函数,当函数中本身有周期性的分量时,自相关性的极大值能够很好...
2020-04-08 17:17:06 4102 5
转载 转 MATLAB画FFT,附MATLAB计算fft的函数
Version:1.0 StartHTML:000000215 EndHTML:000069168 StartFragment:000005330 EndFragment:000069076 StartSelection:000006409 EndSelection:000069072 SourceURL:http://blog.sina.com.cn/s/blog_4405fa340102xjy...
2020-03-12 17:40:16 1560
原创 matlab :打印不显示e,打开多个figure保存,打开文件框,与C语言代码不一致
1.直接打印数字,没有edisp(num2str(Fk,'%f'))在图上做标注: text(x(p),y(p),['(',num2str(x(p)),',',num2str(y(p)),')'],'color','r');2.将打开的多个figure保存jpg格式到同一个文件下for i=1:11print(i,'-djpeg',['D:\Users\Desktop\...
2019-11-06 16:55:38 1688
原创 matlab编写读取不规则txt文件,提取有效信息
需求:使用matlab读取txt文件的内容,并将其内容以一定的格式保存。源文件格式目标文件格式代码中使用打开文件读取的方式%% 读取数据,转换为提取xyz的对应值function ReadData() [filename, pathname] = uigetfile('*.*', '选择数据文件','MultiSelect', 'on'); %选择文件 ...
2019-10-29 11:03:36 3113
转载 git不上传代码--.ignore的编写、pip windows的编译、cypress无法打印小数点、matlab打印不显示e
1.git有些工程文件不需要上传,编写.ignore,自动忽略不需要上传的文件右键-打开git rebase; 输入:touch .gitignore,新建.gitignore文件; 输入内容,如当前目录下的projects文件下的Release文件不需要上传:/projects/Release/*2.问题:ImportError: No module named XlsxWrite...
2019-10-24 15:26:17 284
原创 计步算法 睡眠 心率 学习 PPG传感器(转))
计步算法在步数测试中,3个方向(竖直、前进、左右方向)的加速度信号由差不多相同的尖锐峰值和相对平坦的谷底组成。纵向看,关联性不是很明显,周期最明显的是竖直方向的加速度信号,其次是前进方向的加速度信号。正常步行,行走时左右脚跟或脚尖间的纵向距离称为步长,从一侧脚跟着地起到该侧脚跟再次着地为止所用的时间称为一个步行周期,一个步行周期所走的距离称为步幅。一般而言,身高越高,步长越大,相同身高,年...
2019-09-19 17:44:18 3482
原创 运动算法 一范数 二范数 敏感轴
1.注意点:设计状态判别算法和工作模式转换过程;需要有未佩戴状态监测算法,实现降低设备功耗的作用。可以将人体活动规律分为活跃、休息、静止3中状态,分别对应高采样频率、中低采样频率和低采样频率3中模式,对应不同的运动监测,降低功耗。2.单独利用单轴加速度数据很容易失去一部分的人体活动的特征,难以全面的表征人体活动的监测信息。可以考虑三个轴的加速度叠加,求取合加速度。3.plot 标记符...
2019-09-18 16:27:27 441
原创 matlab 验证编写离散低通滤波器是否正确
1.matlab中的打印 fprintf('the value of pi is%6.2f\n',pi)2.数字滤波器,与当前的输入,过去的输入和过去的输出有关系,为递归滤波器。只和现在的输入、过去的输入有关系,为非递归滤波器。3. 采用差分方程的方式编写了低通滤波器,代码如下,特意跟matlab自带的filter()函数做对比。%% Main函数function Main()...
2019-09-17 17:24:28 1660
原创 差分方程--C语言--低通滤波器的学习
用matlab实现/* *@breif: low filter * *pSourceDataBuf[in] : source data to input to filter *u8SourceDataBufLen[in] : source data length *pDestDataBuf[out] : filtered data buffer ...
2019-09-12 13:19:53 1277
原创 离散傅里叶变换及matlab实现(按时间抽选(DIT)的基-2 FFT算法(库利-图基算法))
转,傅里叶变换,很好的解释很好的文章,可惜水平太差,还没有完全理解。快速傅里叶的matlab实现按时间抽选(DIT)的基-2 FFT算法(库利-图基算法)傅里叶要用到的nn个复数,不是随机找的,而是——把单位圆(圆心为原点、1为半径的圆)nn等分,取这nn个点(或点表示的向量)所表示的虚数,即分别以这nn个点的横坐标为实部、纵坐标为虚部,所构成的虚数。64点傅里叶变换的ma...
2019-09-11 13:18:36 4415
原创 FFT傅里叶变换对比
采用不同点数的FFT,效果完全不同,代码如下,FFT的实现见另一篇文章FFT需要输入时间序列和输出频域抽样点数相同。64点FFT指在0~采样率这段频谱采样64次。可以看到64根谱线。频谱精度=带宽/采样率 ,在频率轴上能得到的最小频率间隔=fs/N。%% 验证设计的FFT,理解分析clear allFs = 1000;T = 1/Fs;L = 1000;t = (0:L-1...
2019-09-09 14:36:46 1266
原创 Python 替换.txt文件中的字符
需求:.txt文件中存在空格,将其每个数字后面加上一个“,”要处理的文件格式:此时每行后面已加入“,”,使用的方法:在notepad++中替换,将"$"替换为",",选择正则表达式,全部替换,此时每行数字后面都有“,”。但每行数字之间不存在“,”,使用替换命令,参考后面代码。源.txt4 4,4 4,-4 -4,5 5,1 1,11 11...
2019-06-22 15:15:00 6684
原创 2.9 直接/间接引语 -> 宾语从句 need 实义动词/情态动词
1.successful adj.successfully adv.success n.succeed v.We will succeed in learning English.2.alone adj. adv.lonely adj.The old lady lived alone, so she felt lonely.Leave me alone!3.宾...
2019-03-30 11:06:18 690
原创 2.8 复习 定语从句 将来进行时 将来完成时
1.explain v.解释explanation[ˌekspləˈneɪʃn] n.解释,说明2.pass v. A week passed.past prep. n.adj.It is eleven past ten.We cannot change the past.The past experiences brought me here.3.strike - s...
2019-03-30 07:56:02 526
原创 2.7 复习 宾语从句
1.smell--smelled/smelt2.It is one of the ugliest faces I have ever seen. 定语从句修饰faces,这里的先行词表示物,只能用that,不能用which,物的前面有形容词的最高级修饰时,定义从句在which和that之间只能用that3.hope for sth 希望、期待某物He is hoping for a l...
2019-03-23 22:48:38 434
汉明码编码与译码的设计(Verilog)
2023-04-13
Verilog汉明码的编译设计
2023-04-13
PyQt操作excel.rar
2023-02-02
Evaluation of Pedometer Performance Across Multiple.rar
2020-05-18
SerialEnum自动获取设备管理器中的串口
2018-10-19
C语言嵌入式系统编程修炼之道
2017-09-13
C#读取设备管理器中某个设备信息:属性--详细信息-容器ID
2018-05-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人