最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

第六章合集代碼2:chatGPT生成的數(shù)字信號處理算法代碼及在stm32中的整合

2023-02-17 16:36 作者:西郵嚴老師  | 我要投稿

ARM_MATH_CM4

#include "arm_math.h"

#include "arm_const_structs.h"

#define FFT_SIZE 512

#define FFT_LEN FFT_SIZE?

#define SAMPLING_FREQUENCY 2400000

float32_t inputSignal[FFT_SIZE*2];

float32_t signal[FFT_SIZE*2];

float32_t fftOutput[FFT_SIZE];


/*通過計算fft來得到周期性信號的頻率值的函數(shù),來源于chatGPT*/

float32_t fftCalculate(void)

{

? ? arm_cfft_f32(&arm_cfft_sR_f32_len512, inputSignal, 0, 1);

? ? arm_cmplx_mag_f32(inputSignal, fftOutput, FFT_LEN);

? uint32_t maxValueIndex = 0;

? float32_t maxValue = 0;

? ? arm_max_f32(&fftOutput[1], FFT_LEN, &maxValue, &maxValueIndex);

? ? float32_t frequency =(float32_t) (maxValueIndex+1) * (float32_t)SAMPLING_FREQUENCY / (float32_t)FFT_SIZE;

return frequency ;

}


/*計算信號最大值的函數(shù),來源于chatGPT*/

float32_t get_signal_max(void)

{

? ? float32_t max_value = 0.0f;

? ? arm_max_f32(signal, FFT_SIZE, &max_value, NULL);

? ? return max_value;

}

/*計算信號最小值的函數(shù),來源于chatGPT*/

float32_t get_signal_min(void)

{

? ? float32_t min_value = 0.0f;

? ? arm_min_f32(signal, FFT_SIZE, &min_value, NULL);

? ? return min_value;

}


/*計算信號峰-峰值的函數(shù),來源于chatGPT*/

float32_t get_signal_peak_to_peak(void)

{

? ? float32_t min_value = 0.0f;

? ? float32_t max_value = 0.0f;

? ? arm_min_f32(signal, FFT_SIZE, &min_value, NULL);

? ? arm_max_f32(signal, FFT_SIZE, &max_value, NULL);

? ? return (max_value - min_value);

}


/*計算信號有效值的函數(shù),來源于chatGPT*/

float32_t get_signal_rms(void)

{

? ? float32_t rms_value = 0.0f;? ? ? ? ??

for(int k=0;k<FFT_SIZE;k++)//采樣數(shù)據(jù)轉(zhuǎn)換為0-3.3伏

signal[k]=signal[k]-get_signal_peak_to_peak()/2;

? ? arm_rms_f32(signal, FFT_SIZE, &rms_value);

? ? return rms_value;

}


for(int j=0;j<FFT_SIZE;j++)//采樣數(shù)據(jù)轉(zhuǎn)換為0-3.3伏

{

signal[j]=(AdcConvertedValue[j]&0xfff)*3.3f/4095.0f;//signal是用來計算有效值的數(shù)組

inputSignal[j*2]=(AdcConvertedValue[j]&0xfff)*3.3f/4095.0f;//inputSignal是用來計算復數(shù)fft的數(shù)組

inputSignal[j*2+1]=0;//交替插零,添加數(shù)據(jù)的虛部,以便使用復數(shù)傅里葉變換計算信號頻率

}


/*使用chatGPT提供的算法計算信號最大值、最小值。峰峰值、有效值、頻率*/

Unicode::snprintfFloat(textMaxValueBuffer, 10, "%2.3f", get_signal_max());

textMaxValue.invalidate();//更新最大值顯示內(nèi)容


Unicode::snprintfFloat(textMinValueBuffer, 10, "%2.3f", get_signal_min());

textMinValue.invalidate();//更新最小值顯示內(nèi)容


Unicode::snprintfFloat(textPPValueBuffer, 10, "%2.3f", get_signal_peak_to_peak());

textPPValue.invalidate();//更新峰-峰值顯示內(nèi)容


Unicode::snprintfFloat(textFreBuffer, 10, "%5.0f", fftCalculate());

textFre.invalidate();//更新頻率顯示內(nèi)容


Unicode::snprintfFloat(textRMSValueBuffer, 10, "%2.3f", get_signal_rms());

textRMSValue.invalidate();//更新有效值顯示內(nèi)容


第六章合集代碼2:chatGPT生成的數(shù)字信號處理算法代碼及在stm32中的整合的評論 (共 條)

分享到微博請遵守國家法律
新蔡县| 祁东县| 东山县| 南澳县| 泽库县| 炎陵县| 游戏| 广州市| 景泰县| 寻乌县| 苍溪县| 彰化市| 汤原县| 宜丰县| 略阳县| 湖北省| 莆田市| 岐山县| 淮北市| 武清区| 新沂市| 安陆市| 辽宁省| 海城市| 积石山| 翼城县| 方山县| 桓台县| 龙海市| 普洱| 巫山县| 甘孜县| 汪清县| 阳朔县| 民和| 乌苏市| 福建省| 西畴县| 土默特右旗| 沂源县| 伊吾县|