|
发表于 2022-1-9 02:53:33
|
显示全部楼层
大概解释一下:
首先取质数的根本原因在于:
DFT的计算是假定你的信号是周期信号,换言之,你永远不可能对一个无限长时间的(非周期)信号做DFT。
举个例子,比如你对0-100ns的信号做DFT,那么你也同时假定了100-200ns,200-300ns时系统有相同的时域信号。当然这只是一个帮助理解的假定,严格的说你其实是对一个无穷长时域信号做了Rectangular Windowing。
根据信号与系统的相关知识,一个周期性的时域离散信号,在频域是离散且周期性的。明白这点很重要,因为频域的周期性和离散就会带来很多实际问题。
回到你的问题:
首先取质数倍输入频率是为了避免你的输入信号在截取的时域周期性重复,比如0-50ns和50-100ns的波形如果完全一样,那么你做0-50ns和0-100ns本质上不会有信息量的区别。不过,取不取质数,理论上不会造成输入信号频率和输出信号频率的区别。
出现DFT之后信号频率变动,很有可能是以下的问题:
仿真器输出离散数据点的时间间隔,比如仿真器输出的y[1], y[2], y[3]...的采样时间和你的DFT 1/采样频率 不一样,有很多仿真器在默认设置下给你的离散输出点并满足这个要求。
很久没看书了,如果有错误欢迎指正。 |
|