دسته‌بندی نشده

پیاده‌سازی اعداد مختلط در FPGA

در بسیاری از الگوریتم‌‌های پردازش سیگنال‌‎های دیجیتال، نیاز به انجام محاسباتی، روی اعداد مختلط دارید. اما در FPGA‌ها (و به طور کلی در تمامی مدارات دیجیتال)، تحقق فیزیکی یا مداری خاص برای پیاده‌‌سازی اعداد مختلط وجود ندارد؛ بنابراین، جهت پیاده‌‌سازی و انجام محاسبات روی این اعداد، می‌‌بایست از روش خاصی استفاده کرد.

در زبان VHDL، تایپ یا نوع داده‌ای برای تعریف یک سیگنال، به صورت مختلط نداریم. در عین­ حال، در بسیاری از الگوریتم‌­های پردازش سیگنال، شما نیاز دارید​ محاسبات مختلفی مانند ضرب و جمع را، روی اعداد مختلط انجام دهید. بنابراین، سوالی که پیش می‌آید این است که چگونه این کار را در مدارات دیجیتال انجام دهیم؟

در این آموزش، قصد دارم به ‌صورت کوتاه و کاربردی، با ذکر یک مثال و به کمک کد VHDL، اعداد مختلط را در FPGA پیاده‌‌سازی کنم.

اعداد مختلط

همان‌‌طور که می‌‌دانیم، هر عدد مختلط شامل دو بخش حقیقی (Real) و موهومی (Imaginary) است. به عنوان مثال، عدد مختلط X، به ‌صورت زیر نمایش داده می‌‌شود:

X = xr + j xi

که در آن،​ xr، بخش حقیقی و xi، بخش موهومی ​X است.

کلیات ضرب دو عدد مختلط در FPGA

اکنون فرض کنید که می‌‌خواهیم ضرب دو عدد مختلط X و Y را در FPGA پیاده‌‌سازی کنیم. پس، همانند شکل زیر، دو ورودی X و Y، و یک خروجی F خواهیم داشت:

ضرب کننده مختلط

اما برای اینکه پورت­‌های مختلط ورودی و خروجی را در FPGA نشان دهیم چه راه‌­حلی داریم؟

ساده‌سازی ضرب دو عدد مختلط روی کاغذ

ابتدا اجازه دهید، ضرب این دو عدد را روی کاغذ انجام دهیم و آن را ساده کنیم؛ برای حاصل‌ضرب X و Y رابطه‌ی زیر را خواهیم داشت:

ضرب کننده مختلط

پس، خروجی F، ​از یک بخش حقیقی Fr و یک بخش موهومی Fi تشکیل شده است.

بنابراین، با​ محاسبه‌­ی ساده‌­ای که روی کاغذ انجام دادیم، تکلیف ما برای پیاده­‌سازی مشخص شد؛ بدین ترتیب که با داشتن بخش‌‌های حقیقی (​fr) و موهومی (fi) از سیگنال F، حاصل‌ضرب X و Y را خواهیم داشت. حالا کافی است تا​ دو عبارت fr و fi را در FPGA و به کمک کد VHDL پیاده‌‌سازی کنیم.

پیاده‌سازی ضرب دو عدد مختلط در FPGA

روشی که برای نشان دادن ورودی و خروجی‌­های مختلط در FPGA، استفاده می‌­کنیم این است که به ازای هر عدد مختلط، دو سیگنال تعریف می‌کنیم؛ یک سیگنال را برای بخش حقیقی، و دیگری را برای بخش موهومی عدد مختلط در نظر می‌‌گیریم. درواقع، ورودی و خروجی‌‌های سیستم ما به شکل زیر خواهند بود:

ضرب کننده مختلط
بنابراین، با توجه به شکل بالا، مداری را که به کمک زبان VHDL تعریف می‌کنیم، چهار پورت ورودی دارد که مربوط به دو ورودی مختلط است، و دو پورت خروجی دارد که مربوط به تنها خروجی مختلط ما است.

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

بازگشت به لیست

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *