【发布时间】:2013-02-26 22:03:03
【问题描述】:
我有一个由方脉冲组成的信号(+ 一些噪声),这是它的一小部分:
我正在寻找一种有效且可靠的方法来计算我有多少脉冲。
这是我到目前为止所做的:
幅度有点吵,但信噪比很好,我可以阈值吗:
data = data>1;
每个脉冲的长度可能很嘈杂,所以我忽略它并使用diff 来获得导数(+ 和 -),找出有多少非零元素,然后除以 2(因为有 2每个脉冲的导数峰值)。
dd=diff(data);
num_of_pulses=length(find(diff(dd)))/2
这是最好的方法吗?我被告知不要使用diff,因为它可能太吵了......
【问题讨论】:
-
This 函数可以提供帮助。
-
但速度较慢(因数 >20),并且除非我阈值,否则还会发现假峰。
标签: matlab signal-processing vectorization