HT32 CMSIS-DSP લાઇબ્રેરી
વપરાશકર્તા માર્ગદર્શિકા
D/N: AN0538EN
પરિચય
CMSIS એ ARM દ્વારા વિકસાવવામાં આવેલ સોફ્ટવેર સ્ટાન્ડર્ડ ઈન્ટરફેસ છે જેનું પૂરું નામ Cortex Microcontroller Software Interface Standard છે. આ પ્રમાણભૂત ઈન્ટરફેસ સાથે, વિકાસકર્તાઓ વિવિધ સપ્લાયરોના માઇક્રોકન્ટ્રોલર્સને નિયંત્રિત કરવા માટે સમાન ઈન્ટરફેસનો ઉપયોગ કરી શકે છે જેથી તેમનો વિકાસ અને શીખવાનો સમય ઘણો ઓછો થાય છે. વધુ માહિતી માટે, CMSIS અધિકારીનો સંદર્ભ લો webસાઇટ: http://www.keil.com/pack/doc/CMSIS/General/html/index.html. આ ટેક્સ્ટ મુખ્યત્વે માઇક્રોકન્ટ્રોલર્સની HT32 શ્રેણીમાં CMSIS-DSP એપ્લિકેશનનું વર્ણન કરે છે જેમાં પર્યાવરણ સેટઅપ, ઉપયોગ માટેની દિશા વગેરેનો સમાવેશ થાય છે.
કાર્યાત્મક વર્ણન
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 ફંક્શન લાઇબ્રેરી નીચેની શ્રેણીઓમાં વિભાજિત થયેલ છે:
- મૂળભૂત ગણિતના કાર્યો, ઝડપી ગણિતના કાર્યો અને જટિલ ગણિતના કાર્યો
- સિગ્નલ ફિલ્ટરિંગ કાર્યો
- મેટ્રિક્સ કાર્યો
- રૂપાંતર કાર્યો
- મોટર નિયંત્રણ કાર્યો
- આંકડાકીય કાર્યો
- આધાર કાર્યો
- ઇન્ટરપોલેશન કાર્યો
પર્યાવરણ સેટઅપ
આ વિભાગ એપ્લિકેશનમાં ઉપયોગમાં લેવાતા હાર્ડવેર અને સોફ્ટવેરનો પરિચય કરાવશેample
હાર્ડવેર
જો કે CMSIS-DSP સંપૂર્ણ HT32 શ્રેણીને સપોર્ટ કરે છે, CMSIS-DSP એપ્લિકેશન તરીકે 4KB કરતાં મોટી SRAM ક્ષમતા સાથે MCU નો ઉપયોગ કરવાનું સૂચન કરવામાં આવે છે.ample ને મોટા SRAM કદની જરૂર છે. આ ટેક્સ્ટ ESK32-30501 ને ભૂતપૂર્વ તરીકે લે છેample જે HT32F52352 નો ઉપયોગ કરે છે.
સોફ્ટવેર
એપ્લિકેશનનો ઉપયોગ કરતા પહેલા ભૂતપૂર્વampસૌ પ્રથમ, ખાતરી કરો કે હોલ્ટેક અધિકારી પાસેથી નવીનતમ હોલ્ટેક HT32 ફર્મવેર લાઇબ્રેરી ડાઉનલોડ કરવામાં આવી છે. webસાઇટ ડાઉનલોડ સ્થાન આકૃતિમાં દર્શાવેલ છે
ડીકોમ્પ્રેસ file ડાઉનલોડ કર્યા પછી.
નીચેની લિંક દ્વારા CMSIS-DSP એપ્લિકેશન કોડ ડાઉનલોડ કરો. એપ્લિકેશન કોડ ઝિપ તરીકે પેક કરવામાં આવે છે 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સમાન અસર હાંસલ કરવા માટે સમાન માર્ગ પર જાઓ. આ માટે માજીample, CMSIS_DSP માટેની ડિરેક્ટરી ડીકોમ્પ્રેસન પછી એપ્લિકેશન ફોલ્ડર હેઠળ જોવામાં આવશે.
File માળખું
એપ્લિકેશન કોડમાં સમાવિષ્ટ બે મુખ્ય ફોલ્ડર્સ file, library\CMSIS, અને application\CMSIS_DSP, નીચે વ્યક્તિગત રીતે વર્ણવેલ છે.
લાઇબ્રેરી\CMSIS ફોલ્ડરની સામગ્રી નીચે મુજબ છે.
ફોલ્ડરનું નામ | વર્ણન |
DSP_Lib | એપ્લિકેશન FW સ્રોત કોડ |
DSP_Lib\Exampલેસ | બહુવિધ પ્રમાણભૂત ભૂતપૂર્વ સમાવે છેampCMSIS-DSP ફંક્શન લાઇબ્રેરીના લેસ જે એઆરએમ દ્વારા પ્રદાન કરવામાં આવે છે. આ પ્રોજેક્ટ્સ માટેની સેટિંગ્સ એમસીયુની જરૂર વગર સિમ્યુલેટેડ રીતે એક્ઝિક્યુટ કરવામાં આવે છે. વપરાશકર્તાઓ ઝડપથી આ એક્સનો ઉપયોગ કેવી રીતે કરવો તે શીખી શકે છેampતેમને એક્ઝિક્યુટ કરીને. |
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 દ્વારા લાગુ કરવામાં આવે છે. |
લિબ\ARM | ARMCC માટે CMSIS-DSP ફંક્શન લાઇબ્રેરી l arm_cortexM3l_math.lib (Cortex-M3, Little ndian) l arm_cortexM0l_math.lib (Cortex-M0 / M0+, લિટલ એન્ડિયન) |
લિબ\GCC | GCC માટે CMSIS-DSP ફંક્શન લાઇબ્રેરી l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, લિટલ એન્ડિયન) |
એપ્લિકેશન\CMSIS_DSP ફોલ્ડરમાં બહુવિધ CMSIS_DSP ex સમાવે છેamples, જે MCU ની HT32 શ્રેણીનો ઉપયોગ કરે છે અને સંપૂર્ણ 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 | લીનિયર ઇન્ટરપોલેશન મોડ્યુલ અને ફાસ્ટ મેથ્સ મોડ્યુલનો ઉપયોગ દર્શાવે છે. |
arm_matrix_example | મેટ્રિક્સ ટ્રાન્સફોર્મ, મેટ્રિક્સ ગુણાકાર અને મેટ્રિક્સ ઇન્વર્સ સહિત મેટ્રિક્સ સહસંબંધ ગણતરી દર્શાવે છે. |
arm_signal_converge_example | NLMS (Normalised Least Mean Square), FIR અને મૂળભૂત ગણિતના મોડ્યુલોનો ઉપયોગ કરીને સ્વ-એડજસ્ટેબલ FIR લો-પાસ ફિલ્ટરનું નિદર્શન કરે છે. |
arm_sin_cos_example | ત્રિકોણમિતિ ગણતરીઓ દર્શાવે છે. |
arm_variance_example | મૂળભૂત ગણિત અને સપોર્ટ ફંક્શન દ્વારા ભિન્નતાની ગણતરી કેવી રીતે કરવી તે દર્શાવે છે. |
ફિલ્ટર_iir_high_pass_example | IIR નો ઉપયોગ કરીને હાઇ-પાસ ફિલ્ટરિંગનો અમલ કેવી રીતે કરવો તે દર્શાવે છે. |
ટેસ્ટ
આ ટેક્સ્ટ એપ્લિકેશન\CMSIS_DSP\arm_class_marks_ex નો ઉપયોગ કરશેampલે ટેસ્ટ તરીકે ભૂતપૂર્વample પરીક્ષણ શરૂ કરતા પહેલા, ESK32-30501 કનેક્ટેડ છે કે નહીં તે તપાસો અને ખાતરી કરો કે એપ્લિકેશન કોડ અને ફર્મવેર લાઇબ્રેરી યોગ્ય સ્થાને મૂકવામાં આવી છે. એપ્લિકેશન ખોલો\CMSIS_DSP\arm_class_marks_example ફોલ્ડર અને _CreateProject.bat ને એક્ઝિક્યુટ કરો file, નીચે બતાવ્યા પ્રમાણે. આ પછી, MDK_ARMv5 (અથવા Keilv4 માટે MDK_ARM) ખોલો, તે શોધવા માટે કે આ ભૂતપૂર્વ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 |
ઓછામાં ઓછા_માર્ક્સ | આઉટપુટ | પરીક્ષણ આઉટપુટ અરેમાં તત્વોનું ન્યૂનતમ મૂલ્ય | 156 |
અર્થ | આઉટપુટ | પરીક્ષણ આઉટપુટ અરેમાં ઘટકોનું અપેક્ષિત મૂલ્ય | 212.300003 |
ધો | આઉટપુટ | પરીક્ષણ આઉટપુટ અરેમાં તત્વોનું પ્રમાણભૂત વિચલન | 50.9128189 |
var | આઉટપુટ | પરીક્ષણ આઉટપુટ એરેમાં તત્વોનો તફાવત | 2592.11523 |
ઉપયોગ માટે દિશા
એકીકરણ
આ વિભાગ વપરાશકર્તાઓના પ્રોજેક્ટમાં CMSIS-DSP ને કેવી રીતે એકીકૃત કરવું તે પરિચય આપશે.
પગલું 1
પ્રથમ, પ્રોજેક્ટ સેટ કરતી વખતે એક નવું વ્યાખ્યાયિત પ્રતીક ઉમેરો, M0+ માટે “ARM_MATH_CM0PLUS” અને M3 માટે “ARM_MATH_CM3”. સેટિંગ પ્રક્રિયા: (1) ટાર્ગેટ શોર્ટકટ કી "Alt+F7" ના વિકલ્પો, (2) C/C++ પૃષ્ઠ પસંદ કરો, (3) નીચે બતાવ્યા પ્રમાણે, વ્યાખ્યા વિકલ્પમાં નવી વ્યાખ્યા ઉમેરો.
પગલું 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 બ્લોકસાઇઝ);
S: FIR ફિલ્ટર માળખું
અંકો: ફિલ્ટર s ની સંખ્યાtages (ફિલ્ટર ગુણાંકની સંખ્યા). આમાં માજીample, numTaps=29.
Coffs: ફિલ્ટર ગુણાંક. આ એક્સમાં 29 ફિલ્ટર ગુણાંક છેample જેની ગણતરી MATLAB દ્વારા કરવામાં આવે છે.
રાજ્ય: સ્થિતિ સૂચક
બ્લોકસાઇઝ: s ની સંખ્યા દર્શાવે છેampલેસ એક સમયે પ્રક્રિયા. - લો-પાસ ફિલ્ટર. એફઆઈઆરના એપીઆઈને ફોન કરીને 32 એસampલેસ દરેક વખતે પ્રક્રિયા કરવામાં આવે છે અને ત્યાં 320 સે છેampકુલ. વપરાયેલ API નીચે દર્શાવેલ છે.
void arm_fir_f32 (const arm_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t બ્લોકસાઇઝ);
S: FIR ફિલ્ટર માળખું
pSrc: ઇનપુટ સિગ્નલ. આ એક્સમાં 1kHz અને 15kHzનું મિશ્ર સિગ્નલ ઇનપુટ છેample pDst: આઉટપુટ સિગ્નલ. અપેક્ષિત આઉટપુટ સિગ્નલ 1kHz છે. બ્લોકસાઇઝ: s ની સંખ્યા દર્શાવે છેampલેસ એક સમયે પ્રક્રિયા. - ડેટા વેરિફિકેશન. MATLAB દ્વારા મેળવેલ ફિલ્ટરિંગ પરિણામને સંદર્ભ તરીકે ગણવામાં આવે છે અને CMSIS-DSP દ્વારા મેળવેલ ફિલ્ટરિંગ પરિણામ વાસ્તવિક મૂલ્ય છે. આઉટપુટ પરિણામ સાચું છે કે નહીં તે ચકાસવા માટે બે પરિણામોની તુલના કરો. float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize)
પ્રિફ: MATLAB દ્વારા જનરેટ કરાયેલ સંદર્ભ મૂલ્ય.
પોસ્ટ: CMSIS-DSP દ્વારા જનરેટ થયેલ વાસ્તવિક મૂલ્ય.
બ્લોકસાઇઝ: s ની સંખ્યા દર્શાવે છે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 સાઈન તરંગો છે, sample 160~319 એ 1Hz સાઈન વેવ્ઝ અને s છે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 *સ્ટેટ));
S: IIR ફિલ્ટર માળખું
રકમ stages: બીજા ક્રમની સંખ્યાtagફિલ્ટરમાં છે. આમાં માજીample, numStages=1.
Coffs: ફિલ્ટર ગુણાંક. આ એક્સમાં 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 બ્લોકસાઇઝ);
S: IIR ફિલ્ટર માળખું
pSrc: ઇનપુટ સિગ્નલ. આ એક્સમાં 1Hz અને 30Hzનું મિશ્ર સિગ્નલ ઇનપુટ છેample
pDst: આઉટપુટ સિગ્નલ. અપેક્ષિત આઉટપુટ સિગ્નલ 30Hz છે.
બ્લોકસાઇઝ: s ની સંખ્યા દર્શાવે છેampલેસ એક સમયે પ્રક્રિયા. - પરિણામ આઉટપુટ. ઇનપુટ અને આઉટપુટ સિગ્નલો પ્રિન્ટ દ્વારા પીસીમાં આઉટપુટ છે. નીચે બતાવ્યા પ્રમાણે, ઇનપુટ ડેટા દર્શાવે છે કે સિગ્નલ હજુ ફિલ્ટર થયેલ નથી અને આઉટપુટ ડેટા ફિલ્ટર કરેલ પરિણામ દર્શાવે છે. Y-અક્ષ રજૂ કરે છે ampસિગ્નલ અને એસampલિંગ આવર્તન 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 | લેખન, લિયુ | V1.10 | ડાઉનલોડ પાથમાં ફેરફાર કરો |
2019.09.03 | એલન, વાંગ | V1.00 | પ્રથમ સંસ્કરણ |
અસ્વીકરણ
આ પર દેખાતી તમામ માહિતી, ટ્રેડમાર્ક્સ, લોગો, ગ્રાફિક્સ, વીડિયો, ઓડિયો ક્લિપ્સ, લિંક્સ અને અન્ય વસ્તુઓ webસાઇટ ('માહિતી') માત્ર સંદર્ભ માટે છે અને કોઈપણ સમયે પૂર્વ સૂચના વિના અને હોલ્ટેક સેમિકન્ડક્ટર ઇન્ક. અને તેની સંબંધિત કંપનીઓ (ત્યારબાદ 'હોલ્ટેક', 'કંપની', 'અમે', 'વિવેકબુદ્ધિથી બદલાઈ શકે છે. અમે' અથવા 'આપણા'). જ્યારે હોલ્ટેક આ અંગેની માહિતીની ચોકસાઈ સુનિશ્ચિત કરવાનો પ્રયાસ કરે છે webસાઇટ, માહિતીની ચોકસાઈ માટે હોલ્ટેક દ્વારા કોઈ સ્પષ્ટ અથવા ગર્ભિત વોરંટી આપવામાં આવતી નથી. હોલ્ટેક કોઈપણ અયોગ્યતા અથવા લીકેજ માટે કોઈ જવાબદારી સહન કરશે નહીં. હોલટેક કોઈપણ નુકસાન માટે જવાબદાર રહેશે નહીં (જેમાં કોમ્પ્યુટર વાયરસ, સિસ્ટમની સમસ્યાઓ અથવા ડેટાના નુકશાન સહિત પરંતુ તેના સુધી મર્યાદિત નથી) આના ઉપયોગ અથવા તેના ઉપયોગના સંબંધમાં જે કંઈપણ ઉદ્ભવે છે. webકોઈપણ પક્ષ દ્વારા સાઇટ. આ વિસ્તારમાં લિંક્સ હોઈ શકે છે, જે તમને ની મુલાકાત લેવાની મંજૂરી આપે છે webઅન્ય કંપનીઓની સાઇટ્સ. આ webસાઇટ્સ હોલ્ટેક દ્વારા નિયંત્રિત નથી. હોલ્ટેક આવી સાઇટ્સ પર પ્રદર્શિત થતી કોઈપણ માહિતીની કોઈ જવાબદારી અને કોઈ ગેરેંટી સહન કરશે નહીં. અન્ય માટે હાઇપરલિંક્સ webસાઇટ્સ તમારા પોતાના જોખમે છે.
જવાબદારીની મર્યાદા
કોઈ પણ સંજોગોમાં, જ્યારે કોઈ પણ વ્યક્તિની મુલાકાત લે છે ત્યારે કંપનીએ કોઈપણ નુકસાન અથવા નુકસાન માટે જવાબદારી લેવાની જરૂર નથી webસાઇટ પ્રત્યક્ષ અથવા પરોક્ષ રીતે અને સામગ્રી, માહિતી અથવા સેવાનો ઉપયોગ કરે છે webસાઇટ
સંચાલિત કાયદો
આ અસ્વીકરણ ચીનના પ્રજાસત્તાકના કાયદાને આધિન છે અને રિપબ્લિક ઓફ ચાઈના કોર્ટના અધિકારક્ષેત્ર હેઠળ છે.
અસ્વીકરણની અપડેટ
હોલ્ટેક કોઈપણ સમયે પૂર્વ સૂચના સાથે અથવા તેના વિના અસ્વીકરણને અપડેટ કરવાનો અધિકાર અનામત રાખે છે, બધા ફેરફારો પોસ્ટ પર પોસ્ટ કર્યા પછી તરત જ અસરકારક થાય છે. webસાઇટ
દસ્તાવેજો / સંસાધનો
![]() |
HOLTEK HT32 CMSIS-DSP લાઇબ્રેરી [પીડીએફ] વપરાશકર્તા માર્ગદર્શિકા HT32, CMSIS-DSP લાઇબ્રેરી, HT32 CMSIS-DSP લાઇબ્રેરી, લાઇબ્રેરી |