និមិត្តសញ្ញា HOLTEK បណ្ណាល័យ HT32 CMSIS-DSP
ការណែនាំអ្នកប្រើប្រាស់
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 រួមមានលក្ខណៈពិសេសដូចខាងក្រោម។

  1. ផ្តល់នូវសំណុំនៃមុខងារដំណើរការសញ្ញាទូទៅដែលឧទ្ទិសដល់ Cortex-M ។
  2. បណ្ណាល័យមុខងារដែលផ្តល់ដោយ ARM មានមុខងារជាង 60 ។
  3. គាំទ្រ q7, q15, q31
    (ចំណាំ) និងប្រភេទទិន្នន័យអណ្តែតទឹក (32 ប៊ីត)
  4. ការអនុវត្តត្រូវបានធ្វើឱ្យប្រសើរសម្រាប់សំណុំការណែនាំ SIMD ដែលមានសម្រាប់ Cortex-M4/M7/M33/M35P ។

ចំណាំ៖ ការ​ដាក់​ឈ្មោះ q7, q15, និង q31 ក្នុង​បណ្ណាល័យ​មុខងារ​រៀង​គ្នា​តំណាង​ឱ្យ​ចំណុច​ថេរ 8, 16, និង 32 ប៊ីត។
ធាតុបណ្ណាល័យមុខងារ CMSIS-DSP
បណ្ណាល័យមុខងារ CMSIS-DSP ត្រូវបានបែងចែកជាប្រភេទដូចខាងក្រោម៖

  1. អនុគមន៍គណិតវិទ្យាមូលដ្ឋាន អនុគមន៍គណិតវិទ្យាលឿន និងអនុគមន៍គណិតវិទ្យាស្មុគស្មាញ
  2. មុខងារត្រងសញ្ញា
  3. មុខងារម៉ាទ្រីស
  4. មុខងារផ្លាស់ប្តូរ
  5. មុខងារគ្រប់គ្រងម៉ូទ័រ
  6. មុខងារស្ថិតិ
  7. មុខងារគាំទ្រ
  8. មុខងារអន្តរប៉ូល។

ការរៀបចំបរិស្ថាន

ផ្នែកនេះនឹងណែនាំផ្នែករឹង និងកម្មវិធីដែលប្រើក្នុងកម្មវិធី ឧampលេ
ផ្នែករឹង
ទោះបីជា CMSIS-DSP គាំទ្រស៊េរី HT32 ពេញលេញក៏ដោយ វាត្រូវបានស្នើឱ្យប្រើ MCU ដែលមានសមត្ថភាព SRAM ធំជាង 4KB ជាកម្មវិធី CMSIS-DSP ឧ។ample ទាមទារទំហំ SRAM ធំជាង។ អត្ថបទនេះយក ESK32-30501 ជាអតីតample ដែលប្រើ HT32F52352 ។
កម្មវិធី
មុនពេលប្រើកម្មវិធី ឧampជាដំបូង ត្រូវប្រាកដថាបណ្ណាល័យកម្មវិធីបង្កប់ Holtek HT32 ថ្មីបំផុតត្រូវបានទាញយកពី Holtek ផ្លូវការ webគេហទំព័រ។ ទីតាំងទាញយកត្រូវបានបង្ហាញក្នុងរូបភាព
បង្រួម file បន្ទាប់ពីទាញយក។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាព

ទាញយកកូដកម្មវិធី CMSIS-DSP តាមរយៈតំណភ្ជាប់ខាងក្រោម។ លេខកូដកម្មវិធីត្រូវបានខ្ចប់ជា zip file ជាមួយឈ្មោះ HT32_APPFW_xxxxx_CMSIS_DSP_vn_m.zip ។
ផ្លូវទាញយក៖ https://mcu.holtek.com.tw/ht32/app.fw/CMSIS_DSP/
នេះ។ file ក្បួនដាក់ឈ្មោះត្រូវបានបង្ហាញក្នុងរូបភាពទី 2 ។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 2

ដោយសារលេខកូដកម្មវិធីមិនមានបណ្ណាល័យកម្មវិធីបង្កប់ទេ។ files, អ្នកប្រើប្រាស់ត្រូវដាក់កូដកម្មវិធីដែលពន្លា និងបណ្ណាល័យកម្មវិធីបង្កប់ files ចូលទៅក្នុងផ្លូវត្រឹមត្រូវមុនពេលចាប់ផ្តើមការចងក្រង។ លេខកូដកម្មវិធី file មានថតឯកសារចំនួនពីរ ដែលជាកម្មវិធី និងបណ្ណាល័យដែលទីតាំងរបស់វាត្រូវបានបង្ហាញក្នុងរូបភាពទី 3។ ដាក់ថតទាំងពីរនេះទៅក្នុងថតឬសបណ្ណាល័យកម្មវិធីបង្កប់ ដើម្បីបំពេញ file ការកំណត់រចនាសម្ព័ន្ធផ្លូវដូចបង្ហាញក្នុងរូបភាពទី 4។ អ្នកប្រើប្រាស់ក៏អាចពន្លាកូដកម្មវិធី និងបណ្ណាល័យកម្មវិធីបង្កប់ដែលបានបង្ហាប់ផងដែរ។ files ចូលទៅក្នុងផ្លូវដូចគ្នាដើម្បីទទួលបានប្រសិទ្ធិភាពដូចគ្នា។ សម្រាប់អតីតនេះ។ampដូច្នេះ ថតសម្រាប់ CMSIS_DSP នឹងត្រូវបានគេមើលឃើញនៅក្រោមថតកម្មវិធីបន្ទាប់ពីការបង្ហាប់។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 3

File រចនាសម្ព័ន្ធ

ថតឯកសារសំខាន់ពីរដែលរួមបញ្ចូលនៅក្នុងកូដកម្មវិធី fileបណ្ណាល័យ\CMSIS និងកម្មវិធី\CMSIS_DSP ត្រូវបានពិពណ៌នាជាលក្ខណៈបុគ្គលខាងក្រោម។
ខ្លឹមសារនៃបណ្ណាល័យ\CMSIS folder មានដូចខាងក្រោម។

ឈ្មោះ​ថត ការពិពណ៌នា
DSP_Lib កូដប្រភពកម្មវិធី FW
DSP_Lib\Examples មានស្តង់ដារច្រើន ឧamples នៃបណ្ណាល័យមុខងារ CMSIS-DSP ដែលត្រូវបានផ្តល់ដោយ ARM ។ ការកំណត់សម្រាប់គម្រោងទាំងនេះត្រូវបានប្រតិបត្តិតាមវិធីក្លែងធ្វើដោយមិនត្រូវការ MCU ទេ។ អ្នក​ប្រើ​អាច​រៀន​យ៉ាង​ឆាប់​រហ័ស​ពី​របៀប​ប្រើ ex ទាំងនេះamples ដោយប្រតិបត្តិពួកគេ។
DSP_Lib\ប្រភព កូដប្រភពបណ្ណាល័យមុខងារ CMSIS-DSP
រួមបញ្ចូល បឋមកថាចាំបាច់ file នៅពេលប្រើបណ្ណាល័យមុខងារ CMSIS-DSP
រួមបញ្ចូល\arm_common_tables.h សេចក្តីប្រកាសនៃអថេរអារេខាងក្រៅ (ខាងក្រៅ)
រួមបញ្ចូល\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 ច្រើន។amples ដែលប្រើស៊េរី HT32 នៃ MCUs និងគាំទ្រស៊េរី HT32 ពេញលេញ។ គម្រោងត្រូវបានបង្កើតឡើងដោយប្រើប្រាស់ Keil MDK_ARM។

ឈ្មោះ​ថត ការពិពណ៌នា
arm_class_marks_example បង្ហាញពីរបៀបដើម្បីទទួលបានតម្លៃអតិបរមា តម្លៃអប្បបរមា តម្លៃរំពឹងទុក គម្លាតស្តង់ដារ វ៉ារ្យ៉ង់ និងមុខងារម៉ាទ្រីស។
arm_convolution_example បង្ហាញទ្រឹស្ដីនៃការបង្រួបបង្រួមតាមរយៈ FFT ស្មុគស្មាញ និងមុខងារគាំទ្រ។
arm_dotproduct_example បង្ហាញពីរបៀបដើម្បីទទួលបានផលិតផលចំនុចតាមរយៈការគុណ និងបន្ថែមវ៉ិចទ័រ។
arm_fft_bin_example បង្ហាញពីរបៀបគណនាបង្អួចថាមពលអតិបរមា (ធុងសំរាម) នៅក្នុងដែនប្រេកង់នៃសញ្ញាបញ្ចូលដោយប្រើ FFT ស្មុគស្មាញ រ៉ិចទ័រស្មុគស្មាញ និងមុខងារម៉ូឌុលអតិបរមា។
arm_fir_example បង្ហាញពីរបៀបអនុវត្តការត្រងឆ្លងកាត់ទាបដោយប្រើ FIR ។
arm_graphic_equalizer_example បង្ហាញពីរបៀបផ្លាស់ប្តូរគុណភាពសំឡេងដោយប្រើឧបករណ៍បំប្លែងក្រាហ្វិក។
arm_linear_interp_example បង្ហាញពីការប្រើប្រាស់ម៉ូឌុល interpolation លីនេអ៊ែរ និងម៉ូឌុលគណិតវិទ្យារហ័ស។
arm_matrix_example បង្ហាញពីការគណនាទំនាក់ទំនងម៉ាទ្រីស រួមទាំងការបំប្លែងម៉ាទ្រីស គុណម៉ាទ្រីស និងម៉ាទ្រីសច្រាស។
arm_signal_converge_example បង្ហាញតម្រងកម្រិតទាប FIR ដែលអាចលៃតម្រូវបានដោយខ្លួនឯងដោយប្រើ NLMS (Normalised Least Mean Square), FIR និងម៉ូឌុលគណិតវិទ្យាមូលដ្ឋាន។
arm_sin_cos_example បង្ហាញពីការគណនាត្រីកោណមាត្រ។
arm_variance_example បង្ហាញពីរបៀបគណនាបំរែបំរួលតាមរយៈគណិតវិទ្យាមូលដ្ឋាន និងមុខងារជំនួយ។
filter_iir_high_pass_example បង្ហាញពីរបៀបអនុវត្តតម្រងឆ្លងខ្ពស់ដោយប្រើ IIR ។

សាកល្បង
អត្ថបទនេះនឹងប្រើកម្មវិធី\CMSIS_DSP\arm_class_marks_example ក្នុងនាមជាអ្នកសាកល្បងampលេ មុនពេលចាប់ផ្តើមសាកល្បង សូមពិនិត្យមើលថាតើ ESK32-30501 ត្រូវបានភ្ជាប់ឬអត់ ហើយត្រូវប្រាកដថាលេខកូដកម្មវិធី និងបណ្ណាល័យកម្មវិធីបង្កប់ត្រូវបានដាក់នៅទីតាំងត្រឹមត្រូវ។ បើកកម្មវិធី\CMSIS_DSP\arm_class_marks_example folder ហើយប្រតិបត្តិ _CreateProject.bat  fileដូចដែលបានបង្ហាញខាងក្រោម។ បន្ទាប់ពីនេះ បើក MDK_ARMv5 (ឬ MDK_ARM សម្រាប់ Keilv4) ដើម្បីដឹងថាអតីតample គាំទ្រស៊េរី HT32 ពេញលេញ។ បើកគម្រោង Project_52352.uvprojx ពីព្រោះ ESK32-30501 ត្រូវបានប្រើ។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 4

បន្ទាប់ពីបើកគម្រោង ចងក្រង (គ្រាប់ចុចផ្លូវកាត់ “F7”) ទាញយក (គ្រាប់ចុចផ្លូវកាត់ “F8”) បំបាត់កំហុស (គ្រាប់ចុចផ្លូវកាត់ “Ctrl+F5”) ហើយបន្ទាប់មកប្រតិបត្តិ (គ្រាប់ចុចផ្លូវកាត់ “F5”)។ លទ្ធផលនៃការប្រតិបត្តិអាចត្រូវបានគេសង្កេតឃើញដោយប្រើអថេរដែលបានរាយខាងក្រោម។

អថេរ ឈ្មោះ ទិសដៅទិន្នន័យ ការពិពណ៌នា លទ្ធផលប្រតិបត្តិ
testMarks_f32 បញ្ចូល អារេ 20 × 4 មួយ។
testUnity_f32 បញ្ចូល អារេ 4 × 1 មួយ។
លទ្ធផលតេស្ត ទិន្នផល ផលិតផលរបស់ testMarks_f32 និង testUnity_f32 {188…}
ពិន្ទុអតិបរមា ទិន្នផល តម្លៃអតិបរមានៃធាតុនៅក្នុងអារេលទ្ធផលតេស្ត 364
min_marks ទិន្នផល តម្លៃអប្បបរមានៃធាតុនៅក្នុងអារេលទ្ធផលតេស្ត 156
មធ្យម ទិន្នផល តម្លៃរំពឹងទុកនៃធាតុនៅក្នុងអារេលទ្ធផលតេស្ត 212.300003
ស្ត ទិន្នផល គម្លាតស្តង់ដារនៃធាតុនៅក្នុងអារេលទ្ធផលតេស្ត 50.9128189
var ទិន្នផល ភាពខុសគ្នានៃធាតុនៅក្នុងអារេលទ្ធផលតេស្ត 2592.11523

ការណែនាំសម្រាប់ការប្រើប្រាស់ 

សមាហរណកម្ម
ផ្នែកនេះនឹងណែនាំពីរបៀបបញ្ចូល CMSIS-DSP ទៅក្នុងគម្រោងរបស់អ្នកប្រើប្រាស់។
ជំហានទី 1
ដំបូង បន្ថែមនិមិត្តសញ្ញាកំណត់ថ្មីនៅពេលកំណត់គម្រោង “ARM_MATH_CM0PLUS” សម្រាប់ M0+ និង “ARM_MATH_CM3” សម្រាប់ M3។ នីតិវិធីនៃការកំណត់៖ (1) ជម្រើសនៃគ្រាប់ចុចផ្លូវកាត់គោលដៅ “Alt+F7”), (2) ជ្រើសរើសទំព័រ C/C++, (3) បន្ថែមនិយមន័យថ្មីក្នុងជម្រើសកំណត់ ដូចបានបង្ហាញខាងក្រោម។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 5

ជំហានទី 2
ដើម្បីបន្ថែមផ្លូវរួមបញ្ចូល សូមចុចប៊ូតុងនៅជាប់ជម្រើស “រួមបញ្ចូលផ្លូវ” នៅលើទំព័រ C/C++។ បន្ទាប់មក បង្អួចដំឡើងថតឯកសារនឹងលេចឡើង ដែលផ្លូវថ្មី ..\..\..\..\library\CMSIS\Include” អាចត្រូវបានបន្ថែម ដូចដែលបានបង្ហាញខាងក្រោម។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 6

ជំហានទី 3 (ស្រេចចិត្ត)
ដើម្បីបន្ថែមបណ្ណាល័យមុខងារ ចុចប៊ូតុង "គ្រប់គ្រងធាតុគម្រោង" ដូចបង្ហាញខាងក្រោម។ ប្រសិនបើប៊ូតុងមិនត្រូវបានគេមើលឃើញទេសូមចុច "Window → Reset View ទៅ Defaults → Reset” ដូច្នេះការកំណត់រចនាសម្ព័ន្ធបង្អួច IDE នឹងត្រលប់ទៅការកំណត់លំនាំដើមរបស់វា។ បន្ទាប់ពីនេះប៊ូតុង "គ្រប់គ្រងធាតុគម្រោង" នឹងត្រូវបានបង្ហាញ។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 7

បន្ថែមថត CMSIS-DSP ដោយប្រើប៊ូតុងដូចដែលបានបង្ហាញក្នុងប្រអប់ក្រហមខាងក្រោម ហើយផ្លាស់ទីវានៅក្រោមថត CMSIS ដោយប្រើប៊ូតុង "ផ្លាស់ទីឡើងលើ" ។ បិទផ្ទាំងគ្រប់គ្រងគម្រោង tems នៅពេលបញ្ចប់។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 8

ជំហានទី 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 ដូចបានបង្ហាញខាងក្រោម។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 9

ជំហានទី 5
បន្ថែមក្បាល file “arm_math.h” ចូលទៅក្នុង main.c ដូចបានបង្ហាញខាងក្រោម។ ឥឡូវនេះការកំណត់ការរួមបញ្ចូលទាំងអស់ត្រូវបានបញ្ចប់

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 10

តម្រងឆ្លងកាត់ទាប - FIR

ផ្នែកនេះដោយការណែនាំកម្មវិធី\CMSIS_DSP\arm_fir_example នឹងបង្ហាញពីរបៀបកំណត់តម្រង FIR និងលុបសញ្ញាប្រេកង់ខ្ពស់ដោយប្រើ FIR ។ សញ្ញាបញ្ចូលត្រូវបានផ្សំឡើងដោយរលកស៊ីនុស 1kHz និង 15kHz ។ សញ្ញា sampប្រេកង់ Ling គឺ 48 kHz ។ សញ្ញាលើសពី 6kHz ត្រូវបានត្រងដោយ FIR ហើយសញ្ញា 1kHz គឺជាលទ្ធផល។ លេខកូដកម្មវិធីត្រូវបានបែងចែកជាផ្នែកជាច្រើន។

  1. ការចាប់ផ្តើម។ ដើម្បីចាប់ផ្តើម FIR API ខាងក្រោមត្រូវបានប្រើ។
    ចាត់ទុកជាមោឃៈ arm_fir_init_f32 (arm_fir_instance_f32 *S, uint16_t numTaps, float32_t * pCoeffs, float32_t * pState, uint32_t blockSize);
    S: រចនាសម្ព័ន្ធតម្រង FIR
    លេខ៖ ចំនួនតម្រង stages (ចំនួនមេគុណតម្រង) ។ នៅក្នុងនេះ អតីតample, numTaps=29.
    Coffs: មេគុណតម្រង។ មានមេគុណតម្រង 29 នៅក្នុងឧample ដែលត្រូវបានគណនាដោយ MATLAB ។
    ស្ថានភាព៖ សូចនាករស្ថានភាព
    blockSize: តំណាងឱ្យចំនួន samples ដំណើរការក្នុងពេលតែមួយ។
  2. តម្រងឆ្លងកាត់ទាប។ ដោយការហៅ API នៃ FIR, 32 samples ត្រូវបានដំណើរការរាល់ពេល ហើយមាន 320 samples សរុប។ API ដែលប្រើត្រូវបានបង្ហាញខាងក្រោម។
    ចាត់ទុកជាមោឃៈ arm_fir_f32 (const arm_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
    S: រចនាសម្ព័ន្ធតម្រង FIR
    pSrc: សញ្ញាបញ្ចូល។ សញ្ញាចម្រុះនៃ 1kHz និង 15kHz ត្រូវបានបញ្ចូលក្នុងឧampលេ pDst: សញ្ញាទិន្នផល។ សញ្ញាទិន្នផលដែលរំពឹងទុកគឺ 1kHz ។ blockSize: តំណាងឱ្យចំនួន samples ដំណើរការក្នុងពេលតែមួយ។
  3. ការផ្ទៀងផ្ទាត់ទិន្នន័យ។ លទ្ធផលត្រងដែលទទួលបានដោយ MATLAB ត្រូវបានចាត់ទុកថាជាឯកសារយោង ហើយលទ្ធផលតម្រងដែលទទួលបានដោយ CMSIS-DSP គឺជាតម្លៃជាក់ស្តែង។ ប្រៀបធៀបលទ្ធផលទាំងពីរ ដើម្បីផ្ទៀងផ្ទាត់ថាតើលទ្ធផលលទ្ធផលត្រឹមត្រូវឬអត់។ float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize)
    បុព្វបទ៖ តម្លៃយោងដែលបង្កើតដោយ MATLAB ។
    ប្រកាស៖ តម្លៃពិតដែលបង្កើតដោយ CMSIS-DSP ។
    blockSize: តំណាងឱ្យចំនួន samples ដំណើរការក្នុងពេលតែមួយ។
    ដូចដែលបានបង្ហាញខាងក្រោម ទិន្នន័យបញ្ចូលបង្ហាញថាសញ្ញាមិនទាន់ត្រងនៅឡើយ ហើយទិន្នន័យទិន្នផលបង្ហាញលទ្ធផលដែលបានត្រង។ អ័ក្ស Y តំណាងឱ្យ ampពន្លឺនៃសញ្ញានិង sampប្រេកង់ ling គឺ 48kHz ដូច្នេះលេខអ័ក្ស X បូកមួយតំណាងឱ្យពេលវេលាបូក 20.833μs។ វាអាចត្រូវបានរកឃើញពីរូបភាពទី 12 និងរូបភាពទី 13 ដែលសញ្ញា 15kHz ត្រូវបានលុបចោល ហើយនៅសល់តែសញ្ញា 1kHz ប៉ុណ្ណោះ។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 11

តម្រងឆ្លងខ្ពស់- IIR
ផ្នែកនេះដោយការណែនាំកម្មវិធី\CMSIS_DSP\filter_iir_high_pass_example នឹងបង្ហាញពីរបៀបកំណត់តម្រង IIR និងលុបសញ្ញាប្រេកង់ទាបដោយប្រើ IIR ។ សញ្ញាបញ្ចូលត្រូវបានផ្សំឡើងដោយរលកស៊ីនុស 1Hz និង 30Hz ។ សញ្ញា sampប្រេកង់ ling គឺ 100Hz ហើយសរុប 480 ពិន្ទុគឺ sampដឹកនាំ។ សញ្ញាក្រោម 7Hz ត្រូវបានយកចេញដោយ IIR ។
លេខកូដកម្មវិធីត្រូវបានបែងចែកជាផ្នែកជាច្រើន។ 

  1.  មាន ៤ សamples ។ សample 0 ~ 159 គឺជារលកស៊ីនុស 30Hz, sample 160 ~ 319 គឺជារលកស៊ីនុស 1Hz និង sample 320 ~ 479 គឺជារលកស៊ីនុស 30Hz ។
  2. ការចាប់ផ្តើម។ ដើម្បីចាប់ផ្តើម IIR API ខាងក្រោមត្រូវបានប្រើ។ ចាត់ទុកជាមោឃៈ arm_biquad_cascade_df1_init_f32 (arm_biquad_casd_df1_inst_f32 *S, uint8_t numStages, float32_t * pCoeffs, float32_t * រដ្ឋ));
    S: រចនាសម្ព័ន្ធតម្រង IIR
    ផលបូក stages: ចំនួននៃលំដាប់ទីពីរ stages នៅក្នុងតម្រង។ នៅក្នុងនេះ អតីតample, numStages=1.
    Coffs: មេគុណតម្រង។ មានមេគុណតម្រង 5 នៅក្នុងឧampលេ
    ស្ថានភាព៖ សូចនាករស្ថានភាព
  3. តម្រងឆ្លងកាត់ខ្ពស់។ ដោយការហៅ API នៃ IIR, 1 sample ត្រូវបានដំណើរការរាល់ពេល ហើយមាន 480 samples សរុប។ API ដែលប្រើត្រូវបានបង្ហាញខាងក្រោម។ ចាត់ទុកជាមោឃៈ 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 ត្រូវបានបញ្ចូលក្នុងឧampលេ
    pDst: សញ្ញាទិន្នផល។ សញ្ញាទិន្នផលដែលរំពឹងទុកគឺ 30Hz ។
    blockSize: តំណាងឱ្យចំនួន samples ដំណើរការក្នុងពេលតែមួយ។
  4. លទ្ធផលលទ្ធផល។ សញ្ញា​បញ្ចូល​និង​លទ្ធផល​ចេញ​ទៅ​កុំព្យូទ័រ​តាម​រយៈ​ការ​បោះពុម្ព។ ដូចដែលបានបង្ហាញខាងក្រោម ទិន្នន័យបញ្ចូលបង្ហាញថាសញ្ញាមិនទាន់ត្រងនៅឡើយ ហើយទិន្នន័យទិន្នផលបង្ហាញលទ្ធផលដែលបានត្រង។ អ័ក្ស Y តំណាងឱ្យ ampពន្លឺនៃសញ្ញានិង sampប្រេកង់ ling គឺ 100Hz ដូច្នេះលេខអ័ក្ស X បូកមួយតំណាងឱ្យពេលវេលាបូក 10ms ។ វាអាចត្រូវបានរកឃើញពីរូបភាពទី 14 និងរូបភាពទី 15 ដែលសញ្ញា 1Hz ត្រូវបានលុបចោល ហើយនៅសល់តែសញ្ញា 30Hz ប៉ុណ្ណោះ។

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP - រូបភាពទី 12

ការពិចារណា

អ្នកប្រើប្រាស់គួរតែយកចិត្តទុកដាក់ជាពិសេសចំពោះទំហំអង្គចងចាំបន្ទាប់ពីចងក្រងនៅពេលប្រើបណ្ណាល័យមុខងារ CMSIS-DSP ។ ត្រូវប្រាកដថាគ្មានការលើសអង្គចងចាំកើតឡើងមុនពេលធ្វើតេស្ត។
សេចក្តីសន្និដ្ឋាន
CMSIS-DSP មានសមត្ថភាពអស្ចារ្យក្នុងដំណើរការសញ្ញា និងការគណនាគណិតវិទ្យា ហើយស័ក្តិសមសម្រាប់ការពិចារណាយ៉ាងធ្ងន់ធ្ងរដោយអ្នកប្រើប្រាស់។
ឯកសារយោង
ឯកសារយោង webគេហទំព័រ៖ http://www.keil.com/pack/doc/CMSIS/General/html/index.html
កំណែ និងការកែប្រែព័ត៌មាន

កាលបរិច្ឆេទ អ្នកនិពន្ធ បញ្ហា ព័ត៌មានកែប្រែ
2022.06.02 ការសរសេរ, Liu វី៣៥ កែប្រែផ្លូវទាញយក
2019.09.03 អាឡែន វ៉ាង វី៣៥ កំណែដំបូង

ការបដិសេធ

ព័ត៌មានទាំងអស់ ពាណិជ្ជសញ្ញា និមិត្តសញ្ញា ក្រាហ្វិក វីដេអូ ឃ្លីបអូឌីយ៉ូ តំណភ្ជាប់ និងធាតុផ្សេងទៀតដែលលេចឡើងនៅលើនេះ។ webគេហទំព័រ ('ព័ត៌មាន') គឺសម្រាប់ជាឯកសារយោងតែប៉ុណ្ណោះ ហើយអាចផ្លាស់ប្តូរបានគ្រប់ពេល ដោយមិនមានការជូនដំណឹងជាមុន និងតាមការសំរេចចិត្តរបស់ Holtek Semiconductor Inc. និងក្រុមហ៊ុនពាក់ព័ន្ធរបស់វា (តទៅនេះ 'Holtek', 'ក្រុមហ៊ុន', 'ពួកយើង', ' យើង ឬ 'របស់យើង') ។ ខណៈពេលដែល Holtek ព្យាយាមធានានូវភាពត្រឹមត្រូវនៃព័ត៌មានអំពីបញ្ហានេះ webគេហទំព័រ គ្មានការធានាច្បាស់លាស់ ឬដោយបង្កប់ន័យត្រូវបានផ្តល់ឱ្យដោយ Holtek ចំពោះភាពត្រឹមត្រូវនៃព័ត៌មាន។ Holtek នឹងមិនទទួលខុសត្រូវចំពោះភាពមិនត្រឹមត្រូវ ឬការលេចធ្លាយណាមួយឡើយ។ Holtek នឹងមិនទទួលខុសត្រូវចំពោះការខូចខាតណាមួយ (រួមទាំងប៉ុន្តែមិនកំណត់ចំពោះមេរោគកុំព្យូទ័រ បញ្ហាប្រព័ន្ធ ឬការបាត់បង់ទិន្នន័យ) អ្វីក៏ដោយដែលកើតឡើងក្នុងការប្រើប្រាស់ ឬពាក់ព័ន្ធនឹងការប្រើប្រាស់វា webគេហទំព័រដោយភាគីណាមួយ។ វាអាចមានតំណភ្ជាប់នៅក្នុងតំបន់នេះ ដែលអនុញ្ញាតឱ្យអ្នកចូលទៅកាន់គេហទំព័រ webគេហទំព័ររបស់ក្រុមហ៊ុនផ្សេងៗ។ ទាំងនេះ webគេហទំព័រមិនត្រូវបានគ្រប់គ្រងដោយ Holtek ទេ។ Holtek នឹងមិនទទួលខុសត្រូវ និងគ្មានការធានាចំពោះព័ត៌មានណាក៏ដោយដែលបង្ហាញនៅលើគេហទំព័របែបនេះ។ តំណខ្ពស់ទៅផ្សេងទៀត។ webគេហទំព័រមានហានិភ័យផ្ទាល់ខ្លួនរបស់អ្នក។
ដែនកំណត់នៃការទទួលខុសត្រូវ
ក្នុងករណីណាក៏ដោយ ក្រុមហ៊ុនមិនចាំបាច់ទទួលខុសត្រូវចំពោះការបាត់បង់ ឬការខូចខាតណាមួយដែលបណ្តាលមកពីនរណាម្នាក់មកទស្សនានោះទេ។ webគេហទំព័រដោយផ្ទាល់ ឬដោយប្រយោល និងប្រើប្រាស់ខ្លឹមសារ ព័ត៌មាន ឬសេវាកម្មនៅលើ webគេហទំព័រ។
ច្បាប់គ្រប់គ្រង
ការបដិសេធនេះស្ថិតនៅក្រោមច្បាប់នៃសាធារណៈរដ្ឋចិន និងស្ថិតក្រោមយុត្តាធិការរបស់តុលាការនៃសាធារណៈរដ្ឋចិន។
បច្ចុប្បន្នភាពនៃការបដិសេធ
Holtek រក្សាសិទ្ធិក្នុងការធ្វើបច្ចុប្បន្នភាពការបដិសេធនៅពេលណាក៏បាន ដោយមានឬគ្មានការជូនដំណឹងជាមុន ការផ្លាស់ប្តូរទាំងអស់មានប្រសិទ្ធភាពភ្លាមៗនៅពេលប្រកាសទៅកាន់ webគេហទំព័រ។

និមិត្តសញ្ញា HOLTEK

ឯកសារ/ធនធាន

បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP [pdf] ការណែនាំអ្នកប្រើប្រាស់
HT32, បណ្ណាល័យ CMSIS-DSP, បណ្ណាល័យ HT32 CMSIS-DSP, បណ្ណាល័យ

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *