OFDM信道调制解调的仿真及其FPGA设计(06-100)
——

调制过程中Matlab的IFFT结果同FPGA结果比较如表1所示。
表1 IFFT结果比较
经过FPGA的IFFT在非主频率点上有一些小的误差。这是因为在计算IFFT的时候,同样因为舍入问题,在本该为零的点产生一些极小的数值,从而在信号显示时出现这些毛刺。
对于表1,FFT峰值结果的误差,是因为FPGA采用的是16bit定点算法,在程序中有很多舍位处理带来的误差。至于Sine信号峰值的不同,那是因为将FPGA实现的IFFT结果再进行Matlab的fft()计算,而IFFT的那些毛刺,必然在时域上产生影响。
在FPGA实现时,一般是在完成IFFT以后将结果暂时存放在RAM中,然后在从RAM里读出数据时,采取部分重复读取的方式,将一部分数据重复复制,从而形成循环前缀。这样可以对连续的数据流进行变换处理,满足系统的实时性要求。
评论