Writing

متلب و سیگنالها و سیستم ها

خلاصه: کدهای متلب درس سیگنال‌ها و سیستم‌ها، در شش سری: رسم و پخش صدای سیگنال، کار با دیتاست‌های خود متلب، ذخیره و لود داده، ضرایب سری فوریه، پاسخ فرکانسی تابع تبدیل، و محاسبه خروجی سیستم. سیگنال ها و…

published
read time
1 min
words
279
lang
fa

خلاصه: کدهای متلب درس سیگنال‌ها و سیستم‌ها، در شش سری: رسم و پخش صدای سیگنال، کار با دیتاست‌های خود متلب، ذخیره و لود داده، ضرایب سری فوریه، پاسخ فرکانسی تابع تبدیل، و محاسبه خروجی سیستم.

سیگنال ها و سیستم ها درس مهمیه و خیلی هم پایه ای و کاربردی.

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

سری اول: پلات کردن و شنیدن صدای سیگنال‌ها

x=0:0.01:1 
y=cos(2*pi*(x/0.1))
figure(1)
plot (x,y)
sound(1000*y,8000)

سری دوم: کار با دیتاهای تعریف‌شده داخل متلب

clc;clear all

load clown
whos

figure(1)
colormap('gray')
imagesc(X)

figure(2)
colormap('hot')
imagesc(X)

figure(3)
colormap('pink')
imagesc(X)


figure(5)
colormap('bone')
imagesc(X)

سری سوم: ذخیره‌سازی و لود اطلاعات

clc;clear all
x = 0:3:360
y = sin(x*pi/180)
xy = [x' y']

save sine.mat xy 

clear all
load sine
whos
clc;clear all
load train
whos
sound(y)
plot(y)

سری چهارم: رسم فاز و اندازه ضرایب سری فوریه

clear all;clc;close all



k=-10:10
%=============

a=1/7 * exp(-j*4*pi*k/7).*sin(5*pi*k/7)./sin(pi*k/7)

%=============
mag=abs(a)
angle=phase(a)
subplot(1,2,1)
xlabel('k')
ylabel('|ak|')
stem(k,mag)
%=============
subplot(1,2,2)
stem(k,angle);
xlabel('k')
ylabel('<a_k')

سری پنجم: رسم فاز و اندازه تابع سیستم (تابع تبدیل)

که:

تابع تبدیل

num=[2 1 1]
den=[1 2 3 1]
w=logspace(-2,2)
FR=freqs(num,den,w) 
mag=abs(FR)
phase=angle(FR)

subplot(2,1,1)  
loglog(w,mag)
ylabel('|H(jw)|')
xlabel('w')

title( '|H(jw)|' )

subplot(2,1,2)

semilogx(w,phase)
ylabel('phase')
xlabel('w')

سطور اول و دوم ، ضرائب صورت و مخرج تابع تبدیل اند.

سری ششم: محاسبه خروجی از ورودی و تابع تبدیل

البته ورودی از نوع دلتا بود و اینکه گفته شده بود در شش نقطه حساب کنید بخاطر همین بعد از 3 2 0 4 بقیش صفره.

x1=[3 2 0 4 0 0 0]
a=[1 2]
b=[1 0 2]
y1=filter(b,a,x1)
n=[0:6]
figure(1)
stem(n,y1)
xlabel('n')
ylabel('y1')
title('output')
figure(2)
stem(n,x1)

related

Keep reading