vivado Fast Fourier Transform 9.1ip核使用
一、前言
FFT傅里叶变换是将时域信号转换到频域,从而对一些在时域上难以分析的信号在频域上进行处理。关键参数:FFT采样频率(Fs)、FFT采样点数(N)、频率分辨率(Δf )。
- 采样频率:根据奈奎斯特采样定理,采样频率需大于信号频率的两倍; 指ADC或数据源的实际采样频率
- FFT采样点数:代表对信号在频域的采样数;
- 频率分辨率 :Δf = fs / N,能够区分两个相邻频率分量的最小频率间隔;
二、FFT ip核使用
2.1 ip核接口
时钟与复位接口
接口名称 | 方向 | 说明 |
---|---|---|
aclk | Input | FFT核的主时钟,通常设置为数据采样频率或更高 |
aresetn | Input | 异步复位(低电平有效),复位时:所有内部寄存器清零,FFT核停止工作 |
数据输入接口(AXI-Stream)
接口名称 | 方向 | 说明 |
---|---|---|
s_axis_data_tvalid | Input | 输入数据有效,与tready配合实现AXI-Stream握手 |
s_axis_data_tready | Output | FFT核准备好接收数据,当tvalid和tready都为高时,数据传输有效 |
s_axis_data_tdata | Input | 输入的数据样本; 复数格式(实部+虚部)或实数格式; 位宽:根据配置确定(如16位、32位等) |
s_axis_data_tlast | Input | 指示当前数据帧的最后一个样本,触发FFT计算开始。收集完一帧数据后置高 |
//s_axis_data_tdata
// 实数输入格式
.s_axis_data_tdata({
16'h0000, adc_data[15: