GitHub

دانشگاه تبریز - دانشکده مهندسی برق و کامپیوتر

نیمسال اول تحصیلی ۱۴۰۵-۱۴۰۴

گزارش پروژه نهایی درس
سیگنال‌ها و سیستم‌ها

طراحی و پیاده‌سازی آزمایشگاه مجازی تحلیل و شناسایی سیستم

استاد راهنما:دکتر سینافردانشجو:امیررضا بیاضیشماره دانشجویی:14025361007

۱. مقدمه و اهداف پروژه

سیگنال‌ها و سیستم‌ها یکی از پایه‌ای‌ترین دروس مهندسی برق و کامپیوتر است که ابزارهای ریاضی لازم برای تحلیل پدیده‌های فیزیکی و طراحی سیستم‌های کنترلی و مخابراتی را فراهم می‌کند. هدف از این پروژه، پیاده‌سازی عملی مفاهیم تئوری درس در قالب یک نرم‌افزار تحت وب تعاملی است.

این پروژه از دو بخش اصلی تشکیل شده است:

تمامی شبیه‌سازی‌ها و محاسبات در این پروژه با استفاده از زبان برنامه‌نویسی TypeScript و فریم‌ورک Next.js پیاده‌سازی شده‌اند تا ضمن دسترسی آسان از طریق مرورگر، دقت محاسباتی بالایی (Double Precision Floating Point) را فراهم آورند.

۲. تحلیل سیستم با مدل مشخص (White-Box)

در این بخش، معادله تفاضلی حاکم بر سیستم بر اساس رقم آخر شماره دانشجویی (عدد ۷) به صورت زیر تعیین شده است:

y[n]=x[n]+0.6cos(0.03n)x[n1]+0.8y[n1]y[n] = x[n] + 0.6 \cos(0.03 n) x[n-1] + 0.8 y[n-1]

۲-۱. تحلیل ویژگی‌های ذاتی سیستم

الف) خطی بودن (Linearity)

یک سیستم خطی است اگر و تنها اگر اصل برهم‌نهی (Superposition) در آن صادق باشد. یعنی پاسخ سیستم به ترکیب خطی دو ورودی، برابر با ترکیب خطی پاسخ‌های جداگانه باشد. در معادله فوق، خروجی y[n]y[n] ترکیبی از توان اول ورودی‌ها (x[n],x[n1]x[n], x[n-1]) و خروجی گذشته (y[n1]y[n-1]) است. هیچ ترم غیرخطی مانند x2[n]x^2[n]، y[n]|y[n]| یا x[n]y[n]x[n]y[n] وجود ندارد. بنابراین سیستم خطی است. لازم به ذکر است که وجود ضریب متغیر با زمان cos(0.03n)\cos(0.03n) تنها روی ضرایب اثر می‌گذارد و ناقض خطی بودن نیست.

ب) تغییرپذیری با زمان (Time-Variance)

سیستم زمانی تغییرناپذیر (LTI) است که شیفت در ورودی باعث همان شیفت در خروجی شود. در اینجا، ضریب a1(n)=0.6cos(0.03n)a_1(n) = 0.6 \cos(0.03 n) مستقیماً تابع زمان nn است. اگر ورودی در لحظه n0n_0 اعمال شود، ضریب cos(0.03n0)\cos(0.03 n_0) را می‌بیند، اما اگر در n1n_1 اعمال شود، ضریب متفاوت cos(0.03n1)\cos(0.03 n_1) را خواهد دید. لذا سیستم متغیر با زمان (LTV) است.

ج) پایداری (Stability)

برای بررسی پایداری BIBO (Bounded-Input Bounded-Output)، باید بررسی کنیم که آیا ضرایب بازگشتی باعث رشد نامحدود خروجی می‌شوند یا خیر. معادله مشخصه بخش بازگشتی سیستم 10.8z1=01 - 0.8 z^{-1} = 0 است که ریشه آن (قطب سیستم) برابر با z=0.8z = 0.8 می‌باشد. چون اندازه قطب کمتر از یک است (0.8<1|0.8| < 1)، پاسخ ضربه سیستم میرا شونده است و سیستم پایدار می‌باشد. ضریب بخش ورودی (0.6cos(0.03n)0.6 \cos(0.03n)) نیز کران‌دار است (0.6\le 0.6) و پایداری را نقض نمی‌کند.

د) علیّت (Causality)

یک سیستم علی است اگر خروجی آن در هر لحظه تنها به ورودی‌های حال و گذشته وابسته باشد. در معادله داده شده، y[n]y[n] تابعی از x[n]x[n]، x[n1]x[n-1] و y[n1]y[n-1] است. هیچ وابستگی به زمان‌های آینده مانند x[n+1]x[n+1] وجود ندارد. بنابراین سیستم علی است.

۲-۲. شبیه‌سازی پاسخ‌ها

در محیط نرم‌افزار، ورودی‌های استاندارد زیر به سیستم اعمال شد:

۳. شناسایی سیستم ناشناخته (Black-Box)

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

۳-۱. روش شناسایی (Least Squares)

فرض می‌کنیم سیستم خطی و تغییرناپذیر با زمان (LTI) است و می‌توان آن را با یک معادله تفاضلی خطی با ضرایب ثابت (LCCDE) مدل کرد:

y[n]=k=1Naky[nk]+k=0Mbkx[nk]y[n] = -\sum_{k=1}^{N} a_k y[n-k] + \sum_{k=0}^{M} b_k x[n-k]

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

J(θ)=n(yreal[n]ymodel[n])2J(\theta) = \sum_{n} (y_{real}[n] - y_{model}[n])^2

۳-۲. نتایج شناسایی و مدل نهایی

با بررسی پاسخ ضربه سیستم که طولی نامحدود داشت، مشخص شد که مدل باید از نوع IIR (دارای بازخورد) باشد. با تست مرتبه‌های مختلف، مدل مرتبه اول (First-Order ARMA) با کمترین پیچیدگی، بهترین برازش را ارائه داد. مدل نهایی استخراج شده به صورت زیر است:

y[n]=0.9y[n1]+x[n]x[n1]y[n] = 0.9 y[n-1] + x[n] - x[n-1]

۳-۳. تحلیل مدل در حوزه Z

با اعمال تبدیل Z به طرفین معادله تفاضلی و مرتب‌سازی جملات، تابع تبدیل سیستم به دست می‌آید:

H(z)=Y(z)X(z)=1z110.9z1=z1z0.9H(z) = \frac{Y(z)}{X(z)} = \frac{1 - z^{-1}}{1 - 0.9 z^{-1}} = \frac{z - 1}{z - 0.9}

از تابع تبدیل فوق، ویژگی‌های زیر قابل استخراج است:

۳-۴. اعتبارسنجی مدل (Validation)

برای اطمینان از صحت مدل، از مجموعه داده دوم (Validation Set) استفاده شد که در فرآیند شناسایی دخیل نبود. خروجی مدل با ورودی جدید تولید شد و با خروجی واقعی مقایسه گردید.

معیار خطای میانگین مربعات (MSE)

MSE ≈ 0.0000

مقدار بسیار ناچیز خطا نشان می‌دهد که سیستم واقعی دقیقاً رفتار خطی مطابق با مدل پیشنهادی دارد و اثرات غیرخطی یا نویز در داده‌ها قابل صرف‌نظر است.

۴. نتیجه‌گیری

در این پروژه، با تلفیق مبانی تئوری سیگنال‌ها و سیستم‌ها با برنامه‌نویسی مدرن وب، موفق شدیم یک ابزار کارآمد برای تحلیل سیستم‌های LTI و LTV توسعه دهیم. نتایج نشان داد که استفاده از مدل‌های IIR مرتبه پایین (مانند مدل قطب-صفر) برای شناسایی سیستم‌های فیزیکی، بسیار کارآمدتر از مدل‌های FIR مرتبه بالا است، زیرا با تعداد پارامترهای کمتر، دینامیک‌های بلندمدت سیستم را به خوبی پوشش می‌دهد. سیستم شناسایی شده در بخش دوم، یک فیلتر بالاگذر پایدار مرتبه اول بود که می‌تواند در کاربردهایی مانند حذف آفست DC از سیگنال‌ها مورد استفاده قرار گیرد.

--- پایان گزارش ---