បណ្ណាល័យ 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 រួមមានលក្ខណៈពិសេសដូចខាងក្រោម។
- ផ្តល់នូវសំណុំនៃមុខងារដំណើរការសញ្ញាទូទៅដែលឧទ្ទិសដល់ Cortex-M ។
- បណ្ណាល័យមុខងារដែលផ្តល់ដោយ ARM មានមុខងារជាង 60 ។
- គាំទ្រ q7, q15, q31
(ចំណាំ) និងប្រភេទទិន្នន័យអណ្តែតទឹក (32 ប៊ីត) - ការអនុវត្តត្រូវបានធ្វើឱ្យប្រសើរសម្រាប់សំណុំការណែនាំ SIMD ដែលមានសម្រាប់ Cortex-M4/M7/M33/M35P ។
ចំណាំ៖ ការដាក់ឈ្មោះ q7, q15, និង q31 ក្នុងបណ្ណាល័យមុខងាររៀងគ្នាតំណាងឱ្យចំណុចថេរ 8, 16, និង 32 ប៊ីត។
ធាតុបណ្ណាល័យមុខងារ CMSIS-DSP
បណ្ណាល័យមុខងារ CMSIS-DSP ត្រូវបានបែងចែកជាប្រភេទដូចខាងក្រោម៖
- អនុគមន៍គណិតវិទ្យាមូលដ្ឋាន អនុគមន៍គណិតវិទ្យាលឿន និងអនុគមន៍គណិតវិទ្យាស្មុគស្មាញ
- មុខងារត្រងសញ្ញា
- មុខងារម៉ាទ្រីស
- មុខងារផ្លាស់ប្តូរ
- មុខងារគ្រប់គ្រងម៉ូទ័រ
- មុខងារស្ថិតិ
- មុខងារគាំទ្រ
- មុខងារអន្តរប៉ូល។
ការរៀបចំបរិស្ថាន
ផ្នែកនេះនឹងណែនាំផ្នែករឹង និងកម្មវិធីដែលប្រើក្នុងកម្មវិធី ឧampលេ
ផ្នែករឹង
ទោះបីជា CMSIS-DSP គាំទ្រស៊េរី HT32 ពេញលេញក៏ដោយ វាត្រូវបានស្នើឱ្យប្រើ MCU ដែលមានសមត្ថភាព SRAM ធំជាង 4KB ជាកម្មវិធី CMSIS-DSP ឧ។ample ទាមទារទំហំ SRAM ធំជាង។ អត្ថបទនេះយក ESK32-30501 ជាអតីតample ដែលប្រើ HT32F52352 ។
កម្មវិធី
មុនពេលប្រើកម្មវិធី ឧampជាដំបូង ត្រូវប្រាកដថាបណ្ណាល័យកម្មវិធីបង្កប់ 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, អ្នកប្រើប្រាស់ត្រូវដាក់កូដកម្មវិធីដែលពន្លា និងបណ្ណាល័យកម្មវិធីបង្កប់ files ចូលទៅក្នុងផ្លូវត្រឹមត្រូវមុនពេលចាប់ផ្តើមការចងក្រង។ លេខកូដកម្មវិធី file មានថតឯកសារចំនួនពីរ ដែលជាកម្មវិធី និងបណ្ណាល័យដែលទីតាំងរបស់វាត្រូវបានបង្ហាញក្នុងរូបភាពទី 3។ ដាក់ថតទាំងពីរនេះទៅក្នុងថតឬសបណ្ណាល័យកម្មវិធីបង្កប់ ដើម្បីបំពេញ file ការកំណត់រចនាសម្ព័ន្ធផ្លូវដូចបង្ហាញក្នុងរូបភាពទី 4។ អ្នកប្រើប្រាស់ក៏អាចពន្លាកូដកម្មវិធី និងបណ្ណាល័យកម្មវិធីបង្កប់ដែលបានបង្ហាប់ផងដែរ។ files ចូលទៅក្នុងផ្លូវដូចគ្នាដើម្បីទទួលបានប្រសិទ្ធិភាពដូចគ្នា។ សម្រាប់អតីតនេះ។ampដូច្នេះ ថតសម្រាប់ CMSIS_DSP នឹងត្រូវបានគេមើលឃើញនៅក្រោមថតកម្មវិធីបន្ទាប់ពីការបង្ហាប់។
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 ត្រូវបានប្រើ។
បន្ទាប់ពីបើកគម្រោង ចងក្រង (គ្រាប់ចុចផ្លូវកាត់ “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) បន្ថែមនិយមន័យថ្មីក្នុងជម្រើសកំណត់ ដូចបានបង្ហាញខាងក្រោម។
ជំហានទី 2
ដើម្បីបន្ថែមផ្លូវរួមបញ្ចូល សូមចុចប៊ូតុងនៅជាប់ជម្រើស “រួមបញ្ចូលផ្លូវ” នៅលើទំព័រ C/C++។ បន្ទាប់មក បង្អួចដំឡើងថតឯកសារនឹងលេចឡើង ដែលផ្លូវថ្មី ..\..\..\..\library\CMSIS\Include” អាចត្រូវបានបន្ថែម ដូចដែលបានបង្ហាញខាងក្រោម។
ជំហានទី 3 (ស្រេចចិត្ត)
ដើម្បីបន្ថែមបណ្ណាល័យមុខងារ ចុចប៊ូតុង "គ្រប់គ្រងធាតុគម្រោង" ដូចបង្ហាញខាងក្រោម។ ប្រសិនបើប៊ូតុងមិនត្រូវបានគេមើលឃើញទេសូមចុច "Window → Reset View ទៅ Defaults → Reset” ដូច្នេះការកំណត់រចនាសម្ព័ន្ធបង្អួច IDE នឹងត្រលប់ទៅការកំណត់លំនាំដើមរបស់វា។ បន្ទាប់ពីនេះប៊ូតុង "គ្រប់គ្រងធាតុគម្រោង" នឹងត្រូវបានបង្ហាញ។
បន្ថែមថត CMSIS-DSP ដោយប្រើប៊ូតុងដូចដែលបានបង្ហាញក្នុងប្រអប់ក្រហមខាងក្រោម ហើយផ្លាស់ទីវានៅក្រោមថត CMSIS ដោយប្រើប៊ូតុង "ផ្លាស់ទីឡើងលើ" ។ បិទផ្ទាំងគ្រប់គ្រងគម្រោង 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 ដូចបានបង្ហាញខាងក្រោម។ ឥឡូវនេះការកំណត់ការរួមបញ្ចូលទាំងអស់ត្រូវបានបញ្ចប់
តម្រងឆ្លងកាត់ទាប - FIR
ផ្នែកនេះដោយការណែនាំកម្មវិធី\CMSIS_DSP\arm_fir_example នឹងបង្ហាញពីរបៀបកំណត់តម្រង FIR និងលុបសញ្ញាប្រេកង់ខ្ពស់ដោយប្រើ FIR ។ សញ្ញាបញ្ចូលត្រូវបានផ្សំឡើងដោយរលកស៊ីនុស 1kHz និង 15kHz ។ សញ្ញា sampប្រេកង់ Ling គឺ 48 kHz ។ សញ្ញាលើសពី 6kHz ត្រូវបានត្រងដោយ FIR ហើយសញ្ញា 1kHz គឺជាលទ្ធផល។ លេខកូដកម្មវិធីត្រូវបានបែងចែកជាផ្នែកជាច្រើន។
- ការចាប់ផ្តើម។ ដើម្បីចាប់ផ្តើម 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 ដំណើរការក្នុងពេលតែមួយ។ - តម្រងឆ្លងកាត់ទាប។ ដោយការហៅ 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 ដំណើរការក្នុងពេលតែមួយ។ - ការផ្ទៀងផ្ទាត់ទិន្នន័យ។ លទ្ធផលត្រងដែលទទួលបានដោយ 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 ប៉ុណ្ណោះ។
តម្រងឆ្លងខ្ពស់- IIR
ផ្នែកនេះដោយការណែនាំកម្មវិធី\CMSIS_DSP\filter_iir_high_pass_example នឹងបង្ហាញពីរបៀបកំណត់តម្រង IIR និងលុបសញ្ញាប្រេកង់ទាបដោយប្រើ IIR ។ សញ្ញាបញ្ចូលត្រូវបានផ្សំឡើងដោយរលកស៊ីនុស 1Hz និង 30Hz ។ សញ្ញា sampប្រេកង់ ling គឺ 100Hz ហើយសរុប 480 ពិន្ទុគឺ sampដឹកនាំ។ សញ្ញាក្រោម 7Hz ត្រូវបានយកចេញដោយ IIR ។
លេខកូដកម្មវិធីត្រូវបានបែងចែកជាផ្នែកជាច្រើន។
- មាន ៤ សamples ។ សample 0 ~ 159 គឺជារលកស៊ីនុស 30Hz, sample 160 ~ 319 គឺជារលកស៊ីនុស 1Hz និង sample 320 ~ 479 គឺជារលកស៊ីនុស 30Hz ។
- ការចាប់ផ្តើម។ ដើម្បីចាប់ផ្តើម 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លេ
ស្ថានភាព៖ សូចនាករស្ថានភាព - តម្រងឆ្លងកាត់ខ្ពស់។ ដោយការហៅ 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 ដំណើរការក្នុងពេលតែមួយ។ - លទ្ធផលលទ្ធផល។ សញ្ញាបញ្ចូលនិងលទ្ធផលចេញទៅកុំព្យូទ័រតាមរយៈការបោះពុម្ព។ ដូចដែលបានបង្ហាញខាងក្រោម ទិន្នន័យបញ្ចូលបង្ហាញថាសញ្ញាមិនទាន់ត្រងនៅឡើយ ហើយទិន្នន័យទិន្នផលបង្ហាញលទ្ធផលដែលបានត្រង។ អ័ក្ស Y តំណាងឱ្យ ampពន្លឺនៃសញ្ញានិង sampប្រេកង់ ling គឺ 100Hz ដូច្នេះលេខអ័ក្ស X បូកមួយតំណាងឱ្យពេលវេលាបូក 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 | វី៣៥ | កែប្រែផ្លូវទាញយក |
2019.09.03 | អាឡែន វ៉ាង | វី៣៥ | កំណែដំបូង |
ការបដិសេធ
ព័ត៌មានទាំងអស់ ពាណិជ្ជសញ្ញា និមិត្តសញ្ញា ក្រាហ្វិក វីដេអូ ឃ្លីបអូឌីយ៉ូ តំណភ្ជាប់ និងធាតុផ្សេងទៀតដែលលេចឡើងនៅលើនេះ។ webគេហទំព័រ ('ព័ត៌មាន') គឺសម្រាប់ជាឯកសារយោងតែប៉ុណ្ណោះ ហើយអាចផ្លាស់ប្តូរបានគ្រប់ពេល ដោយមិនមានការជូនដំណឹងជាមុន និងតាមការសំរេចចិត្តរបស់ Holtek Semiconductor Inc. និងក្រុមហ៊ុនពាក់ព័ន្ធរបស់វា (តទៅនេះ 'Holtek', 'ក្រុមហ៊ុន', 'ពួកយើង', ' យើង ឬ 'របស់យើង') ។ ខណៈពេលដែល Holtek ព្យាយាមធានានូវភាពត្រឹមត្រូវនៃព័ត៌មានអំពីបញ្ហានេះ webគេហទំព័រ គ្មានការធានាច្បាស់លាស់ ឬដោយបង្កប់ន័យត្រូវបានផ្តល់ឱ្យដោយ Holtek ចំពោះភាពត្រឹមត្រូវនៃព័ត៌មាន។ Holtek នឹងមិនទទួលខុសត្រូវចំពោះភាពមិនត្រឹមត្រូវ ឬការលេចធ្លាយណាមួយឡើយ។ Holtek នឹងមិនទទួលខុសត្រូវចំពោះការខូចខាតណាមួយ (រួមទាំងប៉ុន្តែមិនកំណត់ចំពោះមេរោគកុំព្យូទ័រ បញ្ហាប្រព័ន្ធ ឬការបាត់បង់ទិន្នន័យ) អ្វីក៏ដោយដែលកើតឡើងក្នុងការប្រើប្រាស់ ឬពាក់ព័ន្ធនឹងការប្រើប្រាស់វា webគេហទំព័រដោយភាគីណាមួយ។ វាអាចមានតំណភ្ជាប់នៅក្នុងតំបន់នេះ ដែលអនុញ្ញាតឱ្យអ្នកចូលទៅកាន់គេហទំព័រ webគេហទំព័ររបស់ក្រុមហ៊ុនផ្សេងៗ។ ទាំងនេះ webគេហទំព័រមិនត្រូវបានគ្រប់គ្រងដោយ Holtek ទេ។ Holtek នឹងមិនទទួលខុសត្រូវ និងគ្មានការធានាចំពោះព័ត៌មានណាក៏ដោយដែលបង្ហាញនៅលើគេហទំព័របែបនេះ។ តំណខ្ពស់ទៅផ្សេងទៀត។ webគេហទំព័រមានហានិភ័យផ្ទាល់ខ្លួនរបស់អ្នក។
ដែនកំណត់នៃការទទួលខុសត្រូវ
ក្នុងករណីណាក៏ដោយ ក្រុមហ៊ុនមិនចាំបាច់ទទួលខុសត្រូវចំពោះការបាត់បង់ ឬការខូចខាតណាមួយដែលបណ្តាលមកពីនរណាម្នាក់មកទស្សនានោះទេ។ webគេហទំព័រដោយផ្ទាល់ ឬដោយប្រយោល និងប្រើប្រាស់ខ្លឹមសារ ព័ត៌មាន ឬសេវាកម្មនៅលើ webគេហទំព័រ។
ច្បាប់គ្រប់គ្រង
ការបដិសេធនេះស្ថិតនៅក្រោមច្បាប់នៃសាធារណៈរដ្ឋចិន និងស្ថិតក្រោមយុត្តាធិការរបស់តុលាការនៃសាធារណៈរដ្ឋចិន។
បច្ចុប្បន្នភាពនៃការបដិសេធ
Holtek រក្សាសិទ្ធិក្នុងការធ្វើបច្ចុប្បន្នភាពការបដិសេធនៅពេលណាក៏បាន ដោយមានឬគ្មានការជូនដំណឹងជាមុន ការផ្លាស់ប្តូរទាំងអស់មានប្រសិទ្ធភាពភ្លាមៗនៅពេលប្រកាសទៅកាន់ webគេហទំព័រ។
ឯកសារ/ធនធាន
![]() |
បណ្ណាល័យ HOLTEK HT32 CMSIS-DSP [pdf] ការណែនាំអ្នកប្រើប្រាស់ HT32, បណ្ណាល័យ CMSIS-DSP, បណ្ណាល័យ HT32 CMSIS-DSP, បណ្ណាល័យ |