|
|
1
8
基本问题不是关于零填充与假定周期性的关系,而是傅里叶分析将信号分解为正弦波,在最基本的水平上,假设正弦波的范围是无限的。 两种方法都是正确的 两种方法都不正确 回到你的第一段:通常,在DSP中,我遇到的最大问题是FFT是非因果的,因此我通常喜欢停留在时域中,例如使用FIR和IIR滤波器。 更新: 在问题陈述中,OP正确地指出了在使用fft来过滤信号时可能出现的一些问题,例如,边缘效应,当进行长度(在时域中)与采样波形相比较的卷积时,这些问题可能特别有问题。需要注意的是,并不是所有的过滤都是用fft完成的,而且 在OP引用的论文中,他们没有使用FFT滤波器,并且FFT滤波器实现中可能出现的问题也不会使用他们的方法出现 例如,考虑一个过滤器,它使用两个不同的实现实现128个采样点的简单平均值。 快速傅里叶变换 最后的 127个(即未来的)wfm样本(跳过wfm的中间部分),或者127个零(如果您将填充零)。两者都不正确。 :另一种方法是用FIR滤波器实现平均值。例如,这里可以使用128寄存器FIFO队列中值的平均值。也就是说,当每个采样点进入时,1)将其放入队列中,2)将最旧的项目出列,3)平均队列中剩余的128个项目;这是您对此采样点的结果。这种方法连续运行,每次处理一个点,并在每个采样后返回滤波结果,并且在应用于有限的样本块时,没有FFT所出现的问题。每个结果只是当前样本和之前127个样本的平均值。 |
|
|
2
7
这里的例子是没有填充的线性卷积。这是长度M=32序列与长度L=128序列的卷积(使用Numpy/Matplotlib):
编辑:关于共轭传递函数,锁相环有一个实值脉冲响应,每个实值信号都有一个共轭对称谱。在代码中你可以看到,他们只是使用Hfinal[N-i]来获得负频率,而不需要共轭。我绘制了-50 MHz到50 MHz的传输函数:
|
|
3
1
虽然假设数据的矩形窗口在FFT孔径宽度处是周期性的,这是圆卷积在没有足够的零填充的情况下所起作用的一种解释,但是这种差异可能大到足以淹没所讨论的数据分析。 |
|
|
4
1
我可以解释一下为什么在应用FFT之前应用“加窗”的原因。 如前所述,FFT假设我们有一个无穷大的信号。当我们在有限时间T上取一个样本,这在数学上相当于用一个矩形函数乘以信号。 在时域中的乘法在频域中变成了卷积。矩形的频率响应是同步函数,即sin(x)/x。分子中的x是kicker,因为它衰减为O(1/N)。 如果频率分量正好是1/T的倍数,这并不重要,因为同步函数在所有点上都是零,除了频率是1。 然而,如果你有一个正弦在2点之间,你会看到同步功能采样在频率点。它像是一个放大版的同步功能和'鬼'信号造成的卷积下降到1/N或6dB/倍频程。如果你有一个信号在噪音底限以上60分贝,你将看不到主信号左右1000个频率的噪音,它将被同步功能的“裙子”淹没。 如果你使用不同的时间窗口,你会得到不同的频率响应,比如余弦会以1/x^2消失,对于不同的测量有专门的窗口。汉宁窗常用作通用窗。 关键在于,不应用任何“窗口函数”时使用的矩形窗口会产生比选择良好的窗口更糟糕的人工制品。i、 通过“扭曲”时间样本,我们可以在更接近“真实”的频率域中获得更好的图像,或者更接近于我们期望和希望看到的“真实”。 |
|
|
rjonnal · 如何缩放基于FFT的互相关,使其峰值等于皮尔逊ρ 8 年前 |
|
|
Rearden · fftw从r2c(实到复)数据计算分析信号 8 年前 |
|
|
scord · 如何从FFT中确定频率值[重复] 8 年前 |
|
|
Harvey Chang · blackfin bf537 LED闪烁 8 年前 |
|
|
Muhammad Akmal · 构造不同长度的向量 8 年前 |
|
|
Foad · 如何使用循环缓冲区[复制]将信号移动90度 8 年前 |
|
|
haleyk · 寻求有关FFT模板的帮助 8 年前 |
|
|
Peter · 回归技术的MATLAB代码问题 8 年前 |
|
|
Rickson · Python中卷积后的数据后处理 8 年前 |