标签: signal-processing

scipy signal find_peaks_cwt没有准确找到峰值?

我有一个1-D信号,我正试图找到峰值.我想找到他们完美.

我现在正在做:

import scipy.signal as signal
peaks = signal.find_peaks_cwt(data, np.arange(100,200))
Run Code Online (Sandbox Code Playgroud)

以下是带有红点的图表,其中显示了峰的位置find_peaks_cwt().

信号+峰值

如您所见,计算出的峰值不够准确.非常重要的是右侧的三个.

我的问题:我如何使这更准确?

更新:数据在这里:http://pastebin.com/KSBTRUmW

对于某些背景,我正在尝试做的是在图像中找到手指之间的空间.绘制的是手周围轮廓的x坐标.青色斑点=峰.如果有更可靠/更健全的方法,请发表评论.

在此输入图像描述

python signal-processing scipy image-segmentation

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

检测基频

在印度的IIT-Bombay有这个技术节,在那里他们有一个名为"Artbots"的活动,我们应该设计具有艺术能力的艺术机器人.我有一个关于音乐机器人的想法,它以歌曲作为输入,检测歌曲中的音符并在钢琴上播放.我需要一些方法来帮助我计算歌曲音符的音高.关于如何去做的任何想法/建议?

signal-processing frequency pitch-tracking detect

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

正弦值性能的计算与查找表?

假设您必须计算域在0.01到360.01之间的正弦(余弦或正切 - 无论如何).(使用C#)

什么会更高效?

  1. 使用Math.Sin
  2. 使用具有预先计算值的查找数组

我会反驳说,鉴于域名,选项2会快得多.在域精度(0.0000n)的什么时刻,计算的性能超过了查找.

c# math performance signal-processing

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

我想学习音频编程

在我的高中,我们可以参加一个课程,我们基本上可以在一个学期内学习一门课程.我当时想要学习"声音编程",但我意识到我不知道那会带来什么.我有兴趣了解一下合成器的工作原理以及声音在计算机科学中的作用.我真的想专注于低级代码部分,而不是组成部分.这是一个可行的主题吗?有什么好的教程可供那些全新的人使用吗?我知道C++并且正在使用Windows.在第一个答案是一些我感兴趣的(虽然它在我的头上).

audio synthesis signal-processing

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

如何检测这些音频异常?

iOS通过某些USB音频设备录制问题.它无法可靠地再现(分批发生在每2000个〜2000-3000个记录中并且无声地消失),我们目前手动检查我们的音频是否有任何录音问题.它导致少量样本(1-20)被移动了一小部分,听起来像是一种"噼啪声".

它们看起来像这样:

波形异常

接近:

在此输入图像描述

接近:

在此输入图像描述

另一个,同一音频文件中其他地方的单个样本错误:

在此输入图像描述

问题是,如何在算法上检测这些(假设直接访问样本),同时不会触发高频音频的误报,如下所示:

在此输入图像描述

奖励积分:在确定尽可能多的错误后,如何"修复"音频?

更多奖励积分:在iOS USB音频驱动程序/硬件中可能导致此问题的原因(假设它在那里).

algorithm audio signal-processing sample-rate

18
推荐指数
2
解决办法
1935
查看次数

DCF77解码器与噪声信号

我几乎完成了我的开源DCF77解码器项目.当我注意到标准(Arduino)DCF77库在噪声信号上表现非常差时,一切都开始了.特别是当天线靠近电脑或我的洗衣机运行时,我从来没有能够从解码器中抽出时间.

我的第一种方法是为输入信号添加一个(数字)指数滤波器+触发器.

虽然这显着改善了情况,但仍然不是很好.然后我开始阅读一些关于数字信号处理的标准书籍,特别是Claude Elwood Shannon的原创作品.我的结论是,正确的方法是不对信号进行"解码",因为它是完全已知的先验(闰秒除外).相反,将接收的数据与本地合成的信号进行匹配并确定适当的相位会更合适.这反过来会将有效带宽减少一些数量级,从而显着降低噪声.

相位检测意味着需要快速卷积.有效卷积的标准方法当然是快速傅里叶变换.但是我正在为Arduino/Atmega 328实现.因此我只有2k RAM.因此,我开始堆叠匹配的锁相环滤波器,而不是使用FFT的直接方法.我在这里记录了不同的项目阶段:

我非常广泛地搜索了互联网,发现没有类似的方法.我仍然想知道是否有类似(也许更好)的实现.或者是否存在对这种信号重建的研究.

我不是在寻找:设计优化的代码以接近香农极限.我也没有在DCF77上搜索有关叠加PRNG代码的信息.我也不需要关于"匹配滤波器"的提示,因为我当前的实现是匹配滤波器的近似值.关于Viterbi Decoders或Trellis方法的具体提示不是我要寻找的 - 除非它们解决了严格的CPU和RAM限制问题.

我正在寻找的是:是否有任何其他非平凡算法的描述/实现,用于解码像DCF77这样的信号,在存在重大噪声的情况下CPU和RAM有限?也许在互联网时代以前的一些书籍或论文中?

language-agnostic algorithm signal-processing arduino dcf77

18
推荐指数
1
解决办法
5410
查看次数

识别信号之间的相移

我已经生成了三个相同的波,每个波都有一个相移.例如:

t = 1:10800; % generate time vector
fs = 1; % sampling frequency (seconds)
A = 2; % amplitude
P = 1000; % period (seconds), the time it takes for the signal to repeat itself
f1 = 1/P; % number of cycles per second (i.e. how often the signal repeats itself every second).
y1 = A*sin(2*pi*f1*t); % signal 1
phi = 10; % phase shift
y2 = A*sin(2*pi*f1*t + phi); % signal 2
phi = 15; % phase shift …
Run Code Online (Sandbox Code Playgroud)

matlab signal-processing phase

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

MATLAB'谱图'参数

我是MATLAB的初学者,我应该对EEG信号进行频谱分析,绘制功率谱密度和频谱图.我的信号是10几秒长,一个采样频率160 Hz,总共1600 samples有一些关于如何在MATLAB中找到函数参数的问题,包括:

pwelch (x, window, noverlap, nfft, fs);

spectrogram (x, window, noverlap, F, fs);
Run Code Online (Sandbox Code Playgroud)

那么我的问题是在哪里找到参数的值window,noverlap我不知道它们的用途.

matlab signal-processing spectrogram

17
推荐指数
2
解决办法
4万
查看次数

检测风噪声

我想根据音频流开发一个用于检测风的应用程序.
我需要一些专家的想法,只是为了给我指导或一些链接,我知道这不是一件容易的事,但我打算在这里付出很多努力.

我的计划是检测流中的一些常见模式,如果值接近风噪声的这种常见模式,我将通知找到匹配,如果值更接近已知模式,我可以肯定检测到风,如果值与模式不匹配那么我猜没有那么多的风....

这是我的计划,但我需要了解这些事情是如何完成的.是否有一些开放项目已经这样做了?或者是否有人正在研究这个主题?

我在这个论坛上写的原因是因为我不知道如何谷歌它,我找到的东西不是我想要的.我真的不知道如何开始开发这种算法.

编辑1:
我试着录制一个风,当我为我打开保存的音频文件时,它只是一堆数字:).我甚至不知道我应该以什么格式保存这个,波浪足够好吗?我应该使用别的东西,或者如果我用mp3转换风噪音频文件怎么办?这会有助于解析吗?

好吧,我有很多问题,那是因为我不知道从哪里阅读更多关于这类话题的内容.我用guidlines标记我的问题,所以我希望有人会帮助我.

必须有可检测的东西,因为风噪声是如此常见,必须以某种方式检测到这一点,我们只需要有人给我提示,熟悉这个主题的人.

language-agnostic algorithm signal-processing audio-processing

17
推荐指数
1
解决办法
1345
查看次数

如何将过滤器应用于python中的信号

在python中是否有任何准备好的函数将过滤器(例如Butterworth过滤器)应用于给定信号?我在'scipy.signal'中寻找这样的函数,但我没有找到任何有用的函数,而不是过滤设计函数.实际上我希望这个函数将滤波器与信号进行卷积.

python signal-processing scipy

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