توجه: این یادداشت قدیمی و مربوط به وبلاگ‌های پیشین است. برای اطلاعات بیشتر آنچه گذشت را بخوانید.


درس سیگنال در این ترم باعث شده که به سراغ MATLAB بروم. گاهی وقت ها سعی می کنم بعضی از نکاتimage ریز و به دردخور مربوط به این نرم افزار رو در این وبلاگ بنویسم. امروز می خوام در مورد رسم سیگنال ها صحبت کنم. در MATLAB همه چیز گسسته است. وقتی می خواهیم یک سیگنال پیوسته رسم کنیم این چیزی جز رسم یک سیگنال گسسته با تعداد نقاط زیاد نیست. فرض کنید بخواهیم سیگنال سینوسی زیر را در یک بازه مشخص رسم کنیم. دستورات زیر سیگنال sin pi*t  را در بازه [-pi ,  pi ] رسم می کنند.

>> t=linspace(-1,1,100)*pi;
>> y=sin(pi*t);
>> plot(t,y);

linspace یک محدوده مقادیر با صد نقطه در همان بازه را برای ما آماده می کند. تابع سینوس مقدار سینوس را در هر نقطه آن بازه پیدا کرده و در نهایت به کمک plot تابع را رسم می کنیم . حاصل چیزی شبیه به شکل سمت راست خواهد بود. ولی برای رسم سیگنال گسسته چه کنیم . یک راه این است که نقاط درون بازه را کم کنیم ( مثلا 20 نقطه ) و بعد دستورات Plot را به صورت زیر بازنویسی کنیم :

>> plot(t,y,’*');

image این دستور باعث می شود که نقاط مورد نظر ما به کمک کاراکتر * نمایش داده شوند . اما مدل بهتری برای رسم سیگنال های گسسته وجود دارد و آن استفاده از تابع stem است.طرز استفاده از این تابع برای رسم سیگنال سینوس به صورت زیر خواهد بود :

>> t=linspace(-1,1,20)*pi;
>> f=sin(pi*t);
>>stem(t,f,’filled’);

نتیجه کار شبیه شکل سمت راست خواهد بود. فراموش نکنید که سومین پارامتر تابع stem حتما به صورت رشته ای با مقدار filled باشد.

توجه: این یادداشت قدیمی و مربوط به وبلاگ‌های پیشین است. برای اطلاعات بیشتر آنچه گذشت را بخوانید.


اگر دوست دارید به صورت ویژوال شکل کانولوشن سیگنال ورودی و پاسخ ضربه رو ببینید می تونید از دموهایی که می خوام براتون معرفی کنم استفاده کنید : cconvdemo و dconvdemo .conv

اولی برای رسم کانولوشن سیگنال های پیوسته و دومی برای رسم کانولوشن سیگنال های گسسته است. cconvdemo رو می تونید از این آدرس بگیرید و dconvdemo رو از این آدرس. برای استفاده از این دموها کافیه بعد از دانلود کردنشون ، اون ها رو unzip کنید و داخل فولدری که MATLAB نصب کردید کپی کنید. حالا MATLAB رو باز کنید و دایرکتوری جاری نرم افزار رو به دایرکتوری این دموها تغییر بدهید ( مثلا به دایرکتوری که cconvdemo توش قرار داره ) حالا کافیه در خط فرمان MATLAB تایپ کنید : cconvdemo ( یا dconvdemo ) . دمو باز می شه و در مورد ست کردن دایرکتوری از شما سوال می کنه . روی yes کلیک کنید. بعد از اجرای دمو می تونید سیگنال ورودی و پاسخ ضربه مورد نظر خودتون رو به دمو بدهید . این سیگنال ها رو می تونید ویژوالی ببینید . سیگنال های سینوس و کسینوس و نمایی و پالس و … رو می تونید داشته باشید ضمن اینکه مواردی مثل دامنه و دوره تناوب و طول و … رو هم در مورد این سیگنال ها می تونید کنترل کنید. بعد از این که سیگنال های x , h  رو مشخص کردید ، دمو کانولوشن اون ها رو برای شما رسم می کنه . حالا یک کار جالب دیگه هم می تونید بکنید . یکی از سیگنال ها رو روی اون یکی بلغزونید و بعد در بخش کانولوشن ببینید که در هر لحظه کجای منحنی قرار دارید ( واقعا فوق العاده است ). توصیه می کنم این ابزار مفید آموزشی رو حتما دانلود و استفاده کنید.

Download cconvdemo    |    Download dconvdemo