无线通讯OFDM调制技术介绍和设计实现
数据以不同的速率被读出。图9讲述了pre-FFT的数据操作。在接收通道上,数据通过天线进入OFDM解调器,其后通常还接有IF调制解调器。这样,接收模式下的pre-FFT模块不会再对上行数据流模块施加背压。对于TDD操作,在pre-FFT数据缓冲时,可以复用post-FFT双端口RAM实现位反转,因为这些操作在时间上是错开的。 图9:循环前缀移除操作前后的数据包比较。 时钟方案:该设计中采用两个时钟域,clk_f和clk_s。FFT核运行在快时钟clk_f上。当时钟clk_f比clk_s快时,两个时钟域将会存在异步。握手信号将会被?入来同步域间的控制信号。尽管在实际系统中时钟clk_f的频率通常为clk_s频率的几个整数倍,但在这个设计中,两者频率也可以相同。这里,两个时钟必须同步。由于单缓冲器存储深度的限制,如果两个时钟同步而只是速率不同,就必须去掉解调器中的时钟同步模块。不过在实际系统中不需要考虑这一点,因为如果FFT核没有被复用就没必要使用pre-FFT缓冲器了。 接口和I/O端口:该设计实例使用了数据传输控制的Avalon Streaming协议。为了支持大小可变的FFT size、循环前缀,以及FFT方向运行时间(run time)的变化,必须对这些run time信号进行缓冲并把它们与输出数据数据包开始(SOP)信号对齐。Therefore, in every control module of OFDM modulation and demodulation, some logic is dedicated to signal alignment.因此,在OFDM调制解调中的每个控制模块中都有一些逻辑信号专用于信号对齐。 该实例中也通过Avalon Stream信号sink_ready(输入准备好信号)和source_ready(输出准备好信号)来支持背压。循环前缀插入模块中输入准备好延迟选0和输出准备好延迟选44。循环前缀移除模块的输入准备好延迟选0。不过,因为输出数据取自存储器,后面的缓冲器读取子模块的输出准备好延迟选2。由于FFT核为延迟0,为了实现与FFT核的连接,需要在在缓冲读模块与FFT核之间插入一个延迟适配器。延迟适配器用延迟2接收输入数据,然后用延迟0输出数据。适配器也支持背压并把可重配置的循环前缀的大小和FFT的方向信号与输出数据包对齐。 调制解调的输入输出信号是有符号的定点格式但位宽度是可配置的。在可变流模式中,IFFT核的输出数据具有基于最大IFFT size的满分辨率。如果必要,可以在循环前缀插入模块中切断数据序列,也可以设置位宽参数。图10所示为OFDM调制解调模块的I/O端口。 图10:OFDM调制解调模块的I/O接口。 本文小结 这篇文章提供了一个可重配置无线系统中的OFDM调制解调的实现例子。设计架构的核心为FFT模块的复用。 这个设计实例实现了3GPP LTE系统的OFDM调制解调,支持FFT size与循环前缀大小的可重配置。该设计实例也可用于WiMAX、WLAN以及其他基于OFDM的现代通讯系统。