Peducate.ir

Peducate.ir

با هم بیاموزیم
Peducate.ir

Peducate.ir

با هم بیاموزیم

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

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

در نرم افزار متلب (Matlab)، میخواهیم برنامه ای بنویسیم که ابتدا تابع شیب را تولید کرده و سپس تبدیل فوریه گسسته آن را محاسبه کند. در نهایت تبدیل فوریه معکوس را یافته و با رسم، دو تابع را مقایسه کند.

 

 

clear;clc;

Tp=2;

n=100;

t=linspace(0,Tp);

y=10.*rem(t,Tp)./Tp;

subplot(1,3,1);

plot(t,y);title('Ramp');xlabel('Time');

Y=fft(y);

yi=ifft(Y);yi=abs(yi);

Y=abs(Y);

subplot(1,3,2);

stem(Y(1:n/2));title('DFT Ramp');xlabel('Frequency');

subplot(1,3,3);

plot(t,yi, 's');

title('IFFT Ramp');

در خط اول تمام حافظه متلب (Matlab) با دستور clear و محیط خط فرمان با دستور clc پاک می شود. خط دوم دوره تابع شیب و خط سوم تعداد نمونه های تبدیل فوریه را مشخص می کند. در خط چهارم با استفاده از دستور linspace بازه نمایش حوزه زمان تعیین می شود. خط پنجم تابع شیب را تولید می کند.

در خط ششم با استفاده از دستور subplot پنجره figure به سه بخش تقسیم می شود. خط هفتم با دستور plot تابع زمانی شیب را رسم کرده و با دستور xlabel و title برچسب های محور زمان و عنوان را مشخص می کند. خط هشتم تبدیل فوریه تابع شیب را با دستور fft محاسبه کرده و از آنجایی که تبدیل فوریه یک سیگنال مختلط است اندازه آن در خط دهم برای رسم آماده می شود.

در خط نهم با دستور ifft تبدیل فوریه معکوس محاسبه می شود و هم زمان و با توجه به مختلط بودن حاصل ifft، اندازه آن برای رسم در حوزه زمان مشخص می گردد. خط دوازده و چهارده، به ترتیب تبدیل فوریه گسسته را با دستور stem و تبدیل فوریه معکوس را با دستور plot رسم می کند. در دستور stem نمودار فقط به ازای نصف نمونه ها رسم می شود. به جای دستور stem می توان از دستور bar نیز استفاده کرد.

نظرات 0 + ارسال نظر
ایمیل شما بعد از ثبت نمایش داده نخواهد شد