1、简述
线性调频信号FFT与之前的8点、32点FFT在IP核的使用方面并没有什么不同;唯一需要注意的就是仿真中线性调频信号如何产生,如何读取到vivado,以及数据位宽。此处以Matlab生成数据,导入到Vivado进行处理,并不代表数据只能这样产生和传入:
LFM信号产生:Mtalab生成对应参数下的LFM信号
信号存储:Mtalab中生成的LFM信号按照二进制存储到TXT文件(Vivado中一般按照2进制、16进制读取数据)
Vivado读取数据:Vivado读取TXT中数据,作为FFT输入
FFT:调用FFT核,对输入进行处理
数据输出:FFT处理结果按照十进制存储到TXT文件,可被Matlab读出。
2、仿真设计与结果
注意1:应注意输入信号位宽,以及输入信号对应的输出位宽;如果输入信号位宽较大,很可能导致输出位宽超过设计的输出位宽,导致错误。——这也是之前一致仿真出错的原因之一。
注意2:应注意Vivado中处理二进制补码,而不是简单的反码。因此Matlab数据必须转换为二进制补码,才能被Vivado正确读取。
Matlab数据存储:
%% 转换为16bit 2进制数据(4-二进制补码)
size = 8;
re_y_ = floor(real(y)*2^size);
im_y_ = floor(imag(y)*2^s