CN101741801A - 一种32路并行数据dft的实现结构 - Google Patents
一种32路并行数据dft的实现结构 Download PDFInfo
- Publication number
- CN101741801A CN101741801A CN200910236855A CN200910236855A CN101741801A CN 101741801 A CN101741801 A CN 101741801A CN 200910236855 A CN200910236855 A CN 200910236855A CN 200910236855 A CN200910236855 A CN 200910236855A CN 101741801 A CN101741801 A CN 101741801A
- Authority
- CN
- China
- Prior art keywords
- product
- deducts
- multiply
- adds
- deduct
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种32路并行数据DFT的实现结构,本发明采用全并行结构,将32路并行数据按奇偶分裂成两个8路并行数据和1个16路并行数据,然后采用基2碟形算法对8路并行数据进行处理,采用基4碟形算法对16路并行数据进行处理,最后将两个8路并行数据的处理结果乘以常系数后与16路并行数据的处理结果进行直接加减运算,得到32路并行数据的DFT结果。本发明在频域上进行并行滤波,直接交叉乘积,相比时域多项滤波方法减少了延迟时间和乘法器个数,同时降低了FPGA处理规模,提高了硬件处理速度,非常适合于高速实时数字信号处理,可以节省硬件资源。本发明的实现结构完全可以用于32路并行数据的IDFT处理。
Description
技术领域
本发明涉及一种32路并行数据DFT的实现结构,主要应用于高速数字处理领域,特别应用于高速数字解调器、调制器领域。
背景技术
对于高速调制器,由于数字实现成型滤波、预失真等灵活可变,模拟调制器正逐步向数字调制器发展。高速数字调制器里的成型滤波器按其实现方式分为并行查找表和数字直接实现,并行查找表由于一个表只能对应一个成型系数,对于成型系数可变,就要做很多个表,都不一定能满足要求,这对FPGA实现不容易。而数字直接实现方式对于可变的成型系数和不变的成型系数,实现起来几乎不受任何影响。数字直接实现方式分为并行时域方式和频域实现方式,并行时域实现方式与高码率数字解调器时域实现方式一样,很容易受FPGA资源的限制;并行频域方式很好解决了FPGA资源限制和成型滤波器系数可变问题,是今后高速数字调制器成型滤波器实现的主要方向。
QPSK解调目前广泛使用的方法是相干解调。在传统的数字通信系统中,QPSK的解调单元都是用模拟处理方法或数字实现的。由于模拟处理方式不能实现变速,并且其调试比较复杂,已经逐渐被数字解调代替。对于码率高达600Mbps的QPSK调制信号进行解调,按照奈奎斯特采样定理,采样时钟高达1200MHz,这么高的采样时钟无法直接送入FPGA,串行数字解调无法实现,只能采用并行数字解调。并行数字解调按其滤波器的实现方式分为时域并行滤波和频域滤波,时域滤波随着并行路数的增加,资源也成倍增加。假设时域并行路数为16路,滤波器的阶数为17阶,对于QPSK解调,那么所需乘法器个数为544个(16*17*2=544,16是并行路数,17是滤波器阶数,2是QPSK解调分为I、Q两路);而对于频域滤波,按照分裂基实现DFT和IDFT,其QPSK解调所需乘法器个数为458个(213*2+32=458,DFT所需乘法个数为213,IDFT所需乘法个数为213,滤波器所需乘法个数为32个)。考虑FPGA的逻辑资源有限和乘法器资源有限,乘法器个数越少越有利于实现,并且FPGA布局布线也容易。因此对于QPSK并行解调,采用并行频域解调的硬件实现更容易。对于高码率BPSK、8PSK、16QAM、16APSK等的解调,最多只改动其时钟和载波恢复算法,就可以实现其解调。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种32路并行数据DFT的实现结构,本发明对前端送来的并行数据进行频域匹配滤波,克服了高码率带来的硬件速度限制,节省了硬件资源,提高了处理速度,适应高码率数字调制解调。
本发明的技术解决方案:一种32路并行数据DFT的实现结构,包括并行数据分裂模块、两个8路并行数据DFT运算模块、16路并行数据DFT运算模块和交叉求和模块;
并行数据分裂模块,对32路并行数据先按照奇偶分裂的方法,分成16路奇数并行数据和16路偶数并行数据,16路偶数并行数据再按照奇偶分裂的方法分裂为8路奇数并行数据和8路偶数并行数据;
8路并行数据DFT运算模块,对由16路偶数并行数据分裂的8路奇数并行数据和8路偶数并行数据分别按照基2碟形算法进行DFT运算处理,得到顺序重排的两个8路并行数据;
16路并行数据DFT运算模块,先对并行数据分裂模块分裂的16路奇数并行数据进行顺序变换,将变换后的16路并行数据按照基4蝶形算法进行DFT运算处理,得到DFT运算处理后的16路并行数据;
交叉求和模块,对经过两个8路并行数据DFT运算模块运算处理后得到的两个8路并行数据按照基2碟形算法再次进行顺序重排,对再次顺序重排后的两个8路并行数据分别乘常系数后与经过16路并行数据DFT运算模块处理的16路并行数据直接进行加减运算,得到经过DFT处理后的32路并行数据。
所述并行8路DFT运算模块按照基2碟形算法进行DFT运算处理的过程为:
(1)记并行8路数据为x0、x1、x2、x3、x4、x5、x6、x7,把x4、x5、x6、x7分别乘以WN 0,将x4和WN 0的乘积与x0相加得x10,x5和WN 0的乘积与x1相加得x11,x6和WN 0的乘积与x2相加得x12,x7和WN 0的乘积与x3相加得x13;x0减去x4与WN 0的乘积得x14,x1减去x5与WN 0的乘积得x15,x2减去x6与WN 0的乘积得x16,x3减去x7与WN 0的乘积得x17;
(2)将x12、x13分别乘以WN 0,x16、x17分别乘以WN 2,x10加上x12与WN 0的乘积得x20,x11加上x13与WN 0的乘积得x21,x10减去x12与WN 0的乘积得x22,x11减去x13与WN 0的乘积得x23,x14加上x16与WN 2的乘积得x24,x15加上x17与WN 2的乘积得x25,x14减去x16与WN 2的乘积得x26,x15减去x17与WN 2的乘积得x27;
(3)将x21乘以WN 0、x23乘以WN 2、x25乘以WN 1、x27乘以WN 3,x20加上x21与WN 0的乘积得X0,x22加上x23与WN 2的乘积得X2,x24加上x25与WN 1的乘积得X1,x26加上x27与WN 3的乘积得X3,x20减去x21与WN 0的乘积得X4,x22减去x23与WN 2的乘积得X6,x24减去x25与WN 1的乘积得X5,x26减去x27与WN 3的乘积得X7,得到顺序重排的8路并行数据X0、X4、X2、X6、X1、X5、X3、X7;其中WN 0为e-j*2*π*0/8,WN 1为e-j*2*π*1/8,WN 2为e-j*2*π*2/8,WN 3为e-j*2*π*3/8。
所述并行16路DFT运算模块进行DFT运算处理的过程为:
(1)记16路并行数据为x0、x1、x2、x3、x4、x5、x6、x7、x8、x9、x10、x11、x12、x13、x14、x15,对16路并行数据进行顺序变换,变换后的顺序为x0、x8、x4、x12、x2、x10、x6、x14、x1、x9、x5、x15、x3、x11、x7、x15,将x0加x8得xa0,x0减去x8得xa1,x4加x12得xa2,x4减去x12得xa3,x2加x10得xa4,x2减去x10得xa5,x6加x14得xa6,x6减去x14得xa7,x1加x9得xa8,x1减去x9得xa9,x5加x13得xa10,x5减去x13得xa11,x3加x11得xa12,x3减去x11得xa13,x7加x15得xa14,x7减去x14得xa15;
(2)将步骤(1)得到的xa3、xa7、xa11、xa15分别乘以WN 4,xa0与xa2相加得xb0,xa1与xa3与WN 4的乘积相加得xb1,xa0减去xa2得xb2,xa1减去xa3与WN 4的乘积得xb3,xa4与xa6相加得xb4,xa5与xa7与WN 4的乘积相加得xb5,xa4减去xa6得xb6,xa5减去xa7与WN 4的乘积得xb7,xa8与xa10相加得xb8,xa9与xa11与WN 4的乘积相加得xb9,xa8减去xa10得xb10,xa9减去xa11与WN 4的乘积得xb11,xa12与xa14相加得xb12,xa13与xa15与WN 4的乘积相加得xb13,xa12减去xa14得xb14,xa13减去xa15与WN 4的乘积得xb15;
(3)将步骤(2)得到的xb4和xb12分别乘以WN 0,xb5和xb13分别乘以WN 2,xb6和xb14分别乘以WN 4,xb7和xb15分别乘以WN 6;xb0加上xb4与WN 0的乘积得xc0,xb1加上xb5与WN 2的乘积得xc1,xb2加上xb6与WN 4的乘积得xc2,xb3加上xb7与WN 6的乘积得xc3,xb0减去xb4与WN 0的乘积得xc4,xb1减去xb5与WN 2的乘积得xc5,xb2减去xb6与WN 4的乘积得xc6,xb3减去xb7与WN 6的乘积得xc7,xb8加上xb12与WN 0的乘积得xc8,xb9加上xb13与WN 2的乘积得xc9,xb10加上xb14与WN 4的乘积得xc10,xb11加上xb15与WN 6的乘积得xc11,xb8减去xb12与WN 0的乘积得xc12,xb9减去xb13与WN 2的乘积得xc13,xb10减去xb14与WN 4的乘积得xc14,xb11减去xb15与WN 6的乘积得xc15;
(4)将步骤(3)得到的xc8与WN 0相乘、xc9与WN 1相乘、xc10与WN 2相乘、xc11与WN 3相乘、xc12与WN 4相乘、xc13与WN 5相乘、xc14与WN 6相乘、xc15与WN 7相乘;xc0加上xc8与WN 0的乘积得X0,xc1加上xc9与WN 1的乘积得X1,xc2加上xc10与WN 2的乘积得X2,xc3加上xc11与WN 3的乘积得X3,xc4加上xc12与WN 4的乘积得X4,xc5加上xc13与WN 5的乘积得X5,xc6加上xc14与WN 6的乘积得X6,xc7加上xc15与WN 7的乘积得X7,xc0减去xc8与WN 0的乘积得X8,xc1减去xc9与WN 1的乘积得X9,xc2减去xc10与WN 2的乘积得X10,xc3减去xc11与WN 3的乘积得X11,xc4减去xc12与WN 4的乘积得X12,xc5减去xc13与WN 5的乘积得X13,xc6减去xc14与WN 6的乘积得X14,xc7减去xc15与WN 7的乘积得X15,其中WN 0为e-j*2*π*0/16,WN 1为e-j*2*π*1/16,WN 2为e-j*2*π*2/16,WN 3为e-j*2*π*3/16,WN 4为e-j*2*π*4/16,WN 5为e-j*2*π*5/16,WN 6为e-j*2*π*6/16,WN 7为e-j*2*π*7/16。
所述交叉求和模块的处理过程为:
(1)记16路并行数据DFT运算模块的输出数据为X1(0)、X1(1)、X1(2)、X1(3)、X1(4)、X1(5)、X1(6)、X1(7)、X1(8)、X1(9)、X1(10)、X1(11)、X1(12)、X1(13)、X1(14)、X1(15),两个8路并行数据DFT运算模块输出数据分别为X2(0)、X2(4)、X2(2)、X2(6)、X2(1)、X2(5)、X2(3)、X2(7)和X3(0)、X3(4)、X3(2)、X3(6)、X3(1)、X3(5)、X3(3)、X3(7);将数据X2(0)、X2(4)、X2(2)、X2(6)、X2(1)、X2(5)、X2(3)、X2(7)和X3(0)、X3(4)、X3(2)、X3(6)、X3(1)、X3(5)、X3(3)、X3(7)分别按照基2碟形算法再次进行顺序重排,重排后的两个8路并行数据分别为X2(0)、X2(1)、X2(2)、X2(3)、X2(4)、X2(5)、X2(6)、X2(7)和X3(0)、X3(1)、X3(2)、X3(3)、X3(4)、X3(5)、X3(6)、X3(7);
(2)将并行数据X2(0)与WN 0相乘得x2(0),X2(1)与WN 1相乘得x2(1),X2(2)与WN 2相乘得x2(2),X2(3)与WN 3相乘得x2(3),X2(4)与WN 4相乘得x2(4),X2(5)与WN 5相乘得x2(5),X2(6)与WN 6相乘得x2(6),X2(7)与WN 7相乘得x2(7),将并行数据X3(0)与WN 0相乘得x3(0),X3(1)与WN 3相乘得x3(1),X3(2)与WN 6相乘得x3(2),X3(3)与WN 9相乘得x3(3),X3(4)与WN 12相乘得x3(4),X3(5)与WN 15相乘得x3(5),X3(6)与WN 18相乘得x3(6),X3(7)与WN 21相乘得x3(7);
(3)X1(0)加x2(0)加x3(0)得X0,X1(1)加x2(1)加x3(1)得X1,X1(2)加x2(2)加x3(2)得X2,X1(3)加x2(3)加x3(3)得X3,X1(4)加x2(4)加x3(4)得X4,X1(5)加x2(5)加x3(5)得X5,X1(6)加x2(6)加x3(6)得X6,X1(7)加x2(7)加x3(7)得X7,X1(8)加x2(0)加x3(0)得X8,X1(9)加x2(1)加x3(1)得X9,X1(10)加x2(2)加x3(2)得X10,X1(11)加x2(3)加x3(3)得X11,X1(12)加x2(4)加x3(4)得X12,X1(13)加x2(5)加x3(5)得X13,X1(14)加x2(6)加x3(6)得X14,X1(15)加x2(7)加x3(7)得X15,X1(0)减去x2(0)减去x3(0)得X16,X1(1)减去x2(1)减去x3(1)得X17,X1(2)减去x2(2)减去x3(2)得X18,X1(3)减去x2(3)减去x3(3)得X19,X1(4)减去x2(4)减去x3(4)得X20,X1(5)减去x2(5)减去x3(5)得X21,X1(6)减去x2(6)减去x3(6)得X22,X1(7)减去x2(7)减去x3(7)得X23,X1(8)减去x2(0)减去x3(0)得X24,X1(9)减去x2(1)减去x3(1)得X25,X1(10)减去x2(2)减去x3(2)得X26,X1(11)减去x2(3)减去x3(3)得X27,X1(12)减去x2(4)减去x3(4)得X28,X1(13)减去x2(5)减去x3(5)得X29,X1(14)减去x2(6)减去x3(6)得X30,X1(15)减去x2(7)减去x3(7)得X31,其中WN 0为e-j*2*π*0/32,WN 1为e-j*2*π*1/32,WN 2为e-j*2*π*2/32,WN 3为e-j*2*π*3/32,WN 4为e-j*2*π*4/32,WN 5为e-j*2*π*5/32,WN 6为e-j*2*π*6/32,WN 7为e-j*2*π*7/32,WN 9为e-j*2*π*9/32,WN 12为e-j*2*π*12/32,WN 15为e-j*2*π*15/32,WN 18为e-j*2*π*18/32,WN 21为e-j*2*π*21/32。
本发明与现有技术相比的优点在于:本发明采用全并行结构,在传统分裂基算法结构上进行改进,将32路并行数据按奇偶分裂成2个8路并行数据和1个16路并行数据,然后采用基2碟形算法对8路并行数据进行处理,采用基4碟形算法对16路并行数据进行处理,最后将2个8路并行数据的处理结果乘以常系数后与16路并行数据的处理结果进行直接加减运算,得到32路并行数据的DFT结果,本发明在频域上进行并行滤波,直接交叉乘积,相比时域多项滤波方法减少了延迟时间和乘法器个数,同时降低了FPGA处理规模,提高了硬件处理速度,克服了对硬件资源的限制流水线方式,无需延迟等待,非常适合于高速实时数字信号处理,可以节省硬件资源。本发明的实现结构完全可以用于32路并行数据的IDFT处理。
附图说明
图1是高码率QPSK数字解调的实现原理框图;
图2是本发明实现结构的原理框图;
图3是本发明实现结构的工作流程图;
图4是并行数据分裂模块的原理框图;
图5是8路并行数据DFT运算模块的运算原理图;
图6是16路并行数据DFT运算模块的运算原理图;
图7是交叉求和模块的运算原理图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的描述。
图1为高码率QPSK数字解调DFT/IDFT的具体应用方式,数字解调器利用高速AD采样,AD送进来的数据经16倍抽取,重叠变换为32路数据,经数字下变频后进行32路DFT计算,然后在频域进行滤波,滤波之后进行IDFT输出,再进行并行时钟恢复和载波恢复,完成数据解调。由于数据经16倍抽取后,数据内部处理速度只有输入的1/16,高码率QPSK解调器内部数据处理只有采样时钟的1/16,因此非常适合超高码速率的解调。
由于IDFT是DFT的逆变换,本发明实施方式仅对32路并行数据DFT的具体实现方法进行描述,本发明的实现结构完全可以用于32路并行数据的IDFT处理。32路并行数据DFT实现结构的原理如图2所示,高速并行DFT结构主要包括4个部分,并行数据分裂模块、两个8路并行数据DFT运算模块,一个16路并行数据DFT运算模块,交叉求和计算模块。并行数据分裂就是将输入数据的顺序按照一定的规则进行分裂,分裂后的32路数据送入两个8路并行数据DFT运算模块和一个16路并行数据DFT运算模块,8路并行数据DFT运算模块完成8路数据的DFT计算,16路并行数据DFT运算模块完成16路数据的DFT运算,交叉求和就是将两个8路并行数据DFT计算结果和16路并行数据DFT计算结果按照一定顺序和规则进行交叉求和与求积,所有运算采用有符号运算模式。
下面详细介绍各个组成部分的详细实现。
如图3所示,本发明高速并行32路并行数据DFT处理的实现过程如下:
并行数据分裂模块,对32路并行数据先按照奇偶分裂的方法,分成16路奇数并行数据和16路偶数并行数据,16路偶数并行数据再按照奇偶分裂的方法分裂为8路奇数并行数据和8路偶数并行数据;
8路并行数据DFT运算模块,对由16路偶数并行数据分裂的8路奇数并行数据和8路偶数并行数据分别按照基2碟形算法进行DFT运算处理,得到顺序重排的两个8路并行数据;
16路并行数据DFT运算模块,先对并行数据分裂模块分裂的16路奇数并行数据进行顺序变换,将变换后的16路并行数据按照基4蝶形算法进行DFT运算处理,得到DFT运算处理后的16路并行数据;
交叉求和模块,对经过8路并行数据DFT运算模块运算处理后得到的两个8路并行数据按照基2碟形算法再次进行顺序重排,对再次顺序重排后的两个8路并行数据分别乘常系数后与经过DFT运算处理的16路并行数据直接进行加减运算,得到DFT处理后的32路并行数据。
一、并行数据分裂模块
并行数据分裂模块就是将输入32路数据按奇偶分裂为两个16路,再将偶数16路再按奇偶分裂为两个8路数据,其原理框图如图4所示,假设输入数据顺序为x0、x1、...、x30、x31,经第一次奇偶分裂后变换为x0、x2、...、x28、x30和x1、x3、...、x29、x31两个16路,再将x0、x2、...、x28、x30按奇偶分裂为x0、x4、...、x24、x28和x2、x6、...、x26、x30两个8路,并行数据分裂模块直接由触发器实现。
二、8路并行数据DFT运算模块
8路并行数据DFT运算模块就是将数据分裂后的并行8路数据按照基2碟形算法进行DFT运算,运算后的结果送入后级交叉求积。
如图5所示,并行8路DFT运算模块基2碟形算法的具体实现如下:
(1)设从前端送来的并行8路数据为x0、x1、...、x6、x7,把x4、x5、x6、x7分别乘以WN 0(WN 0为e-j*2*π*0/8),然后将x0加x4与WN 0的乘积得x10,x1加x5与WN 0的乘积得x11,x2加x6与WN 0的乘积得x12,x3加x7与WN 0的乘积得x13;x0减去x4与WN 0的乘积得x14,x1减去x5与WN 0的乘积得x15,x2减去x6与WN 0的乘积得x16,x3减去x7与WN 0的乘积得x17。
(2)由第一步得到的x10、x11、...、x16、x17,将x12、x13分别乘以WN 0,x16、x17分别乘以WN 2,然后x10加上x12与WN 0的乘积得x20,x11加上x13与WN 0的乘积得x21,x10减去x12与WN 0的乘积得x22,x11减去x13与WN 0的乘积得x23,x14加上x16与WN 2的乘积得x24,x15加上x17与WN 2的乘积得x25,x14减去x16与WN 2的乘积得x26,x15减去x17与WN 2的乘积得x27。
(3)由第二步得到的x20、x21、...、x26、x27,将x21乘以WN 0、x23乘以WN 2、x25乘以WN 1、x27乘以WN 3;然后x20加上x21与WN 0的乘积得X0,x22加上x23与WN 2的乘积得X2,x24加上x25与WN 1的乘积得X1,x26加上x27与WN 3的乘积得X3,x20减去x21与WN 0的乘积得X4,x22减去x23与WN 2的乘积得X6,x24减去x25与WN 1的乘积得X5,x26减去x27与WN 3的乘积得X7。
在硬件实现时,每个时钟的上升沿触发器值更新一次,乘法单元可以使用FPGA的复数乘法器IP核,使用FPGA自带的乘法器IP核可以节省逻辑资源,同时也能够进行更好的优化,有利于硬件速率的提高。由于WN 0的余弦值为1,正弦值为0,所以可以不用乘法器,而直接用触发器延迟对齐就可以了。另外在硬件实现时,考虑到计算误差,对截位也需要特别考虑。
三、16路并行数据DFT运算模块
分裂后的16路奇数并行数据并行送入16路并行数据DFT运算模块,并行16路DFT运算模块按照基4碟形算法计算出16路DFT结果,送入下级交叉求和运算模块。如图6所示,16路并行数据DFT运算模块的具体实现如下:
(1)设从前端送来的并行16路数据为x0、x1、...、x14、x15,先进行数据变换,变换后的顺序为x0、x8、x4、x12、x2、x10、x6、x14、x1、x9、x5、x15、x3、x11、x7、x15,然后将x0加x8得xa0,x0减去x8得xa1,x4加x12得xa2,x4减去x12得xa3,x2加x10得xa4,x2减去x10得xa5,x6加x14得xa6,x6减去x14得xa7,x1加x9得xa8,x1减去x9得xa9,x5加x13得xa10,x5减去x13得xa11,x3加x11得xa12,x3减去x11得xa 13,x7加x15得xa14,x7减去x14得xa15。
(2)由第一步得到的xa0、xa1、...、xa14、xa15,将xa3、xa7、xa11、xa15分别乘以WN 4(WN 4为e-j*2*π*4/16),然后xa0与xa2相加得xb0,xa1与xa3与WN 4的乘积相加得xb1,xa0减去xa2得xb2,xa1减去xa3与WN 4的乘积得xb3,xa4与xa6相加得xb4,xa5与xa7与WN 4的乘积相加得xb5,xa4减去xa6得xb6,xa5减去xa7与WN 4的乘积得xb7,xa8与xa10相加得xb8,xa9与xa11与WN 4的乘积相加得xb9,xa8减去xa10得xb10,xa9减去xa11与WN 4的乘积得xb11,xa12与xa14相加得xb12,xa13与xa15与WN 4的乘积相加得xb13,xa12减去xa14得xb14,xa13减去xa15与WN 4的乘积得xb15。
(3)由第二步得到的xb0、xb1、...、xb14、xb15,将xb4和xb12分别乘以WN 0,xb5和xb13分别乘以WN 2,xb6和xb14分别乘以WN 4,xb7和xb15分别乘以WN 6;然后xb0加上xb4与WN 0的乘积得xc0,xb1加上xb5与WN 2的乘积得xc1,xb2加上xb6与WN 4的乘积得xc2,xb3加上xb7与WN 6的乘积得xc3,xb0减去xb4与WN 0的乘积得xc4,xb1减去xb5与WN 2的乘积得xc5,xb2减去xb6与WN 4的乘积得xc6,xb3减去xb7与WN 6的乘积得xc7,xb8加上xb12与WN 0的乘积得xc8,xb9加上xb13与WN 2的乘积得xc9,xb10加上xb14与WN 4的乘积得xc10,xb11加上xb15与WN 6的乘积得xc11,xb8减去xb12与WN 0的乘积得xc12,xb9减去xb13与WN 2的乘积得xc13,xb10减去xb14与WN 4的乘积得xc14,xb11减去xb15与WN 6的乘积得xc15。
(4)由第三步得到的xc0、xc1、...、xc14、xc15,将xc8与WN 0相乘、xc9与WN 1相乘、xc10与WN 2相乘、xc11与WN 3相乘、xc12与WN 4相乘、xc13与WN 5相乘、xc14与WN 6相乘、xc15与WN 7相乘;xc0加上xc8与WN 0的乘积得X0,xc1加上xc9与WN 1的乘积得X1,xc2加上xc10与WN 2的乘积得X2,xc3加上xc11与WN 3的乘积得X3,xc4加上xc12与WN 4的乘积得X4,xc5加上xc13与WN 5的乘积得X5,xc6加上xc14与WN 6的乘积得X6,xc7加上xc15与WN 7的乘积得X7,xc0减去xc8与WN 0的乘积得X8,xc1减去xc9与WN 1的乘积得X9,xc2减去xc10与WN 2的乘积得X10,xc3减去xc11与WN 3的乘积得X11,xc4减去xc12与WN 4的乘积得X12,xc5减去xc13与WN 5的乘积得X13,xc6减去xc14与WN 6的乘积得X14,xc7减去xc15与WN 7的乘积得X15。
四、交叉求和计算模块
并行16路DFT运算结果和两个并行8路运算结果送入交叉求和模块,交叉求和的结果直接输出。如图7所示,交叉求和计算模块具体实现如下:
设前端16路DFT运算模块输出数据为X1(0)、X1(1)、...、X1(14)、X1(15),前端两个8路DFT运算模块输出数据分别为X2(0)、X2(1)、...、X2(6)、X2(7)和X3(0)、X3(1)、...、X3(6)、X3(7),将两个8路DFT运算模块输出数据先进行顺序重排,再将第一个重排顺序的8路数据从第一路开始依次乘以WN 0、WN 1、...、WN 6、WN 7(WN 7为e-j*2*π*7/32)得x2(0)、x2(1)、...、x2(6)、x2(7),第二个重排顺序的8路数据从第一路开始依次乘以WN 0、WN 3、...、WN 18、WN 21得x3(0)、x3(1)、...、x3(6)、x3(7),然后X1(0)加上x2(0)和x3(0)得X0,X1(1)加上x2(1)和x3(1)得X1,X1(2)加上x2(2)和x3(2)得X2,X1(3)加上x2(3)和x3(3)得X3,X1(4)加上x2(4)和x3(4)得X4,X1(5)加上x2(5)和x3(5)得X5,X1(6)加上x2(6)和x3(6)得X6,X1(7)加上x2(7)和x3(7)得X7,X1(8)加上x2(0)和x3(0)得X8,X1(9)加上x2(1)和x3(1)得X9,X1(10)加上x2(2)和x3(2)得X10,X1(11)加上x2(3)和x3(3)得X11,X1(12)加上x2(4)和x3(4)得X12,X1(13)加上x2(5)和x3(5)得X13,X1(14)加上x2(6)和x3(6)得X14,X1(15)加上x2(7)和x3(7)得X15,X1(0)减去x2(0)和x3(0)得X16,X1(1)减去x2(1)和x3(1)得X17,X1(2)减去x2(2)和x3(2)得X18,X1(3)减去x2(3)和x3(3)得X19,X1(4)减去x2(4)和x3(4)得X20,X1(5)减去x2(5)和x3(5)得X21,X1(6)减去x2(6)和x3(6)得X22,X1(7)减去x2(7)和x3(7)得X23,X1(8)减去x2(0)和x3(0)得X24,X1(9)减去x2(1)和x3(1)得X25,X1(10)减去x2(2)和x3(2)得X26,X1(11)减去x2(3)和x3(3)得X27,X1(12)减去x2(4)和x3(4)得X28,X1(13)减去x2(5)和x3(5)得X29,X1(14)减去x2(6)和x3(6)得X30,X1(15)减去x2(7)和x3(7)得X31。
在硬件实现时,每个时钟的上升沿触发器值更新一次,乘法单元可以使用FPGA的复数乘法器IP核,使用FPGA自带的乘法器IP核可以节省逻辑资源,同时也能够进行更好的优化,有利于硬件速率的提高。由于FPGA内部计算三个数相加与两个数相加的延迟几乎一致,因此交叉求和模块三个数相加全在一个时钟内完成,降低了延迟。
表1是并行32路DFT实现算法比较(分裂基算法是目前FFT算法里运算量最好的算法),表2是选用滤波器阶数为17阶匹配滤波后占用的FPGA硬件规模。硬件实现使用FPGA(XC4VSX55),需DSP48为288个,占用率为56.25%,Slice资源占用率为60%。在时序约束设置为3ns的条件下,实际可以运行到不到2.92ns,那么一路数据速率为343Mbps,4路并行为1.372Gbps,QPSK调制方式下,IQ两路可以达到1.3Gbps。经测试表明可以满足1.2Gbps QPSK信号的解调,提高了硬件处理速度,同时也节省了硬件资源。
表1
类别 | 分裂基 | 本发明采用的分裂基 |
复数乘法个数 | 216 | 128 |
复数加法个数 | 640 | 640 |
结构 | 复杂 | 较复杂 |
运算量 | 少 | 更少 |
表2
器件 | DSP48 | 复数乘法 | LUTs | 全局时钟 | 时钟速度 |
XC4VSX55-11FF1148 | 288个 | 72(其中DFT、IDFT占64个,匹配滤波占8个) | 20874 | 1 | 343MHz |
由于并行DFT是属于高速数字调制、解调的一个部分,因此采用现有的数字解调PCB板即可实现该算法。该PCB板主要包括AD芯片和FPGA芯片,采用信号发生器和时钟源分别向PCB板提供基带信号和采样时钟,AD芯片接收到中频信号和采样时钟后,即可向FPGA提供采样后的并行数字信号。该DFT/IDFT的硬件算法实现结构采用VHDL编写,并在Xilinx公司的FPGA中的Virtex4上运行。
本发明未详细说明部分属本领域技术人员公知常识。
Claims (4)
1.一种32路并行数据DFT的实现结构,其特征在于:包括并行数据分裂模块、两个8路并行数据DFT运算模块、16路并行数据DFT运算模块和交叉求和模块;
并行数据分裂模块,对32路并行数据先按照奇偶分裂的方法,分成16路奇数并行数据和16路偶数并行数据,16路偶数并行数据再按照奇偶分裂的方法分裂为8路奇数并行数据和8路偶数并行数据;
8路并行数据DFT运算模块,对由16路偶数并行数据分裂的8路奇数并行数据和8路偶数并行数据分别按照基2碟形算法进行DFT运算处理,得到顺序重排的两个8路并行数据;
16路并行数据DFT运算模块,先对并行数据分裂模块分裂的16路奇数并行数据进行顺序变换,将变换后的16路并行数据按照基4蝶形算法进行DFT运算处理,得到DFT运算处理后的16路并行数据;
交叉求和模块,对经过两个8路并行数据DFT运算模块运算处理后得到的两个8路并行数据按照基2碟形算法再次进行顺序重排,对再次顺序重排后的两个8路并行数据分别乘常系数后与经过16路并行数据DFT运算模块处理的16路并行数据直接进行加减运算,得到经过DFT处理后的32路并行数据。
2.根据权利要求1所述的一种32路并行数据DFT的实现结构,其特征在于:所述并行8路DFT运算模块按照基2碟形算法进行DFT运算处理的过程为:
(1)记并行8路数据为x0、x1、x2、x3、x4、x5、x6、x7,把x4、x5、x6、x7分别乘以WN 0,将x4和WN 0的乘积与x0相加得x10,x5和WN 0的乘积与x1相加得x11,x6和WN 0的乘积与x2相加得x12,x7和WN 0的乘积与x3相加得x13;x0减去x4与WN 0的乘积得x14,x1减去x5与WN 0的乘积得x15,x2减去x6与WN 0的乘积得x16,x3减去x7与WN 0的乘积得x17;
(2)将x12、x13分别乘以WN 0,x16、x17分别乘以WN 2,x10加上x12与WN 0的乘积得x20,x11加上x13与WN 0的乘积得x21,x10减去x12与WN 0的乘积得x22,x11减去x13与WN 0的乘积得x23,x14加上x16与WN 2的乘积得x24,x15加上x17与WN 2的乘积得x25,x14减去x16与WN 2的乘积得x26,x15减去x17与WN 2的乘积得x27;
(3)将x21乘以WN 0、x23乘以WN 2、x25乘以WN 1、x27乘以WN 3,x20加上x21与WN 0的乘积得X0,x22加上x23与WN 2的乘积得X2,x24加上x25与WN 1的乘积得X1,x26加上x27与WN 3的乘积得X3,x20减去x21与WN 0的乘积得X4,x22减去x23与WN 2的乘积得X6,x24减去x25与WN 1的乘积得X5,x26减去x27与WN 3的乘积得X7,得到顺序重排的8路并行数据X0、X4、X2、X6、X1、X5、X3、X7;其中WN 0为e-j*2*π*0/8,WN 1为e-j*2*π*1/8,WN 2为e-j*2*π*2/8,WN 3为e-j*2*π*3/8。
3.根据权利要求1所述的一种32路并行数据DFT的实现结构,其特征在于:所述并行16路DFT运算模块进行DFT运算处理的过程为:
(1)记16路并行数据为x0、x1、x2、x3、x4、x5、x6、x7、x8、x9、x10、x11、x12、x13、x14、x15,对16路并行数据进行顺序变换,变换后的顺序为x0、x8、x4、x12、x2、x10、x6、x14、x1、x9、x5、x15、x3、x11、x7、x15,将x0加x8得xa0,x0减去x8得xa1,x4加x12得xa2,x4减去x12得xa3,x2加x10得xa4,x2减去x10得xa5,x6加x14得xa6,x6减去x14得xa7,x1加x9得xa8,x1减去x9得xa9,x5加x13得xa10,x5减去x13得xa11,x3加x11得xa12,x3减去x11得xa13,x7加x15得xa14,x7减去x14得xa15;
(2)将步骤(1)得到的xa3、xa7、xa11、xa 15分别乘以WN 4,xa0与xa2相加得xb0,xa1与xa3与WN 4的乘积相加得xb1,xa0减去xa2得xb2,xa1减去xa3与WN 4的乘积得xb3,xa4与xa6相加得xb4,xa5与xa7与WN 4的乘积相加得xb5,xa4减去xa6得xb6,xa5减去xa7与WN 4的乘积得xb7,xa8与xa10相加得xb8,xa9与xa11与WN 4的乘积相加得xb9,xa8减去xa10得xb10,xa9减去xa11与WN 4的乘积得xb11,xa12与xa14相加得xb12,xa13与xa15与WN 4的乘积相加得xb13,xa12减去xa14得xb14,xa13减去xa15与WN 4的乘积得xb15;
(3)将步骤(2)得到的xb4和xb12分别乘以WN 0,xb5和xb13分别乘以WN 2,xb6和xb14分别乘以WN 4,xb7和xb15分别乘以WN 6;xb0加上xb4与WN 0的乘积得xc0,xb1加上xb5与WN 2的乘积得xc1,xb2加上xb6与WN 4的乘积得xc2,xb3加上xb7与WN 6的乘积得xc3,xb0减去xb4与WN 0的乘积得xc4,xb1减去xb5与WN 2的乘积得xc5,xb2减去xb6与WN 4的乘积得xc6,xb3减去xb7与WN 6的乘积得xc7,xb8加上xb12与WN 0的乘积得xc8,xb9加上xb13与WN 2的乘积得xc9,xb10加上xb14与WN 4的乘积得xc10,xb11加上xb15与WN 6的乘积得xc11,xb8减去xb12与WN 0的乘积得xc12,xb9减去xb13与WN 2的乘积得xc13,xb10减去xb14与WN 4的乘积得xc14,xb11减去xb15与WN 6的乘积得xc15;
(4)将步骤(3)得到的xc8与WN 0相乘、xc9与WN 1相乘、xc10与WN 2相乘、xc11与WN 3相乘、xc12与WN 4相乘、xc13与WN 5相乘、xc14与WN 6相乘、xc15与WN 7相乘;xc0加上xc8与WN 0的乘积得X0,xc1加上xc9与WN 1的乘积得X1,xc2加上xc10与WN 2的乘积得X2,xc3加上xc11与WN 3的乘积得X3,xc4加上xc12与WN 4的乘积得X4,xc5加上xc13与WN 5的乘积得X5,xc6加上xc14与WN 6的乘积得X6,xc7加上xc15与WN 7的乘积得X7,xc0减去xc8与WN 0的乘积得X8,xc1减去xc9与WN 1的乘积得X9,xc2减去xc10与WN 2的乘积得X10,xc3减去xc11与WN 3的乘积得X11,xc4减去xc12与WN 4的乘积得X12,xc5减去xc13与WN 5的乘积得X13,xc6减去xc14与WN 6的乘积得x14,xc7减去xc15与WN 7的乘积得X15,其中WN 0为e-j*2*π*0/16,WN 1为e-j*2*π*1/16,WN 2为e-j*2*π*2/16,WN 3为e-j*2*π*3/16,WN 4为e-j*2*π*4/16,WN 5为e-j*2*π*5/16,WN 6为e-j*2*π*6/16,WN 7为e-j*2*π*7/16。
4.根据权利要求2所述的一种32路并行数据DFT的实现结构,其特征在于:所述交叉求和模块的处理过程为:
(1)记16路并行数据DFT运算模块的输出数据为X1(0)、X1(1)、X1(2)、X1(3)、X1(4)、X1(5)、X1(6)、X1(7)、X1(8)、X1(9)、X1(10)、X1(11)、X1(12)、X1(13)、X1(14)、X1(15),两个8路并行数据DFT运算模块输出数据分别为X2(0)、X2(4)、X2(2)、X2(6)、X2(1)、X2(5)、X2(3)、X2(7)和X3(0)、X3(4)、X3(2)、X3(6)、X3(1)、X3(5)、X3(3)、X3(7);将数据X2(0)、X2(4)、X2(2)、X2(6)、X2(1)、X2(5)、X2(3)、X2(7)和X3(0)、X3(4)、X3(2)、X3(6)、X3(1)、X3(5)、X3(3)、X3(7)分别按照基2碟形算法再次进行顺序重排,重排后的两个8路并行数据分别为X2(0)、X2(1)、X2(2)、X2(3)、X2(4)、X2(5)、X2(6)、X2(7)和X3(0)、X3(1)、X3(2)、X3(3)、X3(4)、X3(5)、X3(6)、X3(7);
(2)将并行数据X2(0)与WN 0相乘得x2(0),X2(1)与WN 1相乘得x2(1),X2(2)与WN 2相乘得x2(2),X2(3)与WN 3相乘得x2(3),X2(4)与WN 4相乘得x2(4),X2(5)与WN 5相乘得x2(5),X2(6)与WN 6相乘得x2(6),X2(7)与WN 7相乘得x2(7),将并行数据X3(0)与WN 0相乘得x3(0),X3(1)与WN 3相乘得x3(1),X3(2)与WN 6相乘得x3(2),X3(3)与WN 9相乘得x3(3),X3(4)与WN 12相乘得x3(4),X3(5)与WN 15相乘得x3(5),X3(6)与WN 8相乘得x3(6),X3(7)与WN 21相乘得x3(7);
(3)X1(0)加x2(0)加x3(0)得X0,X1(1)加x2(1)加x3(1)得X1,X1(2)加x2(2)加x3(2)得X2,X1(3)加x2(3)加x3(3)得X3,X1(4)加x2(4)加x3(4)得X4,X1(5)加x2(5)加x3(5)得X5,X1(6)加x2(6)加x3(6)得X6,X1(7)加x2(7)加x3(7)得X7,X1(8)加x2(0)加x3(0)得X8,X1(9)加x2(1)加x3(1)得X9,X1(10)加x2(2)加x3(2)得X10,X1(11)加x2(3)加x3(3)得X11,X1(12)加x2(4)加x3(4)得X12,X1(13)加x2(5)加x3(5)得X13,X1(14)加x2(6)加x3(6)得X14,X1(15)加x2(7)加x3(7)得X15,X1(0)减去x2(0)减去x3(0)得X16,X1(1)减去x2(1)减去x3(1)得X17,X1(2)减去x2(2)减去x3(2)得X18,X1(3)减去x2(3)减去x3(3)得X19,X1(4)减去x2(4)减去x3(4)得X20,X1(5)减去x2(5)减去x3(5)得X21,X1(6)减去x2(6)减去x3(6)得X22,X1(7)减去x2(7)减去x3(7)得X23,X1(8)减去x2(0)减去x3(0)得X24,X1(9)减去x2(1)减去x3(1)得X25,X1(10)减去x2(2)减去x3(2)得X26,X1(11)减去x2(3)减去x3(3)得X27,X1(12)减去x2(4)减去x3(4)得X28,X1(13)减去x2(5)减去x3(5)得X29,X1(14)减去x2(6)减去x3(6)得X30,X1(15)减去x2(7)减去x3(7)得X31,其中WN 0为e-j*2*π*0/32,WN 1为e-j*2*π*1/32,WN 2为e-j*2*π*2/32,WN 3为e-j*2*π*3/32,WN 4为e-j*2*π*4/32,WN 5为e-j*2*π*5/32,WN 6为e-j*2*π*6/32,WN 7为e-j*2*π*7/32,WN 9为e-j*2*π*9/32,WN 12为e-j*2*π*12/32,WN 5为e-j*2*π*15/32,WN 18为e-j*2*π*18/32,WN 21为e-j*2*π*21/32。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910236855 CN101741801B (zh) | 2009-11-04 | 2009-11-04 | 一种32路并行数据dft的实现结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910236855 CN101741801B (zh) | 2009-11-04 | 2009-11-04 | 一种32路并行数据dft的实现结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741801A true CN101741801A (zh) | 2010-06-16 |
CN101741801B CN101741801B (zh) | 2013-05-01 |
Family
ID=42464696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910236855 Active CN101741801B (zh) | 2009-11-04 | 2009-11-04 | 一种32路并行数据dft的实现结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101741801B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164363A (zh) * | 2011-12-16 | 2013-06-19 | 中兴通讯股份有限公司 | 数据处理方法和装置 |
CN104617962A (zh) * | 2014-12-03 | 2015-05-13 | 芯原微电子(上海)有限公司 | 一种应用矢量数字信号处理器的维特比译码的实现方法 |
CN113242031A (zh) * | 2021-03-31 | 2021-08-10 | 西安空间无线电技术研究所 | 一种提高脉冲压缩能量利用效率的装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076557A1 (en) * | 2004-01-06 | 2005-08-18 | International Business Machines Corporation | Modulation and demodulation of ofdm signals |
CN1787413A (zh) * | 2005-10-28 | 2006-06-14 | 东南大学 | 低峰均比正交频分复用传输技术方案 |
CN101061474A (zh) * | 2004-06-10 | 2007-10-24 | 哈桑·塞希托格鲁 | 信号处理的矩阵定值方法和装置 |
-
2009
- 2009-11-04 CN CN 200910236855 patent/CN101741801B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076557A1 (en) * | 2004-01-06 | 2005-08-18 | International Business Machines Corporation | Modulation and demodulation of ofdm signals |
CN101061474A (zh) * | 2004-06-10 | 2007-10-24 | 哈桑·塞希托格鲁 | 信号处理的矩阵定值方法和装置 |
CN1787413A (zh) * | 2005-10-28 | 2006-06-14 | 东南大学 | 低峰均比正交频分复用传输技术方案 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164363A (zh) * | 2011-12-16 | 2013-06-19 | 中兴通讯股份有限公司 | 数据处理方法和装置 |
CN103164363B (zh) * | 2011-12-16 | 2018-07-17 | 南京中兴新软件有限责任公司 | 数据处理方法和装置 |
CN104617962A (zh) * | 2014-12-03 | 2015-05-13 | 芯原微电子(上海)有限公司 | 一种应用矢量数字信号处理器的维特比译码的实现方法 |
CN104617962B (zh) * | 2014-12-03 | 2017-09-29 | 芯原微电子(上海)有限公司 | 一种应用矢量数字信号处理器的维特比译码的实现方法 |
CN113242031A (zh) * | 2021-03-31 | 2021-08-10 | 西安空间无线电技术研究所 | 一种提高脉冲压缩能量利用效率的装置 |
CN113242031B (zh) * | 2021-03-31 | 2024-05-14 | 西安空间无线电技术研究所 | 一种提高脉冲压缩能量利用效率的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101741801B (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970718A (zh) | 一种快速傅里叶变换实现装置及方法 | |
CN106484658B (zh) | 基于fpga实现65536点脉冲压缩的装置及方法 | |
CN101398480B (zh) | 一种灵活的子带重构宽带信道化装置 | |
Nguyen et al. | A high-performance, resource-efficient, reconfigurable parallel-pipelined FFT processor for FPGA platforms | |
CN101741801B (zh) | 一种32路并行数据dft的实现结构 | |
CN102073621B (zh) | 一种应用于fft/ifft的基4蝶形单元电路及其处理方法 | |
CN109783766A (zh) | 一种基2算法的快速傅里叶变换硬件设计方法 | |
CN103559019A (zh) | 一种通用浮点全流水fft运算ip核 | |
CN104333348B (zh) | 一种高阶数字滤波系统及方法 | |
CN109639277A (zh) | 一种基于iserdes和并行fir滤波的高速信号预处理方法 | |
CN102364456A (zh) | 64点fft计算器 | |
CN101937332B (zh) | 基于基-24算法的多路fft处理器中乘法器的复用方法 | |
CN102789446A (zh) | 基于cordic算法的dds信号杂散抑制方法及系统 | |
Shamani et al. | FPGA implementation issues of a flexible synchronizer suitable for NC-OFDM-based cognitive radios | |
Mankar et al. | FPGA implementation of 16-point radix-4 complex FFT core using NEDA | |
CN102353838A (zh) | 一种用fpga芯片实现的快速高精度频率测量方法 | |
CN101833540B (zh) | 信号处理方法和装置 | |
CN104657334A (zh) | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 | |
CN102339273B (zh) | 一种基于上采样技术的fft/ifft近似计算方法和装置 | |
CN104009733B (zh) | 基于fpga的样本重要性重采样粒子滤波器的硬件实现方法 | |
CN101277283B (zh) | 快速傅立叶变换蝶型装置 | |
Ramesha et al. | Design and Implementation of fully pipelined 64-point FFT Processor in a FPGA | |
Bhakthavatchalu et al. | Comparison of reconfigurable FFT processor implementation using CORDIC and multipliers | |
CN105656451A (zh) | 一种基于频域处理的扩频信号匹配滤波系统及方法 | |
Li et al. | Research on pipeline R22SDF FFT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |