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 ਸੀਰੀਜ਼ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਇਸ ਨੂੰ 4KB ਤੋਂ ਵੱਡੀ SRAM ਸਮਰੱਥਾ ਵਾਲੇ MCU ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਸੁਝਾਅ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ CMSIS-DSP ਐਪਲੀਕੇਸ਼ਨ ਸਾਬਕਾample ਨੂੰ ਇੱਕ ਵੱਡੇ SRAM ਆਕਾਰ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਟੈਕਸਟ ESK32-30501 ਨੂੰ ਸਾਬਕਾ ਵਜੋਂ ਲੈਂਦਾ ਹੈample ਜੋ HT32F52352 ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
ਸਾਫਟਵੇਅਰ
ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਾਬਕਾampਪਹਿਲਾਂ, ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸਭ ਤੋਂ ਨਵੀਂ ਹੋਲਟੇਕ ਐਚਟੀ32 ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਹੋਲਟੇਕ ਅਧਿਕਾਰੀ ਤੋਂ ਡਾਊਨਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ। 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ਸੰਕਲਨ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਹੀ ਮਾਰਗ ਵਿੱਚ s. ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ file ਇਸ ਵਿੱਚ ਦੋ ਫੋਲਡਰ ਹਨ, ਜੋ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀ ਹਨ ਜਿਨ੍ਹਾਂ ਦਾ ਸਥਾਨ ਚਿੱਤਰ 3 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਇਹਨਾਂ ਦੋ ਫੋਲਡਰਾਂ ਨੂੰ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਰੂਟ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਰੱਖੋ। file ਪਾਥ ਕੌਂਫਿਗਰੇਸ਼ਨ ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 4 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਉਪਭੋਗਤਾ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਅਤੇ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਸੰਕੁਚਿਤ ਵੀ ਕਰ ਸਕਦੇ ਹਨ। fileਉਸੇ ਪ੍ਰਭਾਵ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਉਸੇ ਮਾਰਗ ਵਿੱਚ ਹੈ. ਇਸ ਲਈ ਸਾਬਕਾample, CMSIS_DSP ਲਈ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਡੀਕੰਪ੍ਰੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਐਪਲੀਕੇਸ਼ਨ ਫੋਲਡਰ ਦੇ ਹੇਠਾਂ ਦੇਖਿਆ ਜਾਵੇਗਾ।
File ਬਣਤਰ
ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ ਸ਼ਾਮਲ ਦੋ ਮੁੱਖ ਫੋਲਡਰ file, ਲਾਇਬ੍ਰੇਰੀ\CMSIS, ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ\CMSIS_DSP, ਹੇਠਾਂ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਵਰਣਨ ਕੀਤੇ ਗਏ ਹਨ।
ਲਾਇਬ੍ਰੇਰੀ\CMSIS ਫੋਲਡਰ ਦੀ ਸਮੱਗਰੀ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੈ।
ਫੋਲਡਰ ਦਾ ਨਾਮ | ਵਰਣਨ |
DSP_Lib | ਐਪਲੀਕੇਸ਼ਨ FW ਸਰੋਤ ਕੋਡ |
DSP_Lib\Examples | ਕਈ ਮਿਆਰੀ ਸਾਬਕਾ ਸ਼ਾਮਲ ਹਨampCMSIS-DSP ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ਦੇ les ਜੋ ARM ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਇਹਨਾਂ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਸੈਟਿੰਗਾਂ ਨੂੰ ਐਮਸੀਯੂ ਦੀ ਲੋੜ ਤੋਂ ਬਿਨਾਂ ਸਿਮੂਲੇਟ ਤਰੀਕੇ ਨਾਲ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ। ਉਪਭੋਗਤਾ ਛੇਤੀ ਹੀ ਸਿੱਖ ਸਕਦੇ ਹਨ ਕਿ ਇਹਨਾਂ ਸਾਬਕਾ ਨੂੰ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ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 | ARMCC l arm_cortexM3l_math.lib (Cortex-M3, Little ndian) l arm_cortexM0l_math.lib (Cortex-M0 / M0+, ਲਿਟਲ ਐਂਡੀਅਨ) ਲਈ CMSIS-DSP ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ |
Lib\GCC | GCC l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, ਲਿਟਲ ਐਂਡੀਅਨ) ਲਈ CMSIS-DSP ਫੰਕਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ |
ਐਪਲੀਕੇਸ਼ਨ\CMSIS_DSP ਫੋਲਡਰ ਵਿੱਚ ਕਈ CMSIS_DSP ਸਾਬਕਾ ਸ਼ਾਮਲ ਹਨamples, ਜੋ MCUs ਦੀ 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ਟੈਸਟ ਸਾਬਕਾ ਦੇ ਤੌਰ ਤੇ leample. ਟੈਸਟਿੰਗ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਜਾਂਚ ਕਰੋ ਕਿ 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 |
min_marks | ਆਉਟਪੁੱਟ | ਟੈਸਟ ਆਉਟਪੁੱਟ ਐਰੇ ਵਿੱਚ ਤੱਤਾਂ ਦਾ ਨਿਊਨਤਮ ਮੁੱਲ | 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) ਹੇਠਾਂ ਦਰਸਾਏ ਅਨੁਸਾਰ ਪਰਿਭਾਸ਼ਾ ਵਿਕਲਪ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਪਰਿਭਾਸ਼ਾ ਸ਼ਾਮਲ ਕਰੋ।
ਕਦਮ 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_example, ਇਹ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੇਗਾ ਕਿ 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 ਦੀ ਸੰਖਿਆ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈamples ਇੱਕ ਵਾਰ 'ਤੇ ਕਾਰਵਾਈ ਕੀਤੀ. - ਘੱਟ-ਪਾਸ ਫਿਲਟਰ। ਐਫਆਈਆਰ ਦੇ ਏਪੀਆਈ ਨੂੰ ਫੋਨ ਕਰਕੇ 32 ਐੱਸamples ਨੂੰ ਹਰ ਵਾਰ ਸੰਸਾਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ 320 s ਹੁੰਦੇ ਹਨ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 ਦੀ ਸੰਖਿਆ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈamples ਇੱਕ ਵਾਰ 'ਤੇ ਕਾਰਵਾਈ ਕੀਤੀ. - ਡਾਟਾ ਤਸਦੀਕ. MATLAB ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੇ ਫਿਲਟਰਿੰਗ ਨਤੀਜੇ ਨੂੰ ਹਵਾਲਾ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ CMSIS-DSP ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਫਿਲਟਰਿੰਗ ਨਤੀਜਾ ਅਸਲ ਮੁੱਲ ਹੈ। ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਦੋ ਨਤੀਜਿਆਂ ਦੀ ਤੁਲਨਾ ਕਰੋ ਕਿ ਕੀ ਆਉਟਪੁੱਟ ਨਤੀਜਾ ਸਹੀ ਹੈ ਜਾਂ ਨਹੀਂ। float arm_snr_f32(float *pRef, float *pTest, uint32_t ਬਫਸਾਈਜ਼)
ਤਰਜੀਹ: MATLAB ਦੁਆਰਾ ਤਿਆਰ ਹਵਾਲਾ ਮੁੱਲ।
ਪੋਸਟ: CMSIS-DSP ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਅਸਲ ਮੁੱਲ।
ਬਲਾਕਸਾਈਜ਼: s ਦੀ ਸੰਖਿਆ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈamples ਇੱਕ ਵਾਰ 'ਤੇ ਕਾਰਵਾਈ ਕੀਤੀ.
ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਇਨਪੁਟ ਡੇਟਾ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਸਿਗਨਲ ਅਜੇ ਫਿਲਟਰ ਨਹੀਂ ਹੋਇਆ ਹੈ ਅਤੇ ਆਉਟਪੁੱਟ ਡੇਟਾ ਫਿਲਟਰ ਕੀਤਾ ਨਤੀਜਾ ਦਿਖਾਉਂਦਾ ਹੈ। Y-ਧੁਰਾ ਦਰਸਾਉਂਦਾ ਹੈ ampਸਿਗਨਲ ਦੀ ਲਿਟਿਊਡ ਅਤੇ ਐੱਸampਲਿੰਗ ਬਾਰੰਬਾਰਤਾ 48kHz ਹੈ, ਇਸਲਈ X-ਧੁਰਾ ਨੰਬਰ ਪਲੱਸ ਵਨ ਸਮਾਂ ਪਲੱਸ 20.833μs ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਇਹ ਚਿੱਤਰ 12 ਅਤੇ ਚਿੱਤਰ 13 ਤੋਂ ਪਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਕਿ 15kHz ਸਿਗਨਲ ਖਤਮ ਹੋ ਗਿਆ ਹੈ ਅਤੇ ਸਿਰਫ 1kHz ਸਿਗਨਲ ਬਚਿਆ ਹੈ।
ਹਾਈ-ਪਾਸ ਫਿਲਟਰ- IIR
ਇਹ ਭਾਗ, ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪੇਸ਼ ਕਰਕੇ\CMSIS_DSP\filter_iir_high_pass_example, ਇਹ ਦਰਸਾਏਗਾ ਕਿ IIR ਫਿਲਟਰ ਨੂੰ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨਾ ਹੈ ਅਤੇ IIR ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਘੱਟ-ਫ੍ਰੀਕੁਐਂਸੀ ਸਿਗਨਲਾਂ ਨੂੰ ਕਿਵੇਂ ਹਟਾਉਣਾ ਹੈ। ਇਨਪੁਟ ਸਿਗਨਲ 1Hz ਅਤੇ 30Hz ਸਾਈਨ ਤਰੰਗਾਂ ਨਾਲ ਬਣਿਆ ਹੈ। ਸਿਗਨਲ ਐੱਸampਲਿੰਗ ਬਾਰੰਬਾਰਤਾ 100Hz ਹੈ ਅਤੇ ਕੁੱਲ 480 ਪੁਆਇੰਟ s ਹਨampਅਗਵਾਈ. 7Hz ਤੋਂ ਘੱਟ ਸਿਗਨਲ IIR ਦੁਆਰਾ ਹਟਾਏ ਜਾਂਦੇ ਹਨ।
ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ ਕਈ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ।
- ਇੱਥੇ 480 ਐੱਸamples. ਐੱਸ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.
ਰਾਜ: ਸਥਿਤੀ ਸੂਚਕ - ਉੱਚ-ਪਾਸ ਫਿਲਟਰ। ਆਈਆਈਆਰ ਦੇ ਏਪੀਆਈ ਨੂੰ ਕਾਲ ਕਰਕੇ, 1 ਐੱਸample ਨੂੰ ਹਰ ਵਾਰ ਸੰਸਾਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ 480 s ਹੁੰਦੇ ਹਨ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 ਦੀ ਸੰਖਿਆ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈamples ਇੱਕ ਵਾਰ 'ਤੇ ਕਾਰਵਾਈ ਕੀਤੀ. - ਨਤੀਜਾ ਆਉਟਪੁੱਟ। ਇੰਪੁੱਟ ਅਤੇ ਆਉਟਪੁੱਟ ਸਿਗਨਲ ਪ੍ਰਿੰਟ ਦੁਆਰਾ ਪੀਸੀ ਨੂੰ ਆਉਟਪੁੱਟ ਹੁੰਦੇ ਹਨ। ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਇਨਪੁਟ ਡੇਟਾ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਸਿਗਨਲ ਅਜੇ ਫਿਲਟਰ ਨਹੀਂ ਹੋਇਆ ਹੈ ਅਤੇ ਆਉਟਪੁੱਟ ਡੇਟਾ ਫਿਲਟਰ ਕੀਤਾ ਨਤੀਜਾ ਦਿਖਾਉਂਦਾ ਹੈ। 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 ਲਾਇਬ੍ਰੇਰੀ [pdf] ਯੂਜ਼ਰ ਗਾਈਡ HT32, CMSIS-DSP ਲਾਇਬ੍ਰੇਰੀ, HT32 CMSIS-DSP ਲਾਇਬ੍ਰੇਰੀ, ਲਾਇਬ੍ਰੇਰੀ |