3.1 电能质量,谐波分析
添加命令行
在电能检测应用中,电能质量一项分析即谐波分析,谐波分量大,说明电能质量不好,
基于本板信号处理前端也实现了该功能。
shell_fun.h中
void FftFun(void* param);
shell_fun.c中
#include "fft.h"
shell_cmd_list中添加一行
{ (const uint8_t*)"fft", FftFun, "fft"}, /*打印帮助信息*/
添加命令执行函数
void FftFun(void* param)
{
fft_main();
}
添加实现
Fft.c
#include "arm_math.h"
#include "arm_const_structs.h"
#include < stdio.h >
#define TEST_LENGTH_SAMPLES 2048
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 fft_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);
int32_t out = 0;
for(int i=0; i< TEST_LENGTH_SAMPLES; i++)
{
if(i >TEST_LENGTH_SAMPLES/2)
{
out = testOutput[i-TEST_LENGTH_SAMPLES/2]/1024;
}
else
{
out = testOutput[i]/1024;
}
printf("/*%ld,%ld*/rn", adcbuffer[i],out);
}
}
/** endlink */
Fft.h
#ifndef FFT_H
#define FFT_H
int fft_main(void);
#endif
测试
看到分析如下,前面是模拟输入,后面是谐波分析结果
详见视频和工程源码
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
测试
+关注
关注
8文章
5740浏览量
129169 -
谐波
+关注
关注
7文章
878浏览量
42869 -
开发板
+关注
关注
25文章
5729浏览量
105702 -
RTT
+关注
关注
0文章
66浏览量
17698
发布评论请先 登录
相关推荐
热点推荐
有奖丨米尔 瑞芯微RK3506开发板免费试用
米尔与瑞芯微合作发布的新品基于瑞芯微RK3506应用处理器的MYD-YR3506开发板免费试用名额来啦~~米尔提供了3块价值299元的MYD-YR3506开发板发起

基于RK3576处理器,米尔RK3576开发板免费试用
年7月19日 ? 评测数量: 3块 ? 更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费

搭载OpenHarmony操作系统,视美泰SC-3568HA开发板免费试用
: 10块 ? 更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费

基于RK处理器,创龙TL3562-MiniEVM开发板试用体验
数量: 10块 ? 更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费

性能强悍!合众HZ-RK3568开发板试用体验
月19日 ? 评测数量: 10块 ? 更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费

有奖丨米尔 NXP i.MX91开发板免费试用来啦
米尔与NXP合作发布的新品基于NXPi.MX91应用处理器的MYD-LMX91开发板免费试用名额来啦~~米尔提供了3套价值588元的MYD-LMX91开发板发起

免费丨米尔 STM32MP257开发板有奖试用
米尔与ST合作发布的新品基于STM32MP257应用处理器的MYD-LD25X开发板免费试用活动来啦~~米尔提供了2块价值488元的MYD-LD25X开发板发起

有奖丨米尔 瑞芯微YR3562开发板免费试用
米尔与瑞芯微合作发布的新品基于瑞芯微RK3562应用处理器的MYD-YR3562开发板免费试用活动来啦~~米尔提供了3块价值599元的MYD-YR3562开发板发起

基于PSOC6的智能环境监控系统
本项目是基于PSOC6进行开发,它具有以下特性Psoc6-evaluationkit-062S2是RT-Thread联合英飞凌推出的一款集成32位双核CPU子系统(ARMCortex-

有奖丨米尔 全志T536开发板免费试用
米尔与全志合作发布的新品基于全志T536应用处理器的MYD-LT536-GK开发板免费试用活动来啦~~米尔提供了3块价值750元的MYD-LT536-GK开发板发起

追加名额丨米尔瑞芯微RK3576开发板有奖试用
米尔与瑞芯微合作发布的新品基于瑞芯微RK3576应用处理器的MYD-LR3576开发板免费试用活动加码啦~~米尔追加了2块价值849元的MYD-LR3576开发板发起

有奖丨米尔 瑞芯微RK3576开发板免费试用
米尔与瑞芯微合作发布的新品基于瑞芯微RK3576应用处理器的MYD-LR3576开发板免费试用活动来啦~~米尔提供了7块价值849元的MYD-LR3576开发板发起

评论