14
DFT (Discrete Fourier Transform) ۱ ﻧﻤﺎﯾﺶ ﺩﺍﺩﻩ ﻣﯽ ﺷﻮﻧﺪ، ﺍﺯX (e ) X (z ) ﮐﻪ ﺑﻪﺻﻮﺭﺕx[n] ﯾﺎ ﺗﺒﺪﯾﻞ ﻓﻮﺭﯾﻪZ ﺗﺒﺪﯾﻞﻣﺤﺎﺳﺒﻪ ﺁﻧﻬﺎ ﺑﺮﺍﯼ ﺩﻧﺒﺎﻟﻪﻫﺎﯼ ﺑﺎ ﻃﻮﻝ ﺑﯽ ﻧﻬﺎﯾﺖ-۱ : ﻟﺤﺎﻅ ﻣﺤﺎﺳﺒﺎﺗﯽ ﺩﻭ ﻣﺸﮑﻞ ﺩﺍﺭﻧﺪﺍﯾﻦ ﺗﺒﺪﯾﻞﻫﺎ ﺗﺎﺑﻊ ﻣﺘﻐﯿﺮﻫﺎﯼ ﭘﯿﻮﺳﺘﻪ ﯾﺎ ﺩﺭ ﻭﺍﻗﻊ ﻓﺮﮐﺎﻧﺲ ﻫﺎﯼ ﻏﯿﺮ ﻗﺎﺑﻞ ﺷﻤﺎﺭﺵ ﻫﺴﺘﻨﺪ.MATLAB ﻣﺘﻐﯿﺮﻫﺎﯼ ﭘﯿﻮﺳﺘﻪ ﻫﺴﺘﻨﺪ ﻭ ﻏﯿﺮ ﻗﺎﺑﻞ ﺷﻤﺎﺭﺵ ﻫﺴﺘﻨﺪ. ﺑﺮﺍﯼ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯz ω ﺑﺎﯾﺪ ﺩﻧﺒﺎﻟﻪ ﻫﺎ ﺭﺍ ﻗﻄﻊ ﮐﻨﯿﻢ ﺗﺎ ﻃﻮﻝ ﺁﻧﻬﺎ ﻣﺤﺪﻭﺩ ﺷﻮﺩ ﻭ ﺳﭙﺲ ﺍﯾﻦ ﺗﺒﺪﯾﻞﻫﺎ ﺭﺍ ﺩﺭ ﻓﺮﮐﺎﻧﺲ ﺍﺯ ﻟﺤﺎﻅ ﻋﺪﺩﯼ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪZ ﻭ ﺗﺒﺪﯾﻞDTFT ﻫﺎﯼ ﻣﺤﺪﻭﺩﯼ ﻣﺤﺎﺳﺒﻪ ﮐﻨﯿﻢ. ﺗﺒﺪﯾﻞ ﺩﺭ ﺣﻮﺯﻩ ﻓﺮﮐﺎﻧﺲ ﺍﺳﺖ.DTFT ﻧﻤﻮﻧﻪ ﺑﺮﺩﺍﺭﯼ ﺍﺯDFT ﻧﯿﺴﺘﻨﺪ. ﺗﺒﺪﯾﻞX (e )=(x[n]) (x[n]) = X [k]=(x[n])| ω= ۲πk N ﺩﺭ ﺍﺑﺘﺪﺍ ﺍﺯ ﺩﻧﺒﺎﻟﻪ ﻫﺎﯼ ﻣﺘﻨﺎﻭﺏ ﺷﺮﻭﻉ ﻣﯽ ﮐﻨﯿﻢ ﻭ ﺳﺮﯼ ﻓﻮﺭﯾﻪ ﺁﻧﻬﺎ(Discrete-Fourier Series=DFS) ﺳﺮﯼ ﻓﻮﺭﯾﻪ۲ :N ﺳﯿﮕﻨﺎﻝ ﻣﺘﻨﺎﻭﺏ ﺑﺎ ﺩﻭﺭﻩ˜ x[n]=˜ x[n + kN ] n, k ﺩﺭ ﺍﯾﻦ ﺻﻮﺭﺕ:˜ x[n]= ۱ N N -۱ k=۰ ˜ X [k]e j۲πkn N ﺿﺮﺍﯾﺐ ﺳﺮﯼ ﻓﻮﺭﯾﻪ ﻧﺎﻣﯿﺪﻩ ﻣﯽﺷﻮﻧﺪ ﻭ ﺩﺍﺭﯾﻢ:{ ˜ X [k]} ˜ X [k]= N -۱ n=۰ ˜ x[n]e -j۲πkn N ﻣﺘﻨﺎﻭﺏ ﺍﺳﺖ:N ﻫﻢ ﺑﺎ ﺩﻭﺭﻩ˜ X [k] ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﺧﻮﺩ˜ X [k]= ˜ X [k + N ] ﻣﯽ ﮔﯿﺮﯾﻢ:DFS ﻣﻌﺎﺩﻟﻪ ﺁﻧﺎﻟﯿﺰ ﯾﺎW N = e -j۲π N ˜ X [k] { ˜ x[n]} = N -۱ n=۰ ˜ x[n]W nk N ۱

DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

DFT (Discrete Fourier Transform) ۱

از شوند، می داده نمایش X(ejω) و X(z) بهصورت که x[n] فوریه تبدیل یا Z تبدیلنهایت بی طول با دنبالههای برای آنها ۱-محاسبه دارند: مشکل دو محاسباتی لحاظهستند. شمارش قابل غیر های فرکانس واقع در یا پیوسته متغیرهای تابع تبدیلها ۲-اینMATLAB از استفاده برای هستند. شمارش قابل غیر و هستند پیوسته متغیرهای z و ωفرکانس در را تبدیلها این سپس و شود محدود آنها طول تا کنیم قطع را ها دنباله بایدمحاسبه قابل عددی لحاظ از Z تبدیل و DTFT تبدیل کنیم. محاسبه محدودی های

است. فرکانس حوزه در DTFT از برداری نمونه DFT تبدیل نیستند.

X(ejω) = ����(x[n])���(x[n]) = X[k] = ����(x[n])|ω=۲πk

N

آنها فوریه سری و کنیم می شروع متناوب های دنباله از ابتدا در

(Discrete-Fourier Series=DFS) فوریه سری ۲

:N دوره با متناوب سیگنالx̃[n] = x̃[n+ kN ] ∀n, k

صورت: این در

x̃[n] =۱N

N−۱∑k=۰

X̃[k]ej۲πkn

N

داریم: و میشوند نامیده فوریه سری ضرایب {X̃[k]}

X̃[k] =

N−۱∑n=۰

x̃[n]e−j۲πkn

N

است: متناوب N دوره با هم X̃[k] خود که کنید توجهX̃[k] = X̃[k +N ]

گیریم می:DFS یا آنالیز معادله WN = e

−j۲πN

X̃[k] ≜ ���{x̃[n]} =N−۱∑n=۰

x̃[n]WnkN

۱

Page 2: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

:IDFS یا سنتز معادله

x̃[n] ≜ ����{X̃[k]} = ۱N

N−۱∑n=۰

X̃[k]W−nkN

ببینید. را ۱۴۳ صفحه کتاب ۵-۱ *مثالنوشت.: ماتریسی شکل به توان می را سنتز و آنالیز معادلات

X = WNx

x =۱N

W∗NX

است: زیر فرمول با ماتریس WN که

WN ≜ [W knN ,۰ ≤ k, n ≤ N − ۱] =

۱ ۱ . . . ۱۱ W۱

N . . . WN−۱N...

۱ W(N−۱)N . . . W

(N−۲)۲N

شود. می نامیده DFS ماتریس و است مربعی ماتریس یک WN

کند: می پیاده را بالا ماتریس معادلات زیر تابعfunction [Xk]=dfs(xn,N)n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;

مثال:

>>x[n]=[0,1,2,3];>>N=4; Xk=dfs(xn,N);

ببینید. ۱۴۵ صفحه در را idfs تابع *

sinc سیگنال این فوریه −←تبدیل متناوب مستطیلی پالس ۱۴۵ صفحه ۵-۲ مثالاست. متناوب

میشود. تکرار نقطه ۲۰ هر از که نقطهای L = ۵ مستطیلی متناوب پالس مثال:>>L=5;N=20;k=-N/2:N/2;>>xn=[ones(1,L),zeros(1,N-L)];>>Xk=dfs(xn,N);>>magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);>>Subplot(2,2,1);stem(k,magXk);axis([-N/2,N/2,-0.5,5.5])>>title('DFS of SQ wave:L=5,N=20')

۲

Page 3: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

هم X̃[k] که میکند حساب ۰ ≤ k ≤ N − ۱ برای را X̃[k] ،dfs تابع *توجه:اولاً که کنیم رسم −N

۲ ≤ k ≤ N۲ برای را |X̃[k]| میخواهیم بالا مثال در است. متناوب

X̃[k] که داریم توجه دارد. dfs به نسبت فرکانس شیفت یک ثانیاً و است نقطه N +۱پس: ،N دوره با است متناوب

[−N۲

]= X̃

[−N۲ +N

]= X̃

[N

۲

]به k اندیسهای ������ در اما . ۲π(N/۲)

N = π زیرا: است k = N۲ معادل ω = π فرکانس

است. N/۲+ برابر۱ MATLABدر k = N۲ پس هستند، N تا ۱ از N − ۱ تا ۰ جای

است: صفر فرکانس معادل N همچنینX̃[۰] = X̃[۰+N ] = X̃[N ]

-با زند ار هم

بودن متناوب خاطر به−N

۲ ≤ k ≤ −۱ −N۲ +N ≤ k ≤ −۱+N

N۲ ≤ k ≤ N − ۱

?

MATLAB اندیس در

N۲ + ۱ ≤ k ≤ N

-۰ ≤ k ≤ N۲ ۱ ≤ k ≤ N

۲ + ۱MATLAB اندیس در

ببینید. N و L مختلف مقادیر برای را ۱۴۷ صفحه در ۵-۲ *شکلهایهارمونیکهای فرکانسدر حوزه در یکتناوب) فوریه نمونههایX(ejω)(تبدیل ها X̃[k]*

است. ۲πNغیر x[n] اگر که میدانیم DFT قضایای طبق متناوب: غیر سیگنال یک از DFT تبدیل

باشد: آن فوریه تبدیل X(ejω) و باشد متناوب

X(ejω) =

+∞∑k=−∞

x[k]e−jωk

در واحد دایره روی X(ejω) از اگر است. نامحدود زیگما حدود که کنید توجهبگیریم: نمونه ωk = ۲πk

N فرکانسهایX[k] ≜ X(ejω) |ω=۲πk

N= X(ej

۲πkN )

۳

Page 4: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

صورت این در

x̃[n] =۱N

N−۱∑k=۰

X[k]ej۲πkN

n =

+∞∑k=−∞

x[n− kN ]

رابطه مینامیم. x[n] نقطهای N DFTی را X[k] بالعکس و X[k] IDFTی را x̃[n]

را x̃[n] فقط MATLAB است. نقطه N هر از x[n] تکرار X[k] ی IDFT میگوید بالایعنی میدهد. ما به ۰ ≤ n ≤ N − ۱ بازه در

IDFT{X[k]} = x̃[n]RN [n] =

(+∞∑

k=−∞x[n− kN ]

)RN [n]

جاها بقیه و یک برابر ۰ ≤ n ≤ N − ۱ بازه در که است مستطیلی پنجره یک RN [n]است. صفر

نمونه واحد، دایره روی X(z) از است x[n] = (۰٫۷)nu[n] :۱۵۱ صفحه ۵-۵ مثالزمان حوزه در را آن تاثیر و بگیرید N = ۵,۱۰,۲۰,۵۰ با متساویالفاصله های

کنید. بررسیحل:

X(z) =۱

۱− ۰٫۷z−۱ =z

z − ۰٫۷ z ≥ ۰٫۷

X̃[k] = X(z) |z=ej

۲πkN

k ∈ Z

باشد محدود ۰ ≤ n ≤ N − ۱ بازه در x[n] اگر x[n] سیگنال Z تبدیل ساخت *فرمولاست: زیر صورت به نقطهای N ی DFT های نمونه از

X(z) =۱− z−N

N=

N−۱∑k=۰

X̃[k]

۱−W−kN z−۱

(تمرین): کرد ثابت بالا رابطه از توان می z = ejω دادن قرار با

X(ejω) =

N−۱∑k=۰

X̃[k]Φ

(ω − ۲πk

N

)

یابی درون واقع در فرمول این کنید توجه .Φ(۰) = ۱ و Φ(ω) = sin(ωN۲ )

N sin ω۲e−jω(N−۱

۲ ) کهآنالوگ سیگنال درونیابی فرمول شبیه و است فوریه تبدیل نمونههای از فوریه تبدیل

است: زمان حوزه در نمونههایش از

xa(t) =

+∞∑n=−∞

x[n]����(Fs(t− nTs))

است. متناوب ���� یک Φ(ω) کنید توجه دهید. توضیح را فرمول دو این *تفاوتهایپیمانه به نقطهای N ی DFT در اندیسها محاسبه که بدانید است مهم که کنید *توجه

است: Nx[[n]]N ≜ x(n mod N)

۴

Page 5: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

نکنند. تداخل هم با x[n] تکرارهای که است صحیح صورتی در بالا *رابطهاست (n mod N) همان که را N بر n تقسیم باقیمانده MATLAB در rem(n,N) *تابع

چیست؟ تابع دو این تفاوت است. موجود هم mod(n,N) تابع کند. می محاسبه

X[k] = DFT{x[n]} ={

X̃[k] ۰ ≤ k ≤ N − ۱۰ صورت این غیر در = X̃[k]RN [k]

یا

X[k] =

N−۱∑n=۰

x[n]W knN , ۰ ≤ k ≤ N − ۱

+∞ تا −∞ از صحیح های k تمام در و است متناوب X̃[k] = X[[k]]N کنید *توجهاست. شده تعریف ۰ ≤ k ≤ N − ۱ برای فقط X[k] آنکه حال شده، تعریف

نامید. idft و dft میتوان را idfs و dfs *توابعتبدیل است. نقطهای ۴ مستطیلی پالس x[n] :۱۵۷ صفحه (تمرین) :۵-۶ مثالدر فقط X[k] چرا بگویید و کنید رسم را X[k] نقطهای ۴ ی DFT و X(ejω) فوریه

دارد؟ مقدار k = ۰فرکانس در نمونه ۸ یعنی بگیریم x[n] از نقطهای ۸ ی DFT بخواهیم اگر :۵-۷ مثال

بگیریمX[k] = X(ejω) |ω=۲πk

۸N = ۸ ۰ ≤ k ≤ ۸

X[k] = X(z) |z=e

j ۲πk۸

6

-

تکرار نقطه ۸ هر از x[n] که است این معادل دانیم، می DFT تئوری از که همانطوربگیریم: نظر در را آن تناوب یک اگر پس شود.

x[n] = {۱,۱,۱,۱,۰,۰,۰,۰}گرفت. نقطهای ۸ DFTی آن از سپس و کرد اضافه x[n] انتهای به صفر تا ۴ باید یعنی

میگویند. (zero padding)صفر الصاق کار این بهبیشتر های نمونه گرفتن و فرکانس ی حوزه در تر ظریف یابی درون مهم: بسیار *نتیجه

:(N = ۸ (برای MATLAB کد است زمان ی حوزه در صفر الصاق معادل

۵

Page 6: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

>>X=[1,1,1,1, zeros(1,4)]; N=8; x=dft(x,N);

. میشود مشاهده زیر در که

N = ۸ برای DFT :۱ شکل

اندیس صورت به را نقاط تعداد داشته، نقطه چند DFT دهیم نشان اینکه براینقطهای. ۱۶ ی DFT وX۱۶[k]یعنی نقطهای ۸ DFT یعنی X۸[k] پس میگذاریم

فرکانسی دقت به اما میکند، رسم تر ظریف را X(ejω) صفر، الصاق که کنید دقتنمیکند. کمک

ما که نمیکند اضافه x[n] سیگنال به اطلاعات صفر الصاق که است آن امر این دلیلبیشتر اطلاعات آوردن بهدست برای آوریم. بهدست فرکانس از تری دقیق اطلاعاتآورد. بهدست عملی مشاهدات و آزمایش از را x[n] داده نقاط از بیشتری تعداد باید

بگیرید: نظر در را x[n] = cos(۰٫۴۸πn) + cos(۰٫۵۲πn) دنباله. کنیم تعیین ها نمونه از محدودی تعداد با سیگنال این طیف خواهیم می

. کنید رسم x[n] و ۰ ≤ n ≤ ۱۰ برای را DFT الف)

۶

Page 7: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

N = ۱۶ برای ��� :۲ شکل

کنید. رسم x[n] و ۰ ≤ n ≤ ۱۰۰ برای را DFT ب)

n = 0:99;x = cos(0.48*pi*n)+cos(0.52*pi*n);n1 = 0:9;y1 = x(1:10);subplot(2,1,1)stem(n1,y1)title('signal x(n), 0 <= n <= 9')xlabel('n')%10-point DFTY1 = dfs(y1,10);magY1 = abs(Y1(1:1:6));k1 = 0:5;w1 = 2*pi/10*k1;subplot(2,1,2)stem(w1/pi,magY1)title('Samples of DTFT Magnitude')xlabel('frequency in \pi units')%100-point DFT of 10-point signal

۷

Page 8: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

N = ۱۲۸ برای ��� :۳ شکل

n2 = 0:99;y2 = [x(1:1:10) zeros(1,90)];subplot(2,1,1)stem(n2,y2)title('signal x(n), 0 <= n <= 9 + 90 zeros')xlabel('n')Y2 =dfs(y2,100);magY2 = abs(Y2(1:1:51));k2 = 0:50;w2 = 2*pi/100*k2;subplot(2,1,2)plot(w2/pi,magY2)title('DTFT Magnitude')xlabel('frequency in \pi units')axis([0,1,0,10])%100-point DFT of 100-point signal

۸

Page 9: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

subplot(2,1,1); stem(n,x);title('signal x(n), 0 <= n <= 99')xlabel('n')X = dfs(x,100);magX = abs(X(1:1:51));k = 0:1:50;w = 2*pi/100*k;subplot(2,1,2)plot(w/pi,magX)title('DTFT Magnitude')xlabel('frequency in \pi units')axis([0,1,0,60])

چیزی خیلی ۴ شکل به توجه با نقطهای ۱۰ DFT برای کد این اجرای از الف)نمیشود. دستگیرمان

N = ۱۰ برای آن های نمونه و سیگنال :۴ شکل

plot دستور با را طیف دفعه این و کنیم می الصاق صفر تا ۹۰ نقطه، ۱۰ به حالω = ۰٫۵π در غالب فرکانس یک سیگنال این که میدهد نشان ۵ شکل میکنیم. رسمω۱ = ۰٫۴۸π فرکانس در اصلی سیگنال به توجه با زیرا نیست صحیح جواب این دارد.

۹

Page 10: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

N = ۱۰۰ برای آن های نمونه و سیگنال :۵ شکل

فرکانس تفکیک برای را کافی اطلاعات x[n] نقطه ۱۰ تعداد داریم، ω۲ = ۰٫۵۲π وبودن غلط رسم، در بیشتر ظرافت این است. شده رسم ظریف X(ejω) گرچه ندارد، ها

نمیکند. تصیح را اطلاعاترا x[n] از نمونه ۱۰۰ بیشتر فرکانسی دقت و فرکانسی بیشتر اطلاعات گرفتن برای ب)

میگیریم.زیر: کد مطابق

>> subplot(2,1,1); stem(n,x);>> title(’signal x(n), 0 <= n <= 99'); xlabel('n')>> X = dft(x,100); magX = abs(X(1:1:51));>> k = 0:1:50; w = 2*pi/100*k;>> subplot(2,1,2); plot(w/pi,magX); title('DTFT Magnitude');

۱۰

Page 11: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

>> xlabel('frequency in \pi units')

درست فرکانسی اطلاعات که شود می مشاهده ۰٫۵۲π و ۰٫۴۸π فرکانسی قله دومیدهد.

است: شده بحث مفصل طور به DSP درس در DFT خواص :DFT خواصپیمانه به DFT در ها اندیس که باشید داشته توجه کنیم. نمی تکرار اینجا را ها بحث این

مثال: طور به میشوند. حساب (DFT نقاط تعداد ) NDFT{x[[−n]]N} = X[[−k]]N

: داریم باشد N = ۱۶ مثال طور به اگرx[[−۲]]۱۶ = x[[۱۶− ۲]]۱۶ = x[۱۴]

میگیرند. قرار ۰ ≤ n ≤ N − ۱ بازه در ها اندیس تمام: است زیر صورت به شدن مزدوج خاصیت یا

DFT{x∗[n]} = X∗[[−k]]N

: یعنی است متناوب مزدوج تقارن دارای X[k] ،x[n] حقیقی های دنباله برایX[[−k]] = X∗[k] ۰ ≤ k ≤ N − ۱

شود: حساب زیر مقادیر برای X[k] فقط است کافی صورت این در۰ ≤ k ≤ N

۲ برای است، زوج N که حالتی در

۱۱

Page 12: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

۰ ≤ k ≤ N−۱۲ برای است، فرد N که حالتی در

N = ۴ مثال:

X[[−۱]]۴ = X∗[۱]→ X[۴− ۱] = X∗[۱]→ X[۳] = X∗[۱]

X[[−۲]]۴ = X∗[۲]→ X[۴− ۲] = X∗[۲]→ X∗[۲] = X[۲]

است. حقیقی x[n]N = ۵ مثال:

X[[−۱]]۵ = X∗[۱]→ X[۵− ۱] = X∗[۱]X[۴] = X∗[۱]

X[[−۲]]۵ = X∗[۲]→ X[۵− ۲] = X∗[۲]X[۳] = X∗[۲]

میآید. بهدست X[۱] از و شود محاسبه نیست لازم X[۳] ،N = ۴ مثال دربهدست X[۲]و X[۱] از و شوند محاسبه نیست لازم X[۴] و X[۳] ،N = ۵ مثال در

میآیند.است. حقیقی X[N۲ ] زوج، N حالت در و است حقیقی همیشه X[۰]

است. ω = π فرکانس معادل K = N۲

بخوانید. DSP در را آن های اثبات و توضیح : overlap-saveروش از کانولوشن محاسبهاستفاده FIR فیلتر یک با زیاد طول با سیگنال یک کانولوشن محاسبه برای روش اینضربه پاسخ طول اگر ولی شود، می تقسیم نقطهای N های بلوک به سیگنال میشود.

دارد. پوشانی هم قبل بلوک با بلوک هر ،M < N که باشد M فیلترنقطه N بلوک هر خروجی کنیم، استفاده نقطهای N ی DFT از اگر مشخص طور بهاست. صحیح آن آخر نقطه N −M + ۱ و است غلط آن اول نقطه M − ۱ که داردنقطه M − ۱ قبل، بلوک آخر نقطه M − ۱ باید ورودی بلوک هر انتخاب برای پساین در باشند. داشته پوشانی هم نقطه M − ۱ باهم بلوکها و باشد فعلی بلوک اولنمیکند. ایجاد اشکالی آنها ریختن دور و خروجی نقطه M − ۱ شدن خراب صورتبا overlap-save روش از h[n] = {۱,۰,−۱} و x[n] = n + ۱, ۰ ≤ n ≤ ۹ مثال:

کنید. استفاده y[n] = x[n] ∗ h[n] کانولوشن محاسبه برای N = ۶هم (M −۱ = ۲) نقطه دو خود قبلی های بلوک با بلوک هر باید ،M = ۳ چون حل:صفر تا ۲ باید اول بلوک شروع برای است. نقطهای ۱۰ ،x[n] باشند. داشته پوشانیداریم. نیاز بخش سه شوند. می خراب اول نقطه دو چون کنیم، اضافه بلوک ابتدای در

۱۲

Page 13: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

x۱[n] = {۰,۰,۱,۲,۳,۴}x۲[n] = {۳,۴,۵,۶,۷,۸}

x۳[n] = {۷,۸,۹,۱۰,۰,۰}

هرکدام، از که میکنیم حساب DFT روش با را y۳[n] و y۲[n] ،y۱[n] خروجیهایهستند. سالم باقی ۴ و هستند خراب اول نقطه دو

y۱ = x۱ ⊛۶ h[n] = {−۳×,−۴×,۱√,۲√,۲√,۲√}y۲ = x۲ ⊛۶ h[n] = {−۴×,−۴×,۲√,۲√,۲√,۲√}

y۳ = x۳ ⊛۶ h[n] = {۷×,۸×,۲√,۲√,−۹√,−۱۰√}y = {۱,۲,۲,۲,۲,۲,۲,۲,۲,۲,−۹,−۱۰}

هم میکند محاسبه را عادی کانولوشن که conv دستور از اگر است. کل خروجی y

کانولوشن ،۱۸۶ صفحه در ovrlpsav تابع کد میرسیم. نتیجه همان به کنید استفادهقسمت میتوان میکند. پیاده ورودی طولانی دنبالههای برای overlap-saveروش به را

شود. انجام FFT با تا کرد اصلاح را کد این کانولوشنهم غیر های بلوک به x[n] روش این در کانولوشن: محاسبه برای overlap-add روشجمع پوشان هم صورت همان به آثار جمع طبق ها خروجی اما میشود تقسیم پوشان

ببینید. DSP درس در را کاملتر توضیح میشوند.برای را DSP کتاب دارد. وجود زمینه این در جالبی الگوریتمهای :DFT سریع محاسبهکرد تجزیه عدد دو ضرب حاصل به میتوان را DFT نقاط تعداد N که هایی حالتDFT بار یک و میچینید ماتریس یک در را ورودی دادههای ها حالت این در ببینید.حاصل به N اگر میشود. حساب ستونها تمام ستونی DFT بار یک و سطرها تمام سطریو میشود تکرار بازگشتی صورت به الگوریتم این شود، تجزیه عدد دو از بیش ضربDFT محاسبه زمان تخمین زیر کد مییابد. کاهش N

۲ log۲N به N۲ از محاسبات تعداداست.

>> Nmax = 2048; fft_time=zeros(1,Nmax);>> for n=1:1:Nmax>> x=rand(1,n);>> t=clock;fft(x);fft_time(n)=etime(clock,t);>> end>> n=[1:1:Nmax]; plot(n,fft_time,'.')>> xlabel('N');ylabel('Time in Sec.'); title('FFT execution times')

۱۳

Page 14: DFT(DiscreteFourierTransform)eng.pgu.ac.ir/uploads/dsp4.pdf · 2018. 3. 3. · DFT(DiscreteFourierTransform) ۱ ﺯﺍ،ﺪﻧﻮﺷﯽﻣﻩﺩﺍﺩﺶﯾﺎﻤﻧX(ej!) ﻭX(z)

میشود تولید N = ۲۰۴۸ و N = ۱ های طول با تصادفی های بردار کد این درو گیری اندازه مختلف های طول با FFT محاسبه زمان و میشود حساب آنها FFT و

میشود. رسمx۱[n] و x۲[n] کانولوشن بخواهیم و باشد داشته N۲ x۲[n]طول N۱و طول x۱[n] اگررا کانولوشن این بیشتر سرعت برای است، N۱ +N۲ − ۱ آن طول که کنیم حساب راN۱+N۲−۱ از که است ۲ توان اولین N که کرد پیاده نقطهای N ی FFT با میتوان

است. مساوی آن با یا است بزرگتر: مثال

N۱ = ۳, N۲ = ۱۲ −→ N۲ +N۱ − ۱ = ۱۴ −→ N = ۲۴ = ۱۶x۱[n] ∗ x۲[n] = IFFT{FFT{x۱[n]} • FFT{X۲[n]}}

است. overlap-add سازی پیاده سریع روش MATLAB در fftfilt تابع

۱۴