• درباره ی ما
  • قوانین سایت MATLABDL
  • تماس با ما

شماره تلگرام و واتساپ:  ۰۹۳۷۹۸۴۰۱۶۵  ساعت ۹ الی ۱۳ و ۱۶ الی ۲۱

مطلب دی ال
  • خانه
  • انجام پروژه
    • انجام پروژه متلب MATLAB
    • شبیه سازی مقاله
    • انجام پروژه داده کاوی
    • انجام پروژه پردازش تصویر
    • انجام پروژه شبکه عصبی
    • انجام پروژه الگوریتم ژنتیک
    • بهینه سازی با الگوریتم pso
    • انجام پروژه الگوریتم کلونی مورچگان
    • انجام پروژه الگوریتم گرگ خاکستری
    • انجام پروژه الگوریتم شبیه‌ سازی ذوب فلزات
    • انجام پروژه طبقه‌ بندی (classification)
    • انجام پروژه میکروکنترلر
  • پروژه ها
    • پروژه های آماده
    • پروژه آماده متلب
    • پروژه آماده برق
    • پروژه آماده کامپیوتر
    • پروژه آماده مکانیک
    • پروژه های پردازش تصویر
    • پروژه های پردازش متن
  • آکادمی مطلب دی ال
    • پایتون
    • متلب
    • سی پلاس پلاس
    • محاسبات نرم
      • الگوریتم‌های فراابتکاری
      • یادگیری ماشین ، داده‌کاوی و شناسایی آماری الگو
      • منطق فازی
    • پردازش تصویر
    • پردازش صوت و گفتار
    • سی شارپ
    • پایگاه داده
    • طراحی وب سایت
    • دیگر زبان های برنامه نویسی
    • شبکه
    • دیگر آموزش ها و مقالات
  • مطالب و دروس دانشگاهی
    • مهندسی کامپیوتر
    • مهندسی برق
  • پرداخت آنلاین
  • درخواست پروژه
  • دعوت به همکاری
  • منو منو
وبلاگ - آخرین اخبار
پروژه درس سیگنال ها و سیستم ها در متلب

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

9 دی 1398/0 دیدگاه /در پروژه آماده برق, پروژه آماده متلب, پروژه ها

پروژه درس سیگنال ها و سیستم ها ، در این پست از مطلب دی ال دو تمرین یا پروژه از درس سیگنال ها و سیستم ها را در نرم افزار متلب پیاده سازی کرده ایم یا به عبارتی دیگر دو تمرین از درس سیگنال ها و سیستم ها را با نرم افزار متلب MATLAB انجام داده ایم که در ادامه آورده شده است ، با ما همراه باشید.

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

پروژه یا تمرین اول

برنامه ای بنویسید که کانولوشن دو سیگنال دلخواه را محاسبه کرده و خروجی حاصل را به صورت نمودار نمایش دهد.

در این قسمت برنامه ­ای در نرم افزار متلب می نویسیم تا کانولوشن دو سیگنال گسسته زمان را حساب کند. قدم به قدم کدها و فرایند محاسبه ی کانولوشن توضیح داده می­شود.

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

از شکل پیداست که برای کانولوشن دو سیگنال لازم است که یکی از سیگنال ها رو در حوزه ی زمان معکوس کنیم و برروی سیگنال دیگر جاروب نماییم. همین کار برای سیگنال گسسته نیز وجود دارد. با این تفاوت که انتگرال تبدیل به سیگما می شود. در ادامه کدها را توضیح می دهیم.

همچنین بخوانید: پروژه طراحی فیلتر برای حذف نویز در سیگنال صوتی

  • پاک کردن متغیرها و شکل های قبلی.


  • تعریف دو سیگنال گسسته ی x , h با دامنه های متفاوت و دلخواه.


  • طول سیگنال های گسسته را در دو متغیر m ,n ذخیره میکنیم.


  • بردارهای X,H برای فرایند کانولوشن تعریف می شوند.


  • سیگنالH را برعکس کرده و بصورت جمع شونده در X ضرب می کنیم و Y که حاصل کانولوشن هست را میسازیم.


  • متغیرn3 دامنه ی سیگنال خروجی را نشان می دهد. می دانیم که دامنه ی سیگنال خروجی کانولوشن برابر با جمع کران های پایین و بالای دو سیگنال است. این یکی از خواص کانولوشن است.


  • در نهایت نتایج را رسم می کنیم.
% Convolution
close all
clear 
clc
%% define function
n1=-5:5;
n2=-10:10;
x=ones(1,length(n1));
h=cos(n2);
%% convolution
m=length(x);
n=length(h);
X=[x,zeros(1,n)]; 
H=[h,zeros(1,m)]; 
for i=1:n+m-1
Y(i)=0;
for j=1:m
if(i-j+1>0)
Y(i)=Y(i)+X(j)*H(i-j+1);
else
end
end
end
%% Plot results
n3=min(n1)+min(n2):max(n1)+m
ax(n2);
subplot(311)
stem(n1,x);
ylabel('x[n]');
title('x[n]');
subplot(312)
stem(n2,h);
ylabel('h[n]');
title('h[n]');
subplot(313)
stem(n3,Y);
ylabel('Y[n]');
xlabel('n');
title('Convolution of Two 
Signals without conv 
function');

نتیجه ی کانولوشن سیگنال کسینوسی در یک سیگنال مربعی:

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

توجه:
شما می توانید سیگنال های دلخواه خود را در کد جایگزین نمایید.

پروژه یا تمرین دوم

برنامه ای بنویسید و در آن با یک سیگنال دلخواه ورودی، سیستم [y[n] = x[n/2 و سیستم معکوس آن را بررسی کرده و با توجه به نتایج به بررسی عدم معکوس پذیری سیستم بیان شده بپردازید.

در حوزه ی گسسته y[n]=x[n/2] دارای خواص جالبی است و با y(t)=x(t/2) در حوزه ی پیوسته تفاوت بسیاری دارد. فرض کنید x بصورت زیر موجود باشد:

X=[1  ۲  ۳  ۴  ۵
-۱ ۲٫۵ ۳ ۴ ۵٫۵]

که سطر اول n و سطر دوم مقدار x[n] را نمایش می دهد.

در این صورت y[n]=x[n/2] بصورت زیر محاسبه می شود:

y[n]=[1 2 3 4 5 6 7 8 9 10
0 -1 0 2.5 0 3 0 4 0 5.5]

همچنین بخوانید: پروژه خطی سازی سیستم های کنترلی غیر خطی در متلب

اندیس هایی از y که بر ۲ بخش پذیر هست را مقداردهی می کنیم بر اساس x[n/2] و اندیس هایی که بر ۲ بخش پذیر نیست را با مقدار صفر جایگزین می کنیم. به این کار اصطلاحا upsampling می گویند.

همین کار را در کد متلب انجام میدهیم. دستور mod(i,2)==0 بررسی می کند که آیا باقیمانده ی اندیس بر ۲ صفر هست یا نه. در صورتی که صفر باشد مقدار متناظر x[n/2] را جایگزین می کند و در غیر این صورت مقدار صفر را جایگزین می کند. توجه داشته باشید که در یک سیگنال گسسته x[1.5] معنایی ندارد!

در نهایت نیز مقدار x[n] و مقدار x[n/2] را رسم می کنیم. در حقیقت تقسیم بر ۲ کردن آرگومان یک تابع گسسته معادل این است که بین نمونه های آن یکی در میان مقدار صفر را قرار دهیم.

% Convolution
close all
clear 
clc
% define function
n=-10:10;
x=cos(n);
n1=length(n);
%% y[n]=x[n/2];
for i=2*n(1):2*n(end)
if mod(i,2)==0
y(i-2*n(1)+1)=x((i-
۲*n(1))/2+1);
else
y(i-2*n(1)+1)=0;
end
end
%%
% Plot Results
n1=2*n(1):2*n(end);
subplot(211)
stem(n,x);
ylabel('x[n]');
title('x[n]');
subplot(212)
stem(n1,y);
ylabel('y[n]');
xlabel('n');
title('y[n]=x[n/2]');

نتیجه خروجی:

تمرین درس سیگنال ها و سیستم ها
تمرین درس سیگنال ها و سیستم ها

از روی شکل پیداست که سیگنال کاملا معکوس پذیر است چون هیچ نمونه ای از بین نرفته است. با نتخاب نمونه های زوج می توانیم سیگنال x[n] را بسیازیم.

همچنین بخوانید: کنترل SDRE بازوی ربات و مقایسه با LQR

فرایند معکوس گیری نیز بصورت زیر انجام می شود:

تمرین درس سیگنال ها و سیستم ها
%% Invers
n2=length(n1);
k=1;
for
i=2*n(1):2*n(end)
if mod(i,2)==0
x1(k)=y(i-
۲*n(1)+1); 
k=k+1;
end
end
figure
stem(n,x1);
ylabel('x[n]');
xlabel('n');
title('Invers');

توجه داریم که با معکوس گیری می بایست مجددا x[n] تولید شود.

امیدوارم این آموزش برای شما مفید بوده باشد…



برچسب ها: پروژه درس سیگنال ها و سیستم ها, درس سیگنال ها و سیستم ها
اشتراک این مطلب
  • اشتراک در Facebook
  • اشتراک در Twitter
  • Share on WhatsApp
  • اشتراک در LinkedIn
0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید لغو پاسخ

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

سبد خرید

تعداد موارد موجود در سبدخرید: 0

  • سبد خریدتان خالی است.
  • کل: 0 RIAL
  • پرداخت

خبرنامه ایمیلی مطلب دی ال

آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آخرین مطالب

  • کد نویسی الگوریتم پس انتشار خطا یا الگوریتم انتشار معکوس در نرم افزار متلبالگوریتم پس انتشار خطا یا انتشار معکوس در نرم افزار متلب5 خرداد 1400 - 17:31
  • پروژه تعلیم شبکه های عصبی پرسپترون و آدالاین در نرم افزار متلبپروژه تعلیم شبکه های عصبی پرسپترون و آدالاین در نرم افزار متلب5 خرداد 1400 - 00:35
  • پروژه پردازش گفتار با نرم افزار متلبپروژه پردازش گفتار با نرم افزار متلب2 خرداد 1400 - 19:37
  • پروژه تشخیص احساسات از روی صدا در نرم افزار متلبپروژه تشخیص احساسات از روی صدا در نرم افزار متلب1 خرداد 1400 - 04:22
  • پیاده سازی پروژه برچسب گذاری اجزاء گفتار یا Part of Speech Tagging در نرم افزار متلبپروژه Part of Speech Tagging (پیاده سازی در نرم افزار متلب)19 اردیبهشت 1400 - 03:20

آخرین دیدگاه

  • متین قربانی در حذف آیتم‌های تکراری در یک لیست در پایتون
  • محمد در پروژه نرم افزار صندوق قرض الحسنه با سی شارپ
  • محمد حسین در دانلود پروژه ساعت دیجیتال با میکروکنترلر avr
  • مدیر سایت در پروژه پیاده سازی یک سیستم توصیه گر ترکیبی با متلب
  • امیر در پروژه پیاده سازی یک سیستم توصیه گر ترکیبی با متلب

مطلب دی ال را در شبکه های اجتماعی دنبال کنید

خانه |پرداخت آنلاین | دعوت به همکاری | قوانین سایت | درباره ما | تماس با ما

تمامي حقوق مادي و معنوي اين وب سايت نزد مطلب دی ال محفوظ بوده و هر گونه کپي برداري از مطالب پيگرد قانوني به همراه دارد!

طراح سایت : ProgRun

مقاله مروری تشخیص بیماری صرع با استفاده از تصویربرداری PET...مقاله مروری تشخیص بیماری صرع با استفاده از تصویربرداری PETتمرین های درس فیلترهای وفقی یا تطبیقی در متلبتمرین های درس فیلترهای وفقی یا تطبیقی در متلب...
رفتن به بالا