آنچه یاد خواهید گرفت:
توسعه الگوریتمهای کارآمد DSP با استفاده از دستورالعملهای MAC و SIMD
توسعه سفتافزار پردازش سیگنال دیجیتال بلادرنگ
درک استراتژیهای بهینهسازی DSP در Cortex-M4 و M7
تسلط به کتابخانه CMSIS-DSP
توسعه و تست الگوریتم Convolution Kernel روی پردازندههای ARM
انجام همگشت با استفاده از کتابخانه ARM CMSIS-DSP
توسعه و تست الگوریتم تبدیل فوریه گسسته (DFT) روی پردازندههای ARM
توسعه و تست الگوریتم تبدیل فوریه گسسته معکوس (IDFT) روی پردازندههای ARM
توسعه و تست الگوریتم تبدیل فوریه سریع (FFT) روی پردازندههای ARM
انجام تبدیل فوریه سریع (FFT) با استفاده از کتابخانه CMSIS-DSP
انجام تحلیل طیفی روی سیگنالهای ECG در پردازندههای ARM
توسعه فیلترهای Windowed-Sinc روی پردازندههای ARM
توسعه فیلترهای پاسخ ضربه محدود (FIR) روی پردازندههای ARM
توسعه فیلترهای پاسخ ضربه نامحدود (IIR) روی پردازندههای ARM
راهاندازی فیلترهای پاسخ ضربه محدود (FIR) با استفاده از کتابخانه CMSIS-DSP
راهاندازی فیلترهای پاسخ ضربه نامحدود (IIR) با استفاده از کتابخانه CMSIS-DSP
ساخت فیلترهای غیرفعال پایینگذر و بالاگذر
ساخت فیلترهای اصلاح شده سالن-کی
ساخت فیلترهای بسل، چبیشف و باترورث
کاهش نویز در سیگنالها
ارائه درس درباره پردازش سیگنال دیجیتال (DSP)
پیشنیازهای دوره
نیازی به تجربه برنامهنویسی ندارید. ما همه مواردی را که لازم است بدانید به شما آموزش میدهیم.
به بورد STM32F411-NUCLEO نیاز خواهید داشت.
ما از STM32 IDE استفاده خواهیم کرد که رایگان است.
توضیحات دوره
آیا میخواهید پردازش عملی سیگنال دیجیتال (DSP) را بدون سردرگمی یاد بگیرید؟
در این دوره DSP روی پردازندههای Arm، اینها را دریافت میکنید.
درک اصول پردازش سیگنال بدون پیچیدگی:
پیش از آنکه به پیادهسازی الگوریتمهای عملی DSP از پایه بپردازیم، این دوره اصول پردازش سیگنال را گامبهگام آموزش میدهد. در این بخش، مباحث کلیدی زیر را بررسی خواهیم کرد:
آمار سیگنال و نویز
کوانتیزاسیون و قضیه نمونهبرداری
طراحی فیلتر آنالوگ
متریکهای عملکردی فیلترهای بسل، چبیشف و باترورث
سیستمهای خطی و ویژگیهای آنها
فیلترهای پاسخ ضربه محدود (FIR)
فیلترهای پاسخ ضربه نامحدود (IIR)
برهمنهی، سنتز و تجزیه
همگشت و ویژگیهای آن
تبدیل فوریه گسسته (DFT) و IDFT
توسعه الگوریتمهای پردازش سیگنال دیجیتال:
ما الگوریتمهای پردازش سیگنال را که در بخش تئوری دربارهشان صحبت کردیم، به صورت عملی توسعه میدهیم. در اینجا به جای استفاده از سیگنالهای زنده، از چند سیگنال از پیش دریافت شده و تولید شده برای تست الگوریتمها استفاده میکنیم تا تمرکز روی توسعه و تست الگوریتمها بماند، نه روی دریافت سیگنال
الگوریتمهای زیر را توسعه خواهیم داد:
الگوریتمهای آمار سیگنال - میانگین سیگنال، انحراف معیار سیگنال، واریانس سیگنال
الگوریتم همگشت
الگوریتم Running Sum
الگوریتم تبدیل فوریه گسسته (DFT)
الگوریتم تبدیل فوریه گسسته معکوس (IDFT)
همچنین برخی از این الگوریتمها را با استفاده از کتابخانه CMSIS-DSP پیادهسازی میکنیم و سپس عملکرد پویای الگوریتم خود را با نمونههای ارائه شده توسط CMSIS-DSP مقایسه خواهیم کرد.
توسعه درایورها و ساختارهای داده برای دریافت سیگنال:
برای اینکه بتوانیم سیگنالها را به درستی از دنیای بیرون دریافت کنیم و سپس الگوریتمهای پردازش سیگنال را روی آنها اعمال کنیم، ابتدا باید درایورهای مبدل آنالوگ به دیجیتال (ADC) را برای دریافت سیگنال و ساختارهای داده مناسب برای ذخیره و مدیریت سیگنال توسعه دهیم. در این بخش، موارد زیر را توسعه خواهیم کرد:
درایور ADC bare-metal برای دریافت سیگنال
ساختار داده First-In-First-Out برای ذخیره و مدیریت سیگنال
طراحی و پیادهسازی فیلترهای دیجیتال:
با انواع مختلف فیلترهای دیجیتال آشنا میشویم و سپس آنها را از ابتدا پیادهسازی میکنیم. موارد زیر را پیادهسازی خواهیم کرد:
فیلتر میانگین متحرک
فیلتر پاسخ ضربه محدود (FIR)
فیلتر پاسخ ضربه نامحدود (IIR)
همچنین خواهیم دید که چگونه میتوان filter kernel فیلترهای پاسخ ضربه محدود را با استفاده از Matlab طراحی کرد.
کاربرد عملی DSP روی سیگنال زنده:
در این بخش، همه آموختههای خود را برای پردازش سیگنالهای زنده از ADC میکروکنترلر به کار خواهیم گرفت.
این دوره فقط درباره این نیست که کد کار کند، بلکه به شما یاد میدهد چگونه الگوریتمهای عملی DSP را بدون مدرک مهندسی پرزرقوبرق بنویسید.
شما میتوانید اصول پردازش سیگنال را بدون دردسر استنتاجهای ریاضی پیچیده درک کنید.
این دوره نسخه کاملاً بروزرسانی شده ویرایش اول دوره است. ویرایش اول توسط بیش از 3000 دانشجو و با بیش از 290 نظر گذرانده شده است.
این دوره برای چه کسانی مناسب است؟
اگر شما توسعهدهنده باتجربه سیستمهای تعبیه شده هستید و میخواهید یاد بگیرید که چگونه به صورت حرفهای اپلیکیشنهای تعبیه شده را برای پردازندههای ARM توسعه دهید، دوره را بگذرانید.
اگر در زمینه سیستمهای تعبیه شده کاملاً مبتدی هستید، دوره را بگذرانید.