【问题标题】:Not getting the desired FFT for sigma-delta modulator未获得 sigma-delta 调制器所需的 FFT
【发布时间】:2017-06-20 07:26:43
【问题描述】:

我在 simulink matlab 中有一个二阶 sigma delta 调制器。它工作正常我使用Vp - p = 1V 将正弦波形应用于输入,并且在输出中进行低通滤波后,我具有相同的波形(有一点延迟):

我为fft 得到这个: fft

sampling freq=256 MHz
input freq= 4MHz

采样和保持时钟周期为1/256MHZ 并且图片中看到的adc_out 块的采样时间是1/256MHz 我没有碰其他任何东西。

我根据这个公式计算了输入频率:

fin=(prime/N)* sampling freq

素数是素数,我选择257 N 是 fft 点数,我选择了 16384 采样频率为256MHz 因此我得到 4MHz 作为最佳输入频率,这些考虑因素,在 fft 之后,应该给我一个很好的 4MHz 脉冲和更高频率的整形噪声 正如你所看到的,我没有我想要的 4MHz 脉冲! 我就是不知道为什么!!

【问题讨论】:

    标签: matlab fft simulink dft adc


    【解决方案1】:

    只看图片,我会说这是windowing 问题。特别是,由于您不使用显式窗口,因此您使用的是块函数。一个区块的 FFT 是sin(x)/x,这和你的真实反应很复杂。

    【讨论】:

    • 是的,很可能就是这个问题。但是如何解决呢?我所做的对我来说似乎是正确的,因为基于 sigma-delta 调制器的理论,噪声水平被塑造成更高的频率,并且在 4MHz 时最低,但那里缺少信号音! @MSalters
    • @Fateme:几乎任何窗口函数都应该有帮助。在调用 fft(x) 之前将 x 乘以该窗口。
    • 我应用了一个 hann 窗口,我认为它最适合 sigma-delta 调制器类型,但我没有我的音调!代码:clc,关闭所有x=adc_out; w=hann(16385,'周期性'); x=x.*w; f=(abs(fft(x)))/16384; dbpsd=20*log10(f);频率=256*linspace(0,0.5,16384/2);情节(频率,dbpsd(1:1:16384/2))
    • @Fateme:很抱歉,但这可能是一个不错的新问题(带有前后图表)
    猜你喜欢
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    相关资源
    最近更新 更多