امروزه داده و پردازش داده حکم نفت را داراست. پردازش سیگنال از زمانی که ارتباطات گسترده در دنیا شکل گرفت اهمیت بیشتری پیدا کرد (قبل از آن هم همیشه وجود داشته است). پردازش سیگنال با FPGA معایب و مزایای مختلفی دارد که برخی از آنها را در ادامه مطرح می کنیم.
دلیل پردازش سیگنال با FPGA یا پردازش تصویر با FPGA
یکی از بهترین دلایل برای انتخاب FPGA به عنوان پردازنده در پردازش سیگنال، خاصیت پردازش موازی FPGA است.
این پردازنده میتواند همزمان بیش از یک دستور را در هر کلاک انجام دهد.
مخصوصا در سیستم های مخابراتی که همزمان ارتباطات زیادی در حال انجام است، این مسئله اهمیت بیشتری پیدا می کند.
ماژول (IP) های مختلفی نیز در FPGA به همین منظور طراحی شده که کار پردازش سیگنال با FPGA و پردازش تصویر با FPGA را تسهیل می کند.
به عنوان مثال فیلترهای دیجیتال (بالا گذر، پایین گذر) که با FIR طراحی می شود، می تواند سیگنال با فرکانس های ناخواسته را به خوبی حذف کند.
همان طور که می دانید سیگنال ها و تصاویر در حوزه زمان و فرکانس تعریف می شوند.
در انجام پروژه پردازش سیگنال با FPGA و پردازش تصویر با FPGA از FFT و IFFT نیز جهت انتقال سیگنال به حوزه های زمان و فرکانس استفاده می شود که بسته به نوع پروژه می تواند قدرت پردازش را به شدت بالا ببرد.
همچنین با بهینه سازی FPGA پردازش پروتکل ها خاص نیز ممکن می شود. به عنوان مثال میتوان ماینرهای ارز دیجیتال را مثال زد که با تکیه بر تکنولوژی block chain به استخراج واحدهای ارز دیجیتال می کند.
ارتباط با دنیای واقعی
البته بخشی که تقریبا همیشه در پروژه های پردازش سیگنال با FPGA مورد استفاده قرار می گیرد، ADC و DAC ها هستند که میتوان به نوعی آنها را وسیله ی ارتباط با دنیای واقعی دانست. تقریبا همه سیگنال ها در دنیای واقعی به صورت آنالوگ هستند اما پردازش سیگنال به صورت دیجیتال انجام می شود.
همچنین پردازش تصویر با FPGA که یکی از شاخه های دیگر این موضوع است، ارتباط با دنیای واقعی است که به دلیل خصوصیات این پردازنده مورد استقبال قرار میگیرد.
چند مثال از کاربردهای پردازش سیگنال
امروزه با پردازش سیگنال به تشخیص شدت زلزله پرداخته می شود. ارتباطات تلفنی و اینترنتی بدون پردازش سیگنال غیر ممکن است. پردازش تصویر خود یک نوع از پردازش سیگنال است. کارتخوان در واقع سیگنال کارت را جهت شناسایی پردازش می کند.
در تلفن های همراه با پردازش سیگنال چهره یا اثر انگشت به کاربر اجازه ورود داده می شود. تشخیص سطح مایع مخازن در صنایع شیمیایی و نفت به وسیله ی پردازش سیگنال ممکن است و بینهایت مورد دیگر.
مثال دیگر میتواند پردازش سیگنال با FPGA در حوزه ی تشخیص صوت باشد. یک راه حل این مورد میتواند استفاده از شبکه های عصبی در پردازش سیگنال باشد.
راه دیگر آن میتواند پیاده سازی پروتکل های خاص باشد. نکته ای که در این موارد وجود دارد، این است که FPGA میتواند به صورت بلادرنگ(real time) صوت را پردازش کند. چیزی که در پردازنده های دیگر وجود ندارد.
ممکن است فکر کنید دیگر پردازنده ها (غیر از FPGA و ASIC) انجام محاسبات را به صورت بلادرنگ انجام میدهند اما واقعیت این است که تا زمانی که حجم اطلاعات پایین باشد این مسئله برای دیگر پردازنده ها درست است.
به محض آنکه حجم اطلاعات در حال پردازش از میزانی بالاتر رود هر پردازنده ای (غیر از FPGA و ASIC) از حالت بلادرنگ خارج میشود. پس یکی دیگر از فواید پردازش سیگنال با FPGA و پردازش تصویر با FPGA همین بلادرنگ بودن آن است که گاهی در پردازش سیگنال مسئله اصلی است.
چند مورد دیگر کاربرد FPGA در پردازش سیگنال
- پردازش سیگنال صوت، فراصوت(آکوستیک) با استفاده از FPGA
- پردازش سیگنال مخابراتی، آنتن، RF و رادیویی
- پردازش سیگنالهای نوری در مخابرات اپتیک، لیزر و فوتونیک
- پردازش سیگنال های تصویر برداری هسته ای مانند CT، MRI، PET
- پردازش تصویر با FPGA جهت تشخیص و ردیابی اشیاء خاص
بیایید به عنوان مثال به پردازش سیگنال با FPGA جهت محاسبه ی سرعت یک زیردریایی بپردازیم. بدین منظور میتوان از خاصیت بازتاب سیگنال فراصوت استفاده کرد. مخصوصا برای تشخیص میزان سرعت باید دوبار این ارسال و دریافت صوت انجام گیرد.
چراکه هربار این عمل فاصله ی متحرک را به ما میدهد. منتها سرعت پردازش پردازنده است که اولا دقت محاسبات و ثانیا سرعت محاسبات را تعیین میکند. تا اینجا پردازش سیگنال با FPGA یا بسیاری از پردازنده های دیگر امکان پذیر است.
همین مثال میتوانید به صورت پردازش تصویر با FPGA جهت تشخیص سرعت اتوموبیل ها در ترافیک نیز صادق باشد
مزیت پردازش سیگنال با FPGA و پردازش تصویر با FPGA
مسئله از جایی بحرانی میشود که قرار باشد تعداد پردازش های همزمان زیادی انجام پذیرد. در مواقعی که قرار باشد محاسبات زیادی به صورت موازی انجام پذیرد یکی از بهترین پردازنده ها FPGA خواهد بود. به عبارتی پردازش سیگنال با FPGA و پردازش تصویر با FPGA، به صورت موازی امکان پذیر است چیزی که در پردازنده های دیگر امکان پذیر نیست.
- پردازش موازی
- پردازش سریع
- انعطاف پذیری بالا
- پیاده سازی سیستم کامل روی یک تراشه(SOC)
پردازش سیگنال و پردازش تصویر به صورت بلادرنگ
در پردازش تصویر با FPGA و پردازش سیگنال با FPGA یکی از تفاوت ها و البته مزایایی که نسبت به دیگر پردازنده ها دیده میشود، پردازش بلادرنگ یا real time processing است.
مخصوصا در کاربردهایی که نیاز به پردازش سریع وجود دارد، این مورد میتواند بسیار مورد اهمیت باشد.
به عنوان مثال فرض کنید در حال پردازش تصویر با FPGA برای تشخیص نقص بارکد محصولاتی که از زیر دوربین عبور میکنند هستیم.
برای این مورد زمانی که سرعت عبور محصولات بالا باشد باید از پردازش سریع و بلادرنگ استفاده شود وگرنه ممکن است محصولات با بارکد ناقص، تشخیص داده نشود.
کاهش توان مصرفی
گاهی اوقات توان مصرفی ممکن است مورد اهمیت قرار گیرد. به عنوان مثال در تولید ماینرها و استخراج ارزهای دیجیتال که توان زیادی مصرف میگردد، پردازش سیگنال با FPGA میتواند گزینه ی بسیار مناسبی باشد.
البته علاوه بر آن میتوان از ASIC ها نیز استفاده کرد که به نسبت گرانتر هستند و اگر سفارشی ساخته شوند قیمت آنها با FPGA ها قابل مقایسه نیست. از این نظر برای کارهای با توان کم یا به اصطلاح low power و همچنین کم هزینه معمولا FPGA انتخاب خوبی خواهد بود.
همچنین در مواقعی که سیستم ها قرار است با استفاده از باتری کار کنند، انتخاب FPGA به عنوان یک پردازنده با توان پایین بهترین گزینه است.
مثلا پردازش تصویر با FPGA در مواردی که از دوربین های بیسیم استفاده میشود.
کار در شرایط سخت
ممکن است شنیده باشید که در فضاپیماها از چه پردازنده ای استفاده میشود.
بله در فضاپیماها پردازش سیگنال با FPGA و پردازش تصویر با FPGA صورت میگیرد چراکه مقاومت بیشتری در برابر پرتوهای کیهانی دارند.
همچنین اگر پرتوهای کیهانی باعث اختلال در عملکرد پردازش سیگنال گردند این اختلال قابل رفع است.
علاوه بر آن FPGA ها در شرایط سخت آب و هوایی نیز مقاومت بیشتری دارند. از جمله کار در کنار کوره ها یا در هوای بسیار سرد که ممکن است عملکرد پردازنده ها مختل گردد. این ویژگی نیز به دلیل ساختار داخلی آنها است که با دیگر پردازنده ها تفاوت دارد.
با افتخار، ما در گروه مهندسی آریادنا با تجربه انجام پروژه های مختلف پردازش سیگنال با FPGA در زمینه های مهندسی مخابرات، مهندسی پزشک، مهندسی نفت و … با پیشنهاد بهترین زمان، هزینه و کیفیت به بهترین پاداش یعنی رضایت کارفرما رسیده ایم.