FPGA实现OFDM通信—C语言实现N点FFT

时间:2025-09-12  作者:Diven  阅读:0

OFDM中调制使用IFFT,解调使用IFFT,在OFDM实现系统中,FFT和IFFT时必备的关键模块。在使用Xilinx的7系列FPGA(KC705)实现OFDM系统时,有以下几种选择:

FPGA实现OFDM通信—C语言实现N点FFT

(1)在Vivado中调用官方的FFT的IP核(AXI-Stream总线);

(2)在Vivado HLS中调用官方的FFT的IP核(内部FFT通信AXI-Stream总线),可以自己增加外部封装接口类型;

(3)Verilog编写FFT,很复杂,找到了一个1024点的并行流水线的,但是资源耗费太大,8192点时很难满足,不采用;

(4)使用HLS用C语言自己编写FFT,程序比较简单,开发快,但是我需要100M时钟下跑8192点FFT的时钟时序约束不够,跑不到100M;

最后还是选择使用HLS里面调用FFT的库,并且根据我们的项目需要,对其外部输入输出封装成一个AXI-Master接口,并且在Devcpp里面使用C语言实现(不考虑延时和资源消耗等)对比结果,发现基本一致。

本节主要讲Devcpp里的实现结果。

1.定义计算点数和复数类型

2.计算

(1)初始化蝶形因子;

(2)比特反转,变址运算;

(3)FFT蝶形循环计算;

(4)计算功率,输出结果;

3.结果验证

以100Hz的sin函数作为输入信号,幅值-1~1,输出功率最大值在p[100],趋近于1。

4.计算IFFT

(1)将输入的复数取共轭;

(2)调用FFT;

(3)对输出的数据取共轭;

完成。

最初始的sin信号如下:

经过FFT之后,对结果取共轭,并且缩小N点(8192)倍,再次调用FFT,对输出取共轭,得到IFFT结果如下:

​​

 


审核编辑:刘清

猜您喜欢

帐篷是便携式的遮蔽物,通常由轻质材料制成,旨在为人们提供临时的庇护空间。基本结构包括支撑杆和外层布料,能够有效抵御风雨和阳光。帐篷的设计多样,适合不同的用途,如...
2019-07-26 00:00:00

您是否好奇,电动汽车的核心部件——动力电池,是如何保持安全稳定运行的呢?答案就是电池管理系统(BMS)。就像一位尽职尽责的卫士,时刻守护着电动汽车的心脏,确保其...
2024-10-27 00:00:00

2512贴片电阻的耐压值并非一个固定数值,与电阻的功率等级直接相关。2512封装指的是电阻的尺寸,长2.5毫米,宽1.2毫米,但这并不决定其耐压能力。通常情况下...
2024-11-29 10:25:38

电阻作为基础元件,其性能直接影响产品的稳定性和寿命。特别是在高湿、高温等恶劣环境下,防硫化电阻成为保障电路安全的重要选择。禾伸堂(HEC)作为知名的电子元件制造...
2013-06-10 08:47:30

电流检测电阻作为关键的电子元器件,在电路设计和性能优化中是重要配件。振华科技作为国内领先的电子元器件制造商,其电流检测电阻产品以高精度、高可靠性,应用于电源管理...
2015-01-24 18:40:30

精密贴片电阻的阻值通常以数字编码标注在表面,而不是直接印上阻值。理解这些编码对于选择和使用正确的电阻至关重要。本指南提供快速解读这些编码的方法。三位数字编码: ...
2025-04-14 15:03:47

e01贴片电阻是一种微型电子元件,用于控制电路中的电流。采用表面贴装技术(SMT),可以直接焊接在电路板上,体积小巧,仅有0.4mm x 0.2mm大小,也就是...
2024-11-29 10:25:42

贴片电阻的功率大小通常印在电阻表面,以数字和字母组合表示。例如,0603 1/16W表示0603封装尺寸的电阻,功率为1/16瓦。如果没有直接标注,则可以通过电...
2024-11-29 10:25:28

直流稳压电源是能够提供稳定电压输出的电源设备,应用于多个领域。在电子设备制造中,直流稳压电源为各种电路提供稳定的电压,确保设备正常运行。在实验室和科研机构,研究...
2018-03-05 00:00:00

0805贴片电阻的额定功率通常为1/8瓦(0.125W),这决定了它能承受的最大电流。 功率、电流和电阻之间的关系可以用公式P=I²R来表示,其中P是功率,I是...
2024-11-26 11:29:43