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

歡迎光臨散文網(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中的整合的評論 (共 條)

分享到微博請遵守國家法律
嘉峪关市| 玉山县| 景德镇市| 江永县| 灵山县| 通化县| 玉龙| 蓬溪县| 临桂县| 安远县| 博客| 杨浦区| 连南| 阳西县| 长沙县| 武汉市| 正安县| 佛冈县| 调兵山市| 翁源县| 安新县| 体育| 平邑县| 连平县| 神农架林区| 柏乡县| 古田县| 金溪县| 涡阳县| 广水市| 广德县| 汝南县| 上栗县| 呼伦贝尔市| 聂荣县| 铜陵市| 南京市| 德化县| 丹寨县| 扎兰屯市| 英德市|