C语言信号处理,离线版(全域、后处理)中值滤波和低通滤波 对于一些数据,需要在pc或者云端进行滤波处理,比如这里的中值(去基线)和低通(去毛刺)。因为平台强大,当数据量大时,如果滤波做的不是太复杂,或者说做的比较简单,那么处理起来还是比较快的,那么就能实用。这里有个例子,因为是后处理,则信号处理前是多长(多少点),处理后就是多少点。对于中值滤波,需要将边沿点进行扩展(补点),或者在边沿进行窗口缩小处理。对于低通滤波,则确定需要对边沿进行补点,并合理处理延时。
GitLab权限及设置 开发中遇到要将自己这块的代码上传到Git,由其他组的同事拉取后继续开发。上传代码后需要将对应同事设置权限,开始设置成了Developer,但其实是错了,应该是Reporter。之前很少关注这些,项目的权限,一般由专门的管理人员设置。但自己创建的项目自己可以设置权限。
实时(按帧)处理的低通滤波C语言实现 对前2秒数据,计算第0.5秒到1.5秒数据,即第128点到384点,滤波数据起始点设置在第128(数据起点)+64(滤波器半长)+ 1=193点,易知此点前有192点,远大于滤波器长的128点;但是,滤波器越长,计算量越大。matlab看滤波路效果,128阶的够用了。低通滤波采用一般的FIR滤波器,因为本次任务,允许的延迟较多,或者说前面损失的信号可以较多,因此,涉及一个很高阶的FIR滤波器,前面的信号点可以去掉,以及,考虑延时,当前时刻向前推一个时刻(当前帧处理的最后一点的时刻)之后的点,也先不处理。
Git撤销push 需要注意的是,无论是用reflog还是log,只要用reset,都是针对commit的,都需要再push一下!如果之后有别人提交的版本,或者有不需要删除的版本,即,想只撤销某个版本的push,而不是将其后的版本都撤销,那么需要采用revert来做,当然,目标更恰当的说,是变成了删除某指定版本了!注意,其中git reflog是看push的版本号,而不是用git log!需要解决一个问题是:加hard参数,有时会报错,即无权限。另外,下面这个,是不需要用版本号的,但是基本是撤销上个版本的psuh。
快速排序代码问题以及一种改进的应用 第二,由于逐点滤波时,上一个信号点的窗口数据排序后,在下一个信号点甚至后面很多个信号点的窗口数据排序时,有一定的重复利用价值,特别是对于下一个点的窗口,只是删除了上次窗口中原始索引最小的值,而只增加了下一个点,那么——简单、统一处理可以是,将新增的信号点放在上一个点的窗口原始索引最小的值的位置,再重新排序——即,利用上一个点的窗口内所有数据点都排序好的优点!对于新增的信号点,再对这个新窗口进行排序,理论上计算复杂度就少很多了。同时,每一帧都需要将索引值减1,并且再记录下窗口内原始索引值最小的值的位置。
Git 撤销commit 对比reset,可以说是revert有三个优点吧,特别是第二点,非常神奇,revert之后的版本,在要合并包含被revert版本的版本(即是被revert版本之后到revert版本之前的这些版本)时,因为这些版本包含这个revert操作,会自动将被revert的版本剔除!这就很低级了,就是直接新建一个版本,再提交。版本号继续增加,之前需要删除的版本也还是在,同样,这个版本及之后的版本,如果再和需要删除的版本之后到这个版本之前的版本合并,则还是会带有要删除的版本,也就是没有revert中第二个优点。
memcpy()的参数 int 与 unsigned int 看到这个帖子,当字节数是计算式时,确实可能出问题,当为负数时,可能会拷贝很大的字节数(最大2^31),或者,如果内核限制了最大拷贝字节数,则会报错。本来拷贝字节数的参数类型是unsigned int,其实一般写成int型也可以,应该是函数默认强转吧?所以这种最好加上强制转换,即转换成unsigned int。
未解决:不同类型的数据用memcpy然后打印(printf)出问题 怀疑这个打印值有问题,因为正常0x85值是133,133用有符号的一个字节是表示不了的,即超出表示范围,或者说,int的四个字节,不应该用倒数第二个字节表示0x85,而是要向左再多一位?按说,vaule是32位的,即有四个字节,但是这里转化后只有两个字节,认为是最低的两个字节,拷贝时,也是拷贝低两个字节,且,默认数据是按照小端对齐存储,即两个字节在内存中是按照47 85来存的,所以拷贝时,先拷贝47这个字节,再拷贝85这个字节。且,这里打印也是对的。可见,两个字节是拷贝成功了,顺序也是对的。
GIT将文件推送到远程仓库,即添加文件 请注意,以上步骤是在命令行中进行的,如果使用图形界面的Git客户端,操作步骤可能会有所不同。推送文件前,确保文件在本地仓库中已经保存,并且只推送必要的文件,避免推送不必要的文件和敏感信息。此命令将把本地的master分支推送到远程仓库的master分支。4. 创建远程仓库:在Git服务商(如GitHub、GitLab等)上创建一个新的仓库。8. 等待推送完成:等待Git将文件推送到远程仓库,完成后命令行会显示推送成功的消息。7. 输入用户名和密码:如果远程仓库需要身份验证,在命令行中输入你的用户名和密码。
MATLAB画图时添加标注显示有效数字的位数,可以编辑此函数 但是这个函数修改后不能保存,只能另存一个函数。保存好后,在图像上右击鼠标,选择"选择文本更新函数...",选中另存的函数文件即可。这个就是改变有效数字的。当然还可以修改其他属性。
【转】VS报错找不到函数 即,C工程中,不小心建了一个C++文件,结果一直没发现,编译就是死活找不到定义的函数,各种检查定义、调用等,都没问题,但是编译就是找不到。修改成C文件后,就找到了。找了好久啊,网上没有说这个的,估计这种错误就我会犯吧。猜想,原因是,C文件和C++文件,编译器分别按照C和C++编译规则来编,编译后函数名不同,所以就找不到了。除了文中列的,还有自己评论的,真的是不小心就自己坑自己。