0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【英飞凌PSoC 6 RTT开发板试用】信号处理前端之频率幅值相位分析

嵌入式USB开发 来源:嵌入式USB开发 作者:嵌入式USB开发 2023-07-14 09:02 次阅读

3.2 周期(频率),幅值,相位分析

原理

FFT变换结果,幅值最大的横坐标对应信号频率,纵坐标对应幅度。幅值最大的为out[m]=val;则信号频率f0=(Fs/N)m ,信号幅值Vpp=val/(N/2)。N为FFT的点数,Fs为采样频率。相位Pha=atan2(a, b)弧度制,其中ab是输出虚数结果的实部和虚部。

添加命令行

shell_fun.h中

void FrqFun(void* param);

shell_fun.c中

#include "frq.h"

shell_cmd_list中添加一行

{ (const uint8_t*)"frt",         FrqFun,           "frq"},

添加命令执行函数

void FrqFun(void* param)

{

Frq_main();

}

实现代码

Frq.c

#include "arm_math.h"
#include "arm_const_structs.h"
#include < stdio.h >

#define TEST_LENGTH_SAMPLES 2048
#define FS 10000

extern float32_t testInput_f32_10khz[TEST_LENGTH_SAMPLES];
static float32_t testOutput[TEST_LENGTH_SAMPLES/2];


static uint32_t fftSize = 1024;
static uint32_t ifftFlag = 0;
static uint32_t doBitReverse = 1;
static arm_cfft_instance_f32 varInstCfftF32;

static int testIndex = 0;

static float testtmp_f32_10khz[2048];
static int32_t adcbuffer[2048];

int32_t frq_main(void)
{

  arm_status status;
  float32_t maxValue;

  status = ARM_MATH_SUCCESS;

  status=arm_cfft_init_f32(&varInstCfftF32,fftSize);

  //memcpy(testtmp_f32_10khz,testInput_f32_10khz,sizeof(testInput_f32_10khz));
  adc_samp(adcbuffer,2048);
  for(int i=0; i< 2048;i ++)
 {
	  testtmp_f32_10khz[i] = (float)adcbuffer[i];
  }
  arm_cfft_f32(&varInstCfftF32, testtmp_f32_10khz, ifftFlag, doBitReverse);

  arm_cmplx_mag_f32(testtmp_f32_10khz, testOutput, fftSize);

  /* Calculates maxValue and returns corresponding BIN value */
  arm_max_f32(testOutput, fftSize, &maxValue, &testIndex);

  float freq = (FS/TEST_LENGTH_SAMPLES)*testIndex;
  float vpp = maxValue/(TEST_LENGTH_SAMPLES/2);
  float pha = atan2(testOutput[2*testIndex],testOutput[2*testIndex+1]);
  printf("freq=%f,vpp=%f,pha=%frn",freq,vpp,pha);

}

 /** endlink */

Frq.h

#ifndef FRQ_H
#define FRQ_H

int frq_main(void);

#endif

测试

输入frq开始测试印如下
image.png

实时采集测试

此时采集的是音频背景声,噪声很小,所以频率为0
image.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英飞凌
    +关注

    关注

    66

    文章

    2183

    浏览量

    138658
  • PSoC
    +关注

    关注

    12

    文章

    170

    浏览量

    91896
  • 信号处理
    +关注

    关注

    48

    文章

    1027

    浏览量

    103263
  • FFT
    FFT
    +关注

    关注

    15

    文章

    434

    浏览量

    59368
  • 频率
    +关注

    关注

    4

    文章

    1497

    浏览量

    59215
  • 开发板
    +关注

    关注

    25

    文章

    5035

    浏览量

    97386
  • RTT
    RTT
    +关注

    关注

    0

    文章

    65

    浏览量

    17116
收藏 人收藏

    评论

    相关推荐

    英飞凌PSoC 6 RTT开发板试用信号处理前端滤波

    CMSIS-DSP提供直接I型IIR库支持Q7,Q15,Q31和浮点四种数据类型。其中Q15和Q31提供了快速版本。
    的头像 发表于 07-14 00:09 3661次阅读
    【<b class='flag-5'>英飞凌</b><b class='flag-5'>PSoC</b> <b class='flag-5'>6</b> <b class='flag-5'>RTT</b><b class='flag-5'>开发板</b><b class='flag-5'>试用</b>】<b class='flag-5'>信号</b><b class='flag-5'>处理</b><b class='flag-5'>前端</b><b class='flag-5'>之</b>滤波

    英飞凌PSoC 6】新建RTT工程

    介绍英飞凌PSoC 6 RTT开发板环境创建
    的头像 发表于 04-24 15:29 1932次阅读
    【<b class='flag-5'>英飞凌</b><b class='flag-5'>PSoC</b> <b class='flag-5'>6</b>】新建<b class='flag-5'>RTT</b>工程

    英飞凌PSoC 6 RTT开发板试用信号处理前端之极值检测

    在电力等行业,分析电压极值,是一项重要的参数分析,可以分析电压的波动;示波器中也有自动测量极值的功能更。
    的头像 发表于 07-11 14:33 2225次阅读
    【<b class='flag-5'>英飞凌</b><b class='flag-5'>PSoC</b> <b class='flag-5'>6</b> <b class='flag-5'>RTT</b><b class='flag-5'>开发板</b><b class='flag-5'>试用</b>】<b class='flag-5'>信号</b><b class='flag-5'>处理</b><b class='flag-5'>前端</b>之极值检测

    【新品发布】英飞凌PSoC 6 RTT物联网开发板内容详解

    4月12日,英飞凌联合 RT-Thread 发布PSoC™ 62 with CAPSENSE™ evaluation kit开发板 (以下简称PSoC
    发表于 04-13 13:46

    【资料下载】英飞凌PSoC 6 RTT物联网开发板

    Infineon Psoc6-evaluationkit-062S2 说明开发板免费试用活动:https://bbs.elecfans.com/jishu_2349212_1_1.html简介本文
    发表于 04-13 13:38

    【新品试用英飞凌PSoC 6 RTT开发板试用活动

    概述、软件调试、硬件接入、视频演示,不少于500字+2张图片。 2)报告形式:标题格式 【评测活动标题+自拟标题】示例: 【英飞凌PSoC 6 RTT
    发表于 04-13 15:26

    英飞凌PSoC 6 RTT开发板试用

    单周期乘法和MPU,可以充分发挥 PSoC6 双核芯片性能。 该开发板核心 板载资源 如下: MCU:CY8C624ABZI-S2D44,Cortex-M4主频 150MHz,Cortex-M0主频
    发表于 05-30 20:47

    英飞凌PSoC 6 RTT开发板试用】+开箱测试

    英飞凌PSoC 6 RTT开发板试用】+开箱测试 硬件资源介绍
    发表于 06-05 01:06

    英飞凌联合 RT-Thread 发布 PSoC™ 62 with CAPSENSE ™ evaluation kit开发板

    近日,RT-Thread 社区团队打造了新品开发板英飞凌联合 RT-Thread 发布  PSoC 62 with CAPSENSE evaluation kit开发板 (以下简称
    的头像 发表于 04-13 01:35 1865次阅读

    英飞凌PSoC 6 RTT开发板试用信号处理前端谐波分析

    3.1 电能质量,谐波分析 添加命令行 在电能检测应用中,电能质量一项分析即谐波分析,谐波分量大,说明电能质量不好, 基于本信号
    的头像 发表于 07-13 20:49 2317次阅读
    【<b class='flag-5'>英飞凌</b><b class='flag-5'>PSoC</b> <b class='flag-5'>6</b> <b class='flag-5'>RTT</b><b class='flag-5'>开发板</b><b class='flag-5'>试用</b>】<b class='flag-5'>信号</b><b class='flag-5'>处理</b><b class='flag-5'>前端</b><b class='flag-5'>之</b>谐波<b class='flag-5'>分析</b>

    基于PSOC6开发板构建的智能小车

    本项目是基于Psoc6-evaluationkit-062S2开发板构建的智能小车。该开发板由RT-Thread与英飞凌联合推出,集成了一颗32位双核CPU子系统,包括150MHz的A
    发表于 07-28 15:14 795次阅读
    基于<b class='flag-5'>PSOC6</b><b class='flag-5'>开发板</b>构建的智能小车

    基于 Infineon PSoC™62开发板信号处理前端虚拟示波器-工具集

    一、前言 本项目基于英飞凌PSoC6 RT-Thread开发板实现了信号处理前端-一个
    的头像 发表于 08-16 20:15 631次阅读
    基于 Infineon <b class='flag-5'>PSoC</b>™62<b class='flag-5'>开发板</b>的<b class='flag-5'>信号</b><b class='flag-5'>处理</b><b class='flag-5'>前端</b>虚拟示波器-工具集

    基于infineonPSOC62开发板的-信号处理前端 虚拟示波器-工具集

    一、前言 本项目基于英飞凌PSoC 6 RTT开发板实现了信号
    的头像 发表于 10-11 18:35 585次阅读
    基于infineonPSOC62<b class='flag-5'>开发板</b>的-<b class='flag-5'>信号</b><b class='flag-5'>处理</b><b class='flag-5'>前端</b> 虚拟示波器-工具集

    英飞凌测评】英飞凌PSoC™ 62开发板试用报告-LCD ILI9341 8080 DEMO

    # Infineon Psoc6-evaluationkit-062S2 说明 ## 简介 本文档为 `RT-Thread` 为 `PSoC6 CY8CKIT-062S2-43012` 开发板提供
    的头像 发表于 03-07 21:07 699次阅读
    【<b class='flag-5'>英飞凌</b>测评】<b class='flag-5'>英飞凌</b><b class='flag-5'>PSoC</b>™ 62<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>报告-LCD ILI9341 8080 DEMO

    玩转PSoC 6 RTT积木式开发套件,实现毫米波雷达等实用功能

    本期英飞凌手工课,将由来自英飞凌的工程师Jenson给大家带来PSoC62withCAPSENSEevaluationkit(下称PSoC6RTT
    的头像 发表于 03-20 08:35 973次阅读
    玩转<b class='flag-5'>PSoC</b> <b class='flag-5'>6</b> <b class='flag-5'>RTT</b>积木式<b class='flag-5'>开发</b>套件,实现毫米波雷达等实用功能