有木有谁有好办法,就是把黑色波形,照红色那样,提取,如下图就是那种比较平缓过度或者幅度相对较小的点不要,最终形成三个点一个波形单元
教你一个好办法,
1. 对于这些点,求差分,也就是求导,直接获得斜率信息
2. 找到拐点(斜率函数的零点位置,并且这个点左右侧的值一正一负)
3. 判断左右斜率是否大于你的设定阈值(值越大说明越陡,越小越平坦)
找出符合这些条件的拐点,连起来就是你要的东西了 哈哈哈
一、
如果这个是ADC的数据波形,那么考虑使用IIR或是FIR进行滤波,IIR或是FIR的参数计算好了就可以满足你的要求。
二、
如果不是,那么你要找到波形的转折点,即斜率的正负变化点的纵坐标的值并记录在一个缓存中,再计算纵坐标的差值,去掉差值小的数据,再做画波形。
这个要看波形,如果是你画的那样的,做求导就好了,导数为0的就是大小极值。
怎么找一个函数的极值点可以参考高等数学教科书。
您好,其實要看您採樣的情形,如果您採樣點夠多,可以得到轉折處
因為是離散(discrete)去近似連續(continuous)訊號,所以不好用數學直接計算導數什麼的
你可以用Array去儲存a點,b點,c點,d點...
若c>b>a,但d<c,則c到d是一個轉折處,記錄起來,也可制定自己的threshold
同理處理接下來幾個點,進行描繪即可
以上