代码之家  ›  专栏  ›  技术社区  ›  endolith

有没有使用对数频分的快速傅立叶变换?

  •  16
  • endolith  · 技术社区  · 15 年前

    维基百科 Wavelet article 包含此文本:

    离散小波变换在计算上也较不复杂,它的时间比O(n对数n)慢。 fast Fourier transform . 这种计算优势不是变换固有的,而是反映了频率对数分割的选择,而不是FFT的等间距频率分割。

    这是否意味着还有一个类似于FFT的算法,它使用频率的对数除法而不是线性除法?它也是O(N)吗?对于许多应用来说,这显然是更好的选择。

    3 回复  |  直到 8 年前
        1
  •  12
  •   Pierre H.    10 年前

    对。对。不。

    称为对数傅立叶变换。它有O(N)次。然而,对于域/横坐标增加而衰减缓慢的函数是有用的。

    参考维基百科的文章:

    主要区别在于小波 在时间和 频率而标准傅立叶 转换仅在中本地化 频率。

    所以,如果你只能在时间(或者空间)中定位,那么小波(或者离散余弦变换)是一种合理的方法。但是如果你需要不断地进行,那么你需要傅立叶变换。

    了解更多关于LFT的信息,请访问 http://homepages.dias.ie/~ajones/publications/28.pdf

    以下是摘要:

    “我们给出了一个精确的解析表达式,用于对数采样函数的傅立叶变换。对于随横坐标值增加而缓慢衰减的函数或测量响应,该方法的计算效率明显高于快速傅立叶变换(FFT)。我们用一个电磁地球物理的例子来说明这一方法,在电磁地球物理中,比例通常是这样的,我们的对数傅立叶变换(LFT)应该被应用。对于所选的示例,我们能够在短于1.0e2的时间内获得与从FFT到0.5%范围内的结果一致的结果。LFT在地球物理中的潜在应用包括将宽带电磁频率响应转换为瞬态响应、冰川加载和卸载, 含水层补给问题,地震学中的正常模式和地球潮汐研究,以及脉冲冲击波建模。”

        2
  •  0
  •   mrossi    11 年前

    编辑:在阅读了这篇文章之后,我认为这个算法对这个问题并没有真正的帮助,我还是会给其他读者一个描述。

    也有 菲隆算法 一种基于菲隆量子理论的方法,可以在 数值分析方法库 这篇[博士论文][1]。 时间刻度是以日志间隔的,其结果是频率刻度。

    此算法用于在观测时间间隔内衰减到0的数据/函数(可能不是您的情况),典型的简单示例是指数衰减。

    如果你的数据是由点(x_0,y_0),(x_1,y_1)…(x_i,y_i)记录的,你想计算频谱a(f),其中f是从f_min=1/x_max到f_max=1/x_min的频率。 日志间隔。 然后,每个频率f的实际部分通过以下公式计算:

    a(f)=i=0…i-1(y_i+1-y_i)/(x_i+1-x_i)*[cos(2*pi*f*t_i+1)-cos(2*pi*f*t_i)]/(2*pi*f)^2)

    假想部分是:

    a(f)=y_/(2*pi*f)+i=0…i-1(y_i+1-y_i)/(x_i+1-x_i)*[sin(2*pi*f*t_i+1)-sin(2*pi*f*t_i)]/(2*pi*f)^2)

    [1]布洛霍维奇,托马斯: 纯和二元分子玻璃的宽带介电谱。 拜罗伊特大学,2003年,第3.2.3章

        3
  •  0
  •   Federico Ferreres    8 年前

    要想做你想做的,你需要测量不同的时间窗,这意味着较低的频率得到更新的频率最少(与2的幂成反比)。

    请在此处查看fppo: https://www.rationalacoustics.com/files/FFT_Fundamentals.pdf

    这意味着更高的频率更新更频繁,但你总是平均(移动平均值是好的),但也可以让它移动更快。当然,如果计划使用逆FFT,你就不需要这些了。此外,为了在较低的频率下获得更好的精度(较小的带宽),这意味着这些需要更慢地更新,比如16K窗口(1/3 m/s)。

    是的,低频信号自然传播缓慢,因此,当然,你需要很多时间来检测它们。这不是数学能解决的问题。这是一个自然的交易,你不能有高精度,低频率和快速响应。

    我认为我提供的链接将澄清您的一些选择…在您提出问题7年后,不幸的是。