哈特利变换与傅里叶变换

信息处理 信号分析 傅里叶变换
2022-01-25 02:19:23

你能向我解释一下哈特利变换与傅里叶变换有什么不同吗?它甚至在今天使用还是一些大部分被遗忘的过时的东西?

请不要使用方程式 - 我不明白它们,但我了解傅立叶变换。

4个回答

您可能对真正的离散变换感兴趣。这是长度为 6 的变换的基函数。逆变换是这些基函数的加权和,而正向变换计算出给定时域序列的权重。通过逆变换重建时域序列是精确的。离散变换实际上并不涉及下面显示的连续函数,而是它们在整数时间索引处的样本(此处为 0、1、2、3、4、5)。

作为对那些喜欢看方程的人的服务,离散哈特利变换 和离散傅里叶变换,其中定义为:HkXkxkk=0,,N1

Hk=n=0N1xn[cos(2πNnk)+sin(2πNnk)]Xk=n=0N1xn[cos(2πNnk)isin(2πNnk)],

其中是虚数单位。i

哈特利

哈特利基函数
图 1. Hartley 变换基函数是谐波正弦曲线。每个基函数都是正弦和余弦的和。

谐波意味着每个频率是最低非零频率的整数倍。一些正弦曲线的频率大于奈奎斯特频率。

或作为离散序列:[1, 1, 1, 1, 1, 1](黄色),[1, 1.366, 0.366, -1, -1.366, -0.366](黑色),[1, 0.366, -1.366, 1, 0.366, -1.366](绿色),依此类推。

Hartley 基函数,别名
图 2. Hartley 基函数,由离散基函数通过完美带限插值构造,假设序列永远重复。离散哈特利变换也可以直接用这些函数表示,颜色与图 1 相同。

除了频率 0 和 π 的特殊情况外,混叠的 Hartley 基函数以成对的相隔 90 度的谐波等频率正弦曲线出现,就像下面的真实离散傅立叶变换一样。除了缩放和相移(每对有一个缩放常数和一个相移常数)之外,基函数与实际离散傅里叶变换的基函数相同。

傅立叶

实傅里叶基函数
图 3. 真正的离散傅立叶变换基函数是谐波余弦和正弦,这里的颜色与图 2 中等效的缩放和相移 Hartley 基函数相同。

对于频率 0 和 π,没有正弦基函数,因为它们的样本将是零值的,并且永远不会对逆电车形式中的加权和做出贡献。与图 1 的 Hartley 变换公式不同,离散傅里叶变换基函数保持在 Nyquist 频率限制内。

哈特利的人气

快速哈特利变换算法于 1984 年问世,但自那以后它的流行度并没有显着增加。

哈特利变换的谷歌 Ngram
图 4. Google Ngram of Hartley transform计算了多年来发展的文学中词对的相对频率。

如果您确实了解傅立叶变换,那么您很幸运;我仍然没有(警告购买者)。

假设某个经典符号约定(即内核,约定的改变不会改变属性),对于真实信号,离散哈特利变换(DHT)是离散傅里叶变换 (DFT) 的实部和虚部之和。换句话说,它对应于函数:eifteifta+iba+b

它是纯实的,它是对合,所以它是它自己的逆。它似乎仍在用于某些编码、加密或水印应用程序,在这些应用程序中,实际变换的使用可以更简单,同时保持一些 DFT 的良好特性(例如关于卷积)。

虽然通常发现它不比 FFT 快(参见MATLAB 中的快速哈特利变换实现),但它可以嵌入到相同的参数族中(新参数离散傅里叶和哈特利变换,以及快速计算算法,2011)。对于某些特定的硬件、数据或数据大小,它可能仍然是有益的。回顾过去,它已被Henrique (Rico) Malvar通过快速 Hartley 变换用于离散余弦变换的快速计算。我怀疑 Hartley 变换可能对重叠正交变换(LOT)的发展提供了一些见解。

虽然被遗忘了,但它可能有一天会再次上升。

你是对的,这不是很常见。有许多与傅立叶相关的变换,其中大多数都有一个小众应用。

它的优点是没有虚数,正向和逆变换是一样的。但缺点是对于实际问题(例如调制),您将需要对附加项进行求和,使其更加麻烦。

是一篇相对非数学的文章,描述了两种变换的历史,由快速 Hartley 变换算法的作者撰写。也许这将有助于为您阐明这一点!

您要求在信号处理实现的上下文中理解这一点,这需要基于编程的解释。曾经的两个世界。数学必须在纸上工作,在阅读思想时,编程实现必须在世界上工作。

因为看了1988 Byte的文章,刚才搜了一下,发现[一篇提到它的文章][1],对比了FHT和FFT(Byte文章也是这样)。快速傅里叶变换在今天被广泛使用,但快速哈特利变换在实现(速度)方面提供了好处,而且很可能仍然如此,前提是芯片不是为了加速其中的一种变换而制造的

在信号处理中,速度与质量至关重要。两者都是应用于该领域的实现。有许多可用的转换,您可以实现自己的转换。在这样做的过程中,超越你头脑的东西会验证你头脑中的东西是否适用于这个世界。

数学家对计算速度的概念毫无用处,因此他们似乎奇怪地不适合实现算法,尽管编程更简单、更具体,并且很大程度上基于包括符号化在内的数学。

程序员测试数学家头脑中的公式。不要犹豫,像你一样问,尤其是在这里。如果您实现了傅立叶变换,您就会以数学家无法在纸上证明的方式理解它。(提示[原理] [2])。

除了编程和实现速度之外,提到的第三个因素是硬件加速。根据您编写实现的系统,可能有也可能没有硬件加速支持最著名的转换,而不是所有其他转换或您发明的转换。

今天必须去除这个因素,才能合理地比较这两种变换。[1]:https ://m.eet.com/media/1175816/f-scott.pdf [2]:https ://en.wikipedia.org/wiki/Principia_Mathematica