基于lte系统的fft/ifft变换装置的制造方法
【技术领域】
[0001] 本发明设及数字信号处理领域、通信领域,特别是设及基于LTE系统的FFT/IFFT变 换装置。
【背景技术】
[0002] LTE系统采用了 15KHZ的子载波带宽,通过设置不同子载波数目,更确切的说是映 射为不同资源块(PRB)数目实现1.4M化到20MHz可变的系统带宽,LTE系统定义的6种不同的 系统带宽。运6种传输带宽对应的DFT/IDFT变换点数分别为128、256、512、1024、1536和 2048。针对LTE系统要求的运六种变换点数,主流FPGA厂商例如XILINX公司和ALTERA公司均 提供了基于各自FFT/IFFTIP核的解决方案,但其共有的缺陷是无法只使用一个IP核满足既 能同时实现运六种传输带宽的要求又能进行块浮点FFT/IFFT处理,专利《一种1536点的 FFT/IFFT实现方法及装置》(【申请号】200910172964.3)提出了一种1536点FFT/IFFT实现方 法及装置,无法支持块浮点FFT/IFFT变换,而且需要使用并存储1536个旋转因子,运无疑会 耗费更多的存储资源。
【发明内容】
[0003] 本发明实施例的目的是提供基于LTE系统的FFT/IFFT变换装置,W支持所有传输 带宽的处理W及支持块浮点FFT/IFFT变换。
[0004] 为实现上述目的,本发明提供了如下方案:
[0005] 一种基于LTE的FFT/IFFT变换装置,包括输入兵鸟缓存单元、512点FFT/IFFT处理 单元、输入控制单元、基r运算单元和输出端;
[0006] 其中,所述输入控制单元用于:
[0007] 接收配置数据和第一序列P(m),m = 0,l,2-N-1,N表示变换点数或序列的长度;所 述配置数据至少包括N和变换标志;其中,所述变换标志的第一取值用于表征需要对所述第 一序列进行正变换,所述变换标志的第二取值用于表征需要对所述第一序列进行反变换; [000引在所述N不大于512时,直接将所述第一序列p(m)输入至所述512点FFT/IFFT处理 单元;
[0009] 在所述N大于512时,将所述第一序列p(m)输入至所述输入兵鸟缓存单元;
[0010] 在所述N大于512时,分r次从所述输入兵鸟缓存单元中读出p(m)发送至所述512点 FFT/IFFT处理单元;r = N/512;其中,第i次从所述输入兵鸟缓存单元中读出的数据为:所述 p(m)位于r的正整数倍减r-i位置上的512点数据,1 < i < r;
[0011] 所述512点FFT/IFFT处理单元用于执行变换长度为2的η次幕的FFT/IFFT变换,1< η含9,其中:
[0012] 在所述Ν不大于512时,对输入的数据进行相应的FFT/IFFT变换,并将变换结果输 出至所述输出端;或者,
[0013] 在所述N大于512并且所述变换标志为第一取值时,对所述输入控制单元分r次输 入的数据进行r次FFT变换,得到r组变换结果;或者,
[0014] 在所述N大于512并且所述变换标志为第二取值时,对所述输入控制单元分r次输 入的数据进行r次IFFT变换,得到r组变换结果;
[0015] 其中,第i组变换结果中的512点数据为,所述p(m)位于r的正整数倍减r-i位置上 的512点数据经FFT或IFFT变换后的变换结果;
[0016] 所述基r运算单元用于:
[0017] 在所述N大于512并且所述变换标志为第一取值时,对所述r组变换结果进行基r运 算得到第二序列Y(m),并将所述第二序列Y(m)输出至所述输出端,所述第二序列Y(m)为对 所述第一序列P(m)进行正变换后的序列;或者,
[0018] 在所述N大于512并且所述变换标志为第二取值时,对所述r组变换结果进行基r运 算得到第Ξ序列yy(m),并将yy(m)乘Wl/r得到第四序列y(m),将所述y(m)输出至所述输出 端,所述第四序列y(m)为对所述第一序列p(m)进行反变换后的序列;
[0019] 所述512点FFT/IFFT处理单元采用块浮点方式运算,所述基r运算单元采用块浮点 方式进行基r运算和乘Wl/r的运算;所述块浮点方式W块浮点因子和尾数表示一个数据, 所述第i组变换结果中的512点数据的块浮点因子相同。
[0020] 一种基于LTE的FFT/IFFT变换装置,包括输入兵鸟缓存单元、512点FFT/IFFT处理 单元、输入控制单元、基r运算单元和输出端;
[0021 ]其中,所述输入控制单元用于:
[0022] 接收配置数据和第一序列p(m),m = 0,l,2-N-l,N表示变换点数或序列的长度;所 述配置数据至少包括N和变换标志;其中,所述变换标志的第一取值用于表征需要对所述第 一序列进行正变换,所述变换标志的第二取值用于表征需要对所述第一序列进行反变换;
[0023] 在所述N不大于512时,直接将所述第一序列p(m)输入至所述512点FFT/IFFT处理 单元;
[0024] 在所述N大于512时,将所述第一序列p(m)输入至所述第一共辆处理单元,由第一 共辆处理单元对所述p(m)进行共辆处理,得到经共辆处理后的第一序列p*(m),并将p*(m)输 出至所述输入兵鸟缓存单元;
[0025] 在所述N大于512时,分r次从所述输入兵鸟缓存单元中读出所述i/(m)发送至所述 512点FFT/IFFT处理单元;r = N/512;其中,第i次从所述输入兵鸟缓存单元中读出的数据 为:所述lAm)位于r的正整数倍减r-i位置上的512点数据,1含i <。
[00%]所述512点FFT/IFFT处理单元用于执行变换长度为2的η次幕的FFT/IFFT变换,1 < η含9,其中:
[0027]在所述Ν不大于512时,对输入的数据进行相应的FFT/IFFT变换,并将变换结果输 出至所述输出端;或者,
[00%]在所述N大于512并且所述变换标志为第一取值时,对所述输入控制单元分r次输 入的P^m)进行r次IFFT变换,得到r组变换结果,并发送到所述基r运算单元;或者,
[0029] 在所述N大于512并且所述变换标志为第二取值时,对所述输入控制单元分r次输 入的P^m)进行r次FFT变换,得到r组变换结果,并发送到所述基r运算单元;
[0030] 其中,第i组变换结果中的512点数据为,所述i/(m)位于r的正整数倍减r-i位置上 的512点数据经FFT或IFFT变换后的变换结果;
[0031] 所述基r运算单元用于:
[0032] 在N大于512并且变换标志为第一取值时,对输入的r组变换结果进行基r运算,得 到的运算结果再乘W512后构成第二序列Y(m),并将第二序列Y(m)输出至第二共辆处理单 元,由第二共辆处理单元对第二序列Y(m)进行共辆处理,得到经共辆处理后的第二序列护 (m),并输出至输出端;或者,
[0033] 在N大于512并且上述变换标志为第二取值时,对输入的r组变换结果进行基r运 算,得到的运算结果构成第Ξ序列yy(m),将第Ξ序列yy(m)乘W1/N后得到第四序列y(m), 并将y(m)输出至所述第二共辆处理单元进行共辆处理,得到经共辆处理后的第四序列 (m),并输出至所述输出端;
[0034] 所述512点FFT/IFFT处理单元采用块浮点方式运算,所述基r运算单元采用块浮点 方式进行基r运算、乘W512和乘W1/N的运算;所述块浮点方式W块浮点因子和尾数表示一 个数据,所述第i组变换结果中的512点数据的块浮点因子相同。在本发明实施例中,把LTE 系统定义的六种变换点数分成两类:较小的变换点数α28、256、512,也即N不大于512)全部 为2的整数次幕,直接进行相应的FFT/IFFT变换。较大的变换点数α024、1536、2048,也即N 大于512)全部基于512点FFT或IFFT进行实现,结构简单,需要的乘法器和加法器资源少。本 发明实施例可同时支持六种传输带宽又能支持块浮点FFT/IFFT变换,与现有技术相比,减 少了资源的占用。
【附图说明】
[0035] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可W根据运些附图 获得其他的附图。
[0036] 图1-4为本发明实施例提供的基于LTE系统的FFT/IFFT变换装置示例性结构图。
【具体实施方式】
[0037] 本发明所基于的技术原理如下:
[003引令待进行离散傅里叶变换(DFT)的序列x(n)的长度N = 51巧r,序列索弓|n = r*m+ no,其中,ni = 0,l,2, . . .511,n0 = 0,l,2,. . .r-1;令变换后的序列X化)的长度N=巧51,2索 弓|k = 51巧ki+ko,其中ki = 0,l,2, . . .r-l,k0 = 0,l,2, . . .511,令N分别等于1024U536和 2048代入DFT关系式
展开得到1024、1536、2048点的DFT关系式分 别为下列公式(1)-(3)所示:
[0039]
[0040] 其中ki = 0,l;k〇 = 0,l,2,. . .511
[0041]
[0044] 其中ki = 0,l,2,3;k〇 = 0,l,2,. . .511
[0045] 上述公式(1)-(3)中,[]内表示一个512点的DFT变换。
[0046] 统观公式(1)-(3),均包含512点的DFT。并且,1024点和2048点的DFT计算均需要 512个旋转因子,2048点的DFT计算还需要512个旋转因子巧,1536点的DFT计算需 要512个旋转因子。也即,对于较大的变换点数(1024/1536/2048),其正变换可通过 512点的FFT处理+基r处理实现。
[0047] 至于反离散傅里叶变换(IDFT),可将N点DFT的结果X(k)表示为X(k)=Rk+j*Ik, 点=化1,2,.并一,.1其中化为X化)的实部,Ik为X(k)的虚部;记X化)的共辆为X*化),X*化) =化-j*Ik,k = 0,l,2,...N-l,将X化)代入IDFT关系式
得到公式 (4):
[0049]对上述X*(k)进行DFT,并将变换结果乘得到公式巧): (巧
[(Κ)加]
[0051]比较公式(4)和公式(5),两个式子的左边相等,右边互为共辆关系,因此可W得 到:对于输入长度为N的序列X化),k = 0,l,2,. . .N-1欲求IDFT,可W先将X化)取共辆得到X* 化),再将沪化)进行N点的DFT,最后将变换结果乘W1/N后再取共辆得到时域信号x(n)。 [0化2] 也即,IDFT可通过DFT实现。
[0化3] 同样令待进行IDFT的序列X化)的长度N=51巧r;序列索引k =巧ki+ko,其中,ki = 0,l,2,...511,k〇 = 0,l,2,.. .r-l;令变换后序列索弓|n = 512*ni+n〇,其中111 = 0,1,2,...1·- l,n〇 = 0,l,2, . . .511,代入公式(5)则1024、1536、2048点IDFT的关系式可转化为下列公式 (6)-(8):
[0057]其中,山=〇,1,2;11〇 = 0,1,2...511
[0化引
当前第1页
1 
2 
3 
4 
5