TI DSP的 FFT与IFFT库函数的使用测试

VIPTI DSP的 FFT与IFFT库函数的使用测试
/** * Copyright (C) 2013 Guangzhou Tronlong Electronic Technology Co., Ltd. - www.tronlong.com * * @file dsplib_fft.c * * @brief Example application main file. * This application will run FFT performance test. * * @author Tronlong <support@tron.
开通可读全文 ·2.6k 人阅读
最低0.47元/天 解锁文章
/**
 * Copyright (C) 2013 Guangzhou Tronlong Electronic Technology Co., Ltd. - www.tronlong.com
 *
 * @file dsplib_fft.c
 *
 * @brief Example application main file.
 * This application will run FFT performance test.
 *
 * @author Tronlong <support@tronlong.com>
 *
 * @version V1.0
 *
 * @date 2019-09-12
 *
 **/

/* C Standard Header files */
#include <stdio.h>
#include <stdlib.h>

/* Compiler Header files */
#include <c6x.h>

/* CSL Header files */
#include <ti/csl/csl_cacheAux.h>

/* DSPLIB Header files */
#include <inc/dsplib.h>

/* MATHLIB Header files */
#include <inc/mathlib.h>

/* Local Header files */
#include "system/platform.h"

/* MAX length of FFT in complex samples */
#define MAXN    4096

/* Sampling Rate */
#define Fs      1000.0

#define PI      3.141592654

/* bit reverse table containing 64 entries  */
unsigned char brev[64] =
{
    0x00, 0x20, 0x10, 0x30, 0x08, 0x28, 0x18, 0x38,
    0x04, 0x24, 0x14, 0x34, 0x0c, 0x2c, 0x1c, 0x3c,
    0x02, 0x22, 0x12, 0x32, 0x0a, 0x2a, 0x1a, 0x3a,
    0x06, 0x26, 0x16, 0x36, 0x0e, 0x2e, 0x1e, 0x3e,
    0x01, 0x21, 0x11, 0x31, 0x09, 0x29, 0x19, 0x39,
    0x05, 0x25, 0x15, 0x35, 0x0d, 0x2d, 0x1d, 0x3d,
    0x03, 0x23, 0x13, 0x33, 0x0b, 0x2b, 0x1b, 0x3b,
    0x07, 0x27, 0x17, 0x37, 0x0f, 0x2f, 0x1f, 0x3f
};

/**
 * @details generate specialized sequence of twiddle factors for FFT
 *
 * @param w pointer to complex twiddle factor
 *
 * @param n length of FFT in complex samples
 *
 * @return NULL
 */
void tw_fft_gen(float *w, int n)
{
    int i, j, k;

    for(j = 1, k = 0; j <= n >> 2; j = j << 2) {
        for(i = 0; i < n >> 2; i += j) {
            w[k]     = (float)sinsp(2 * PI * i / n);
      
VIP DSP操作教程 4-7 快速傅立叶变换(FFT)算法(CCS显示) 在计算机上进行的DFT,使用的输入值是时域的信号值,输入采样点的数量决定了转换的计算规模。FFT和FFT 逆变换函数中的第五个参数brev是指向包含64个表项的位反转表的指针,因此程序中需要提供64个表项,程序中的位反向表是计算出来的,可以通过代码提前转换的。离散傅里叶变换作为信号处理中最基本和最常用的运算,在信号处理领域占有基础性的地位,如果直接按照离散傅里叶变换的公式进行计算,求出N点X(k)需要N^2次复数运算、N(N-1)次复数加法,当N很大时,运算量是非常大的,这对于实时处理是无法接受的。 开通可读全文·4.8k 阅读·9 点赞·45 收藏 阅读全文

相关推荐

TMS320C55x DSP硬件FFT加速器原理与实战优化指南

快速傅里叶变换(FFT)是数字信号处理(DSP)中频谱分析与滤波的核心算法,其通过蝶形运算将计算复杂度从O(N²)降至O(N log₂ N)。在嵌入式系统中,软件FFT常面临实时性、功耗与内存带宽的挑战。硬件加速器通过专用数据通路与并行计算单元,能大幅提升能效比与吞吐量,尤其适用于音频处理、通信解调等对低功耗与高实时性要求严格的场景。本文以TMS320C55x系列DSP集成的硬件FFT加速器(HWAFFT)为例,深入解析其紧密耦合架构、双级流水线设计及定点缩放机制,并结合比特反转对齐、ROM函数调用等工程实

weixin_33881140的博客 602

TI C6000 TMS320C6678+Kintex-7异构多核的FPGA核心板————DSP算法案例开发手册

创龙科技SOM-TL6678F是一款基于TI KeyStone架构C6000系列TMS320C6678八核C66x定点/浮点DSP以及Xilinx Kintex-7 FPGA处理器设计的高端异构多核工业级核心板。

创龙,嵌入式一体化解决方案商 855

CCS环境下DSP FFT实验完整指南:从环境搭建到频谱分析

数字信号处理(DSP)是现代电子与通信领域的核心基础,而快速傅里叶变换(FFT)作为频谱分析的关键算法,其工程实现一直是学习与实践的难点。FFT通过分治策略将离散傅里叶变换的计算复杂度从O(N²)降至O(Nlog₂N),从而在实时信号处理中发挥巨大价值。在实际开发中,TI的CCS集成环境是DSP编程的主流工具,掌握其工程配置、CMD文件编写以及频谱图形观察方法,是完成FFT实验和后续项目开发的前提。本文从基础概念入手,结合工程实践,系统讲解在CCS中实现基2时间抽取FFT的完整流程,涵盖位反序、旋转因子、蝶

weixin_34023982的博客 380

完整DSP程序库项目实战资源包

数字信号处理(DSP)程序库是现代嵌入式系统开发的基石,旨在以高效、可复用的方式实现复数运算、滤波、变换等关键算法。其核心设计目标包括高计算效率低内存占用和跨平台兼容性,尤其在资源受限的MCU或专用DSP芯片上至关重要。例如,在实时音频处理中,延迟需控制在毫秒级,这对库函数的执行速度提出严苛要求。现代DSP库普遍采用分层架构:底层封装硬件指令(如SIMD),中层实现基础数学函数,上层构建信号处理链路。

weixin_32306683的博客 1060

TMSC6713 DSP实现OFDM的硬核工程实践

OFDM(正交频分复用)作为现代无线通信的核心调制技术,其原理依赖于FFT/IFFT运算、循环前缀保护与信道均衡等关键机制。在资源受限的嵌入式平台实现OFDM,需深入理解数字信号处理(DSP)硬件约束与实时性要求。TI TMSC6713作为经典浮点DSP,主频200MHz、片内RAM仅256KB,无硬件FFT加速单元,迫使开发者从Matlab算法仿真跨越到C/汇编混合编程、存储器精细划分、EDMA协同调度等底层工程实践。该平台成为检验通信理论落地能力的典型试金石——既考验FFT优化、CP处理、导频信道估计等

weixin_42629671的博客 330

dsp的fft库函数

很多平台都需要用到FFT变换,这个是可用于dsp上的fft库函数,网上有很多相关的说明和详细的使用方法,例如https://wenku.baidu.com/view/e81abdea0975f46527d3e193.html,可用于C6678等dsp平台

调用TI公司的FFT库进行快速傅里叶变换

调用TI公司的FFT库进行快速傅里叶变换

dsplib.zip_DSPF_sp_mat_trans_MIMO通信系统_mimo_ofdm

能实现第四代移动通信系统中的关键技术MIMO-OFDM,是一个两发两收的MIMO系统

LIO-SAM运行报错‘process has died’?别慌,一个命令搞定libmetis.so库路径问题

本文详细解析了LIO-SAM运行中常见的‘process has died’报错问题,特别是由libmetis.so库路径错误导致的节点崩溃。通过一个简单的命令移动库文件到正确位置,即可快速解决这一问题,同时提供了多种替代方案和预防措施,帮助开发者更好地理解Linux动态库加载机制和ROS环境管理。

weixin_29231221的博客 201

unity游戏开发日志(一)将mmd模型导入unity,并解决材质丢失的问题

unity音乐游戏开发,导入角色模型并解决材质问题

yizhigou1的博客 1757

Android定位权限全解析:从基础配置到后台持续定位的完整解决方案

本文全面解析Android定位权限体系,从基础配置到后台持续定位的完整解决方案。涵盖LocationManager和FusedLocationProviderClient等主流API的对比选型,详细讲解动态权限申请、精确定位与模糊定位的智能切换,以及Android 10+的后台定位适配策略。帮助开发者构建兼顾精准度与电量友好的定位方案,适用于导航、运动轨迹记录等多种场景。

weixin_29310605的博客 574

VSCode搭配Keil开发STM32:从环境配置到代码跳转全流程(避坑指南)

本文详细介绍了如何使用VSCode搭配Keil进行STM32开发,从环境配置到代码跳转的全流程指南。通过安装必备插件和正确配置项目文件,开发者可以在VSCode中享受现代编辑器的便捷功能,同时保留Keil的编译调试能力,提升嵌入式开发效率。

weixin_28832121的博客 249

3D识别建模 — 基于ReconstructMe和EAGLE EYES SCANNER的实现

3D实体识别建模,作为3D打印反向工程的一个重要环节,今天就让我们利用ReconstructMe和EAGLE EYES SCANNER来了解一下。 第一步、软件和硬件准备就绪 ReconstructMe下载并安装 http://reconstructme.net/?wpdmdl=160 EAGLE EYES SCANNER直接将相应USB插入电脑接口即OK,之后在    中点击搜索“设备管理...

qq_40013290的博客 876

笔试题-2023-加特兰-数字IC设计【纯净题目版】

笔试题-2023-加特兰-数字IC设计【纯净题目版】

w0shishabi的博客 2244

3、图像中文字信息提取技术全解析

本文全面解析了图像中文字信息提取(Text Information Extraction,TIE)的技术原理、挑战及应用领域。详细介绍了图像中三种主要文字形式:场景文字、字幕文字和文档文字的特点及提取难点。系统阐述了TIE技术的主要流程步骤,包括文字检测、定位、提取与增强、识别等关键阶段,并对主流技术方法进行了分类比较,包括基于连通组件、边缘、纹理等方法的优缺点分析。文章还介绍了多种其他提取技术,如二值化方法、混合方法、基于梯度的方法等,并提出了一种基于立体帧的新型场景文字提取方法,通过实验验证了该方法在召

ll5678的博客 117

32、通用处理器通信平台发展与5G开源社区技术解析

本文探讨了基于通用处理器(GPP)的通信平台在5G技术中的发展现状与挑战,详细介绍了多个开源平台和硬件架构,并分析了软件加速方法和未来发展方向。文章指出,尽管GPP具有灵活性和开放性优势,但在实时信号处理和功耗等方面仍存在瓶颈,需要通过核心技术研发、标准化协作和应用拓展推动5G技术的实际应用。

orange的博客 127

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: ADSP21489的算法调用基础
下一篇: LPC1768 关于延时Delay时间与不同等级的优化对比
ToneChip
博客等级 码龄18年 3047粉丝 231原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToneChip

觉得博主写得不错欢迎鼓励支持哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值