CN103873219A - 一种prach基带信号的idft及子载波映射实现方法 - Google Patents

一种prach基带信号的idft及子载波映射实现方法 Download PDF

Info

Publication number
CN103873219A
CN103873219A CN201210553299.4A CN201210553299A CN103873219A CN 103873219 A CN103873219 A CN 103873219A CN 201210553299 A CN201210553299 A CN 201210553299A CN 103873219 A CN103873219 A CN 103873219A
Authority
CN
China
Prior art keywords
idft
sequence
module
baseband signal
fft
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201210553299.4A
Other languages
English (en)
Other versions
CN103873219B (zh
Inventor
何苏勤
邹家畅
刘兵
唐安
王泽�
梅祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Chemical Technology
Original Assignee
Beijing University of Chemical Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Chemical Technology filed Critical Beijing University of Chemical Technology
Priority to CN201210553299.4A priority Critical patent/CN103873219B/zh
Publication of CN103873219A publication Critical patent/CN103873219A/zh
Application granted granted Critical
Publication of CN103873219B publication Critical patent/CN103873219B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种长期演进(LTE)系统下PRACH基带信号的离散傅里叶逆变换(IDFT)及子载波映射实现方法。方法包括以下步骤:对前导序列N取共轭,分解为二维矩阵L×M,转换为小尺寸FFT运算;在序列同步模块控制下,使用载波调制因子对上述数据进行调制,完成子载波映射。本发明通过使用小尺寸FFT等效实现大尺寸IDFT,在序列同步模块控制下进行子载波映射,避免序列重排所带来的延时,解决了前导序列的大尺寸IDFT在硬件中难以实现的问题,减少了硬件消耗,同时还能够降低基带信号在产生过程中的失真与延时。本发明可根据带宽灵活配置,应用于不同的系统带宽下。

Description

一种PRACH基带信号的IDFT及子载波映射实现方法
技术领域
本发明涉及无线通信领域,且更具体地涉及长期演进系统中PRACH(Physical Random Access Channel,物理随机接入信道)基带信号生成中的大尺寸IDFT(Inverse Discrete Fourier Transform,离散傅里叶逆变换)和子载波映射实现方法。
背景技术
在LTE(Long Term Evolution,长期演进)无线通信系统的随机接入过程中,需要完成随机接入前导序列到PRACH物理层的映射,以生成并发送随机接入基带信号。
物理随机接入信道(PRACH)是承载随机接入过程的物理基础,包括一个随机接入前导序列的发送链路和一个前导序列接收检测链路,是实现随机接入过程的关键技术。
然而,随机接入前导序列的发送和接收链路分别涉及一个大尺寸的IDFT和DFT(Discrete Fourier Transform,离散傅里叶变换)运算,对于20MHz的频谱分配高达24576个点运算,在硬件中很难实现。因此,大尺寸IDFT/DFT的实现方法是实现随机接入物理链路的关键之处。
为了避免进行大尺寸IDFT运算,通常的一种选择方法是使用较小尺寸的IDFT,实际上是IFFT(Inverse Fast Fourier Transform,快速傅里叶变换),且通过时域上采样和滤波(混合时频域形式)来完成随机接入基带信号的生成。但是采用此方法虽然降低了计算的复杂度,但生成的随机接入基带信号却存在较严重的失真。
因此,在随机接入物理链路的实现上,如何以最小的硬件消耗和尽量小的处理延时实现大尺寸的IDFT/DFT变换,具有十分重要的意义。
发明内容
本发明提供了一种长期演进(LTE)系统下PRACH基带信号的离散傅里叶逆变换(IDFT)及子载波映射实现方法。该方法通过将一维前导序列二维化,采用小尺寸FFT等效实现大尺寸IDFT,同时设计了两个序列同步器,控制完成载波映射,解决了随机接入物理链路中的大尺寸IDFT硬件实现困难,同时还能够降低基带信号在产生过程中的失真与延时。
实现本发明的具体技术手段有:
1.一种PRACH基带信号的IDFT及子载波映射实现方法,该方法通过FPGA(Field Programmable Gate Array,即现场可编程门阵列)硬件平台实现,由前导序列提取控制模块(1)、取共轭一模块(2)兵乓FFT模块(3)、序列同步模块一(4)、乘法器一(5)、旋转因子产生(6)、中间数据缓存模块(7)、兵乓DFT模块(8)、序列同步模块二(9)、取共轭二(10)、乘法器二(11)、调制因子产生模块(12)、输出基带信号缓存(13)、前缀插入(14)构成,其特征在于:
1.1.根据公式: 
Figure BDA0000260936821
,将原随机接入基带信号产生公式中的IDFT(离散傅里叶逆变换)变换转换为DFT(离散傅里叶变换)变换,避免直接对IDFT变换进行二维变换,最终结果不需要再一次进行乘法运算操作;
1.2.根据公式: s ( k ) = Σ n 0 = 0 M - 1 { [ Σ n 1 = 0 L - 1 X u , C v * ( n 1 , n 0 ) · e - j 2 π n 1 k 0 L ] e - j 2 π n 0 k 0 N IDFT } e - j 2 π n 0 k 1 M ,其中NIDFT=L×M,将一维DFT变换转换为二维FFT/DFT的两次变换,通过两个小尺寸FFT/DFT模块等效完成大尺寸DFT运算;
1.3.二维FFT/DFT均采用乒乓操作实现流水化处理,同时设计了两个与二维数据流同步的序列同步模块,用于标识二维序列在原一维序列中的位置等控制作用;其中序列同步模块一(4)可用于同步前级FFT序列与特定旋转因子(6)的乘法逻辑,序列同步模块二(9)可提供与IDFT数据流同步的载波相位因子;
2.前述步骤1.2中首先进行M次L点FFT运算:
s ( k 0 ) = Σ n 1 = 0 L - 1 X u , C v * ( n 1 , n 0 ) · e - j 2 π n 1 k 0 L , 0 ≤ k 0 ≤ L - 1,0 ≤ n 1 ≤ L - 1,0 ≤ n 0 ≤ M - 1 ,其中,
Figure BDA0000260936824
为前级已计算好的频域形式的前导序列的共轭;L点FFT运算采用乒乓流水线结构,可根据硬件资源情况和处理速度要求进行切换。
3.前述步骤1.2中,序列同步模块一(4)和M次L点FFT运算并行工作,控制乒乓FFT模块(3)的工作,并同步控制特定旋转因子的产生,以及控制FFT变换的结果与特定旋转因子相乘,以提高处理速度;
4.前述步骤1.2中,序列同步模块二(9)提供IDFT序列的同步地址,最终的IDFT序列不需要重新排序,节省处理时间;该同步地址与上层指示的频域位置索引
Figure BDA0000260936825
共同组成了载波调制因子的相位;由调制因子的相位通过调制因子产生模块(12)完成相位到复数调制因子的转换;使用载波调制因子调制IDFT变换后的数据,完成子载波映射,并在序列同步模块二(9)的控制下,将基带数据(有用部分)写入存储器(13),并插入循环前缀(14)。
附图说明
图1 为本发明所提出的PRACH基带信号的IDFT及子载波映射实现方法的模块框图
图2 为乒乓FFT运算的硬件结构图
图3为乒乓DFT运算的硬件结构图
图4为乒乓FFT运算内部状态机状态转移图
图5为调制因子产生模块的电路单元框图
图6为PRACH基带信号的子载波位置示意图
具体实施方式
图1所示为IDFT变换及子载波映射(IDFT & 子载波映射模块)实现方法的模块框图,包括4种外部信号(IQ数据、完成信号、控制信号、PRACH基带信号)和14个内部模块(标注1到14),各外部端口的输入输出以及各内部模块中的数据都以二进制补码形式表示,IDFT及子载波映射模块以及其内部各个模块均遵守AXI总线协议。其中,外部端口主要包括1个控制输入,1个控制输出,1个数据输入和1个数据输出;输入信号包括:完成信号输入信号,主要用于通知IDFT&子载波映射模块已完成前导序列的存储;IQ数据输入信号由I、Q数据组成,其中数据I表示前导序列实部,数据Q表示前导序列虚部。输出信号包括:控制信号:用于控制存储器输出前导序列;PRACH基带信号:输出插入循环前缀后的PRACH基带信号。
设前导格式0,系统带宽为10MHz,FDD模式下,下面通过附图及具体实施例对本发明做进一步的详细说明。
在随机接入物理(PRACH)基带信号的产生过程中,前导序列经过频域变换后存放在存储器RAM(深度为839,宽度为32)中,频域形式的前导序列存储完以后,发出一个完成信号(Done信号)通知下一个模块(IDFT & 子载波映射模块)。
图2给出了乒乓FFT模块(3)的硬件结构图,在乒乓FFT模块(3)准备好接收数据的前提下,前导序列提取控制模块(1)负责控制存储器(RAM)的输出,并由取共轭一模块(2)对输出数据取共轭,其产生的读出数据为:
x ( n ) = X u , C v * ( M · n 1 + n 0 ) , when ( M · n 1 + n 0 ≤ 839 ) 0 , others - - - ( 1 )
式(1)中0≤n1≤L-1,0≤n0≤M-1,“*”表示取共轭,共轭操作由取反运算和加法运算完成,复数序列x(n)长度为12288,分为同向I、正交Q两路输入下一个模块,并只需对Q路共轭,在序列读取的过程中完成一维序列到矩阵序列的转换。
为了提高系统的吞吐量,对前级的1024点FFT运算进行逻辑复制,使用两个FFT通道进行运算,减少了处理时间:
X ( k 0 , k 1 ) = Σ n 1 = 0 L - 1 s ( n 1 , n 0 ) · e j 2 πn 1 k 0 L - - - ( 2 )
图4为乒乓FFT运算内部状态机状态转移图,乒乓FFT模块(3)的工作方式为:在第一个运算周期,选择FFT1作为处理单元;在第二个运算周期,通过“输入数据流选择单元”的切换,选择FFT2作为处理单元,与此同时,将FFT模块一的处理数据存储到缓冲器一(FIFO1);在第三个运算周期,通过“输入数据流选择单元”的再次切换,选择FFT模块一作为处理单元,与此同时,将FFT模块二的处理数据存储到缓冲器二(FIFO2)。如此循环,周而复始M/2次。
序列同步模块一(4)控制乒乓FFT模块(3)的输出,以记录二维矩阵的每列的信息,并由二维矩阵的列信息控制旋转因子产生模块(6)产生严格一一对应的旋转因子的同步相位,并由坐标旋转数字计算方法完成相位-旋转因子的转换,得到与二维矩阵每列对应的旋转因子
Figure BDA0000260936828
。在序列同步模块一(4)的同步下,乘法器一模块(5)将二维序列的每列的变换结果与旋转因子相乘,并将结果保存至缓冲模块(7)。缓冲模块(7)的作用在于匹配前后级数据流速,实现流水化操作。
序列同步模块一(4)严格控制乘法器一模块(5)将旋转因子和每列的变换结果相乘,其中
X ′ = Σ n 1 = 0 L - 1 s ( n 1 , n 0 ) · e j 2 πn 1 k 0 L · e j 2 π n 0 k 0 N IDFT - - - ( 3 )
其中,0≤k0≤L-1,在10MHz系统带宽下,NIDFT=12288。乒乓FFT模块循环工作M/2次,旋转因子的叠加循环进行M次后,完成了矩阵序列的所有列的变换操作,在序列同步模块一(4)的控制下,将数据送入缓冲器(RAM)(7)中。缓冲器(7)的引入可以匹配前后级接口间数据流速,实现流水化工作。
第二阶段的小尺寸DFT变换由乒乓DFT模块(8)完成,采用与第一阶段类似的乒乓结构(如图3所示),并行循环工作L/2次,完成矩阵序列的各行的M点DFT变换,其具体的工作状态转移模式与乒乓FFT模块(3)的工作模式相似(见图4),在此不再赘述。最后由取共轭二模块(10)对数据流进行取反和求补,将频域数据转换为时域数据。
为了提高数据吞吐率,本发明中坐标旋转数字计算方法(CORDIC)采用多级流水线结构,图5给出了调制因子产生模块(12)的电路单元框图。
序列同步模块二(9)控制调制因子产生模块(12)产生与数据流严格时序同步的载波调制因子,并控制乘法器二模块(11)将数据流与载波调制因子相乘,完成子载波映射;序列同步模块二(9)提供调制数据的同步地址,将调制数据保存至存储器(13),完成所有有效数据的存储;最后,由前缀插入模块(14)截取有效数据的末尾一段数据,作为随机接入基带信号的头部。循环前缀的长度选择由小区半径大小决定,目的在于抵消无线信号在传输过程中的往返时延和时延扩展,循环前缀的长度应该满足:
循环前缀长度≥小区内最大往返时延+最大时延扩展
至此完成了PRACH基带信号的生成。
综上所述,前导格式0,系统带宽为10MHz,FDD模式下,通过联合使用1024点FFT和12点DFT运算,等效完成了12288大尺寸数IDFT运算,降低了硬件消耗,提高了处理速度,同时保证了基带信号的保真度。
在传统的的FFT变换二维分解方法中,在分别完成了列和行的处理后,需要对输出数据重新排序,带来了一定的延时。
本发明通过设计序列同步模块一(4)和序列同步模块二(9),分别控制二维分解方法中第一阶段的输出数据和第二阶段的输出数据同步的和后级模块进行相应的运算,避免了序列重排造成的延时。
图6为PRACH基带信号的子载波位置示意图,PRACH信号位于PUSCH(物理上行共享信道)和PUCCH(物理上行控制信道)之间,共占用864个子载波,其中839个是有用子载波,低频位置留出13个子载波用于和PUSCH保持一定的保护间隔;高频位置留出12个子载波用于和PUCCH保持一定的保护间隔。在等效完成IDFT运算后,序列同步模块二(9)根据从MAC层接收的指示的频域位置索引和序列的同步地址共同组成了载波调制因子的相位角,并使用多级流水线结构的坐标旋转数字计算方法完成相位角向载波调制因子的转换。在序列同步模块二(9)的同步作用下,完成对IDFT变换后数据的子载波调制、PRACH基带信号(有用部分)的生成;在序列同步模块二(9)的控制下,存入基带信号缓存器(RAM)(13),仅需要先读取末尾1584个地址的数据(完成循环前缀插入),再依次按地址从低到高读取整个存储数据,即完成了PRACH基带信号的生成。
需要指出的是,本发明不仅仅适用于随机接入的发送端,只需要进行微小的改动,即:去除等效IDFT变换前后的两个共轭模块((2)和(10)),同时对调制因子产生模块(12)取共轭。改动后的本发明就可同样适用于随机接入接收链路的大尺寸DFT变换和子载波解映射。
最后应说明的是:以上实施例仅用以说明本发明实施例在某个确定系统带宽下的技术方案,而非对其限制;本发明可适用于不同的系统带宽下;凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。

Claims (4)

1.一种PRACH基带信号的IDFT及子载波映射实现方法,该方法通过FPGA(Field Programmable Gate Array,即现场可编程门阵列)硬件平台实现,由前导序列提取控制模块(1)、取共轭一模块(2)兵乓FFT模块(3)、序列同步模块一(4)、乘法器一(5)、旋转因子产生(6)、中间数据缓存模块(7)、兵乓DFT模块(8)、序列同步模块二(9)、取共轭二(10)、乘法器二(11)、调制因子产生模块(12)、输出基带信号缓存(13)、前缀插入(14)构成,其特征在于:
1.1.根据公式: 
Figure FDA0000260936811
 ,将原随机接入基带信号产生公式中的IDFT(离散傅里叶逆变换)变换转换为DFT(离散傅里叶变换)变换,避免直接对IDFT变换进行二维变换,最终结果不需要再一次进行乘法运算操作;
1.2.根据公式:
Figure FDA0000260936812
 ,其中NIDFT=L×M,将一维DFT变换转换为二维FFT/DFT的两次变换,通过两个小尺寸FFT/DFT模块等效完成大尺寸DFT运算;
1.3.二维FFT/DFT均采用乒乓操作实现流水化处理,同时设计了两个与二维数据流同步的序列同步模块,用于标识二维序列在原一维序列中的位置等控制作用;其中序列同步模块一(4)可用于同步前级FFT序列与特定旋转因子(6)的乘法逻辑,序列同步模块二(9)可提供与IDFT数据流同步的载波相位因子。
2.根据权利要求1所述的一种PRACH基带信号的IDFT及子载波映射实现方法,其特征在于:所述步骤1.2中第一阶段,首先进行M次L点FFT运算:
其中,
Figure FDA0000260936814
 为前级已计算好的频域形式的前导序列的共轭;L点FFT运算采用乒乓流水线结构,可根据硬件资源情况和处理速度要求进行切换。
3.根据权利要求1所述的一种PRACH基带信号的IDFT及子载波映射实现方法,其特征在于:所述步骤1.2中,序列同步模块一(3)和M次L点FFT运算并行工作, 控制乒乓FFT模块(3)的工作,并同步控制特定旋转因子(6)的产生,以及控制FFT变换的结果与特定旋转因子(6)相乘,以提高处理速度。
4.根据权利要求1所述的一种PRACH基带信号的IDFT及子载波映射实现方法,其特征在于:所述步骤1.3中,序列同步模块二(6)提供IDFT序列的同步地址,最终的IDFT序列不需要重新排序,节省处理时间;该同步地址与上层指示的频域位置索引
Figure FDA0000260936815
 共同组成了载波调制因子的相位;由调制因子的相位通过相位因子产生模块(7)完成相位到复数调制因子的转换;使用载波调制因子调制IDFT变换后的数据,完成子载波映射,并在序列同步模块二(9)的控制下,将基带数据(有用部分)写入存储器(13),并插入循环前缀(14)。 
CN201210553299.4A 2012-12-18 2012-12-18 一种prach基带信号的idft及子载波映射实现方法 Expired - Fee Related CN103873219B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210553299.4A CN103873219B (zh) 2012-12-18 2012-12-18 一种prach基带信号的idft及子载波映射实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210553299.4A CN103873219B (zh) 2012-12-18 2012-12-18 一种prach基带信号的idft及子载波映射实现方法

Publications (2)

Publication Number Publication Date
CN103873219A true CN103873219A (zh) 2014-06-18
CN103873219B CN103873219B (zh) 2017-09-08

Family

ID=50911372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210553299.4A Expired - Fee Related CN103873219B (zh) 2012-12-18 2012-12-18 一种prach基带信号的idft及子载波映射实现方法

Country Status (1)

Country Link
CN (1) CN103873219B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106470179A (zh) * 2015-08-21 2017-03-01 展讯通信(上海)有限公司 移动终端上行信号生成方法及装置
CN108809883A (zh) * 2018-07-13 2018-11-13 电信科学技术第五研究所有限公司 一种prach基带信号的dft实现结构及实现方法
CN108933752A (zh) * 2018-07-13 2018-12-04 电信科学技术第五研究所有限公司 一种prach基带信号的idft实现结构及实现方法
CN109962764A (zh) * 2017-12-26 2019-07-02 中国移动通信集团湖南有限公司 一种fbmc模块及基于fbmc模块的分组传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860508A (zh) * 2009-04-13 2010-10-13 中兴通讯股份有限公司 一种fft变换的复用装置及方法
CN101938329A (zh) * 2010-08-30 2011-01-05 中国科学院计算技术研究所 产生lte prach基带信号的方法及其系统
CN102694709A (zh) * 2012-05-18 2012-09-26 天津大学 基于dmt的高速1553b通信总线发送方法与装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860508A (zh) * 2009-04-13 2010-10-13 中兴通讯股份有限公司 一种fft变换的复用装置及方法
CN101938329A (zh) * 2010-08-30 2011-01-05 中国科学院计算技术研究所 产生lte prach基带信号的方法及其系统
CN102694709A (zh) * 2012-05-18 2012-09-26 天津大学 基于dmt的高速1553b通信总线发送方法与装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106470179A (zh) * 2015-08-21 2017-03-01 展讯通信(上海)有限公司 移动终端上行信号生成方法及装置
CN109962764A (zh) * 2017-12-26 2019-07-02 中国移动通信集团湖南有限公司 一种fbmc模块及基于fbmc模块的分组传输方法
CN109962764B (zh) * 2017-12-26 2021-09-21 中国移动通信集团湖南有限公司 一种fbmc模块及基于fbmc模块的分组传输方法
CN108809883A (zh) * 2018-07-13 2018-11-13 电信科学技术第五研究所有限公司 一种prach基带信号的dft实现结构及实现方法
CN108933752A (zh) * 2018-07-13 2018-12-04 电信科学技术第五研究所有限公司 一种prach基带信号的idft实现结构及实现方法
CN108809883B (zh) * 2018-07-13 2020-04-17 电信科学技术第五研究所有限公司 一种prach基带信号的dft实现系统及实现方法
CN108933752B (zh) * 2018-07-13 2020-04-17 电信科学技术第五研究所有限公司 一种prach基带信号的idft实现结构及实现方法

Also Published As

Publication number Publication date
CN103873219B (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
CN113765581B (zh) 基于压缩感知与波束对齐的ris快时变信道估计方法
CN104883238B (zh) 一种多载波时分复用调制/解调方法及系统
CN103873219A (zh) 一种prach基带信号的idft及子载波映射实现方法
CN102710309B (zh) 适用于大规模天线阵列的同步信号发射方法
CN1816030A (zh) 正交频分复用系统中估计和补偿频率偏差的方法和装置
CN104767706A (zh) 一种mimo ofdm定时同步装置
CN101331479B (zh) 快速傅里叶变换级电路、处理器和方法及正交频分复用接收器
CN108199988A (zh) 频率域gfdm低复杂度最小均方误差接收方法及接收机
CN101789918A (zh) 并行信道均衡方法
CN103001905B (zh) Prach基带信号的生成方法及装置
CN106453192A (zh) 一种基于屏蔽互补二元序列偶的符号同步方法及系统
Shaheen et al. Design and implementation of FBMC/OQAM transceiver for 5G wireless communication system
CN102130878A (zh) 一种基于IEEE802.11a的OFDM帧定时同步方法
CN103313397A (zh) 一种lte下行系统资源映射的实现方法
CN102255838B (zh) 一种用于sc-fdma的快速傅立叶处理方法
CN103188192B (zh) 应用于视频传感器的基带处理装置
Li et al. FPGA Acceleration Architecture Design and Implementation of Satellite Ground Fusion High-Speed Transmission Link
CN111010360B (zh) 基于预编码的混合载波调制方法
CN104393947A (zh) 频域zc序列的实现方法及装置
CN101340234B (zh) 一种用于映射物理随机接入信道的方法
He et al. An efficient implementation of PRACH generator in LTE UE transmitters
CN103379075B (zh) 一种确定随机接入zc序列的频域序列的方法和设备
CN103634241B (zh) 一种支持多模式的并行fft信号处理器及方法
CN102023963B (zh) 高速多模式时频域变换方法
CN102761505B (zh) 频偏估计方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170908

Termination date: 20171218

CF01 Termination of patent right due to non-payment of annual fee