signal-processing相关内容
我正在使用 Python 和 Numpy/Scipy 进行一些数字滤波器工作. 我正在使用 scipy.signal.iirdesign 来生成我的滤波器系数,但它需要我不熟悉的格式的滤波器通带系数 wp, ws : 浮动通带和阻带边缘频率,从 0 到 1 归一化(1 对应于到 pi 弧度/样本).例如:低通:wp = 0.2,ws = 0.3高通:wp = 0.3,ws = 0.2 (
..
我有一个用于音乐和语音分析的 PyQt 和 pyqtgraph 程序,我想绘制 wav 文件的频谱(使用 scipy python 包计算).我可以在 matplotlib 中完成,但由于 matplotlib 的性能,我需要切换到 pyqtgraph,但我找不到任何一致的方法将 scipy.signal.spectrogram 的输出绘制到 pyqtgraph 谢谢! 解决方案 S
..
scipy.signal.cwt 的文档 说: scipy.signal.cwt(data, wavelet, widths) 小波:函数小波函数,它应该有 2 个参数.第一个参数是返回向量的点数将有 (len(wavelet(width,length)) == length).第二个是宽度参数,定义小波的大小(例如标准高斯偏差).查看满足这些条件的 rickerrequirement
..
我正在尝试在 python 中获得一个带 128 点汉明窗口的带通滤波器,截止频率为 0.7-4Hz.我从图像中获取我的信号样本.(1 个样本 = 1 个图像).fps 经常变化. 这如何在python中完成?我读到这个:http://mpastell.com/2010/01/18/fir-with-scipy/ 但我觉得 firwin 相当混乱.如何用这个变量 fps 做到这一点?
..
你好,我是 Python 新手,还有声音信号分析.我正在尝试获取出生歌曲(斑胸草雀)的信封.它的信号波动非常快,我尝试了不同的方法.例如,我尝试根据我发现的其他示例使用以下代码绘制信号并获取包络(我在代码上添加了注释以理解它): #导入库从 pylab 导入 *导入 numpy将 scipy.signal.signaltools 导入为 sigtool导入 scipy、pylab从 scipy.
..
具有时延的 LTI 系统的传递函数有一个分子项 exp(-Td * s),其中 Td 是时延.在 Matlab 中,可以通过多种方式创建这样的 LTI 系统(例如,使用“s"运算符并直接设置指数项或通过设置 inputdelay outputdelay 属性code>tf 对象.)但是,我在 Scipy Signal LTI 对象中找不到任何方法来执行此操作.我也查了Python Control
..
python 中是否有任何准备好的函数可以将滤波器(例如巴特沃斯滤波器)应用于给定信号?我在 'scipy.signal' 中寻找这样的函数,但我没有找到比过滤器设计更有用的函数.实际上我希望这个函数用信号对滤波器进行卷积. 解决方案 是的!有两个: scipy.signal.filtfiltscipy.signal.lfilter 也有卷积方法(convolve 和 fftconvo
..
我使用以下代码在 python 中实现了高通滤波器: from scipy.signal 导入黄油,filtfilt将 numpy 导入为 npdef butter_highpass(cutoff, fs, order=5):nyq = 0.5 * fsnormal_cutoff = 截止/nyqb, a = butter(order, normal_cutoff, btype='high',a
..
我正在开发一个处理音频数据的应用程序.我正在使用 java(我添加了 MP3SPI、Jlayer 和 Tritonus).我正在将音频数据从 .wav 文件提取到字节数组.我正在使用的音频数据样本是 16 位立体声. 根据我读过的一个样本的格式是: AABBCCDD 其中 AABB 代表左声道和 CCDD 右声道(每个声道 2 个字节).我需要将此示例转换为双值类型.我正在阅读有
..
可能的重复: 组合陀螺仪和加速度计数据 我已经阅读了许多关于 卡尔曼滤波器 的论文,但似乎很少有从数学论文到实际工作代码的好的公开可访问的工作示例. 我有一个系统,其中包含一个三轴加速度计和一个测量围绕其中一个加速度计轴旋转的陀螺仪.该系统设计为由人握持,大部分时间陀螺仪将测量围绕重力矢量或接近重力矢量的旋转.(在同一行业工作的人很可能会从中认出我在说什么;))我意识到这是不受约束的
..
我有两个不同长度的 Python 列表.人们可能会假设其中一个列表比另一个大数倍. 两个列表都包含相同的物理数据,但以不同的采样率捕获. 我的目标是对较大的信号进行下采样,使其具有与较小信号完全一样多的数据点. 我想出了以下代码,它基本上完成了这项工作,但既不是 Pythonic 也不能以高性能的方式处理非常大的列表: 导入数学a = [1,2,3,4,5,6,7,8,9,10
..
更新: 我在这个问题中找到了一个 Scipy Recipe!因此,对于任何感兴趣的人,请直接访问:内容 » 信号处理 » Butterworth Bandpass 我很难实现最初看似简单的任务,即为一维 numpy 数组(时间序列)实现巴特沃斯带通滤波器. 我必须包含的参数是采样率、以赫兹为单位的截止频率以及可能的顺序(其他参数,如衰减、自然频率等对我来说更模糊,因此任何“默认"
..
这个#define 语句有什么作用?它用于定义内存地址.但我不明白 (uint32_t *) 部分 #define GPxDAT (uint32_t *) 0x6FC0 解决方案 通常用于访问映射到地址空间的硬件寄存器,或者一些特定的内存地址 硬件寄存器应该被定义为volatile,因为寄存器可以在没有任何程序活动的情况下改变(因为它们被硬件改变了). #define GPIOREG
..
为了对一维数组进行希尔伯特变换,必须: 对数组进行FFT 将数组的一半加倍,将另一半归零 对结果进行逆 FFT 我使用 PyCuLib 进行 FFT.到目前为止我的代码 def htransforms(data):N = data.shape[0]transforms = nb.cuda.device_array_like(data) # 用信号的大小/维度在 GPU 上分配内存
..
我正在尝试将 WasapiLoopbackCapture 的输出从我的声卡 44100Hz, 16bit, 2 channel 波形重新采样为 16000Hz, 16bit, 1 channel 格式,以便以后在System.Net.Sockets.NetworkStream(我想将转换后的字节写入网络流) 但我什至不知道如何开始!我真的是信号处理的新手,我试过搜索教程,但我无法理解如何做到
..
在 Python 中在给定时间后终止函数(仍在运行)的最佳方法是什么?这是我目前发现的两种方法: 说这是我们的基本函数: 导入时间定义 foo():a_long_time = 10000000时间.睡眠(a_long_time)超时 = 5 # 秒 1.多处理方法 导入多处理如果 __name__ == '__main__':p = multiprocessing.Process(ta
..
我正在慢慢研究一个项目,如果计算机可以在 mp3 文件中找到哪里出现某个样本,这将非常有用.我会将这个问题限制在一个相当精确的音频片段上,而不仅仅是例如同一乐队不同录音中的歌曲中的合唱,它会成为某种机器学习问题.我在想,如果它没有添加噪音并且来自同一个文件,那么应该可以在没有机器学习的情况下以某种方式定位它发生的时间,就像 grep 可以在文本文件中找到出现单词的行一样. 如果你身边没有 m
..
我以前从未处理过音频信号,对信号处理知之甚少.不过,我需要使用 matplotlib 库中的 pyplot.specgram 函数来表示和音频信号.这是我的做法. 将matplotlib.pyplot导入为plt将 scipy.io.wavfile 导入为 wavfile速率,帧= wavfile.read("song.wav")plt.specgram(帧) 我得到的结果是下面这张漂亮的
..
我有两个信号,我希望一个信号响应另一个信号,但有一定的相移. 现在,我想计算相干或归一化的交叉频谱密度,以估计输入和输出之间是否存在因果关系,以找出该相干出现在哪些频率上. 例如参见这张图片(来自这里),它似乎在频率10:
..
我将matplotlib用于信号处理应用程序,我注意到它在大型数据集上令人窒息.这是我真正需要改进的地方,使其成为可用的应用程序. 我正在寻找的是一种让matplotlib抽取我的数据的方法.是否有设置,属性或其他简单的方法可以启用它?欢迎提出任何有关如何实现此目标的建议. 某些代码: 将 numpy 导入为 np导入matplotlib.pyplot作为pltn = 100000#
..