完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
做脉象信号 基线纠漂,用中值滤波,现在出现的问题是滤波后出现负数,波形整体与-1为基线,理论上应该是以0为基线,求大神指点,这是什么问题?
function Data_m=medianfilter(data,k,n) % 此函数为中值滤波函数 % 待处理数据 % 窗宽为2*k+1,k为奇数 % n为滤波次数 sig=data; v=(k-1)/2;%待处理数据左右数据个数 data_extend= zeros(1,v); %初始化延拓函数 data_extend_left = data_extend; data_extend_right = data_extend; for i=1:n data_extend = [data_extend_left sig' data_extend_right];%得延拓函数 L=length(data_extend );%信号长度 processed_data = zeros(1,L);%初始化处理结果 for i=v+1:L-v sort_data = data_extend(i-v:i+v); for m=1:2*v+1 %数据排序 for n=m+1:2*v+1 if(sort_data(m)>sort_data(n)) p=sort_data(m); sort_data(m)=sort_data(n); sort_data(n)=p; end end end BL=sort_data(v+1); %取中间值 processed_data(i)=data_extend(i)-BL; end sig=processed_data(v+1:L-v); end Data_m=sig'; return |
|
相关推荐
1个回答
|
|
这个问题最终还是没有解决,但是用另一种方法,三次样条滤波,程序简单而且效果较好,通知们可以试试哟
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1004 浏览 1 评论
200圆!求助大佬给一份VSG并网和离网模式的simulink仿真
1497 浏览 0 评论
MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
2298 浏览 0 评论
2644 浏览 0 评论
4075 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 20:16 , Processed in 0.462623 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号