无论您缩放DFT的输出(正向还是反向),都与约定无关或在数学上很方便。它与DFT的输入有关。请允许我显示一些示例,其中正向和逆向变换都需要或不需要缩放。
必须将前向变换缩放1 / N。
首先,应该很清楚,从数学上来讲,分析一个简单的正弦波,变换的长度应该是无关紧要的。假设N = 1024,Freq = 100,您的信号是:
f(n)= cos(频率* 2 * Pi * n / N)
如果您使用f(n)的1024点DFT,则会发现bin [100] =512。但这不是有意义的值,除非您将其缩放为N。512/1024 = 1/2,当然,另一个1/2位于bin [924]中的负光谱中。
如果将DFT的长度加倍,即N = 2048,则输出值将是1024点DFT的两倍,这将使结果无意义,除非我们按1 / N进行缩放。DFT的长度不应成为此类分析的因素。因此,在此示例中,您必须将DFT缩放1 / N。
不得缩放正向变换。
现在,假设您具有32抽头FIR滤波器的脉冲响应,并且想知道其频率响应。为方便起见,我们假设增益为1的低通滤波器。我们知道,对于该滤波器,DFT的DC分量必须为1。并且很明显,无论DFT的大小如何,情况都是如此。 DFT,因为DC分量只是输入值的总和(即FIR系数的总和)。
因此,对于此输入,DFT不会按1 / N缩放以获得有意义的答案。这就是为什么您可以在不影响转换结果的情况下将脉冲响应尽可能零填充的原因。
这两个示例之间的根本区别是什么?
答案很简单。在第一种情况下,我们为每个输入样本提供能量。换句话说,所有1024个样本都存在正弦波,因此我们需要将DFT的输出缩放1/1024。
在第二个例子中,根据定义,我们仅为1个样本(n = 0处的脉冲)提供能量。脉冲需要32个采样才能通过32个抽头滤波器工作,但这种延迟是无关紧要的。由于我们为1个样本提供了能量,因此我们将DFT的输出缩放1。如果将脉冲定义为2个能量单位而不是1,则将输出缩放1/2。
一定不能缩放逆变换。
现在让我们考虑逆DFT。与前向DFT一样,我们必须考虑向其提供能量的样本数量。当然,我们在这里必须更加小心,因为我们必须适当地填充正向和负向频率段。但是,如果我们将脉冲(即1)放置在两个适当的仓中,则无论我们在逆DFT中使用多少点,逆DFT的最终输出将是振幅为2的余弦波。
因此,与正向DFT一样,如果输入是脉冲,则我们不缩放逆DFT的输出。
必须缩放逆变换。
现在考虑您知道低通滤波器的频率响应并且想要进行逆DFT以获得其脉冲响应的情况。在这种情况下,由于我们一直在提供能量,因此必须将DFT的输出缩放1 / N,以获得有意义的答案。这并不是很明显,因为输入值会很复杂,但是如果您通过一个示例进行操作,您会发现这是正确的。如果不按1 / N进行缩放,则峰值脉冲响应值将达到N的数量级,而增益为1则不可能。
我刚才详述的四种情况是端点示例,在这些示例中,很清楚如何缩放DFT的输出。但是,端点之间有很多灰色区域。因此,让我们考虑另一个简单的示例。
假设我们有以下信号,N = 1024,Freq = 100:
f(n) = 6 * cos(1*Freq * 2*Pi * n/N) n = 0 - 127
f(n) = 1 * cos(2*Freq * 2*Pi * n/N) n = 128 - 895
f(n) = 6 * cos(4*Freq * 2*Pi * n/N) n = 896 - 1023
![时域](https://i.stack.imgur.com/bERGH.png)
注意这三个分量的幅度,频率和持续时间差异。不幸的是,即使第二个分量的功率是其他两个分量的1/36,该信号的DFT也会显示所有三个分量处于相同的功率水平。
![非窗口频率域](https://i.stack.imgur.com/sFKtI.png)
这三个组件都提供相同量的能量这一事实是显而易见的,这可以解释DFT的结果,但是这里需要指出一个重要的观点。
如果我们知道各种频率分量的持续时间,则可以相应地缩放各种频率仓。在这种情况下,我们将执行此操作以准确缩放DFT的输出:bin [100] / = 128; bin [200] / = 768; bin [400] / = 128;
这将我带到了最后一点;通常,我们不知道特定频率分量在DFT的输入端存在多长时间,因此我们无法进行这种缩放。但是,总的来说,我们确实为每个采样点提供能量,这就是为什么在分析信号时应将正向DFT缩放1 / N。
使事情复杂化的是,我们几乎可以肯定地在此信号上加一个窗口,以提高DFT的光谱分辨率。由于第一和第三频率分量位于信号的开始和结尾,因此它们被衰减27 dB,而中心分量仅被衰减4 dB(汉宁窗)。
![窗口光谱](https://i.stack.imgur.com/o46Af.png)
显然,DFT的输出可能是输入的相当差的表示,无论缩放与否。
对于逆DFT(通常是纯数学问题),与未知信号的分析相反,DFT的输入已明确定义,因此您知道如何缩放输出。
使用频谱分析仪,模拟或FFT分析信号时,问题相似。您不知道所显示信号的功率,除非您也知道其占空比。但是即使那样,开窗,跨度,扫描速率,滤波,检测器类型和其他因素也都可以使结果变得令人满意。
最终,在时域和频域之间移动时必须非常小心。您提出的有关缩放的问题很重要,因此希望我已经明确表示您必须了解DFT的输入才能知道如何缩放输出。如果未明确定义输入,则无论是否扩展DFT的输出,都必须对其表示怀疑。