统计信号中上沿的个数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_37083038/article/details/102623368

遇到一个问题,比如一个列表[0,1,0,0,0,0,2,0,0,1,0,10,2,3,0,0,1,2]

在列表里,不是零的第一个数就是脉冲上沿(如1,2,1,10,1),现在要统计出脉冲上沿的值及其对应的列表位置

先将列表中不是零的数转化为1,此时列表中只有1与0。

如果该值等于1,且前一个数为0,则就是脉冲上沿。

将所有的脉冲上沿在原来bin文件的位置保存在一个列表中。

bin_file='xx.bin' #这是原来储存这些数字的文件

with open(bin_file,'rb') as bin_object:
    bin_list=bin_object.readline()
    size=len(bin_list)
bin_object.close()

new_bin_list=[]
for i in bin_list:
    if i != 0:
        new_bin_list.append(1)
    else:
        new_bin_list.append(0)
newsize=len(new_bin_list)

posi=[]
for  i in range(1,newsize):
    if new_bin_list[i]==1:
        if new_bin_list[i-1]==0 :
            posi.append(i)
print(posi)
 

猜你喜欢

转载自blog.csdn.net/qq_37083038/article/details/102623368