VIVADO FFT中输入数据正负号问题

FFTIP核中输入端口数据如何调整正负?

最近在使用FFT这一IP核时发现,当输入端的数据设置为有符号数时,在仿真界面上可以看出s端的数据与输入的数据波形完全不一样了。

img

但是当输入数据调整为无符号数时,波形又一致了。

img

查看手册时发现,s端输入数据送入时会区分实部虚部,以自己的代码为例,s端数据位共48位,[47:24]为虚部,[23:0]为实部,而送入的数据只是24位的实数,有正有负。我在这里选择将送入数据赋给[23:0],而高位则直接赋了24位0。不知道这样是否合理?

所以还想请问大家,当我送入的数据本身是有负数的时候,要如何解决fft的输入数据无法识别负数的问题呢?

这个 IP 我没用过,也没研究过
看你的说明 [47:24]为虚部,[23:0]为实部
用法:数据赋给[23:0],而高位则直接赋了24位0
感觉没问题,你送的数据有正数、负数是有符号数,这样做没问题。FFT 这样的IP输入端会正确识别负数的