离散傅立叶变换后频谱功率计算 负频成分的考虑 DFTFFT Scale Factor 2N or N for Spectrum Power Calculation 如何分辨你是硬体工程师还是射频工程师呢? 一个开玩笑的分法硬体工程师吃饭工具是示波器oscilloscope,射频工程吃饭的工具是频谱分析仪Spectrum Analyzer,虽然是开玩笑但身为一个射频从业人员要跟频谱分析仪人机一体才对。 这两台仪器虽然说一个是量测时域一个是量测频域,但新型态的频谱分析仪或叫做讯号分析仪(Signal Analyzer)骨子里都是量测时域(Time Domain),其实现实的讯号都是所谓的时域讯号,只是高频讯号很难直接量测,所以才会用接收机先降频后在处理,但现在高阶的示波器(Oscilloscope)的取样率(Sampling Rate)与频宽都相当高,已经有高达100G/s的机器出现,直接进行时域量测后进行傅立叶变换(Fourier Transform) 不就可以得到频谱讯号吗? 复数型傅立叶变换Complex Discrete Fourier Transform (离散)傅立叶变换DFT几乎存在我们生活周遭,手机拍照图像处理辨识,声音处理,与5G通讯都少不了他,他是个数据处理的过程,把原本量测到的时域讯号转换到另外一个频域讯号,如果有N个取样数据,转换到另外一个平面也会得到N点数据。而且可以进行逆转换Inverse DFT, 如果原本数据是频率讯号也可以透过inverse DFT得到时域讯号,有兴趣可以参考这上一篇文章。 在现实(Real)的世界里,意识虚幻(imaginary)的存在, 现代通讯基础傅立叶变换Fourier Transform与正交分频工多OFDM – MacGyFu的文章 – 知乎 https://zhuanlan.zhihu.com/p/
学习DFT手边我们用Microsoft Excel里面有内建的傅立叶转来观察一个Sinusoid Wave 弦波讯号来进行傅立叶变换,给入一个Vp = 1V的弦波讯号,取样点数为N=16点,负载电阻为1Ω,功率大小可以见单计算出为0.5W或27dBm.
上图Excel进行FFT转出来可以观察F(1/t)在index = 1 与index=14有值 (8),这时候我们要正规化大小,除以N = 16得到后就可以得到以下频谱讯号index=1与index=14有一正弦波Vp=0.5,有学过傅立叶变换都会知道时域讯号转成频域讯号,如果频率为f的正弦波讯号 sinusoid wave在频率轴上正频+f 与负频 -f都会出现(数学上)。 因为Fourier Transform只是改变讯号的表达形式,(任何周期讯号都可以用不同频率的弦波组成),所以时域讯号0.5W 27dBm拆成频率讯号功率要守恒 Power Conservation,也就是负频那一跟讯号是真的不能忽略它。 计算一下会发现频谱正频率与负频率为0.125W,Power Sum只有21+3dBm = 24dBm. 这与时域讯号的结果不符合,少了一半的功率?
功率合并:Voltage Sum or Power Sum Scale Factor 2xN 这时候我们在从新检视刚刚计算的问题点,刚刚计算是分个频率点分开计算后,然后”Power Sum”起来,也就是朗朗上口的0dBm + 0dBm = 3dBm,但真正要计算功率是要Voltage Sum后再进行平方运算,但如果两个讯号正交Orthogonal,就可以分开计算Power Sum。例如10MHz 0dBm + 20MHz 0dBm Total Power = 3dBm
刚刚的计算中是把两个频率当作Orthogonal来处理,我们在看一下刚刚的k*n/N,当k=1与k=(N-1)也就是所谓的负频部分,在数学符号上面就是相差一个”-“负号。 在计算频谱密度Power Spectral这两个讯号频率是一样,所以在计算上面Voltage要先相加后在计算功率(voltage sum )。
所以我们从新排列一下,x1+x15, x2+x14, x3+x13…因为时域讯号转出来大小会对称,所以最后可以简化成2倍,也就是计算系数上面常看到可以实部讯号为2/N,这也反应功率只能反应出正频率的部分。
特殊案例 k=0 and N/2 when N is even 以上举的案例都是成双成对,所以频谱功率计算Vrms都可以写成以下:
但有两个成分需要注意一下: 第一: 当k=0有直流成分: 当k=0也就是直流的成分,下面我们演练一个直流1V的傅立叶转换的结果,结果只有在index = 0 的时候有值 16,也就是所谓的DC成分,这时候时域的功率为V^2/R = 1W, 在X[0]只需要乘以Scale Factor 1/N即可。
第二: k= N/2 Nyquist Frequency有值的情况 另外一个特例是当N为偶数的时候,可以看到每个人都成双成对,但是最后一个N/2 (也称为Nyquist Frequency)就只有单影一人,而且FFT的条件必须为N^2 2, 4, 8, 16, 32,也就是只要是FFT都会遇到这个孤单的N/2 Nyquist Frequency。
这个问题也从过年困扰到现在,Nyquist Theorem告诉至少要一半的取样率才能还原讯号,如果时域讯号为1/2 Sampling Rate也就是1, -1, 1, -1………..这时候进行傅立叶变换会在N/2 index = 8产生16这个值,正规化后为16/16=1V. 但这时候Vrms如果取弦波的讯号Vrms的计算方式,会得到:
从时域讯号1, -1, 1…进行FFT转换频谱只有在频率index=8或f=8/16=2有一根频率讯号Vp=1V,时域下的功率为1W,但频率轴计算为0.5W,这与时域讯号计算到的功率 1W 又少了一半0.5W,难道又是躲在负频要用,但…..等等就只有n=8有讯号,要找谁加去? 这点其实是Nyquist 取样的限制,可以从V(k)的Waveform功率计算其实与一个方波讯号是无法区分出来,也就是在时序计算的时候是再算一个方波讯号,其实跟只有k=0只有直流成分类似,功率都会是1W不是0.5W。 IFFT 反相傅立叶转换 那其他频率呢? 这里换各方向先给定频率F(k)数值在利用IFFT(inverse FFT)转成时域讯号,在index = 7与对应的负频率index=9填入0.5,也就是0.5*16=8),index=7比Nyquist 频率小一点,转出来频率功率与频率功率守恒都是0.5W,但转出来的时域波形怎么看都不向一个正弦波(sine wave)……。
傅立叶转是个双向转换函数,也就是说V(k)在进行FFT转换会得到原本频谱的讯号,那这看起来不像正弦波的波形不应该有很多频谱成分吗? 其实这是采样率的关系,上面F(k=7)等校起来就是频率为f=7/16=0.4375,在相同时间T内,因为只有采样16个点,每一点都在讯号上,都因为采样点数太少所以”肉眼”看起来就不像一个正弦波。
下面是k=3, f=0.187的case,虽然奇数频率都长得很奇怪,但当目标频率是0.2倍Nyquist频率以下的时候,肉眼才比较能够辨识出原始的讯号,你看不出来其实DSP也大概看不出来,所以如果示波器要直接暴力FFT成频谱来用,一般的3GHz讯号那采样率至少也要20G/s解析下来的讯号才会比较向个传统频谱分析仪。
傅立叶频谱功率FFT Power Spectrum 整理一下频谱功率计算,当采样k=0与k=15,功率计算都是类似直流功率,其他点数为正弦波计算方法,最后整理如下。
最后用一个类似Pulse的讯号4V,经过FFT能量会平均拆分到每个频率点,利用上面公式的计算可以得到频谱的能量分布,从时域功率到频域功率总和是相等的。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/43962.html