HT32 CMSIS-DSP Library
ຄູ່ມືຜູ້ໃຊ້
D/N: AN0538EN
ແນະນຳ
CMSIS ແມ່ນຊອບແວມາດຕະຖານການໂຕ້ຕອບທີ່ພັດທະນາໂດຍ ARM ເຊິ່ງມີຊື່ເຕັມຂອງ Cortex Microcontroller Software Interface Standard. ດ້ວຍການໂຕ້ຕອບມາດຕະຖານນີ້, ນັກພັດທະນາສາມາດໃຊ້ອິນເຕີເຟດດຽວກັນເພື່ອຄວບຄຸມ microcontrollers ຈາກຜູ້ສະຫນອງທີ່ແຕກຕ່າງກັນ, ດັ່ງນັ້ນການຫຼຸດຜ່ອນເວລາການພັດທະນາແລະການຮຽນຮູ້ຂອງພວກເຂົາຢ່າງຫຼວງຫຼາຍ. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ອ້າງອີງເຖິງເຈົ້າຫນ້າທີ່ CMSIS webເວັບໄຊ: http://www.keil.com/pack/doc/CMSIS/General/html/index.html. ຂໍ້ຄວາມນີ້ສ່ວນໃຫຍ່ອະທິບາຍຄໍາຮ້ອງສະຫມັກ CMSIS-DSP ໃນຊຸດ HT32 ຂອງ microcontrollers ເຊິ່ງປະກອບມີການຕັ້ງຄ່າສະພາບແວດລ້ອມ, ທິດທາງສໍາລັບການນໍາໃຊ້, ແລະອື່ນໆ.
ຄໍາອະທິບາຍຫນ້າທີ່
ຄຸນສົມບັດ CMSIS-DSP
CMSIS-DSP, ເຊິ່ງເປັນຫນຶ່ງໃນອົງປະກອບ CMSIS ປະກອບມີລັກສະນະດັ່ງຕໍ່ໄປນີ້.
- ສະຫນອງຊຸດຂອງຫນ້າທີ່ປະມວນຜົນສັນຍານທົ່ວໄປທີ່ອຸທິດຕົນເພື່ອ Cortex-M.
- ຫ້ອງສະຫມຸດຟັງຊັນທີ່ສະຫນອງໂດຍ ARM ມີຫຼາຍກວ່າ 60 ຫນ້າທີ່.
- ຮອງຮັບ q7, q15, q31
(ໝາຍເຫດ) ແລະປະເພດຂໍ້ມູນຈຸດລອຍ (32-ບິດ). - ການປະຕິບັດໄດ້ຖືກປັບປຸງໃຫ້ເຫມາະສົມສໍາລັບຊຸດຄໍາແນະນໍາ SIMD ທີ່ມີສໍາລັບ Cortex-M4/M7/M33/M35P.
ໝາຍເຫດ: ການຕັ້ງຊື່ q7, q15, ແລະ q31 ໃນຫ້ອງສະໝຸດຟັງຊັນຕາມລໍາດັບເປັນຕົວແທນຂອງຈຸດຄົງທີ່ 8, 16, ແລະ 32bit.
ລາຍການຫ້ອງສະໝຸດຟັງຊັນ CMSIS-DSP
ຫ້ອງສະໝຸດຟັງຊັນ CMSIS-DSP ຖືກແບ່ງອອກເປັນປະເພດຕໍ່ໄປນີ້:
- ຟັງຊັນທາງຄະນິດສາດພື້ນຖານ, ຫນ້າທີ່ຄະນິດສາດໄວ, ແລະຫນ້າທີ່ສັບສົນທາງຄະນິດສາດ
- ຟັງຊັນການກັ່ນຕອງສັນຍານ
- ຟັງຊັນມາຕຣິກເບື້ອງ
- ການຫັນປ່ຽນຫນ້າທີ່
- ຫນ້າທີ່ຄວບຄຸມມໍເຕີ
- ຫນ້າທີ່ສະຖິຕິ
- ຫນ້າທີ່ສະຫນັບສະຫນູນ
- ຟັງຊັນ interpolation
ການຕັ້ງຄ່າສະພາບແວດລ້ອມ
ພາກນີ້ຈະແນະນໍາຮາດແວແລະຊອບແວທີ່ໃຊ້ໃນແອັບພລິເຄຊັນເຊັ່ນ:ampເລ.
ຮາດແວ
ເຖິງແມ່ນວ່າ CMSIS-DSP ສະຫນັບສະຫນູນຊຸດ HT32 ເຕັມ, ມັນແນະນໍາໃຫ້ໃຊ້ MCU ທີ່ມີຄວາມຈຸ SRAM ຂະຫນາດໃຫຍ່ກວ່າ 4KB ເປັນຄໍາຮ້ອງສະຫມັກ CMSIS-DSP example ຕ້ອງການຂະຫນາດ SRAM ທີ່ໃຫຍ່ກວ່າ. ຂໍ້ຄວາມນີ້ໃຊ້ ESK32-30501 ເປັນ example ເຊິ່ງໃຊ້ HT32F52352.
ຊອບແວ
ກ່ອນທີ່ຈະນໍາໃຊ້ຄໍາຮ້ອງສະຫມັກ example, ທໍາອິດ, ໃຫ້ແນ່ໃຈວ່າຫ້ອງສະຫມຸດເຟີມແວ Holtek HT32 ຫລ້າສຸດໄດ້ຖືກດາວໂຫຼດຈາກ Holtek ຢ່າງເປັນທາງການ. webເວັບໄຊ. ສະຖານທີ່ດາວໂຫຼດແມ່ນສະແດງຢູ່ໃນຮູບ
ບີບອັດ file ຫຼັງຈາກການດາວໂຫຼດ.
ດາວໂຫລດລະຫັດຄໍາຮ້ອງສະຫມັກ CMSIS-DSP ຜ່ານການເຊື່ອມຕໍ່ຂ້າງລຸ່ມນີ້. ລະຫັດຄໍາຮ້ອງສະຫມັກໄດ້ຖືກບັນຈຸເປັນ zip file ດ້ວຍຊື່ຂອງ HT32_APPFW_xxxxx_CMSIS_DSP_vn_m.zip.
ເສັ້ນທາງດາວໂຫຼດ: https://mcu.holtek.com.tw/ht32/app.fw/CMSIS_DSP/
ໄດ້ file ກົດລະບຽບການຕັ້ງຊື່ແມ່ນສະແດງຢູ່ໃນຮູບ 2.
ເນື່ອງຈາກວ່າລະຫັດຄໍາຮ້ອງສະຫມັກບໍ່ມີຫ້ອງສະຫມຸດເຟີມແວ files, ຜູ້ໃຊ້ຈໍາເປັນຕ້ອງໄດ້ວາງລະຫັດຄໍາຮ້ອງສະຫມັກ unzipped ແລະຫ້ອງສະຫມຸດ firmware files ເຂົ້າໄປໃນເສັ້ນທາງທີ່ຖືກຕ້ອງກ່ອນທີ່ຈະເລີ່ມຕົ້ນການລວບລວມ. ລະຫັດຄໍາຮ້ອງສະຫມັກ file ປະກອບມີສອງໂຟນເດີ, ເຊິ່ງເປັນແອັບພລິເຄຊັນ ແລະຫ້ອງສະໝຸດທີ່ຕັ້ງຢູ່ໃນຮູບທີ່ 3. ເອົາສອງໂຟນເດີນີ້ໃສ່ໃນໄດເລກະທໍລີຮາກຂອງເຟີມແວ ເພື່ອເຮັດສໍາເລັດ. file ການຕັ້ງຄ່າເສັ້ນທາງດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 4. ຜູ້ໃຊ້ຍັງສາມາດ decompress ລະຫັດຄໍາຮ້ອງສະຫມັກແລະ firmware Library compressed files ເຂົ້າໄປໃນເສັ້ນທາງດຽວກັນເພື່ອບັນລຸຜົນກະທົບດຽວກັນ. ສໍາລັບນີ້ exampດັ່ງນັ້ນ, ໄດເລກະທໍລີສໍາລັບ CMSIS_DSP ຈະຖືກເຫັນພາຍໃຕ້ໂຟເດີແອັບພລິເຄຊັນຫຼັງຈາກການບີບອັດ.
File ໂຄງສ້າງ
ສອງໂຟນເດີຫຼັກລວມຢູ່ໃນລະຫັດຄໍາຮ້ອງສະຫມັກ file, ຫ້ອງສະໝຸດ\CMSIS, ແລະແອັບພລິເຄຊັນ\CMSIS_DSP, ແມ່ນໄດ້ອະທິບາຍເປັນສ່ວນບຸກຄົນຂ້າງລຸ່ມນີ້.
ເນື້ອໃນຂອງຫ້ອງສະໝຸດ\CMSIS ໂຟນເດີມີດັ່ງນີ້.
ຊື່ໂຟນເດີ | ລາຍລະອຽດ |
DSP_Lib | ລະຫັດແຫຼ່ງຂອງແອັບພລິເຄຊັນ FW |
DSP_Lib\Examples | ປະກອບມີຫຼາຍມາດຕະຖານ examples ຂອງຫ້ອງສະຫມຸດຟັງຊັນ CMSIS-DSP ທີ່ສະຫນອງໃຫ້ໂດຍ ARM. ການຕັ້ງຄ່າສໍາລັບໂຄງການເຫຼົ່ານີ້ຖືກປະຕິບັດໃນແບບຈໍາລອງໂດຍບໍ່ຈໍາເປັນຕ້ອງມີ MCU. ຜູ້ໃຊ້ສາມາດໄດ້ຢ່າງວ່ອງໄວຮຽນຮູ້ວິທີການນໍາໃຊ້ ex ເຫຼົ່ານີ້amples ໂດຍການປະຕິບັດໃຫ້ເຂົາເຈົ້າ. |
DSP_Lib\Source | ລະຫັດແຫຼ່ງຫ້ອງສະໝຸດຟັງຊັນ CMSIS-DSP |
ຮວມ | ຫົວຂໍ້ຈໍາເປັນ file ເມື່ອໃຊ້ຫ້ອງສະໝຸດຟັງຊັນ CMSIS-DSP |
ລວມເອົາ\arm_common_tables.h | ການປະກາດຕົວແປ array ພາຍນອກ (extern) |
ລວມເອົາ\arm_const_structs.h | ຖະແຫຼງການຂອງຄ່າຄົງທີ່ພາຍນອກ |
ລວມເອົາ\arm_math.h | ນີ້ file ມີຄວາມສໍາຄັນຫຼາຍເປັນການໂຕ້ຕອບສໍາລັບການນໍາໃຊ້ຫ້ອງສະຫມຸດຟັງຊັນ CMSIS-DSP. ການໂທໄປຫາ API ຫ້ອງສະໝຸດຟັງຊັນໃດນຶ່ງແມ່ນຖືກປະຕິບັດຜ່ານ arm_math.h. |
Lib\ARM | ຫ້ອງສະໝຸດຟັງຊັນ CMSIS-DSP ສຳລັບ ARMCC l arm_cortexM3l_math.lib (Cortex-M3, Little ndian) l arm_cortexM0l_math.lib (Cortex-M0 / M0+, Little endian) |
Lib\GCC | ຫ້ອງສະໝຸດຟັງຊັນ CMSIS-DSP ສໍາລັບ GCC l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, Little endian) |
ໂຟນເດີຂອງແອັບພລິເຄຊັນ\CMSIS_DSP ມີຫຼາຍ CMSIS_DSP examples, ເຊິ່ງໃຊ້ຊຸດ HT32 ຂອງ MCUs ແລະສະຫນັບສະຫນູນຊຸດ HT32 ເຕັມ. ໂຄງການດັ່ງກ່າວໄດ້ຖືກພັດທະນາໂດຍນໍາໃຊ້ Keil MDK_ARM.
ຊື່ໂຟນເດີ | ລາຍລະອຽດ |
arm_class_marks_example | ສະແດງໃຫ້ເຫັນວິທີການໄດ້ຮັບຄ່າສູງສຸດ, ມູນຄ່າຕໍາ່ສຸດທີ່, ມູນຄ່າຄາດຄະເນ, ມາດຕະຖານ deviation, variance ແລະການທໍາງານຂອງ matrix. |
arm_convolution_example | ສະແດງໃຫ້ເຫັນທິດສະດີ convolution ຜ່ານ FFT ສະລັບສັບຊ້ອນແລະຫນ້າທີ່ສະຫນັບສະຫນູນ. |
arm_dotproduct_example | ສະແດງໃຫ້ເຫັນວິທີການໄດ້ຮັບຜະລິດຕະພັນຈຸດໂດຍຜ່ານການຄູນແລະການເພີ່ມຂອງ vectors. |
arm_fft_bin_example | ສະແດງໃຫ້ເຫັນວິທີການຄິດໄລ່ window ພະລັງງານສູງສຸດ (bin) ໃນໂດເມນຄວາມຖີ່ຂອງສັນຍານ input ໂດຍໃຊ້ FFT ສະລັບສັບຊ້ອນ, ຂະຫນາດສະລັບສັບຊ້ອນ, ແລະຫນ້າທີ່ໂມດູນສູງສຸດ. |
arm_fir_example | ສະແດງໃຫ້ເຫັນວິທີການປະຕິບັດການກັ່ນຕອງຕ່ໍາຜ່ານ FIR. |
arm_graphic_equalizer_example | ສະແດງໃຫ້ເຫັນວິທີການປ່ຽນຄຸນນະພາບສຽງໂດຍໃຊ້ graphic equalizer. |
arm_linear_interp_example | ສະແດງໃຫ້ເຫັນການນໍາໃຊ້ໂມດູນ interpolation ເສັ້ນແລະໂມດູນຄະນິດສາດໄວ. |
arm_matrix_example | ສະແດງໃຫ້ເຫັນການຄິດໄລ່ຄວາມພົວພັນມາຕຣິກເບື້ອງລວມທັງການຫັນປ່ຽນມາຕຣິກເບື້ອງ, ການຄູນເມຕຣິກ, ແລະ matrix inverse. |
arm_signal_converge_example | ສະແດງໃຫ້ເຫັນຕົວກັ່ນຕອງ FIR ຕ່ໍາຜ່ານການປັບຕົນເອງໂດຍນໍາໃຊ້ NLMS (Normalised Least Mean Square), FIR, ແລະໂມດູນຄະນິດສາດພື້ນຖານ. |
arm_sin_cos_example | ສະແດງໃຫ້ເຫັນການຄິດໄລ່ trigonometric. |
arm_variance_example | ສະແດງໃຫ້ເຫັນວິທີການຄິດໄລ່ຄວາມແຕກຕ່າງໂດຍຜ່ານຄະນິດສາດພື້ນຖານແລະຫນ້າທີ່ສະຫນັບສະຫນູນ. |
filter_iir_high_pass_example | ສະແດງໃຫ້ເຫັນວິທີການປະຕິບັດການກັ່ນຕອງຜ່ານສູງໂດຍໃຊ້ IIR. |
ການທົດສອບ
ຂໍ້ຄວາມນີ້ຈະໃຊ້ແອັບພລິເຄຊັນ\CMSIS_DSP\arm_class_marks_example as the test exampເລ. ກ່ອນທີ່ຈະເລີ່ມການທົດສອບ, ໃຫ້ກວດເບິ່ງວ່າ ESK32-30501 ໄດ້ຖືກເຊື່ອມຕໍ່ຫຼືບໍ່ແລະໃຫ້ແນ່ໃຈວ່າລະຫັດຄໍາຮ້ອງສະຫມັກແລະຫ້ອງສະຫມຸດ firmware ໄດ້ຖືກຈັດໃສ່ໃນສະຖານທີ່ທີ່ເຫມາະສົມ. ເປີດແອັບພລິເຄຊັນ\CMSIS_DSP\arm_class_marks_example folder ແລະດໍາເນີນການ _CreateProject.bat file, ດັ່ງທີ່ສະແດງຂ້າງລຸ່ມນີ້. ຫຼັງຈາກນີ້, ເປີດ MDK_ARMv5 (ຫຼື MDK_ARM ສໍາລັບ Keilv4), ເພື່ອຊອກຫາວ່າ ex ນີ້.ample ສະຫນັບສະຫນູນຊຸດ HT32 ເຕັມ. ເປີດໂຄງການ Project_52352.uvprojx ເພາະວ່າ ESK32-30501 ຖືກໃຊ້.
ຫຼັງຈາກເປີດໂຄງການ, ລວບລວມ (ປຸ່ມລັດ “F7”), ດາວໂຫຼດ (ປຸ່ມລັດ “F8”), ດີບັກ (ປຸ່ມລັດ “Ctrl+F5”) ແລະຫຼັງຈາກນັ້ນດໍາເນີນການ (ປຸ່ມລັດ “F5”). ຜົນໄດ້ຮັບການປະຕິບັດສາມາດສັງເກດເຫັນໄດ້ໂດຍໃຊ້ຕົວແປທີ່ລະບຸໄວ້ຂ້າງລຸ່ມນີ້.
ຕົວແປ ຊື່ | ທິດທາງຂໍ້ມູນ | ລາຍລະອຽດ | ຜົນການປະຕິບັດ |
testMarks_f32 | ປ້ອນຂໍ້ມູນ | ນຶ່ງອາເຣ 20×4 | – |
testUnity_f32 | ປ້ອນຂໍ້ມູນ | ນຶ່ງອາເຣ 4×1 | – |
ຜົນຜະລິດທົດສອບ | ຜົນຜະລິດ | ຜະລິດຕະພັນຂອງ testMarks_f32 ແລະ testUnity_f32 | {188…} |
max_marks | ຜົນຜະລິດ | ຄ່າສູງສຸດຂອງອົງປະກອບໃນ array ຜົນການທົດສອບ | 364 |
min_marks | ຜົນຜະລິດ | ຄ່າຕໍ່າສຸດຂອງອົງປະກອບໃນ array ຜົນການທົດສອບ | 156 |
ຫມາຍຄວາມວ່າ | ຜົນຜະລິດ | ຄ່າທີ່ຄາດໄວ້ຂອງອົງປະກອບໃນ array ຜົນການທົດສອບ | 212.300003 |
std | ຜົນຜະລິດ | ມາດຕະຖານ deviation ຂອງອົງປະກອບໃນ array ຜົນການທົດສອບ | 50.9128189 |
var | ຜົນຜະລິດ | ຄວາມແຕກຕ່າງຂອງອົງປະກອບໃນອາເຣຜົນຜະລິດການທົດສອບ | 2592.11523 |
ທິດທາງສໍາລັບການນໍາໃຊ້
ການປະສົມປະສານ
ພາກນີ້ຈະແນະນໍາວິທີການລວມ CMSIS-DSP ເຂົ້າໃນໂຄງການຂອງຜູ້ໃຊ້.
ຂັ້ນຕອນທີ 1
ທຳອິດ, ໃຫ້ເພີ່ມສັນຍາລັກ Define ໃໝ່ເມື່ອຕັ້ງໂຄງການ, “ARM_MATH_CM0PLUS” ສຳລັບ M0+ ແລະ “ARM_MATH_CM3” ສຳລັບ M3. ຂັ້ນຕອນການຕັ້ງຄ່າ: (1) ທາງເລືອກຂອງປຸ່ມລັດເປົ້າໝາຍ “Alt+F7”), (2) ເລືອກໜ້າ C/C++, (3) ເພີ່ມຄຳນິຍາມໃໝ່ໃນຕົວເລືອກກຳນົດ, ດັ່ງທີ່ສະແດງຢູ່ລຸ່ມນີ້.
ຂັ້ນຕອນທີ 2
ເພື່ອເພີ່ມເສັ້ນທາງລວມ, ໃຫ້ຄລິກໃສ່ປຸ່ມທີ່ຢູ່ຂ້າງ "ລວມເສັ້ນທາງ" ຢູ່ໃນຫນ້າ C/C++. ຫຼັງຈາກນັ້ນ, ປ່ອງຢ້ຽມການຕັ້ງຄ່າໂຟນເດີຈະປາກົດຂຶ້ນ, ບ່ອນທີ່ສາມາດເພີ່ມເສັ້ນທາງໃຫມ່ ..\..\..\..\library\CMSIS\Include”, ດັ່ງທີ່ສະແດງຂ້າງລຸ່ມນີ້.
ຂັ້ນຕອນທີ 3 (ທາງເລືອກ)
ເພື່ອເພີ່ມຫ້ອງສະຫມຸດຟັງຊັນ, ໃຫ້ຄລິກໃສ່ປຸ່ມ "ຈັດການລາຍການໂຄງການ" ຕາມຮູບຂ້າງລຸ່ມນີ້. ຖ້າບໍ່ເຫັນປຸ່ມ, ຄລິກ “Window → Reset View ເປັນ Defaults → Reset”, ດັ່ງນັ້ນການຕັ້ງຄ່າປ່ອງຢ້ຽມ IDE ຈະກັບຄືນສູ່ການຕັ້ງຄ່າເລີ່ມຕົ້ນຂອງມັນ. ຫຼັງຈາກນີ້, ປຸ່ມ "ຈັດການລາຍການໂຄງການ" ຈະຖືກສະແດງ.
ເພີ່ມໂຟນເດີ CMSIS-DSP ໂດຍໃຊ້ປຸ່ມຕ່າງໆຕາມທີ່ສະແດງຢູ່ໃນປ່ອງສີແດງຂ້າງລຸ່ມນີ້ແລະຍ້າຍມັນໄປພາຍໃຕ້ໂຟນເດີ CMSIS ໂດຍໃຊ້ປຸ່ມ "ຍ້າຍຂຶ້ນ". ປິດໜ້າຕ່າງ Manage Project tems ເມື່ອສຳເລັດແລ້ວ.
ຂັ້ນຕອນທີ 4
ຄລິກສອງເທື່ອໃສ່ໂຟເດີ CMSIS-DSP ຢູ່ເບື້ອງຊ້າຍ (ຖ້າຂັ້ນຕອນທີ 3 ຂ້າມໄປ, ເລືອກໂຟນເດີໃດນຶ່ງເຊັ່ນ User ຫຼື CMSIS, ແລະອື່ນໆ), ຈາກນັ້ນເພີ່ມຫ້ອງສະໝຸດຟັງຊັນ CMSIS-DSP ເຂົ້າໄປໃນມັນ. ເລືອກ \library\CMSIS\Lib\ARM\arm_cortexM0l_math.lib ສໍາລັບ M0+ ຫຼື \library\CMSIS\Lib\ARM \arm_cortexM3l_math.lib ສໍາລັບ M3. ເມື່ອສໍາເລັດ, ຫ້ອງສະຫມຸດຟັງຊັນ arm_cortexMxl_math.lib ຈະຖືກສະແດງຢູ່ໃນໂຟນເດີ CMSIS-DSP, ດັ່ງທີ່ສະແດງຂ້າງລຸ່ມນີ້.
ຂັ້ນຕອນທີ 5
ຕື່ມຫົວ file “arm_math.h” ເຂົ້າໄປໃນ main.c, ດັ່ງທີ່ສະແດງຢູ່ຂ້າງລຸ່ມ. ໃນປັດຈຸບັນການຕັ້ງຄ່າການເຊື່ອມໂຍງທັງຫມົດແມ່ນສໍາເລັດແລ້ວ
Low-Pass Filter – FIR
ພາກສ່ວນນີ້, ໂດຍການແນະນຳແອັບພລິເຄຊັນ\CMSIS_DSP\arm_fir_example, ຈະສະແດງວິທີການກໍານົດການກັ່ນຕອງ FIR ແລະເອົາສັນຍານຄວາມຖີ່ສູງໂດຍໃຊ້ FIR. ສັນຍານເຂົ້າແມ່ນປະກອບດ້ວຍ 1kHz ແລະ 15kHz sine waves. ສັນຍານ sampຄວາມຖີ່ ling ແມ່ນ 48kHz. ສັນຍານຂ້າງເທິງ 6kHz ຖືກກັ່ນຕອງໂດຍ FIR ແລະສັນຍານ 1kHz ແມ່ນຜົນຜະລິດ. ລະຫັດຄໍາຮ້ອງສະຫມັກແບ່ງອອກເປັນຫຼາຍພາກສ່ວນ.
- ການເລີ່ມຕົ້ນ. ເພື່ອເລີ່ມຕົ້ນ FIR, API ຕໍ່ໄປນີ້ຖືກໃຊ້.
void arm_fir_init_f32 (arm_fir_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize);
S: ໂຄງສ້າງການກັ່ນຕອງ FIR
ຕົວເລກ: ຈໍານວນຂອງການກັ່ນຕອງ stages (ຈໍານວນຂອງຕົວຄູນການກັ່ນຕອງ). ໃນນີ້ example, numTaps=29.
Coffs: ຄ່າສໍາປະສິດການກັ່ນຕອງ. ມີ 29 ຕົວຄູນຕົວກອງໃນຕົວຢ່າງນີ້ample ເຊິ່ງຖືກຄິດໄລ່ໂດຍ MATLAB.
state: ຕົວຊີ້ບອກສະຖານະ
blockSize: ເປັນຕົວແທນຈໍານວນຂອງ samples ປຸງແຕ່ງໃນເວລາດຽວ. - ການກັ່ນຕອງຕ່ໍາ. ໂດຍການໂທຫາ API ຂອງ FIR, 32 samples ຖືກປຸງແຕ່ງໃນແຕ່ລະຄັ້ງແລະມີ 320 samples ໃນຈໍານວນທັງຫມົດ. API ທີ່ໃຊ້ແມ່ນສະແດງໃຫ້ເຫັນຂ້າງລຸ່ມນີ້.
void arm_fir_f32 (const arm_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
S: ໂຄງສ້າງການກັ່ນຕອງ FIR
pSrc: ສັນຍານເຂົ້າ. ສັນຍານປະສົມຂອງ 1kHz ແລະ 15kHz ແມ່ນ input in this exampເລ. pDst: ສັນຍານອອກ. ສັນຍານຜົນຜະລິດທີ່ຄາດໄວ້ແມ່ນ 1kHz. blockSize: ເປັນຕົວແທນຈໍານວນຂອງ samples ປຸງແຕ່ງໃນເວລາດຽວ. - ການກວດສອບຂໍ້ມູນ. ຜົນໄດ້ຮັບການກັ່ນຕອງທີ່ໄດ້ຮັບໂດຍ MATLAB ແມ່ນຖືວ່າເປັນການອ້າງອີງແລະຜົນໄດ້ຮັບການກັ່ນຕອງທີ່ໄດ້ຮັບໂດຍ CMSIS-DSP ແມ່ນມູນຄ່າຕົວຈິງ. ປຽບທຽບສອງຜົນໄດ້ຮັບເພື່ອກວດສອບວ່າຜົນໄດ້ຮັບທີ່ຖືກຕ້ອງຫຼືບໍ່. float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize)
Pref: ຄ່າອ້າງອີງທີ່ສ້າງຂຶ້ນໂດຍ MATLAB.
ໂພສ: ມູນຄ່າຕົວຈິງທີ່ສ້າງຂຶ້ນໂດຍ CMSIS-DSP.
blockSize: ເປັນຕົວແທນຈໍານວນຂອງ samples ປຸງແຕ່ງໃນເວລາດຽວ.
ດັ່ງທີ່ສະແດງຂ້າງລຸ່ມນີ້, Input Data ສະແດງໃຫ້ເຫັນວ່າສັນຍານຍັງບໍ່ໄດ້ຖືກກັ່ນຕອງແລະ Output Data ສະແດງຜົນທີ່ຖືກກັ່ນຕອງ. ແກນ Y ເປັນຕົວແທນ amplitude ຂອງສັນຍານແລະ sampຄວາມຖີ່ຂອງ ling ແມ່ນ 48kHz, ດັ່ງນັ້ນຕົວເລກ X-axis ບວກຫນຶ່ງເປັນຕົວແທນຂອງເວລາບວກກັບ 20.833μs. ມັນສາມາດພົບໄດ້ຈາກຮູບ 12 ແລະຮູບ 13 ວ່າສັນຍານ 15kHz ຖືກລົບລ້າງແລະມີພຽງແຕ່ສັນຍານ 1kHz ເທົ່ານັ້ນ.
ການກັ່ນຕອງຜ່ານສູງ- IIR
ພາກສ່ວນນີ້, ໂດຍການແນະນຳແອັບພລິເຄຊັນ\CMSIS_DSP\filter_iir_high_pass_example, ຈະສະແດງວິທີການກໍານົດການກັ່ນຕອງ IIR ແລະເອົາສັນຍານຄວາມຖີ່ຕ່ໍາໂດຍໃຊ້ IIR. ສັນຍານເຂົ້າແມ່ນປະກອບດ້ວຍ 1Hz ແລະ 30Hz sine waves. ສັນຍານ sampຄວາມຖີ່ຂອງ ling ແມ່ນ 100Hz ແລະຈໍານວນທັງຫມົດ 480 ຈຸດແມ່ນ sampນໍາພາ. ສັນຍານທີ່ຕ່ຳກວ່າ 7Hz ຈະຖືກຖອດອອກໂດຍ IIR.
ລະຫັດຄໍາຮ້ອງສະຫມັກແບ່ງອອກເປັນຫຼາຍພາກສ່ວນ.
- ມີ 480 ວິamples. ສample 0~159 ແມ່ນ 30Hz sine waves, sample 160~319 ແມ່ນ 1Hz sine waves ແລະ sample 320~479 ແມ່ນ 30Hz sine waves.
- ການເລີ່ມຕົ້ນ. ເພື່ອເລີ່ມຕົ້ນ IIR, API ຕໍ່ໄປນີ້ຖືກໃຊ້. void arm_biquad_cascade_df1_init_f32 (arm_biquad_casd_df1_inst_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *state));
S: ໂຄງສ້າງການກັ່ນຕອງ IIR
ລວມ stages: ຈໍານວນຂອງຄໍາສັ່ງທີສອງ stages ໃນການກັ່ນຕອງ. ໃນນີ້ example, numStages=1.
Coffs: ຄ່າສໍາປະສິດການກັ່ນຕອງ. ມີ 5 ຕົວຄູນຕົວກອງໃນຕົວຢ່າງນີ້ampເລ.
state: ຕົວຊີ້ບອກສະຖານະ - ການກັ່ນຕອງຜ່ານສູງ. ໂດຍການໂທຫາ API ຂອງ IIR, 1 sample ຖືກປຸງແຕ່ງໃນແຕ່ລະຄັ້ງແລະມີ 480 samples ໃນຈໍານວນທັງຫມົດ. API ທີ່ໃຊ້ແມ່ນສະແດງໃຫ້ເຫັນຂ້າງລຸ່ມນີ້. void arm_biquad_cascade_df1_f32 (const arm_biquad_casd_df1_inst_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
S: ໂຄງສ້າງການກັ່ນຕອງ IIR
pSrc: ສັນຍານເຂົ້າ. ສັນຍານປະສົມຂອງ 1Hz ແລະ 30Hz ແມ່ນ input in this exampເລ.
pDst: ສັນຍານອອກ. ສັນຍານຜົນຜະລິດທີ່ຄາດໄວ້ແມ່ນ 30Hz.
blockSize: ເປັນຕົວແທນຈໍານວນຂອງ samples ປຸງແຕ່ງໃນເວລາດຽວ. - ຜົນໄດ້ຮັບ. ສັນຍານ input ແລະ output ແມ່ນ output ກັບ PC ໂດຍຜ່ານການພິມ. ດັ່ງທີ່ສະແດງຂ້າງລຸ່ມນີ້, Input Data ສະແດງໃຫ້ເຫັນວ່າສັນຍານຍັງບໍ່ໄດ້ຖືກກັ່ນຕອງແລະ Output Data ສະແດງຜົນທີ່ຖືກກັ່ນຕອງ. ແກນ Y ເປັນຕົວແທນ amplitude ຂອງສັນຍານແລະ sampຄວາມຖີ່ ling ແມ່ນ 100Hz, ດັ່ງນັ້ນຕົວເລກ X-axis ບວກຫນຶ່ງສະແດງເຖິງເວລາບວກ 10ms. ມັນສາມາດພົບໄດ້ຈາກຮູບ 14 ແລະຮູບ 15 ວ່າສັນຍານ 1Hz ຖືກລົບລ້າງແລະມີພຽງແຕ່ສັນຍານ 30Hz ເທົ່ານັ້ນ.
ການພິຈາລະນາ
ຜູ້ໃຊ້ຄວນເອົາໃຈໃສ່ເປັນພິເສດຕໍ່ຂະຫນາດຫນ່ວຍຄວາມຈໍາຫຼັງຈາກການລວບລວມໃນເວລາທີ່ໃຊ້ຫ້ອງສະຫມຸດຟັງຊັນ CMSIS-DSP. ໃຫ້ແນ່ໃຈວ່າບໍ່ມີຄວາມຈໍາລົ້ນເກີດຂຶ້ນກ່ອນການທົດສອບ.
ສະຫຼຸບ
CMSIS-DSP ມີຄວາມສາມາດອັນໃຫຍ່ຫຼວງໃນການປະມວນຜົນສັນຍານແລະການຄິດໄລ່ທາງຄະນິດສາດແລະສົມຄວນທີ່ຈະພິຈາລະນາຢ່າງຈິງຈັງໂດຍຜູ້ໃຊ້.
ເອກະສານອ້າງອີງ
ອ້າງອິງ webເວັບໄຊ: http://www.keil.com/pack/doc/CMSIS/General/html/index.html
ສະບັບແລະຂໍ້ມູນການດັດແກ້
ວັນທີ | ຜູ້ຂຽນ | ສະບັບ | ຂໍ້ມູນການດັດແກ້ |
2022.06.02 | ຂຽນ, Liu | V1.10 | ແກ້ໄຂເສັ້ນທາງການດາວໂຫຼດ |
2019.09.03 | Allen, Wang | V1.00 | ຮຸ່ນ ທຳ ອິດ |
ປະຕິເສດຄວາມຮັບຜິດຊອບ
ຂໍ້ມູນທັງຫມົດ, ເຄື່ອງຫມາຍການຄ້າ, ໂລໂກ້, ຮູບພາບ, ວິດີໂອ, ຄລິບສຽງ, ການເຊື່ອມຕໍ່ແລະລາຍການອື່ນໆທີ່ປາກົດຢູ່ໃນນີ້ webເວັບໄຊ ('ຂໍ້ມູນ') ແມ່ນສໍາລັບການອ້າງອີງເທົ່ານັ້ນ ແລະມີການປ່ຽນແປງໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງລ່ວງໜ້າ ແລະຕາມການຕັດສິນໃຈຂອງ Holtek Semiconductor Inc. ແລະບໍລິສັດທີ່ກ່ຽວຂ້ອງ (ຕໍ່ໄປນີ້ແມ່ນ 'Holtek', 'ບໍລິສັດ', 'ພວກເຮົາ', ' ພວກເຮົາ ຫຼື 'ຂອງພວກເຮົາ'). ໃນຂະນະທີ່ Holtek ພະຍາຍາມຮັບປະກັນຄວາມຖືກຕ້ອງຂອງຂໍ້ມູນໃນເລື່ອງນີ້ webເວັບໄຊທ໌, ບໍ່ມີການຮັບປະກັນທີ່ສະແດງອອກໂດຍ Holtek ກັບຄວາມຖືກຕ້ອງຂອງຂໍ້ມູນ. Holtek ຈະບໍ່ຮັບຜິດຊອບຕໍ່ຄວາມບໍ່ຖືກຕ້ອງ ຫຼືການຮົ່ວໄຫຼ. Holtek ຈະບໍ່ຮັບຜິດຊອບຕໍ່ຄວາມເສຍຫາຍໃດໆ (ລວມທັງແຕ່ບໍ່ຈໍາກັດກັບໄວຣັສຄອມພິວເຕີ, ບັນຫາລະບົບຫຼືການສູນເສຍຂໍ້ມູນ) ໃດໆທີ່ເກີດຂື້ນໃນການນໍາໃຊ້ຫຼືກ່ຽວຂ້ອງກັບການນໍາໃຊ້ນີ້. webເວັບໄຊໂດຍຝ່າຍໃດ. ອາດຈະມີການເຊື່ອມຕໍ່ໃນຂົງເຂດນີ້, ທີ່ອະນຸຍາດໃຫ້ທ່ານໄປຢ້ຽມຢາມໄດ້ webສະຖານທີ່ຂອງບໍລິສັດອື່ນໆ. ເຫຼົ່ານີ້ webສະຖານທີ່ບໍ່ໄດ້ຖືກຄວບຄຸມໂດຍ Holtek. Holtek ຈະບໍ່ມີຄວາມຮັບຜິດຊອບແລະບໍ່ມີການຮັບປະກັນຕໍ່ຂໍ້ມູນໃດໆທີ່ສະແດງຢູ່ໃນສະຖານທີ່ດັ່ງກ່າວ. hyperlinks ກັບອື່ນໆ webສະຖານທີ່ຢູ່ໃນຄວາມສ່ຽງຂອງທ່ານເອງ.
ຂໍ້ຈໍາກັດຂອງຄວາມຮັບຜິດຊອບ
ໃນກໍລະນີໃດກໍ່ຕາມ, ບໍລິສັດບໍ່ຈໍາເປັນຕ້ອງຮັບຜິດຊອບຕໍ່ການສູນເສຍຫຼືຄວາມເສຍຫາຍໃດໆທີ່ເກີດຂື້ນເມື່ອຜູ້ໃດໄປຢ້ຽມຢາມ website ໂດຍກົງຫຼືທາງອ້ອມແລະນໍາໃຊ້ເນື້ອໃນ, ຂໍ້ມູນຫຼືການບໍລິການກ່ຽວກັບ webເວັບໄຊ.
ກົດໝາຍວ່າດ້ວຍການປົກຄອງ
ການປະຕິເສດນີ້ແມ່ນຂຶ້ນກັບກົດຫມາຍຂອງສາທາລະນະຂອງຈີນແລະພາຍໃຕ້ສິດອໍານາດຂອງສານຂອງສາທາລະນະຈີນ.
ອັບເດດການປະຕິເສດຄວາມຮັບຜິດຊອບ
Holtek ສະຫງວນສິດທີ່ຈະປັບປຸງການປະຕິເສດຄວາມຮັບຜິດຊອບໄດ້ທຸກເວລາໂດຍມີຫຼືບໍ່ມີການແຈ້ງໃຫ້ຮູ້ລ່ວງໜ້າ, ການປ່ຽນແປງທັງໝົດມີຜົນໃນທັນທີທີ່ປະກາດຫາ webເວັບໄຊ.
ເອກະສານ / ຊັບພະຍາກອນ
![]() |
ຫໍສະໝຸດ HOLTEK HT32 CMSIS-DSP [pdf] ຄູ່ມືຜູ້ໃຊ້ HT32, CMSIS-DSP Library, HT32 CMSIS-DSP Library, ຫ້ອງສະໝຸດ |