پروژه کامپیوتری درس فرایند تصادفی با متلب
پروژه کامپیوتری درس فرایند تصادفی با متلب
با یک آموزش متلب دیگر با برنامه آماده آن در خدمت شما هستیم:
پاسخ الف:
از حلقه ی FOR برای بدست آوردن مقادیر 1000 نمونه خروجی استفاده می کنیم.
ابتدا سیگنال ورودی X[n] گوسی با میانگین صفر را میسازیم
for i=1:2
sigma=1-alfa(i)*alfa(i);
x=normrnd(mu,sigma,1000,1);
y(1)=0;
براساس X[n] و با توجه به مقادیر آلفا که 0.3 و0.95 است سیگنال خروجی Y[n] را در متلب برای 1000نمونه تعریف می کنیم:
for n=2:1000
y(n)=alfa(i)*y(n-1)+x(n);
و در نهایت با دستور stem برای هر دو مقدار آلفا، 1000نمونه خروجی را رسم میکنیم.
figure
stem(y)
xlabel(‘n’)
ylabel(‘y’)
title([‘alfa=’,num2str(alfa(i))])
grid on
figure
stem(x)
xlabel(‘n’)
ylabel(‘x’)
title([‘alfa=’,num2str(alfa(i))])
grid on
end
پاسخ ب:
خود همبستگی، همبستگی متقابل یک سیگنال با خودش است. بطور غیر رسمی، خود همبستگی، همسانی بین مشاهدات به عنوان تابعی از زمان جدایی بین آنها میباشد.
همانند قسمت الف با استفاده از حلقه ی for سیگنال ورودی X[n] و براساس آن سیگنال خروجی Y[n] را برای 1000 نمونه خروجی می سازیم
clc
clear all
close all
alfa=[0.3 0.95];
mu=0;
for i=1:2
sigma=1-alfa(i)*alfa(i);
x=normrnd(mu,sigma,1000,1);
y(1)=0;
for n=2:1000
y(n)=alfa(i)*y(n-1)+x(n);
end
سپس با استفاده از دستور Xcorr که برای توابع خودهمبستگی می باشد،توابع خود همبستگی ورودی و خروجی زیر را تعریف میکنیم:
Rx=xcorr(x,x);
Ry=xcorr(y,y);
و با استفاده از دستور stem خروجی ها را برای هر دو مقدار آلفا بدست می آوریم:
figure
stem(Rx)
xlabel(‘n’)
ylabel(‘Rx’)
title([‘alfa=’,num2str(alfa(i))])
grid on
figure
stem(Ry)
xlabel(‘n’)
ylabel(‘Ry’)
title([‘alfa=’,num2str(alfa(i))])
grid on
end
بامشاهده خروجی ها میبینیم که:
خود همبستگی یک سیگنال نویز سفید با پیوستگی زمانی، یک پیک شدید خواهد داشت (بوسیله یک تابع دلتای دیراک نشان داده شده) در و برای همه دیگر مطلقا صفر خواهد بود.
پاسخ ج:
همانند دو قسمت قبل،X[n] و Y[n] تعریف شده وتابع همبستگی هم تعریف می کنیم و خروجی ها رسم می شوند:
clc
clear all
close all
alfa=[0.3 0.95];
mu=0;
for i=1:2
sigma=1-alfa(i)*alfa(i);
x=normrnd(mu,sigma,1000,1);
y(1)=0;
for n=2:1000
y(n)=alfa(i)*y(n-1)+x(n);
end
Rxy=xcorr(x,y);
figure
stem(Rxy)
xlabel(‘n’)
ylabel(‘Rxy’)
title([‘alfa=’,num2str(alfa(i))])
grid on
end
پاسخ د:
دستور pwelch(x) مربوط به تابع چگالی است که استفاده کردم و قسمت اول کد همانند قسمت های قبلی انجام شده:
clc
clear all
close all
alfa=[0.3 0.95];
mu=0;
for i=1:2
sigma=1-alfa(i)*alfa(i);
x=normrnd(mu,sigma,1000,1);
y(1)=0;
for n=2:1000
y(n)=alfa(i)*y(n-1)+x(n);
end
figure
pwelch(x)
ylabel(‘Sx’)
title([‘alfa=’,num2str(alfa(i))])
grid on
end
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.