国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

分享到微博請遵守國家法律
石楼县| 焉耆| 阳江市| 项城市| 延庆县| 承德市| 桓仁| 丁青县| 江达县| 宁国市| 牡丹江市| 枣阳市| 贵港市| 疏附县| 昭觉县| 宁津县| 吴川市| 辰溪县| 青川县| 南涧| 中江县| 福安市| 崇明县| 江源县| 安岳县| 长岭县| 汶川县| 文安县| 南漳县| 洪江市| 临澧县| 姜堰市| 磐石市| 弋阳县| 新巴尔虎左旗| 阿拉善盟| 常德市| 武城县| 霍邱县| 千阳县| 鄂温|