HT32 CMSIS-DSP ലൈബ്രറി
ഉപയോക്തൃ ഗൈഡ്
D/N: AN0538EN
ആമുഖം
CMSIS എന്നത് ARM വികസിപ്പിച്ച ഒരു സോഫ്റ്റ്വെയർ സ്റ്റാൻഡേർഡ് ഇന്റർഫേസാണ്, അതിന് കോർടെക്സ് മൈക്രോകൺട്രോളർ സോഫ്റ്റ്വെയർ ഇന്റർഫേസ് സ്റ്റാൻഡേർഡ് എന്നതിന്റെ മുഴുവൻ പേരുമുണ്ട്. ഈ സ്റ്റാൻഡേർഡ് ഇന്റർഫേസ് ഉപയോഗിച്ച്, വ്യത്യസ്ത വിതരണക്കാരിൽ നിന്നുള്ള മൈക്രോകൺട്രോളറുകളെ നിയന്ത്രിക്കുന്നതിന് ഡവലപ്പർമാർക്ക് ഒരേ ഇന്റർഫേസ് ഉപയോഗിക്കാൻ കഴിയും, അങ്ങനെ അവരുടെ വികസനവും പഠന സമയവും ഗണ്യമായി കുറയ്ക്കുന്നു. കൂടുതൽ വിവരങ്ങൾക്ക്, CMSIS ഉദ്യോഗസ്ഥനെ കാണുക webസൈറ്റ്: http://www.keil.com/pack/doc/CMSIS/General/html/index.html. പരിസ്ഥിതി സജ്ജീകരണം, ഉപയോഗത്തിനുള്ള ദിശ മുതലായവ ഉൾപ്പെടുന്ന മൈക്രോകൺട്രോളറുകളുടെ HT32 ശ്രേണിയിലെ CMSIS-DSP ആപ്ലിക്കേഷനെയാണ് ഈ വാചകം പ്രധാനമായും വിവരിക്കുന്നത്.
പ്രവർത്തന വിവരണം
CMSIS-DSP സവിശേഷതകൾ
CMSIS ഘടകങ്ങളിൽ ഒന്നായ CMSIS-DSP ഇനിപ്പറയുന്ന സവിശേഷതകൾ ഉൾക്കൊള്ളുന്നു.
- Cortex-M-ന് സമർപ്പിച്ചിരിക്കുന്ന ഒരു കൂട്ടം ജനറിക് സിഗ്നൽ പ്രോസസ്സിംഗ് ഫംഗ്ഷനുകൾ നൽകുന്നു.
- ARM നൽകുന്ന ഫംഗ്ഷൻ ലൈബ്രറിക്ക് 60 ലധികം ഫംഗ്ഷനുകളുണ്ട്.
- q7, q15, q31 പിന്തുണയ്ക്കുന്നു
(കുറിപ്പ്), ഫ്ലോട്ടിംഗ് പോയിന്റ് (32-ബിറ്റ്) ഡാറ്റ തരങ്ങൾ - Cortex-M4/M7/M33/M35P-ന് ലഭ്യമായ SIMD ഇൻസ്ട്രക്ഷൻ സെറ്റിനായി നടപ്പിലാക്കലുകൾ ഒപ്റ്റിമൈസ് ചെയ്തിട്ടുണ്ട്.
കുറിപ്പ്: ഫംഗ്ഷൻ ലൈബ്രറിയിലെ q7, q15, q31 എന്നീ പേരുകൾ യഥാക്രമം 8, 16, 32bit ഫിക്സഡ് പോയിന്റുകളെ പ്രതിനിധീകരിക്കുന്നു.
CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറി ഇനങ്ങൾ
CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറിയെ ഇനിപ്പറയുന്ന വിഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു:
- അടിസ്ഥാന ഗണിത പ്രവർത്തനങ്ങൾ, വേഗത്തിലുള്ള ഗണിത പ്രവർത്തനങ്ങൾ, സങ്കീർണ്ണമായ ഗണിത പ്രവർത്തനങ്ങൾ
- സിഗ്നൽ ഫിൽട്ടറിംഗ് പ്രവർത്തനങ്ങൾ
- മാട്രിക്സ് പ്രവർത്തനങ്ങൾ
- പരിവർത്തന പ്രവർത്തനങ്ങൾ
- മോട്ടോർ നിയന്ത്രണ പ്രവർത്തനങ്ങൾ
- സ്റ്റാറ്റിസ്റ്റിക്കൽ പ്രവർത്തനങ്ങൾ
- പിന്തുണാ പ്രവർത്തനങ്ങൾ
- ഇന്റർപോളേഷൻ പ്രവർത്തനങ്ങൾ
പരിസ്ഥിതി സജ്ജീകരണം
ഈ വിഭാഗം ആപ്ലിക്കേഷനിൽ ഉപയോഗിക്കുന്ന ഹാർഡ്വെയറും സോഫ്റ്റ്വെയറും പരിചയപ്പെടുത്തുംample.
ഹാർഡ്വെയർ
CMSIS-DSP പൂർണ്ണമായ HT32 ശ്രേണിയെ പിന്തുണയ്ക്കുന്നുണ്ടെങ്കിലും, 4KB-ൽ കൂടുതലുള്ള SRAM ശേഷിയുള്ള ഒരു MCU CMSIS-DSP ആപ്ലിക്കേഷൻ പോലെ ഉപയോഗിക്കാൻ നിർദ്ദേശിക്കുന്നു.ample ന് ഒരു വലിയ SRAM വലുപ്പം ആവശ്യമാണ്. ഈ ടെക്സ്റ്റ് ESK32-30501 ഒരു എക്സി ആയി എടുക്കുന്നുampHT32F52352 ഉപയോഗിക്കുന്ന le.
സോഫ്റ്റ്വെയർ
ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്നതിന് മുമ്പ് 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, ഉപയോക്താക്കൾ അൺസിപ്പ് ചെയ്ത ആപ്ലിക്കേഷൻ കോഡും ഫേംവെയർ ലൈബ്രറിയും സ്ഥാപിക്കേണ്ടതുണ്ട് fileസമാഹാരം ആരംഭിക്കുന്നതിന് മുമ്പ് ശരിയായ പാതയിലേക്ക്. ആപ്ലിക്കേഷൻ കോഡ് file ചിത്രം 3-ൽ കാണിച്ചിരിക്കുന്ന ആപ്ലിക്കേഷനും ലൈബ്രറിയും ആയ രണ്ട് ഫോൾഡറുകൾ അടങ്ങിയിരിക്കുന്നു. പൂർത്തിയാക്കാൻ ഈ രണ്ട് ഫോൾഡറുകളും ഫേംവെയർ ലൈബ്രറി റൂട്ട് ഡയറക്ടറിയിൽ വയ്ക്കുക file ചിത്രം 4-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ പാത്ത് കോൺഫിഗറേഷൻ. ഉപയോക്താക്കൾക്ക് ആപ്ലിക്കേഷൻ കോഡും കംപ്രസ് ചെയ്ത ഫേംവെയർ ലൈബ്രറിയും ഡീകംപ്രസ്സ് ചെയ്യാം fileഒരേ പ്രഭാവം നേടാൻ ഒരേ പാതയിലേക്ക് s. ഇതിനായി മുൻample, CMSIS_DSP എന്നതിനായുള്ള ഡയറക്ടറി ഡീകംപ്രഷൻ ചെയ്തതിന് ശേഷം ആപ്ലിക്കേഷൻ ഫോൾഡറിന് കീഴിൽ കാണപ്പെടും.
File ഘടന
ആപ്ലിക്കേഷൻ കോഡിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന രണ്ട് പ്രധാന ഫോൾഡറുകൾ file, ലൈബ്രറി\CMSIS, ആപ്ലിക്കേഷൻ\CMSIS_DSP എന്നിവ വ്യക്തിഗതമായി താഴെ വിവരിച്ചിരിക്കുന്നു.
ലൈബ്രറി\CMSIS ഫോൾഡറിന്റെ ഉള്ളടക്കം ഇനിപ്പറയുന്നവയാണ്.
ഫോൾഡറിൻ്റെ പേര് | വിവരണം |
DSP_Lib | ആപ്ലിക്കേഷൻ FW സോഴ്സ് കോഡ് |
DSP_Lib\ Exampലെസ് | ഒന്നിലധികം സ്റ്റാൻഡേർഡ് മുൻ അടങ്ങിയിരിക്കുന്നുampARM നൽകുന്ന CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറിയുടെ ലെസ്. ഈ പ്രോജക്റ്റുകൾക്കായുള്ള ക്രമീകരണങ്ങൾ ഒരു MCU ആവശ്യമില്ലാതെ തന്നെ ഒരു സിമുലേറ്റഡ് വിധത്തിലാണ് നടപ്പിലാക്കുന്നത്. ഉപയോക്താക്കൾക്ക് ഇവ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് വേഗത്തിൽ പഠിക്കാനാകുംampഅവ നിർവ്വഹിക്കുന്നതിലൂടെയാണ്. |
DSP_Lib\Source | CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറി സോഴ്സ് കോഡ് |
ഉൾപ്പെടുത്തുക | ആവശ്യമായ തലക്കെട്ട് file CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറി ഉപയോഗിക്കുമ്പോൾ |
ഉൾപ്പെടുത്തുക\arm_common_tables.h | ബാഹ്യ അറേ വേരിയബിളുകളുടെ പ്രഖ്യാപനം (ബാഹ്യ) |
ഉൾപ്പെടുത്തുക\arm_const_structs.h | ബാഹ്യ സ്ഥിരാങ്കങ്ങളുടെ പ്രഖ്യാപനം |
ഉൾപ്പെടുത്തുക\arm_math.h | ഇത് file CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറി ഉപയോഗിക്കുന്നതിനുള്ള ഇന്റർഫേസ് എന്ന നിലയിൽ വളരെ പ്രധാനമാണ്. ഏതെങ്കിലും ഫംഗ്ഷൻ ലൈബ്രറി API-ലേക്കുള്ള കോളുകൾ arm_math.h വഴി നടപ്പിലാക്കുന്നു. |
ലിബ്\ARM | ARMCC-നുള്ള CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറി l arm_cortexM3l_math.lib (Cortex-M3, Little ndian) l arm_cortexM0l_math.lib (Cortex-M0 / M0+, Little endian) |
ലിബ്\GCC | GCC നായുള്ള CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറി l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, Little endian) |
ആപ്ലിക്കേഷൻ\CMSIS_DSP ഫോൾഡറിൽ ഒന്നിലധികം CMSIS_DSP മുൻ അടങ്ങിയിരിക്കുന്നുamples, MCU-കളുടെ HT32 സീരീസ് ഉപയോഗിക്കുകയും പൂർണ്ണ HT32 സീരീസ് പിന്തുണയ്ക്കുകയും ചെയ്യുന്നു. കെയിൽ MDK_ARM ഉപയോഗിച്ചാണ് പദ്ധതികൾ വികസിപ്പിച്ചിരിക്കുന്നത്.
ഫോൾഡറിൻ്റെ പേര് | വിവരണം |
arm_class_marks_example | പരമാവധി മൂല്യം, കുറഞ്ഞ മൂല്യം, പ്രതീക്ഷിക്കുന്ന മൂല്യം, സ്റ്റാൻഡേർഡ് ഡീവിയേഷൻ, വേരിയൻസ്, മാട്രിക്സ് ഫംഗ്ഷനുകൾ എന്നിവ എങ്ങനെ നേടാമെന്ന് കാണിക്കുന്നു. |
arm_convolution_example | സങ്കീർണ്ണമായ FFT വഴിയും പിന്തുണാ പ്രവർത്തനങ്ങൾ വഴിയും കൺവ്യൂഷൻ സിദ്ധാന്തം കാണിക്കുന്നു. |
arm_dotproduct_example | വെക്റ്ററുകളുടെ ഗുണനത്തിലൂടെയും കൂട്ടിച്ചേർക്കലിലൂടെയും ഡോട്ട് ഉൽപ്പന്നം എങ്ങനെ നേടാമെന്ന് കാണിക്കുന്നു. |
arm_fft_bin_example | സങ്കീർണ്ണമായ എഫ്എഫ്ടി, കോംപ്ലക്സ് മാഗ്നിറ്റ്യൂഡ്, മാക്സിമം മൊഡ്യൂൾ ഫംഗ്ഷനുകൾ എന്നിവ ഉപയോഗിച്ച് ഇൻപുട്ട് സിഗ്നലുകളുടെ ഫ്രീക്വൻസി ഡൊമെയ്നിൽ പരമാവധി എനർജി വിൻഡോ (ബിൻ) എങ്ങനെ കണക്കാക്കാമെന്ന് കാണിക്കുന്നു. |
arm_fir_example | FIR ഉപയോഗിച്ച് ലോ-പാസ് ഫിൽട്ടറിംഗ് എങ്ങനെ നടപ്പിലാക്കാമെന്ന് കാണിക്കുന്നു. |
arm_graphic_equalizer_example | ഗ്രാഫിക് ഇക്വലൈസർ ഉപയോഗിച്ച് ശബ്ദ നിലവാരം എങ്ങനെ മാറ്റാമെന്ന് കാണിക്കുന്നു. |
arm_linear_interp_example | ലീനിയർ ഇന്റർപോളേഷൻ മൊഡ്യൂളിന്റെയും ഫാസ്റ്റ് മാത്സ് മൊഡ്യൂളിന്റെയും ഉപയോഗം പ്രകടമാക്കുന്നു. |
arm_matrix_example | മാട്രിക്സ് പരിവർത്തനം, മാട്രിക്സ് ഗുണനം, മാട്രിക്സ് വിപരീതം എന്നിവ ഉൾപ്പെടുന്ന മാട്രിക്സ് കോറിലേഷൻ കണക്കുകൂട്ടൽ പ്രകടമാക്കുന്നു. |
arm_signal_converge_example | NLMS (നോർമലൈസ്ഡ് ലിസ്റ്റ് മീഡിയൻ സ്ക്വയർ), FIR, അടിസ്ഥാന ഗണിത മൊഡ്യൂളുകൾ എന്നിവ ഉപയോഗിച്ച് സ്വയം ക്രമീകരിക്കാവുന്ന FIR ലോ-പാസ് ഫിൽട്ടർ പ്രദർശിപ്പിക്കുന്നു. |
arm_sin_cos_example | ത്രികോണമിതി കണക്കുകൂട്ടലുകൾ കാണിക്കുന്നു. |
arm_variance_example | അടിസ്ഥാന ഗണിതവും പിന്തുണാ പ്രവർത്തനങ്ങളും വഴി വേരിയൻസ് എങ്ങനെ കണക്കാക്കാമെന്ന് കാണിക്കുന്നു. |
filter_iir_high_pass_example | IIR ഉപയോഗിച്ച് ഹൈ-പാസ് ഫിൽട്ടറിംഗ് എങ്ങനെ നടപ്പിലാക്കാമെന്ന് കാണിക്കുന്നു. |
ടെസ്റ്റ്
ഈ ടെക്സ്റ്റ് ആപ്ലിക്കേഷൻ\CMSIS_DSP\arm_class_marks_ex ഉപയോഗിക്കുംample ടെസ്റ്റ് example. പരിശോധന ആരംഭിക്കുന്നതിന് മുമ്പ്, ESK32-30501 കണക്റ്റ് ചെയ്തിട്ടുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിച്ച് ആപ്ലിക്കേഷൻ കോഡും ഫേംവെയർ ലൈബ്രറിയും ശരിയായ സ്ഥലത്ത് സ്ഥാപിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക. ആപ്ലിക്കേഷൻ\CMSIS_DSP\arm_class_marks_ex തുറക്കുകample ഫോൾഡർ ചെയ്ത് _CreateProject.bat എക്സിക്യൂട്ട് ചെയ്യുക file, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ. ഇതിനുശേഷം, MDK_ARMv5 (അല്ലെങ്കിൽ Keilv4-നുള്ള MDK_ARM) തുറക്കുക, ഇത് മുൻample പൂർണ്ണ HT32 സീരീസ് പിന്തുണയ്ക്കുന്നു. ESK52352-32 ഉപയോഗിക്കുന്നതിനാൽ Project_30501.uvprojx പ്രോജക്റ്റ് തുറക്കുക.
പ്രോജക്റ്റ് തുറന്നതിന് ശേഷം, കംപൈൽ ചെയ്യുക (കുറുക്കുവഴി കീ "F7"), ഡൗൺലോഡ് (കുറുക്കുവഴി "F8"), ഡീബഗ് (കുറുക്കുവഴി കീ "Ctrl+F5") തുടർന്ന് എക്സിക്യൂട്ട് ചെയ്യുക (കുറുക്കുവഴി കീ "F5"). ചുവടെ ലിസ്റ്റുചെയ്തിരിക്കുന്ന വേരിയബിളുകൾ ഉപയോഗിച്ച് നിർവ്വഹണ ഫലങ്ങൾ നിരീക്ഷിക്കാവുന്നതാണ്.
വേരിയബിൾ പേര് | ഡാറ്റ ദിശ | വിവരണം | നിർവ്വഹണ ഫലം |
testMarks_f32 | ഇൻപുട്ട് | ഒരു 20×4 അറേ | – |
testUnity_f32 | ഇൻപുട്ട് | ഒരു 4×1 അറേ | – |
ടെസ്റ്റ് ഔട്ട്പുട്ട് | ഔട്ട്പുട്ട് | testMarks_f32, testUnity_f32 എന്നിവയുടെ ഉൽപ്പന്നം | {188…} |
max_marks | ഔട്ട്പുട്ട് | ടെസ്റ്റ് ഔട്ട്പുട്ട് അറേയിലെ മൂലകങ്ങളുടെ പരമാവധി മൂല്യം | 364 |
മിനി_മാർക്കുകൾ | ഔട്ട്പുട്ട് | ടെസ്റ്റ് ഔട്ട്പുട്ട് അറേയിലെ മൂലകങ്ങളുടെ ഏറ്റവും കുറഞ്ഞ മൂല്യം | 156 |
അർത്ഥമാക്കുന്നത് | ഔട്ട്പുട്ട് | ടെസ്റ്റ് ഔട്ട്പുട്ട് അറേയിലെ മൂലകങ്ങളുടെ പ്രതീക്ഷിക്കുന്ന മൂല്യം | 212.300003 |
std | ഔട്ട്പുട്ട് | ടെസ്റ്റ് ഔട്ട്പുട്ട് അറേയിലെ മൂലകങ്ങളുടെ സ്റ്റാൻഡേർഡ് ഡീവിയേഷൻ | 50.9128189 |
var | ഔട്ട്പുട്ട് | ടെസ്റ്റ് ഔട്ട്പുട്ട് അറേയിലെ മൂലകങ്ങളുടെ വ്യത്യാസം | 2592.11523 |
ഉപയോഗത്തിനുള്ള ദിശ
സംയോജനം
CMSIS-DSP ഉപയോക്താക്കളുടെ പ്രോജക്റ്റുകളിലേക്ക് എങ്ങനെ സംയോജിപ്പിക്കാമെന്ന് ഈ വിഭാഗം പരിചയപ്പെടുത്തും.
ഘട്ടം 1
ആദ്യം, പ്രൊജക്റ്റ് സജ്ജീകരിക്കുമ്പോൾ ഒരു പുതിയ നിർവ്വചിക്കുക ചിഹ്നം ചേർക്കുക, M0+ എന്നതിനായി “ARM_MATH_CM0PLUS”, M3 ന് “ARM_MATH_CM3”. ക്രമീകരണ നടപടിക്രമം: (1) ടാർഗെറ്റ് കുറുക്കുവഴി കീ "Alt+F7" ഓപ്ഷനുകൾ), (2) C/C++ പേജ് തിരഞ്ഞെടുക്കുക, (3) താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, Define ഓപ്ഷനിൽ ഒരു പുതിയ നിർവചനം ചേർക്കുക.
ഘട്ടം 2
ഒരു ഉൾപ്പെടുത്തൽ പാത്ത് ചേർക്കുന്നതിന്, C/C++ പേജിലെ "പാതകൾ ഉൾപ്പെടുത്തുക" ഓപ്ഷനു സമീപമുള്ള ബട്ടണിൽ ക്ലിക്കുചെയ്യുക. അപ്പോൾ ഒരു ഫോൾഡർ സജ്ജീകരണ വിൻഡോ പോപ്പ് അപ്പ് ചെയ്യും, അവിടെ താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു പുതിയ പാത്ത് ..\..\..\..\library\CMSIS\Include” ചേർക്കാം.
ഘട്ടം 3 (ഓപ്ഷണൽ)
ഫംഗ്ഷൻ ലൈബ്രറി ചേർക്കുന്നതിന്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ "പ്രോജക്റ്റ് ഇനങ്ങൾ നിയന്ത്രിക്കുക" ബട്ടൺ ക്ലിക്കുചെയ്യുക. ബട്ടൺ കാണുന്നില്ലെങ്കിൽ, "വിൻഡോ → റീസെറ്റ് ചെയ്യുക View സ്ഥിരസ്ഥിതികളിലേക്ക് → പുനഃസജ്ജമാക്കുക”, അതുവഴി IDE വിൻഡോ കോൺഫിഗറേഷൻ അതിന്റെ സ്ഥിരസ്ഥിതി ക്രമീകരണങ്ങളിലേക്ക് മടങ്ങും. ഇതിനുശേഷം, "പ്രോജക്റ്റ് ഇനങ്ങൾ നിയന്ത്രിക്കുക" ബട്ടൺ കാണിക്കും.
ചുവടെയുള്ള ചുവന്ന ബോക്സിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ബട്ടണുകൾ ഉപയോഗിച്ച് CMSIS-DSP ഫോൾഡർ ചേർക്കുകയും അതിനെ "മുകളിലേക്ക് നീക്കുക" ബട്ടൺ ഉപയോഗിച്ച് CMSIS ഫോൾഡറിന് കീഴിൽ നീക്കുകയും ചെയ്യുക. പൂർത്തിയാകുമ്പോൾ പ്രൊജക്റ്റ് ടേംസ് മാനേജ് ചെയ്യുക വിൻഡോ അടയ്ക്കുക.
ഘട്ടം 4
ഇടതുവശത്തുള്ള CMSIS-DSP ഫോൾഡറിൽ ഇരട്ട-ക്ലിക്കുചെയ്യുക (ഘട്ടം 3 ഒഴിവാക്കുകയാണെങ്കിൽ, ഉപയോക്താവ് അല്ലെങ്കിൽ CMSIS മുതലായവ പോലുള്ള ഏതെങ്കിലും ഫോൾഡർ തിരഞ്ഞെടുക്കുക), തുടർന്ന് അതിൽ CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറി ചേർക്കുക. M0+ എന്നതിനായി \library\CMSIS\Lib\ARM\arm_cortexM0l_math.lib അല്ലെങ്കിൽ M3-നായി \library\CMSIS\Lib\ARM \arm_cortexM3l_math.lib തിരഞ്ഞെടുക്കുക. പൂർത്തിയാകുമ്പോൾ, ഫംഗ്ഷൻ ലൈബ്രറി arm_cortexMxl_math.lib താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ CMSIS-DSP ഫോൾഡറിൽ കാണിക്കും.
ഘട്ടം 5
തല ചേർക്കുക file "arm_math.h" താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ main.c-ലേക്ക്. ഇപ്പോൾ എല്ലാ ഇന്റഗ്രേഷൻ ക്രമീകരണങ്ങളും പൂർത്തിയായി
ലോ-പാസ് ഫിൽട്ടർ - FIR
ആപ്ലിക്കേഷൻ\CMSIS_DSP\arm_fir_ex അവതരിപ്പിക്കുന്നതിലൂടെ ഈ വിഭാഗംample, FIR ഉപയോഗിച്ച് FIR ഫിൽട്ടർ എങ്ങനെ സജ്ജീകരിക്കാമെന്നും ഉയർന്ന ഫ്രീക്വൻസി സിഗ്നലുകൾ നീക്കംചെയ്യാമെന്നും കാണിക്കും. ഇൻപുട്ട് സിഗ്നൽ 1kHz, 15kHz സൈൻ തരംഗങ്ങൾ ചേർന്നതാണ്. സിഗ്നൽ എസ്ampലിംഗ് ഫ്രീക്വൻസി 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);
എസ്: FIR ഫിൽട്ടർ ഘടന
അക്കങ്ങൾ: ഫിൽട്ടറുകളുടെ എണ്ണംtages (ഫിൽട്ടർ ഗുണകങ്ങളുടെ എണ്ണം). ഇതിൽ മുൻample, numTaps=29.
കോഫ്സ്: ഫിൽട്ടർ കോഫിഫിഷ്യന്റ്. ഇതിൽ 29 ഫിൽട്ടർ ഗുണകങ്ങൾ ഉണ്ട്ampMATLAB കണക്കാക്കുന്ന le.
സംസ്ഥാനം: സ്റ്റാറ്റസ് ഇൻഡിക്കേറ്റർ
ബ്ലോക്ക് വലുപ്പം: കളുടെ എണ്ണത്തെ പ്രതിനിധീകരിക്കുന്നുampലെസ് ഒരു സമയത്ത് പ്രോസസ്സ് ചെയ്തു. - ലോ-പാസ് ഫിൽട്ടർ. എഫ്ഐആറിന്റെ എപിഐയെ വിളിച്ച് 32 സെampഓരോ തവണയും les പ്രോസസ്സ് ചെയ്യപ്പെടുന്നു, കൂടാതെ 320 സെampലെസ് ആകെ. ഉപയോഗിച്ച API താഴെ കാണിച്ചിരിക്കുന്നു.
void arm_fir_f32 (const arm_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
എസ്: FIR ഫിൽട്ടർ ഘടന
pSrc: ഇൻപുട്ട് സിഗ്നൽ. 1kHz, 15kHz എന്നിവയുടെ മിക്സഡ് സിഗ്നൽ ഈ എക്സിയിൽ ഇൻപുട്ടാണ്ample. pDst: ഔട്ട്പുട്ട് സിഗ്നൽ. പ്രതീക്ഷിക്കുന്ന ഔട്ട്പുട്ട് സിഗ്നൽ 1kHz ആണ്. ബ്ലോക്ക് വലുപ്പം: കളുടെ എണ്ണത്തെ പ്രതിനിധീകരിക്കുന്നുampലെസ് ഒരു സമയത്ത് പ്രോസസ്സ് ചെയ്തു. - ഡാറ്റ സ്ഥിരീകരണം. MATLAB-ന് ലഭിച്ച ഫിൽട്ടറിംഗ് ഫലം റഫറൻസായി കണക്കാക്കപ്പെടുന്നു, കൂടാതെ CMSIS-DSP-ൽ നിന്ന് ലഭിച്ച ഫിൽട്ടറിംഗ് ഫലമാണ് യഥാർത്ഥ മൂല്യം. ഔട്ട്പുട്ട് ഫലം ശരിയാണോ അല്ലയോ എന്ന് പരിശോധിക്കാൻ രണ്ട് ഫലങ്ങളും താരതമ്യം ചെയ്യുക. float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize)
മുൻഗണന: MATLAB സൃഷ്ടിച്ച റഫറൻസ് മൂല്യം.
പോസ്റ്റ്: CMSIS-DSP സൃഷ്ടിച്ച യഥാർത്ഥ മൂല്യം.
ബ്ലോക്ക് വലുപ്പം: കളുടെ എണ്ണത്തെ പ്രതിനിധീകരിക്കുന്നുampലെസ് ഒരു സമയത്ത് പ്രോസസ്സ് ചെയ്തു.
ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ, സിഗ്നൽ ഇതുവരെ ഫിൽട്ടർ ചെയ്തിട്ടില്ലെന്ന് ഇൻപുട്ട് ഡാറ്റ കാണിക്കുന്നു, കൂടാതെ ഔട്ട്പുട്ട് ഡാറ്റ ഫിൽട്ടർ ചെയ്ത ഫലം കാണിക്കുന്നു. Y-അക്ഷം പ്രതിനിധീകരിക്കുന്നു ampസിഗ്നലിന്റെ ലൈറ്റും എസ്ampലിംഗ് ഫ്രീക്വൻസി 48kHz ആണ്, അതിനാൽ X-ആക്സിസ് നമ്പർ പ്ലസ് വൺ സമയവും 20.833μs യും പ്രതിനിധീകരിക്കുന്നു. ചിത്രം 12, ചിത്രം 13 എന്നിവയിൽ നിന്ന് 15kHz സിഗ്നൽ ഒഴിവാക്കി 1kHz സിഗ്നൽ മാത്രമേ അവശേഷിക്കുന്നുള്ളൂവെന്ന് കണ്ടെത്താനാകും.
ഹൈ-പാസ് ഫിൽറ്റർ- IIR
ആപ്ലിക്കേഷൻ\CMSIS_DSP\filter_iir_high_pass_ex അവതരിപ്പിച്ചുകൊണ്ട് ഈ വിഭാഗംample, IIR ഫിൽട്ടർ എങ്ങനെ സജ്ജീകരിക്കാമെന്നും IIR ഉപയോഗിച്ച് ലോ-ഫ്രീക്വൻസി സിഗ്നലുകൾ നീക്കംചെയ്യാമെന്നും കാണിക്കും. ഇൻപുട്ട് സിഗ്നൽ 1Hz, 30Hz സൈൻ തരംഗങ്ങൾ ചേർന്നതാണ്. സിഗ്നൽ എസ്ampലിംഗ് ഫ്രീക്വൻസി 100Hz ആണ്, ആകെ 480 പോയിന്റുകൾ s ആണ്ampഎൽഇഡി. 7Hz-ൽ താഴെയുള്ള സിഗ്നലുകൾ IIR നീക്കം ചെയ്യുന്നു.
ആപ്ലിക്കേഷൻ കോഡ് പല ഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു.
- 480 സെ ഉണ്ട്ampലെസ് എസ്ample 0~159 എന്നത് 30Hz സൈൻ തരംഗങ്ങളാണ്ample 160~319 എന്നത് 1Hz സൈൻ തരംഗങ്ങളും എസ്ample 320~479 30Hz സൈൻ തരംഗങ്ങളാണ്.
- ആരംഭിക്കൽ. 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));
എസ്: IIR ഫിൽട്ടർ ഘടന
തുക എസ്tages: രണ്ടാം ക്രമങ്ങളുടെ എണ്ണംtages ഫിൽട്ടറിൽ. ഇതിൽ മുൻample, നംStages=1.
കോഫ്സ്: ഫിൽട്ടർ കോഫിഫിഷ്യന്റ്. ഇതിൽ 5 ഫിൽട്ടർ ഗുണകങ്ങൾ ഉണ്ട്ample.
സംസ്ഥാനം: സ്റ്റാറ്റസ് ഇൻഡിക്കേറ്റർ - ഹൈ-പാസ് ഫിൽട്ടർ. IIR-ന്റെ API-യെ വിളിക്കുന്നതിലൂടെ, 1 സെample ഓരോ തവണയും പ്രോസസ്സ് ചെയ്യപ്പെടുന്നു, കൂടാതെ 480 സെampലെസ് ആകെ. ഉപയോഗിച്ച API താഴെ കാണിച്ചിരിക്കുന്നു. void arm_biquad_cascade_df1_f32 (const arm_biquad_casd_df1_inst_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
എസ്: IIR ഫിൽട്ടർ ഘടന
pSrc: ഇൻപുട്ട് സിഗ്നൽ. 1Hz, 30Hz എന്നിവയുടെ മിക്സഡ് സിഗ്നൽ ഈ എക്സിയിൽ ഇൻപുട്ടാണ്ample.
pDst: ഔട്ട്പുട്ട് സിഗ്നൽ. പ്രതീക്ഷിക്കുന്ന ഔട്ട്പുട്ട് സിഗ്നൽ 30Hz ആണ്.
ബ്ലോക്ക് വലുപ്പം: കളുടെ എണ്ണത്തെ പ്രതിനിധീകരിക്കുന്നുampലെസ് ഒരു സമയത്ത് പ്രോസസ്സ് ചെയ്തു. - ഫലം ഔട്ട്പുട്ട്. ഇൻപുട്ട്, ഔട്ട്പുട്ട് സിഗ്നലുകൾ പ്രിന്റ് വഴി പിസിയിലേക്ക് ഔട്ട്പുട്ട് ചെയ്യുന്നു. ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ, സിഗ്നൽ ഇതുവരെ ഫിൽട്ടർ ചെയ്തിട്ടില്ലെന്ന് ഇൻപുട്ട് ഡാറ്റ കാണിക്കുന്നു, കൂടാതെ ഔട്ട്പുട്ട് ഡാറ്റ ഫിൽട്ടർ ചെയ്ത ഫലം കാണിക്കുന്നു. Y-അക്ഷം പ്രതിനിധീകരിക്കുന്നു ampസിഗ്നലിന്റെ ലൈറ്റും എസ്ampലിംഗ് ഫ്രീക്വൻസി 100Hz ആണ്, അതിനാൽ X-ആക്സിസ് നമ്പർ പ്ലസ് വൺ സമയവും 10ms യും പ്രതിനിധീകരിക്കുന്നു. ചിത്രം 14, ചിത്രം 15 എന്നിവയിൽ നിന്ന് 1Hz സിഗ്നൽ ഒഴിവാക്കി 30Hz സിഗ്നൽ മാത്രമേ അവശേഷിക്കുന്നുള്ളൂവെന്ന് കണ്ടെത്താനാകും.
പരിഗണനകൾ
CMSIS-DSP ഫംഗ്ഷൻ ലൈബ്രറി ഉപയോഗിക്കുമ്പോൾ കംപൈൽ ചെയ്ത ശേഷം ഉപയോക്താക്കൾ മെമ്മറി വലുപ്പത്തിൽ പ്രത്യേകം ശ്രദ്ധിക്കണം. പരിശോധനയ്ക്ക് മുമ്പ് മെമ്മറി ഓവർഫ്ലോ സംഭവിക്കുന്നില്ലെന്ന് ഉറപ്പാക്കുക.
ഉപസംഹാരം
സിഎംഎസ്ഐഎസ്-ഡിഎസ്പിക്ക് സിഗ്നൽ പ്രോസസ്സിംഗിലും ഗണിതശാസ്ത്ര കണക്കുകൂട്ടലിലും മികച്ച കഴിവുകളുണ്ട്, മാത്രമല്ല ഇത് ഉപയോക്താക്കൾ ഗൗരവമായി പരിഗണിക്കേണ്ടതുമാണ്.
റഫറൻസ് മെറ്റീരിയൽ
റഫറൻസ് webസൈറ്റ്: http://www.keil.com/pack/doc/CMSIS/General/html/index.html
പതിപ്പുകളും പരിഷ്ക്കരണ വിവരങ്ങളും
തീയതി | രചയിതാവ് | ഇഷ്യൂ | പരിഷ്ക്കരണ വിവരം |
2022.06.02 | എഴുത്ത്, ലിയു | V1.10 | ഡൗൺലോഡ് പാത്ത് പരിഷ്ക്കരിക്കുക |
2019.09.03 | അലൻ, വാങ് | V1.00 | ആദ്യ പതിപ്പ് |
നിരാകരണം
എല്ലാ വിവരങ്ങളും, വ്യാപാരമുദ്രകളും, ലോഗോകളും, ഗ്രാഫിക്സും, വീഡിയോകളും, ഓഡിയോ ക്ലിപ്പുകളും, ലിങ്കുകളും മറ്റ് ഇനങ്ങളും ഇതിൽ ദൃശ്യമാകുന്നു webസൈറ്റ് ('വിവരങ്ങൾ') റഫറൻസിനായി മാത്രമുള്ളതാണ് കൂടാതെ മുൻകൂർ അറിയിപ്പ് കൂടാതെ ഹോൾടെക് സെമികണ്ടക്റ്റർ ഇൻകോർപ്പറേഷന്റെയും അതുമായി ബന്ധപ്പെട്ട കമ്പനികളുടെയും (ഇനിമുതൽ 'ഹോൾടെക്', 'കമ്പനി', 'ഞങ്ങൾ', 'എപ്പോൾ വേണമെങ്കിലും മാറ്റത്തിന് വിധേയമാണ്. ഞങ്ങൾ' അല്ലെങ്കിൽ 'ഞങ്ങളുടെ'). ഹോൾടെക് ഇതിനെക്കുറിച്ചുള്ള വിവരങ്ങളുടെ കൃത്യത ഉറപ്പാക്കാൻ ശ്രമിക്കുന്നു webസൈറ്റിൽ, വിവരങ്ങളുടെ കൃത്യതയ്ക്ക് ഹോൾടെക് എക്സ്പ്രസ് അല്ലെങ്കിൽ സൂചനയുള്ള വാറന്റി നൽകുന്നില്ല. ഏതെങ്കിലും തെറ്റായ അല്ലെങ്കിൽ ചോർച്ചയ്ക്ക് ഹോൾടെക്ക് ഒരു ഉത്തരവാദിത്തവും വഹിക്കില്ല. ഇതിന്റെ ഉപയോഗത്തിലോ അതുമായി ബന്ധപ്പെട്ടോ ഉണ്ടാകുന്ന ഏതൊരു നാശനഷ്ടങ്ങൾക്കും (കമ്പ്യൂട്ടർ വൈറസ്, സിസ്റ്റം പ്രശ്നങ്ങൾ അല്ലെങ്കിൽ ഡാറ്റാ നഷ്ടം എന്നിവയുൾപ്പെടെ എന്നാൽ അതിൽ മാത്രം പരിമിതപ്പെടുത്തിയിട്ടില്ല) Holtek ബാധ്യസ്ഥനായിരിക്കില്ല. webഏതെങ്കിലും പാർട്ടിയുടെ സൈറ്റ്. ഈ പ്രദേശത്ത് നിങ്ങളെ സന്ദർശിക്കാൻ അനുവദിക്കുന്ന ലിങ്കുകൾ ഉണ്ടായിരിക്കാം webമറ്റ് കമ്പനികളുടെ സൈറ്റുകൾ. ഇവ webസൈറ്റുകൾ ഹോൾടെക്കിന്റെ നിയന്ത്രണത്തിലല്ല. അത്തരം സൈറ്റുകളിൽ പ്രദർശിപ്പിക്കുന്ന ഏത് വിവരത്തിനും ഹോൾടെക് ഒരു ഉത്തരവാദിത്തവും ഗ്യാരണ്ടിയും വഹിക്കില്ല. മറ്റുള്ളവയിലേക്ക് ഹൈപ്പർലിങ്കുകൾ webസൈറ്റുകൾ നിങ്ങളുടെ സ്വന്തം ഉത്തരവാദിത്തത്തിലാണ്.
ബാധ്യതയുടെ പരിമിതി
ഏത് സാഹചര്യത്തിലും, ആരെങ്കിലും സന്ദർശിക്കുമ്പോൾ ഉണ്ടാകുന്ന നഷ്ടങ്ങളുടെയോ നാശനഷ്ടങ്ങളുടെയോ ഉത്തരവാദിത്തം കമ്പനി ഏറ്റെടുക്കേണ്ടതില്ല webസൈറ്റ് നേരിട്ടോ അല്ലാതെയോ, ഉള്ളടക്കമോ വിവരങ്ങളോ സേവനമോ ഉപയോഗിക്കുന്നു webസൈറ്റ്.
ഭരണ നിയമം
ഈ നിരാകരണം റിപ്പബ്ലിക് ഓഫ് ചൈനയുടെ നിയമങ്ങൾക്കും റിപ്പബ്ലിക് ഓഫ് ചൈനയുടെ കോടതിയുടെ അധികാരപരിധിക്കു കീഴിലുമാണ്.
നിരാകരണത്തിന്റെ അപ്ഡേറ്റ്
മുൻകൂർ അറിയിപ്പോടെയോ അല്ലാതെയോ എപ്പോൾ വേണമെങ്കിലും നിരാകരണം അപ്ഡേറ്റ് ചെയ്യാനുള്ള അവകാശം Holtek-ൽ നിക്ഷിപ്തമാണ്, എല്ലാ മാറ്റങ്ങളും പോസ്റ്റുചെയ്യുമ്പോൾ ഉടനടി പ്രാബല്യത്തിൽ വരും. webസൈറ്റ്.
പ്രമാണങ്ങൾ / വിഭവങ്ങൾ
![]() |
HOLTEK HT32 CMSIS-DSP ലൈബ്രറി [pdf] ഉപയോക്തൃ ഗൈഡ് HT32, CMSIS-DSP ലൈബ്രറി, HT32 CMSIS-DSP ലൈബ്രറി, ലൈബ്രറി |