小编y33*_*33t的帖子

在Python中确定数组的频率

我有一个填充浮点数的示例文件,如下所示:

    -0.02  3.04  3.04  3.02  3.02  3.06  3.04  3.02  3.04  3.02  3.04  3.02
     3.04  3.02  3.04  3.04  3.04  3.02  3.04  3.02  3.04  3.02  3.04  3.02
     3.06  3.02  3.04  3.02  3.04  3.02  3.02  3.06  3.04  3.02  3.04  3.02
     3.04  3.02  3.04  3.04  3.04  3.02  3.04  3.02  3.02  3.06  3.04  3.02
     3.06  3.02  3.04 -0.02 -0.02 -0.02 -0.02 -0.02 -0.02 -0.04 -0.02 -0.04
Run Code Online (Sandbox Code Playgroud)

这些数字放在文本文件中.我正在尝试读取文本文件并确定此信号的频率.该数据从数字示波器捕获.我可以在范围显示中看到频率,但我也想通过在Python中处理它来验证它.我在PC端使用Python从设备捕获数据.

即使我可以在Python中做一些低级的东西,我也是文本处理的新手.我想我需要先将文件中的数据加载到数组中,然后执行FFT或更简单的算法,该算法将产生以Hz为单位的整数.

从理论上讲,我知道如何进行傅里叶分析,我可以用任何特定信号在纸上进行分析.我不知道从哪里开始在给定数据集的Python.我已经尝试过scipy-numpy的文档,但对我来说效果不好.

我希望有经验的用户提供指导.

python text-processing fft transform

9
推荐指数
1
解决办法
1万
查看次数

v4l2 fcntl.ioctl VIDIOC_S_PARM 用于设置相机捕获的 fps 和分辨率

我正在尝试设置网络摄像头的 fps 和分辨率,并通过 v4l2 Python 进行捕获。

v4l2 Python 文档仅限于;

>>> import v4l2
>>> import fcntl
>>> vd = open('/dev/video0', 'rw')
>>> cp = v4l2.v4l2_capability()
>>> fcntl.ioctl(vd, v4l2.VIDIOC_QUERYCAP, cp)
0
>>> cp.driver
'ov534'
>>> cp.card
'USB Camera-B4.09.24.1'
Run Code Online (Sandbox Code Playgroud)

查看 videodev2.h ;

#define VIDIOC_S_PARM       _IOWR('V', 22, struct v4l2_streamparm)
Run Code Online (Sandbox Code Playgroud)

VIDIOC_S_PARM 与 v4l2_streamparm 相关;

struct v4l2_streamparm {
    enum v4l2_buf_type type;
union {
    struct v4l2_captureparm capture;
    struct v4l2_outputparm  output;
    __u8    raw_data[200];  /* user-defined */
} parm;
};
Run Code Online (Sandbox Code Playgroud)

如果我想设置参数;

import v4l2
import fcntl
vd = open('/dev/video1', 'rw') …
Run Code Online (Sandbox Code Playgroud)

python webcam v4l2

5
推荐指数
1
解决办法
7726
查看次数

Python不能将序列乘以'float'类型的非int

我正在尝试评估一个公式,npnumpy:

Ds = pow(10,5)
D = np.linspace(0, pow(10,6), 100)
alpha=1.44
beta=0.44
A=alpha*(D/Ds)
L=1.65
buf2=L/4.343
buf=pow(-(alpha*[D/Ds]),beta)
value=exp(buf)
Run Code Online (Sandbox Code Playgroud)

然后我将绘制这些数据但我得到:

buf=pow(-(alpha*[D/Ds]),beta)
TypeError: can't multiply sequence by non-int of type 'float'
Run Code Online (Sandbox Code Playgroud)

我怎么能克服这个?

python numpy

3
推荐指数
1
解决办法
2万
查看次数

将文件复制到Python中的远程位置

copy testfile.txt \\\\IP_ADDR\\FOLDER
Run Code Online (Sandbox Code Playgroud)

在命令行中工作但是:

os.system("copy testfile.txt \\\\IP_ADDR\\FOLDER")
Run Code Online (Sandbox Code Playgroud)

以某种方式不起作用.有任何想法吗?

有一个替代品,os.system但为什么不这样做呢?

python share

2
推荐指数
1
解决办法
1662
查看次数

在Python中退出函数的正确方法

假设我有以下内容;

def test():
    while 1:
        a = b
        time.sleep(60)
        c = b
        if(c==a):
            do something
            then quit the function
Run Code Online (Sandbox Code Playgroud)

从具有这种结构的函数退出的正确方法是什么?

python function quit

0
推荐指数
1
解决办法
131
查看次数

通过Python可以达到的最高时间精度是多少?

考虑一个非常简单的计时器

start = time.time()
end = time.time() - start 
while(end<5):
    end = time.time() - start
    print end
Run Code Online (Sandbox Code Playgroud)

这个计时器有多精确?我的意思是与实时时钟相比,这个是如何同步和实时的?

现在是真正的问题;

使用Python可以精确测量的最小时间尺度是多少?

python precision time

0
推荐指数
1
解决办法
236
查看次数

标签 统计

python ×6

fft ×1

function ×1

numpy ×1

precision ×1

quit ×1

share ×1

text-processing ×1

time ×1

transform ×1

v4l2 ×1

webcam ×1