如何找到零交叉的中位数?

1视图(30天)
Jayanta Deb
Jayanta Deb 2017年9月19日
评论道: 明星黾 2017年9月20日
你好,我已经对某个信号的零交叉计算名叫“zip9”。和一个明星马克绘制。使用下面的代码如图:可以考虑,y = zip9;zci = @ (v)找到(v (:)。* circshift (v (:), [1 0]) < = 0);%返回零交点指标参数向量的zx = zci (y);%近似零交点指数图(1)情节(t y - r)抓住情节(t (zx), y (zx),“英国石油公司”)推迟网格传奇(“信号”,“近似零交点”)
现在,如果你放大图片向零相交点你会看到一幅这样的:
请注意:放大的图片从第一组开始出现。现在我需要的是,我需要计算零过境点的中位数在9点(图2),其余的时间。基本上我需要计算中位数从每个恒星集团从一个完整的周期,而不是半周期。

接受的答案

明星黾
明星黾 2017年9月19日
谢谢你引用我的代码!
我不确定你打算通过“中位数”零交叉。简单的计算更精确的零交叉使用简单的线性插值。(您可以使用 interp1 为此,但是我的代码可能会更有效的计算对于这个简单的问题。)
的代码 - - - - - -
t = linspace(0, 20 *π,5000);
y =罪(2 *π* t);
zci = @ (v)找到(v (:)。* circshift (v (:), [1 0]) < = 0);%返回零交点参数向量的指标
zx = zci (y);
k1 = 1:元素个数(zx) 1%插入计算精确的零交叉
电视= t (zx (k1): zx (k1) + 1);%独立变量向量
青年志愿= y (zx (k1): zx (k1) + 1);%因变量向量
b =[[1; 1]、电视()):\青年志愿(:);%线性插值
ti (k1) = b - b (1) / (2);%实际零交点(独立变量)的值
结束
图(1)
情节(t, y)
持有
情节(t (zx), y (zx),“pg”)
情节(ti, 0(大小(ti)),“+ r”)
持有
图(2)%放大图(可选)
情节(t, y)
持有
情节(t (zx), y (zx),“pg”)
情节(ti, 0(大小(ti)),“+ r”)
持有
轴([60 63 ylim])
6个评论
明星黾
明星黾 2017年9月20日
像往常一样,这是我的荣幸!

登录置评。

更多的答案(0)

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!