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

审核编辑:汤梓红

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

    关注

    65

    文章

    1903

    浏览量

    136909
  • PSoC
    +关注

    关注

    12

    文章

    167

    浏览量

    91110
  • 信号处理
    +关注

    关注

    47

    文章

    854

    浏览量

    102528
  • FFT
    FFT
    +关注

    关注

    15

    文章

    425

    浏览量

    58638
  • 频率
    +关注

    关注

    4

    文章

    1272

    浏览量

    58484
  • 开发板
    +关注

    关注

    25

    文章

    4429

    浏览量

    93991
  • RTT
    RTT
    +关注

    关注

    0

    文章

    63

    浏览量

    16881
收藏 人收藏

    评论

    相关推荐

    英飞凌PSoC 6】新建RTT工程

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

    英飞凌PSoC™ 62开发板 -LCD ILI9341 8080 DEMO

    英飞凌开发板
    rx_ted
    发布于 :2024年03月07日 21:08:39

    频率波动下的相位计算

    频率波动下,相位的计算,采样率1000HZ采样点1000个 即采集1S的信号频率设定是不
    发表于 06-20 20:03

    如何提取工频含谐波的电压电流信号频率相位等信息

    ` 本帖最后由 tyxtyu 于 2015-4-13 11:20 编辑 程序框图如图,目的是求电压电流的频率相位等信息,现以基波信号
    发表于 04-13 11:16

    示波器测量正弦交流信号相位分析

    在昨天博文使用数字示波器DS6104测量交流信号相位 中对于使用示波器测量正弦交流信号
    发表于 08-09 06:20

    【新品发布】英飞凌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 1382次阅读

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

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

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

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

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

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