什么样的硬件实现傅立叶变换?


12

我在网上环顾四周,但没有发现任何相关信息。电子设备很难分解不同频率的信号。

在裸机级别如何完成此操作?

任何建议的来源或评论将非常有帮助


4
很多时候,您不需要FT即可进行信号处理,尤其是滤波。例如,您可以使用无源或有源滤波器,具体取决于电容器和电感器的特性。即使在数字域中,当使用ADC之外的值时,也可以不用FT来完成某些任务(例如,参见指数平滑)。
anrieff

“什么样的...”问题过于广泛,无法适应堆栈交换模型。通常,当一个人特别提到傅立叶变换时,就隐含了一种具有计算能力的东西(大约是卷积,即延迟,乘法和累加,与并行序列的存储或逻辑并行或并行),但是硬件要求取决于应用程序的要求,以及许多指出了数字(或至少数字)计算的替代方法。
克里斯·斯特拉顿

3
透镜(不是答案,因为它不是电子设备,但同样没有振动的簧片)。
加纳玛

Answers:


39

使用傅立叶变换的设备

电子设备很难分解不同频率的信号。

不是。

实际上,有相当多的设备明确地执行此操作。

F{x(t)}(f)=x(t)ej2πftdt

对于这两者,都有实现这些功能的设备。

连续傅立叶变换

在数字电子产品中,实际需要的方式很少-对数字信号进行采样,因此您将使用DFT。

在光学和光子学中,您会发现实际上有机会获得“大”(长度几乎等于上述积分的无限)的完美周期性的东西。有效地,可以用一个或多个音调激发声光元件,并且该声光元件将具有与上述积分相同的相关效果。您不必查看2018年诺贝尔物理学奖得主,就可以找到傅立叶光学的一个例子

离散傅立叶变换

这实际上遍地都是 ; 这是一个标准的处理步骤,作为一名通信工程师,我们甚至经常忘记它在哪里。

因此,这个清单远远不够完整。只是例子:

  • 均衡器:用DFT构建数字音频均衡器非常容易。通常,用于通信系统的迫零均衡器类型使用DFT查找需要“删除”的信道的频域表示形式,将其反转,然后使用IDFT将其返回到时域以用作抽头。 FIR滤波器。
  • 天线阵列/波束转向:如果您有彼此固定距离的天线阵列,则可以通过计算您想要获得的“方向矢量”的DFT来操纵这些天线的波束,并将结果复杂化系数乘以您分配给这些天线的发射信号。实际的MIMO系统可以做到这一点。
  • 方向查找:在发送方向上起作用的原理完全相同,但在接收方向上却相反:在阵列中为每个天线获取信号,找到这些信号之间的复杂因素,进行IDFT,获得包含信息的矢量力量来自哪个方向。简单!并完成了飞机在哪里,Wifi通讯伙伴在哪里,潜艇的估计(尽管不是天线,而是水下麦克风)…
  • 频道:太空中的卫星价格昂贵,因此需要将多个电视节目上行到一颗卫星。您可以使用DFT(尤其是在多相滤波器组中)将多个信道放在一个上行链路中,或将单个信道与一个宽带信号隔离。这不是电视领域;它发生在音频处理,医学成像,超声分析,无线电广播中……)
  • 多载波系统的数据编码:为了解决宽信道问题(如果要每秒传输许多位,则需要此问题),即需要复杂的均衡器,您希望将信道分成许多小信道(请参见上面的“渠道化”)。但是,您可以将DFT理解为频移时域矩形滤波器的滤波器组。令人高兴的是,这些渠道非常紧凑。另一个好处是,与通道的卷积减少为逐点乘法,这非常容易还原。我们称这种方法为OFDM,所有Wifi,LTE,5G,WiMax,ATSC,DVB-T,数字音频广播,DSL和许多其他系统都使用该方法。
  • 高效滤波:FIR滤波器是时域中滤波器脉冲响应的卷积。因此,每个输出样本都使用大量运算-计算量很大。当您实现快速卷积时,您可以大大减少这种工作量,它基于输入样本的DFT部分,将它们与频域中冲激响应的DFT进行互斥,与之前的片段重叠,然后逆变换到时域。这非常方便,几乎可以在具有长FIR滤波器的所有系统中使用(“长”可能以“ 16抽头”这样的良性数字开头)。
  • 雷达:经典的汽车雷达使用自调制FMCW雷达;为了获得观察到的反射器的相对速度和相对距离的图像,通常需要进行二维DFT(实际上只是对矩阵的所有列以及结果的所有行进行DFT)。
  • 音频和图像/视频压缩:尽管JPEG使用离散余弦变换,而不是DFT本身,但是有足够的编解码器可以至少使用DFT的重要部分。

请注意,上面的列表仅包含在操作过程中执行DFT的操作。您可以100%确保在设计与RF远程相关的任何东西时,尤其是天线,混频器,放大器,(解调器)时,要进行很多傅里叶变换/频谱分析。音频设备设计,任何高速数据链路设计,图像分析也是如此……

怎么做?

我将在这里处理DFT。

通常,将其实现为FFT,快速傅立叶变换。那是20世纪最重要的算法发现之一,因此我在此不多说几句,因为那里有成千上万的文章解释了FFT。

ej2πnNkej2π1Nkn=Wn

NlogNN

logNN=2l

在软件中,原理是相同的,但是您需要知道如何对超大型转换进行多线程处理,以及如何通过最佳利用CPU缓存来尽可能快地访问内存。

但是,对于硬件和软件,都有一些库仅用于计算DFT(FFT)。对于硬件,通常来自您的FPGA供应商(例如Altera / Intel,Xilinx,Lattice…)或大型ASIC设计工具公司(Cadence)或您的ASIC公司。


对您的艺术的印象深刻,同意FIR滤波器的“长”为O(16)。
Neil_UK '19

:) 谢谢!不过,您看到的答案比这要多得多:)
MarcusMüller19年

1
虽然这是一个非常详细的答案,并且将为输入信号提供准确的FFT,但它不能回答问题。这是应用于输入信号的数字过程,它不是以硬件(前端的AD转换器除外)实现的解决方案。
詹妮弗

1
詹妮弗是对的。您应该讨论模拟DFT,或者至少要澄清DFT是离散 FT,但不一定是数字 FT。
左右左转

2
:第43页(PDF编号)在此程序中讨论了基于模拟FFT一个FIR imagesensors.org/Past%20Workshops/Marvin%20White%20Collection/...
leftaroundabout


5

表面声波设备被用作模拟机电设备,以执行多种信号处理任务。大多数论文都是付费的。

柯林·坎贝尔(Colin Campbell)在1989年的著作《表面声波器件及其信号处理应用》中的第16章

发布者摘要

本章介绍了使用SAW线性调频(FM)线性调频滤波器的快速实时傅立叶变换技术,其处理时间仅为几微秒。基于SAW的技术已应用于声纳,雷达,扩频以及其他需要快速分析或过滤复杂信号的通信技术。对于基于SAW的傅立叶变换系统,这是在接收机中频(IF)阶段进行的。可以将SAW线性FM线性调频滤波器配置为影响许多傅立叶变换操作。其中三个是(1)用于频谱或网络分析的单级傅立叶变换器,(2)用于倒频谱分析的两级傅立叶变换处理器,以及(3)用于实时滤波的两级傅立叶变换处理器。基于SAW的用于信号频谱分析的傅立叶变换处理器(称为压缩接收器)具有多种配置,可在高达1 GHz的分析带宽上提供频谱分辨率。本章还讨论了SAW傅立叶变换处理器中双线性混频器的使用。



4

离散采样函数的傅立叶变换是基函数从一系列(通常)采样时间值到等效的一系列频率分量值的变化。它是一个线性变换(两个序列之和的傅立叶变换是两个序列的傅立叶变换的总和),因此它与对矢量(采样时间序列)进行运算的矩阵相同。

在具有N个分量的向量上运行的秩N矩阵通过执行N ^ 2乘法和(N ^ 2-N)个加法生成具有N个分量的第二向量。

好了,现在金属如何做到这一点:

有一种称为“谐波分析仪”的小发明,它可以对一个频率(基本上是矩阵的一行)进行乘法和累加,这是一种模拟计算机。它涉及在方格纸上绘制功能输入,连接极地平面仪(机械积分器)和连杆机构(机械倍增器),并跟踪曲线,从而为您提供...输出元素。使用它还不错,但是对于1024元素的转换,您必须执行此操作... 1024次。但是,这是一个世纪前计算潮汐表的方式。请参阅此处的“数学仪器”文章,第71页

然后是使用滑尺和加法器的手动方法,该方法需要在正弦/余弦表中查找矩阵元素,这意味着您要对滑尺进行操作,以进行1024个元素的采样,超过200万次。

通用计算机也可以执行该操作。

一些(数字信号处理器,DSP)专用CPU设计是通过加速的乘法累加硬件完成的,从而加快了处理速度。而且,有一种非常聪明的算法,即FFT,它通过指出4x4矩阵是2x2矩阵的2x2矩阵来解决需要N ^ 2运算的N个样本的问题。有一种方法可以获取任何复合数(2的幂,如'1024'很方便)并且仅按顺序使用N * Log(N)运算而不是N ^ 2。这意味着1024个输入仅需要61,440个操作,而不是1,048,576个。

FFT不会简化一般的离散傅立叶变换,因为它要求N值不是素数(并且几乎总是使用2的幂),但是它可以通过多种方式由硬件支持,因此操作(乘以累加)是时间限制步骤。一种现代(2019)芯片(Analog Devices MMAC专栏的 ADBSP-561 )每微秒可以进行2400次这样的操作。


-4

9
不,频谱分析仪通常不会这样做。一些(许多)频谱分析仪具有FFT模式,但即使那样,频谱分析仪显示的内容也是PSD估算值,而不是傅立叶变换。
马库斯·穆勒

答案主要是指向另一个站点的链接,不能提供持久的价值,因为该链接明天可能会断开。您应该在自己的答案中总结链接中的重要内容。
Elliot Alderson

@MarcusMüller-什么是“ PSD估算”?
皮特·贝克尔,

1
@PeteBecker功率谱密度的估计值。信号的预期功率在频率上的分布,您必须将其视为随机信号,因为您不知道该信号。PSD的数学精确定义是“随机过程的自相关函数的傅立叶变换”;但是对于大多数情况,我们只是假设随机过程(==随机信号)是弱感应平稳的,因此FT(ACF)==期望(FT²(时间信号))。
MarcusMüller19年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.