"分析"是什么意思?它可能意味着许多不同的东西,但我所知道的最简单的方法之一就是使用你可以轻松实现离散函数的卷积(你将在数组中得到点或者尝试离散步骤):

这可以通过以下方式轻松完成:
for i in main_array:
from = i - len(convolution_kernel)/2
// Todo: check boundaries
result[i] = 0
for j in convolution_kernel:
result[i] += convolution_kernel[j] * main_array( from+j)
Run Code Online (Sandbox Code Playgroud)
或者你可以使用循环卷积(从eryksuns评论中获取的想法):
result = [sum(f[m]*g[n-m] for m in xrange(len(f))) for n in xrange(len(g))]
Run Code Online (Sandbox Code Playgroud)
这将使您能够测试某个信号是否存在于另一个信号中(并且您将尝试频率10,20,50,......并获得最佳结果).
您也可以谷歌determine wave frequency或稍微研究傅立叶变换(它是许多信号处理算法的基础).
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |