用FPGA设计软件无线电和调制解调器
时间:09-21
来源:互联网
点击:
本文以16-QAM RF发射数据泵的设计为例,介绍利用FPGA设计数字滤波器的技巧和器件选择方法,说明执行分布式计算时FPGA比DSP的优越之处。
所有数字逻辑的基本结构
16-QAM调制器
编码和码元映射
平方根升余弦滤波器
设计技巧
5 MHz载波
分布式计算(DA)技术
滤波器的实现
用现场可编程门阵列(FPGA)设计软件无线电和调制解调器可与DSP芯片媲美。虽然FPGA可轻而易举地实现卷积编码器等复杂逻辑功能,但在实现大量复杂计算方面却有很大的缺陷。即使用最快的FPGA来实现矩阵乘法器,其成本和性能也抵不上一个仅值5美元的DSP芯片。在用CAD工具设计时DSP仍是首选芯片,但是随着分布式计算(DA)技术的应用,FPGA再次受到设计师的喜爱。
FPGA的特性之一是结构灵活。事实上无线和调制解调数据通道的功能模块很容易映射到独立和并行的硬件节点上。采用一个只能分时运行的数字信号处理器时,调度多个时间要求紧迫的任务需要非常复杂的编程,而采用FPGA就避免了这一问题。
我们将在设计16-QAM射频发射数据泵的同时介绍FPGA特性,并详细描述如何方便地把数据通道功能模块转换为Xilinx 4000系列FPGA的逻辑电路,从而准确地估计所需逻辑电路的数量。虽然满足相同系统需求及使用同一类型FPGA的16-QAM数据泵的设计曾在公开文献中发表过,但报道中的逻辑电路数量似乎比实际需要多得多。为了急于投放市场,产品很可能不用CAD工具进行设计。完全依赖CAD工具也未必总能得出最优的方案,还要付出大量辛勤的汗水、经验和创造性工作。
所有数字逻辑的基本结构
只要有足够的与非门及或非门等通用逻辑门即可构建任何数字逻辑。FPGA具有充足的逻辑门。Xilinx 4000系列的逻辑门采用真值表的形式,或者采用更为通用的16 字 x 1比特查找表(LUT)的形式,它可实现四个输入变量(查找表的地址线)的任意布尔函数功能。由于产生的函数功能通常相当于多个与非门的组合,所以LUT被视为基本的逻辑单元。Xilinx 4000系列可配置逻辑模块(CLB)包括两个16字的LUT,可组合产生五输入变量的任意布尔函数。此外LUT还可设置成两个16 x 1 RAM或一个32 x 1 RAM。
CLB成二维方阵排列,CLB及它们之间的互连可以分别配置。最小的XC4002包含一个8 x 8的CLB矩阵,最大的XC4085XL则包含一个48 x 48的CLB矩阵。每个LUT连接一个高达100 MHz的触发器。
16-QAM调制器
16-QAM调制器包括RF发射数据泵的关键功能模块(见图1)。20-Mbps串行数据分为4比特码元组(symbol)后,以每秒5兆码元的速率并行送至一个差分编码器和码元映射器(symbol mapper)。该映射器产生3比特的正交分量对。然后这些分量对由一对平方根升余弦滤波器进行脉冲整形,经过插值达到每秒20兆码元,再由5MHz载波进行调制,将各输出相加后进行数模转换。设计的关键是采用一对插值脉冲整形滤波器。
为了有效地实现这种设计方法,有必要在确定逻辑门的总数时,将编码和映射功能模块以及一个5MHz调制器也考虑进去。
编码和码元映射
在确定编码器和信号映射器的逻辑数目时,我们可以借鉴过去标准调制解调器的设计。如V.32中的编码器包括一个提供180度双相保护的差分编码器和一个能加入冗余以减小接收器的位误差率(BER)的卷积编码器。编码器和映射器都是有限状态机实现的,所有状态由五个寄存器(2.5个 CLB)实现,连接逻辑由八个二输入异或门(4个CLB)及三个二输入与门(1.5 CLB)构成。在这个16-QAM发送器中,一个串并转换寄存器(2个CLB)捕获到四个20-Mbps的串行比特后形成一个4比特码元,这样编码器就可以处理降低到每秒5兆码元的数据流,而这种速率CLB很容易处理。数据通道控制需要沿着数据通道的寄存器进行时钟控制,所需CLB的数量少于15个。接着,一个经编码的5比特输出码元对应映射器的地址线,很简单,该映射器是一对3比特输出的LUT。
这些输出作为正交分量(I和Q) 映射一个二维平面(星座)内的码元位置。64个交叉点(星)中仅有16个代表有效的码元位置。映射器的大小为32字 x 3比特 x 2 即6个CLB。这些功能模块的CLB总数是31个。
平方根升余弦滤波器
平方根升余弦滤波器是在传输通道的有限带宽内抑制码元相互干扰的一种可行方法。频谱由发射器和接收器单元分别调制,形成了平方根升余弦滤波器。滤波器形状及其系数用QEDesign 1000软件辅助开发。图2为12比特定点计算的32抽头有限脉冲响应(FIR)滤波器的响应图。我们将采用一个12比特滤波器模型并确定其逻辑门数(采用12比特量化的方式,QEDesign程序仅需28个对称系数,但是这种设计方案将使用一个完全32抽头对称FIR滤波器)。
所有数字逻辑的基本结构
16-QAM调制器
编码和码元映射
平方根升余弦滤波器
设计技巧
5 MHz载波
分布式计算(DA)技术
滤波器的实现
用现场可编程门阵列(FPGA)设计软件无线电和调制解调器可与DSP芯片媲美。虽然FPGA可轻而易举地实现卷积编码器等复杂逻辑功能,但在实现大量复杂计算方面却有很大的缺陷。即使用最快的FPGA来实现矩阵乘法器,其成本和性能也抵不上一个仅值5美元的DSP芯片。在用CAD工具设计时DSP仍是首选芯片,但是随着分布式计算(DA)技术的应用,FPGA再次受到设计师的喜爱。
FPGA的特性之一是结构灵活。事实上无线和调制解调数据通道的功能模块很容易映射到独立和并行的硬件节点上。采用一个只能分时运行的数字信号处理器时,调度多个时间要求紧迫的任务需要非常复杂的编程,而采用FPGA就避免了这一问题。
我们将在设计16-QAM射频发射数据泵的同时介绍FPGA特性,并详细描述如何方便地把数据通道功能模块转换为Xilinx 4000系列FPGA的逻辑电路,从而准确地估计所需逻辑电路的数量。虽然满足相同系统需求及使用同一类型FPGA的16-QAM数据泵的设计曾在公开文献中发表过,但报道中的逻辑电路数量似乎比实际需要多得多。为了急于投放市场,产品很可能不用CAD工具进行设计。完全依赖CAD工具也未必总能得出最优的方案,还要付出大量辛勤的汗水、经验和创造性工作。
所有数字逻辑的基本结构
只要有足够的与非门及或非门等通用逻辑门即可构建任何数字逻辑。FPGA具有充足的逻辑门。Xilinx 4000系列的逻辑门采用真值表的形式,或者采用更为通用的16 字 x 1比特查找表(LUT)的形式,它可实现四个输入变量(查找表的地址线)的任意布尔函数功能。由于产生的函数功能通常相当于多个与非门的组合,所以LUT被视为基本的逻辑单元。Xilinx 4000系列可配置逻辑模块(CLB)包括两个16字的LUT,可组合产生五输入变量的任意布尔函数。此外LUT还可设置成两个16 x 1 RAM或一个32 x 1 RAM。
CLB成二维方阵排列,CLB及它们之间的互连可以分别配置。最小的XC4002包含一个8 x 8的CLB矩阵,最大的XC4085XL则包含一个48 x 48的CLB矩阵。每个LUT连接一个高达100 MHz的触发器。
16-QAM调制器
16-QAM调制器包括RF发射数据泵的关键功能模块(见图1)。20-Mbps串行数据分为4比特码元组(symbol)后,以每秒5兆码元的速率并行送至一个差分编码器和码元映射器(symbol mapper)。该映射器产生3比特的正交分量对。然后这些分量对由一对平方根升余弦滤波器进行脉冲整形,经过插值达到每秒20兆码元,再由5MHz载波进行调制,将各输出相加后进行数模转换。设计的关键是采用一对插值脉冲整形滤波器。
为了有效地实现这种设计方法,有必要在确定逻辑门的总数时,将编码和映射功能模块以及一个5MHz调制器也考虑进去。
编码和码元映射
在确定编码器和信号映射器的逻辑数目时,我们可以借鉴过去标准调制解调器的设计。如V.32中的编码器包括一个提供180度双相保护的差分编码器和一个能加入冗余以减小接收器的位误差率(BER)的卷积编码器。编码器和映射器都是有限状态机实现的,所有状态由五个寄存器(2.5个 CLB)实现,连接逻辑由八个二输入异或门(4个CLB)及三个二输入与门(1.5 CLB)构成。在这个16-QAM发送器中,一个串并转换寄存器(2个CLB)捕获到四个20-Mbps的串行比特后形成一个4比特码元,这样编码器就可以处理降低到每秒5兆码元的数据流,而这种速率CLB很容易处理。数据通道控制需要沿着数据通道的寄存器进行时钟控制,所需CLB的数量少于15个。接着,一个经编码的5比特输出码元对应映射器的地址线,很简单,该映射器是一对3比特输出的LUT。
这些输出作为正交分量(I和Q) 映射一个二维平面(星座)内的码元位置。64个交叉点(星)中仅有16个代表有效的码元位置。映射器的大小为32字 x 3比特 x 2 即6个CLB。这些功能模块的CLB总数是31个。
平方根升余弦滤波器
平方根升余弦滤波器是在传输通道的有限带宽内抑制码元相互干扰的一种可行方法。频谱由发射器和接收器单元分别调制,形成了平方根升余弦滤波器。滤波器形状及其系数用QEDesign 1000软件辅助开发。图2为12比特定点计算的32抽头有限脉冲响应(FIR)滤波器的响应图。我们将采用一个12比特滤波器模型并确定其逻辑门数(采用12比特量化的方式,QEDesign程序仅需28个对称系数,但是这种设计方案将使用一个完全32抽头对称FIR滤波器)。
FPGA 滤波器 DSP 无线电 编码器 射频 Xilinx 电路 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)