标签: fft

只有整数,切片(`:`),省略号(```),numpy.newaxis(`None`)和整数或布尔数组才是有效的索引

我正在实施fft作为我作业的一部分.我的问题在于使用位反转来实现数据元素的混乱.我收到以下警告:

DeprecationWarning:使用非整数而不是整数将导致将来出错.

data [x],data [y] = data [y],data [x]

自动评分系统(由大学提供)返回以下内容:

错误:只有整数,slices(:),省略号(...),numpy.newaxis(None)和整数或布尔数组才是有效索引.

我的代码是:

def shuffle_bit_reversed_order(data: np.ndarray) -> np.ndarray:
    """
    Shuffle elements of data using bit reversal of list index.

    Arguments:
    data: data to be transformed (shape=(n,), dtype='float64')

    Return:
    data: shuffled data array
    """

    # implement shuffling by reversing index bits

    size = data.size

    half = size/2;

    for x in range(size):
        xx = np.int(x)
        n = np.int(half)

        y = 0

        while n > 0:
            y += …
Run Code Online (Sandbox Code Playgroud)

python numpy fft dft python-3.x

32
推荐指数
2
解决办法
12万
查看次数

如何在C++中使用fft生成音频频谱?

我想生成一个mp3音频文件的音频频谱(如本视频所示).基本上这个问题需要计算音频信号的fft.如何在C/C++中编程?

我看过几个开源库,比如FFTW,我真的不知道如何使用这些来解决我的问题.任何帮助将不胜感激.提前致谢!

c++ audio fft spectrum

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

Android的FaceDetector的基础技术

我正在Android上实现一个人脸跟踪器,作为一个文献研究,想要确定Android的FaceDetector的基础技术.

简单地说:我想了解android.media.FaceDetector分类器的工作原理.

一个简短的谷歌搜索没有提供任何信息,所以我想我会看看代码.

通过查看Java源代码,FaceDetector.java没有太多需要学习的内容:FaceDetector只是提供图像尺寸和面数的类,然后返回一个面数组.

Android源代码包含此类的JNI代码.我跟着函数调用,在那里,简化为基本要素,我学到了:

  1. "FaceFinder"创建于 FaceFinder.c:75
  2. 在第90行,bbs_MemSeg_alloc返回一个btk_HFaceFinder对象(其中包含实际查找面的函数),基本上将其复制到initialize()()中初始化hsdkA->contextE.memTblE.espArrE的原始btk_HSDK对象的数组中FaceDetector_jni.cpp:145.btk_SDK_create()
  3. 似乎迷宫的函数彼此提供了指针和实例btk_HSDK,但我无处可寻找具体的实例,sdk->contextE.memTblE.espArrE[0]其中包含了魔法.

已经发现,是一个小线索:JNI代码引用FFTEm库,我无法找到的源代码.然而,从它的外观来看,FFT是快速傅立叶变换,它可能与预训练的神经网络一起使用.我能找到的唯一符合这一理论的文献是Ben-Yacoub等人的论文.

我甚至不知道自己是否走上了正确的道路,所以任何建议都无疑会有所帮助.

编辑:我为任何可以提供任何见解的人添加了+100赏金.

java-native-interface android fft face-detection

30
推荐指数
1
解决办法
6097
查看次数

俯仰检测的倒谱分析

我正在寻找从声音信号中提取音高.

IRC上的某个人刚刚向我解释了如何采用双FFT实现这一目标.特别:

  1. 采取FFT
  2. 取绝对值平方的对数(可以用查找表完成)
  3. 采取另一个FFT
  4. 取绝对值

我正在尝试使用vDSP

我无法理解我之前没有遇到过这种技术.我做了很多狩猎和提问; 几周值得.更重要的是,我无法理解为什么我没有想到它.

我试图用vDSP库实现这一目标.它看起来好像有处理所有这些任务的功能.

但是,我想知道最终结果的准确性.

我之前使用的技术是将单个FFT的频率区域扫描为局部最大值.当它遇到一个时,它使用一种狡猾的技术(自上次FFT以来的相位变化)来更准确地将实际峰值放置在箱内.

我担心这种精确度会因为我在这里介绍的技术而丢失.

我想这种技术可以在第二次FFT之后使用,以准确地得到基波.但有点看起来信息在第2步中丢失了.

由于这是一个潜在的棘手过程,有经验的人可以只看一下我正在做的事情并检查它的理智吗?

此外,我听说有一种替代技术涉及在相邻的箱子上安装二次方.这是否具有可比性?如果是这样,我会赞成它,因为它不涉及记住bin阶段.

所以,问题:

  • 这种方法有意义吗?可以改进吗?
  • 我有点担心"log square"组件; 似乎有一个vDSP函数可以做到这一点:vDSP_vdbcon.但是,没有迹象表明它会预先计算日志表 - 我认为它不会,因为FFT函数需要调用显式预计算函数并将其传递给它.而这个功能没有.
  • 是否存在拾取谐波的危险?
  • 是否有任何狡猾的方式使vDSP拉出最大值,最大的第一?
  • 有人能指出我对这种技术的一些研究或文献吗?

  • 主要问题:它足够准确吗?可以提高准确度吗?一位专家刚刚告诉我,准确性是不充分的.这是行的结束吗?

PS当我想创建标签时,我很生气,但不能.:| 我已向维护人员建议SO跟踪尝试的标签,但我确信我被忽略了.我们需要vDSP标签,加速框架,倒谱分析

signal-processing fft detection pitch vdsp

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

单个C文件中的FFT

我正在寻找C中的FFT实现.但是,我不是在寻找一个庞大的库(如FFTW),而是为了一个易于使用的单个C文件实现.不幸的是我找不到这样的东西.

有人可以推荐一个简单的实现?

c fft

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

Web Audio API中的FFT数据对应于什么?

我使用了来自Analyzer节点的FFT数据,使用getByteFrequencyDataWeb Audio API中的方法创建了一个频谱可视化工具,如下所示:

Spectrum Visualizer

在这个例子中,我有256个数据库.这个数字到底对应的是什么?它是每个频率成分的分贝水平.如果是这样,我怎么知道每个bin的频率值对应于什么?

我想知道所以我可以尝试构建图形方程,因此想知道在哪些点指示滤波器带.理想情况下,我想表示20Hz到20kHz的频率,并相应地绘制它们之间的间隔.

谢谢你的帮助.

audio fft html5-audio web-audio-api

30
推荐指数
2
解决办法
8945
查看次数

如何从fft结果获得频率?

我在我的Android手机上录制了麦克风数据[1024]数据,通过实际数据的1D前向DFT(再设置1024位为0).我将数组保存到文本文件中,并重复了8次.

我收到了16384的结果.我在Excel中打开了文本文件并制作了一个图表以查看它的外观(x =数组索引,y =返回的数字大小).有大量的尖峰(正面和负面)大约在110,232左右,并且小尖峰继续以这种方式持续到1817年和1941年左右,尖峰再次变大,然后再次下降.

我的问题是,无论我在哪个主题上寻求帮助,它都会提到实数和虚数,我只有一维数组,我从Piotr Wendykier的类中使用的方法得到了回复:

DoubleFFT_1D.realForwardFull(audioDataArray); // from the library JTransforms.
Run Code Online (Sandbox Code Playgroud)

我的问题是:我需要对此数据做什么才能返回频率?录制的声音是我在吉他的底弦(第五音品)上演奏'A'(大约440Hz).

java android fft pcm

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

JavaScript中的FFT

有人能指出我在JavaScript中实现快速傅里叶变换吗?应该只使用一组简单的实际值.

谢谢.

javascript fft

29
推荐指数
0
解决办法
2万
查看次数

R中的快速傅里叶变换

我有一个数据集,其中包含12个月内动物的每小时访问次数.我想使用快速傅立叶变换来检查周期性模式和周期性.在过去,我使用Statistica就是为了这个; 但是,我想用R来得到光谱密度与周期的关系图.在R中有一个简单的方法吗?如果可能的话,我想确定12和24小时的活动高峰.

r fft time-series period spectral-density

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

Python Scipy FFT wav文件

我有一些wav文件.我想使用SciPy FFT绘制这些wav文件的频谱.我该怎么做呢?

python fft scipy

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