基于xilinx FPGA的 FFT IP使用例程说明文档(可动态配置FFT点数,可计算信号频率与幅度)

目录

    • 1 概述
    • 2 IP examples功能
    • 3 IP 使用例程
    • 3.1 IP设置
    • 3.2 fft_demo端口
    • 3.3 例程框图
    • 3.4 仿真结果
    • 3.5 仿真验证得出的结论
    • 4 注意事项
    • 5例程位置

1 概述

本文用于讲解xilinx IP 的FFT ip examples的功能说明,方便使用者快速上手。
参考文档:《PG109》

2 IP examples功能

本examples 是风中月隐编写的针对xilinx FFT IP的使用demo,通过仿真验证了以下功能:
1) 可动态配置FFT得点数;
2) 可出算出输入信号得频率;
3) 可计算出FFT得幅度峰值;
4) 验证了输入I/Q顺序对FFT输出结果得影响;
5) 验证了动态配置FFT点数得IP设置限制;
6) 验证了是否可连续输入数据;
7) 可看到FFT输出每个点的频率;
8) 推算了FFT IP输出结果与dB值的关系;
例程的平台:
1) 仿真硬件平台:XC7Z030-ffg676-2
2) FPGA开发平台:vivado2018.2

3 IP 使用例程

3.1 IP设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 fft_demo端口

在这里插入图片描述

3.3 例程框图

在这里插入图片描述
以上是测试得一个整体框图,其中得模块与信号含义如下:
1) DDS IP 产生cos/sin正弦信号,即模拟外部ADC采集得I/Q信号;
2) Tlast_cfg为信号根据FFT得采样点数产生tlast信号,匹配FFT IP得信号输入;
3) FFT IP 为FFT得具体计算,实部/虚部输入与输出对应;
4) 结果处理为:
a) DOUT= DOUT_RE^2 +DOUT_IM^2;
b) DOUT_MAX为DOUT得最大点得值,也就是输入信号得幅度;
c) DOUT_FRE为最大点得频率,也就是输入信号得频率;

3.4 仿真结果

目前测试得结果截图都是基于DDS产生得1MHZ信号;以下只说FFT得情况:
1) 输入FFT得din一段有一段无得情况,可以运算,结果如下:
a) 可看出FFT得点数(fft_transform_length)为1024;
b) FFT_OUT有一个最大值035b7xxx,最后fft_out_max也是这个值;
c) FFT_OUT最大值时fft_fre为976560(单位HZ),最后fft_out_fre也是这个值;
在这里插入图片描述

2) 输入FFT得din一直有得情况,可以运算,结果如下:
a) 可看出FFT IP输出得信号s_axis_data_tready一直为高;
b) 可看出FFT得点数(fft_transform_length)为1024;
c) FFT_OUT有一个最大值035b7xxx,最后fft_out_max也是这个值,但这个值得尾部数据不一定一致;
d) FFT_OUT最大值时fft_fre为976560(单位HZ),最后fft_out_fre也是这个值;
在这里插入图片描述

3) 输入FFT得I/Q与RE/IM不对应(交换)情况,可以运算,结果如下:
a) 可看出FFT得点数(fft_transform_length)为1024;
b) FFT_OUT有一个最大值035b7xxx,即fft_out_max得高位大小无变化;
c) FFT_OUT最大值时fft_fre为99023184(单位HZ),fft_fre_n为-976816(单位HZ);

在这里插入图片描述

4) 输入FFT得RE=有效信号,IM=0情况,可以运算,结果如下:
a) 可看出FFT得点数(fft_transform_length)为1024;
b) FFT_OUT有两个高点,且以中点FS/2对称;
c) FFT_OUT最大值出现在第二个高点(简称fS的后半区);
在这里插入图片描述

5) 输入FFT得RE=0,IM=有效信号情况,可以运算,结果如下:
a) 可看出FFT得点数(fft_transform_length)为1024;
b) FFT_OUT有两个高点,且以中点FS/2对称;
c) FFT_OUT最大值出现在第二个高点(简称fS的后半区);
在这里插入图片描述

6) 输入FFT得RE/IM都有效,但配置的FFT点数(fft_transform_length=16384)大于IP中设置的FFT点数据(8192)的情况,可以运算但结果不对,结果如下:
a) 可看出设置FFT得点数(fft_transform_length)为16384,一次输入的数据点数也是16384;
b) FFT运算结果是分两个8192点输出的(因为有两次fft_fre_tlast拉高);
c) FFT_OUT有一个高点,在FS的前半区,且最大的值在第一次8192输出的最大值比第二次大;
d) FFT_OUT最大值处计算的FFT_FRE不对;
在这里插入图片描述

3.5 仿真验证得出的结论

1) FFT可以连续不断运算,即FFT的输入根据点数拉高tlast即可一直流水线输入输出;
2) 当FFT输入的信号为I/Q时,必须跟RE/IM对应上,否则输出的频率会不对,会以中心点(FS/2)对称;
3) 当输入只有一路实信号(非I/Q信号),给到RE或者IM都可以,差别不大,出现最高点的位置和大小都基本一样;
4) FFT的输入点数可以重新配置,但是不能超过IP界面设置的最大值,超过最大值会按IP设置的最大值分组出数据,且值可能不对;

4 注意事项

1) 一定要注意I/Q信号与FFT的RE/IM对应关系;
2) 输出的频率值是根据采样频率FS以及FFT点数N,换算出的,当采样频率变化时需要修改代码中FS的值;
3) FFT IP输出每个点的频率与采样频率FS以及FFT点数N的关系如下:
a) FFT的点数将采样率FS均分为了N等分,即一个点的分辨率为FS/N;
b) 而每个点number(0~(N-1))的频率即为number*(FS/N);
4) IP中设置的FFT的点数一般是根据项目需要设置最大值(不同的值消耗的FPGA资源差距很大);
5) FFT IP输出值与dB的换算关系为:当FFT的输出值为DOUT=DOUT_RE2+DOUT_IM2时,要换算成dB时还需要额外计算:10log10(DOUT);也等价于20log10(sqrt(DOUT));
6) 此外这个值假如要与实际ADC输入信号功率对等的话,还需要人工标定(偏差相同的值);
7) IP中的fwd_inv一定要设置为1才是FFT,否则设置0为IFFT;
8) IP中的nfft值与FFT的点数对应关系如下(可以看出本IP最大计算点数为65536):
在这里插入图片描述

5例程位置

xilinx FFT IP核使用例程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/336590.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何配置才能连接远程服务器上的 redis server ?

文章目录 Intro修改点 Intro 以阿里云服为例。 首先,我在我买的阿里云服务器中以下载源码、手动编译的方式安装了 redis-server,操作流程见:Ubuntu redis 下载解压配置使用及密码管理 && 包管理工具联网安装。 接着,我…

Atlas 血缘分析-hive/spark

Apache Atlas部署安装 这里需要注意,需要从官网下载Atlas的源码,不要从git上分支去checkout,因为从分支checkout出来的代码,无法正常运行,这里小编使用针对Atlas-2.3.0源码进行编译. mvn clean -DskipTests package …

2024 京麟ctf -MazeCodeV1

文章目录 检查代码思路一个字节的指令注意附上S1uM4i佬们的exp https://www.ctfiot.com/184181.html 检查 代码 __int64 __fastcall check_solve(char *a1) {__int64 result; // rax__int64 v2; // rax__int64 index_step; // rax__int64 v4; // rax__int64 v5; // rax__int64…

MySQL索引与事务

1. 索引 (1)概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引, 并指定索引的类型,各类索引有各自的数据结构实现。 (2)利弊 利: 数…

基于51单片机的温湿度控制系统

一.硬件方案 本设计采用51单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。当温度或湿度值超…

车机壁纸生成解决方案,定制化服务,满足个性化需求

在数字化与智能化浪潮的推动下,汽车内部设计已不再仅仅满足于基本功能的需求,更追求为用户带来前所未有的视觉享受与沉浸式体验。美摄科技,凭借其在图像生成与处理领域的深厚积累,推出了一款创新的车机壁纸生成解决方案&#xff0…

LORA微调,让大模型更平易近人

技术背景 最近和大模型一起爆火的,还有大模型的微调方法。 这类方法只用很少的数据,就能让大模型在原本表现没那么好的下游任务中“脱颖而出”,成为这个任务的专家。 而其中最火的大模型微调方法,又要属LoRA。 增加数据量和模…

VMware ESXi 7.0 U3q 发布 - 领先的裸机 Hypervisor

VMware ESXi 7.0 U3q 发布 - 领先的裸机 Hypervisor VMware ESXi 7.0 Update 3 Standard & All Custom Image for ESXi 7.0U3 Install CD 请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3/,查看最新版。原创作品,转载请保留出…

[pdf,epub]《软件方法》2024版电子书共290页(202405更新)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 已上传本账号CSDN资源。 或者到以下链接下载: http://www.umlchina.com/url/softmeth2024.html,或点击“阅读原文”。 如果需要提取码:umlc 已排…

浅谈网络安全态势感知

前言 网络空间环境日趋复杂,随着网络攻击种类和频次的增加,自建强有力的网络安全防御系统成为一个国家发展战略的一部分,而网络态势感知是实现网络安全主动防御的重要基础和前提。 什么是网络安全态势感知? 态势感知一词来源于对…

图形学初识--空间变换

文章目录 前言正文矩阵和向量相乘二维变换1、缩放2、旋转3、平移4、齐次坐标下总结 三维变换1、缩放2、平移3、旋转绕X轴旋转:绕Z轴旋转:绕Y轴旋转: 结尾:喜欢的小伙伴可以点点关注赞哦 前言 前面章节补充了一下基本的线性代数中…

软件安全复习

文章目录 第一章 软件安全概述1.1 信息定义1.2 信息的属性1.3 信息安全1.4 软件安全1.5 软件安全威胁及其来源1.5.1 软件缺陷与漏洞1.5.1.1 软件缺陷1.5.1.2 漏洞1.5.1.3 软件漏洞1.5.1.4 软件缺陷和漏洞的威胁 1.5.2 恶意软件1.5.2.1 恶意软件的定义1.5.2.2 恶意软件的威胁 1.…

Mysql搭建主从同步,docker方式(一主一从)

服务器:两台Centos9 用Docker搭建主从 使用Docker拉取MySQL镜像 确保两台服务器都安装好了docker 安装docker请查看:Centos安装docker 1.两台服务器都先拉取mysql镜像 docker pull mysql 2.我这里是在 /opt/docker/mysql 下创建mysql的文件夹用来存…

java人口老龄化社区服务与管理平台源码(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的人口老龄化社区服务与管理平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 人口老龄化…

在线思维导图编辑!3个AI思维导图生成软件推荐!

思维导图,一种以创新为驱动的视觉化思考工具,已经渗透到我们日常生活和工作的各个角落。当我们需要整理思绪、规划项目或者梳理信息时,思维导图总能提供极大的帮助。 近些年随着云服务等基础设施的完善,我们可以看到越来越多提供…

可视化大屏也在卷组件化设计了?分享一些可视化组件

hello,我是大千UI工场,这次分享一些可视化大屏的组件,供大家欣赏。(本人没有源文件提供)

Nacos 微服务管理

Nacos 本教程将为您提供Nacos的基本介绍,并带您完成Nacos的安装、服务注册与发现、配置管理等功能。在这个过程中,您将学到如何使用Nacos进行微服务管理。下方是官方文档: Nacos官方文档 1. Nacos 简介 Nacos(Naming and Confi…

【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【00】补充

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【00】补充 WindowsCMD插件IDEAVsCode MavenvagrantDocker解决MySQL连接慢问题启动(自动)Docker注意切换到root用户远程访问MySQL MyBatisPlusVue模块化开发项目结构…

横截面分位数回归

一、分位数回归简介 分位数回归(英语:Quantile regression)是回归分析的方法之一。最早由Roger Koenker和Gilbert Bassett于1978年提出。一般地,传统的回归分析研究自变量与因变量的条件期望之间的关系,相应得到的回归…

Leecode热题100---二分查找--4:寻找两个正序数组的中位数

题目: 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 解法1、暴力解法(归并) 思路: 合并 nums1,nums2 为第三个数组 排序第三个数…