3.2 周期(頻率),幅值,相位分析
原理
FFT變換結(jié)果,幅值最大的橫坐標(biāo)對(duì)應(yīng)信號(hào)頻率,縱坐標(biāo)對(duì)應(yīng)幅度。幅值最大的為out[m]=val;則信號(hào)頻率f0=(Fs/N)m ,信號(hào)幅值Vpp=val/(N/2)。N為FFT的點(diǎn)數(shù),F(xiàn)s為采樣頻率。相位Pha=atan2(a, b)弧度制,其中ab是輸出虛數(shù)結(jié)果的實(shí)部和虛部。
添加命令行
shell_fun.h中
void FrqFun(void* param);
shell_fun.c中
#include "frq.h"
shell_cmd_list中添加一行
{ (const uint8_t*)"frt", FrqFun, "frq"},
添加命令執(zhí)行函數(shù)
void FrqFun(void* param)
{
Frq_main();
}
實(shí)現(xiàn)代碼
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
測(cè)試
輸入frq開(kāi)始測(cè)試印如下
實(shí)時(shí)采集測(cè)試
此時(shí)采集的是音頻背景聲,噪聲很小,所以頻率為0
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
英飛凌
+關(guān)注
關(guān)注
68文章
2518瀏覽量
142915 -
PSoC
+關(guān)注
關(guān)注
12文章
181瀏覽量
95011 -
信號(hào)處理
+關(guān)注
關(guān)注
49文章
1145瀏覽量
105106 -
FFT
+關(guān)注
關(guān)注
15文章
458瀏覽量
63092 -
頻率
+關(guān)注
關(guān)注
4文章
1585瀏覽量
62089 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
26文章
6294瀏覽量
118251 -
RTT
+關(guān)注
關(guān)注
0文章
66瀏覽量
18279
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
【英飛凌PSoC 6 RTT開(kāi)發(fā)板試用】信號(hào)處理前端之濾波
CMSIS-DSP提供直接I型IIR庫(kù)支持Q7,Q15,Q31和浮點(diǎn)四種數(shù)據(jù)類型。其中Q15和Q31提供了快速版本。
【英飛凌PSoC 6 RTT開(kāi)發(fā)板試用】信號(hào)處理前端之極值檢測(cè)
在電力等行業(yè),分析電壓極值,是一項(xiàng)重要的參數(shù)分析,可以分析電壓的波動(dòng);示波器中也有自動(dòng)測(cè)量極值的功能更。
【新品發(fā)布】英飛凌PSoC 6 RTT物聯(lián)網(wǎng)開(kāi)發(fā)板內(nèi)容詳解
4月12日,英飛凌聯(lián)合 RT-Thread 發(fā)布PSoC? 62 with CAPSENSE? evaluation kit開(kāi)發(fā)板 (以下簡(jiǎn)稱PSoC
發(fā)表于 04-13 13:46
【資料下載】英飛凌PSoC 6 RTT物聯(lián)網(wǎng)開(kāi)發(fā)板
Infineon Psoc6-evaluationkit-062S2 說(shuō)明開(kāi)發(fā)板免費(fèi)試用活動(dòng):https://bbs.elecfans.com/jishu_2349212_1_1.html簡(jiǎn)介本文
發(fā)表于 04-13 13:38
【新品試用】英飛凌PSoC 6 RTT開(kāi)發(fā)板試用活動(dòng)
概述、軟件調(diào)試、硬件接入、視頻演示,不少于500字+2張圖片。
2)報(bào)告形式:標(biāo)題格式 【評(píng)測(cè)活動(dòng)標(biāo)題+自擬標(biāo)題】示例: 【英飛凌PSoC 6 RTT
發(fā)表于 04-13 15:26
【英飛凌PSoC 6 RTT開(kāi)發(fā)板試用】
單周期乘法和MPU,可以充分發(fā)揮 PSoC6 雙核芯片性能。
該開(kāi)發(fā)板核心 板載資源 如下:
MCU:CY8C624ABZI-S2D44,Cortex-M4主頻 150MHz,Cortex-M0主頻
發(fā)表于 05-30 20:47
【英飛凌PSoC 6 RTT開(kāi)發(fā)板試用】+開(kāi)箱測(cè)試
【英飛凌PSoC 6 RTT開(kāi)發(fā)板試用】+開(kāi)箱測(cè)試
硬件資源介紹
發(fā)表于 06-05 01:06
英飛凌聯(lián)合 RT-Thread 發(fā)布 PSoC? 62 with CAPSENSE ? evaluation kit開(kāi)發(fā)板
近日,RT-Thread 社區(qū)團(tuán)隊(duì)打造了新品開(kāi)發(fā)板:英飛凌聯(lián)合 RT-Thread 發(fā)布 ?PSoC 62 with CAPSENSE evaluation kit開(kāi)發(fā)板?(以下簡(jiǎn)稱
【英飛凌PSoC 6 RTT開(kāi)發(fā)板試用】信號(hào)處理前端之諧波分析
3.1 電能質(zhì)量,諧波分析 添加命令行 在電能檢測(cè)應(yīng)用中,電能質(zhì)量一項(xiàng)分析即諧波分析,諧波分量大,說(shuō)明電能質(zhì)量不好, 基于本板信號(hào)
基于PSOC6開(kāi)發(fā)板構(gòu)建的智能小車
本項(xiàng)目是基于Psoc6-evaluationkit-062S2開(kāi)發(fā)板構(gòu)建的智能小車。該開(kāi)發(fā)板由RT-Thread與英飛凌聯(lián)合推出,集成了一顆32位雙核CPU子系統(tǒng),包括150MHz的A
發(fā)表于 07-28 15:14
?1513次閱讀
基于 Infineon PSoC?62開(kāi)發(fā)板的信號(hào)處理前端虛擬示波器-工具集
一、前言 本項(xiàng)目基于英飛凌PSoC6 RT-Thread開(kāi)發(fā)板實(shí)現(xiàn)了信號(hào)處理前端-一個(gè)
基于infineonPSOC62開(kāi)發(fā)板的-信號(hào)處理前端 虛擬示波器-工具集
一、前言 本項(xiàng)目基于英飛凌PSoC 6 RTT開(kāi)發(fā)板實(shí)現(xiàn)了信號(hào)
【英飛凌測(cè)評(píng)】英飛凌PSoC? 62開(kāi)發(fā)板試用報(bào)告-LCD ILI9341 8080 DEMO
# Infineon Psoc6-evaluationkit-062S2 說(shuō)明 ## 簡(jiǎn)介 本文檔為 `RT-Thread` 為 `PSoC6 CY8CKIT-062S2-43012` 開(kāi)發(fā)板提供
玩轉(zhuǎn)PSoC 6 RTT積木式開(kāi)發(fā)套件,實(shí)現(xiàn)毫米波雷達(dá)等實(shí)用功能
本期英飛凌手工課,將由來(lái)自英飛凌的工程師Jenson給大家?guī)?lái)PSoC62withCAPSENSEevaluationkit(下稱PSoC6RTT開(kāi)
【英飛凌PSoC 6 RTT開(kāi)發(fā)板試用】信號(hào)處理前端之頻率幅值相位分析
評(píng)論