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

时间:2025-08-02  作者: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结果如下:

​​

 


审核编辑:刘清

猜您喜欢

电动汽车、储能电站等领域蓬勃发展的今天,电池作为能量存储的核心部件,其重要性不言而喻。然而,电池本身的特性也决定了其需要精细化的管理才能安全、高效地工作,这就需...
2024-04-03 00:00:00

你是否好奇,电动汽车、手机和笔记本电脑是如何安全、高效地使用电池的呢?答案就在于一个很重要的系统——电池管理系统 (BMS)。BMS 就像电池的大脑,时刻监控着...
2024-08-05 00:00:00

精密电阻作为关键组件,其性能直接影响电子设备的工作效率和稳定性。台康(TAICON),作为该领域的佼佼者,其精密电阻系列涵盖了多个知名品牌,为市场提供了的选择。...
2016-04-08 02:24:59

发光二极管(LED)应用于照明、显示和指示等领域。由于其结构简单、功耗低、寿命长,越来越多的人开始使用LED。在使用过程中,LED可能会出现故障,这时就需要使用...
2025-03-30 15:31:06

保险丝作为保护电路安全的重要元件,其性能和品牌选择成为用户关注的重点。SEISO作为知名的保险丝品牌,高品质的产品和可靠的性能赢得了市场认可。本文将详细介绍SE...
2023-05-09 21:05:30

一.基本概念在展开介绍之前,有必要先解释“光纤可调谐滤波器”的概念。首先,这里的“滤波器“指的是光学滤波器,是一种能对入射光光谱成分进行“筛选”的器件。一般情况...
2023-07-14 11:24:00

步进电机驱动芯片在现代自动化和机器人技术中是非常重要的配件,其主要优势体现在以下几个方面。步进电机驱动芯片具有高精度控制能力。通过精确的脉冲信号,芯片能够实现微...
2020-03-07 00:00:00

压敏电阻作为重要的保护元件,应用于电路的浪涌保护和过压保护中。KOA(兴亚)作为知名的电子元器件制造商,其压敏电阻产品因性能稳定、品质优良而受到业界认可。本文将...
2022-12-25 19:57:51

安全警示灯是重要的安全设备,应用于交通、建筑和工业等领域。主要作用是通过强烈的光信号提醒人们注意潜在的危险,确保人们的安全。在交通领域,安全警示灯通常用于指示道...
2012-08-15 00:00:00

锂离子超级电容器是新型储能设备。结合了电容器和锂离子电池的优点。本文将探讨的优缺点。高能量密度锂离子超级电容器能量密度高。存储更多电能。适合需要长时间供电的应用...
2025-03-19 11:01:06