FFT MATLAB میں کیا کرتا ہے؟

Fft Matlab My Kya Krta



دی فاسٹ فوئیر ٹرانسفارم (FFT) کے ایک انتہائی بہتر ورژن سے مراد ہے۔ ڈسکریٹ فوئیر ٹرانسفارم (DFT) جو ٹائم ڈومین کے ذریعے مجرد سگنلز کو فریکوئنسی ڈومین میں تبدیل کرتا ہے۔ فریکوئنسی مواد، مرحلے، اور سگنل کے دیگر پہلوؤں کے ذریعے مشاہدہ کیا جا سکتا ہے ایف ایف ٹی حسابات

یہ مضمون ہمیں کام کرنے کے بارے میں سکھانے جا رہا ہے۔ ایف ایف ٹی MATLAB میں

ایف ایف ٹی کو سمجھنا

دی فاسٹ فوئیر ٹرانسفارم (FFT) خاص تکنیک کی نمائندگی کرتا ہے جو سگنلز کو مختلف طریقے سے سمجھنے میں ہماری مدد کرتا ہے۔ عام طور پر، سگنلز کو نمبروں کی ترتیب کے طور پر دکھایا جاتا ہے جو وقت کے ساتھ بدلتے رہتے ہیں، لیکن ساتھ ایف ایف ٹی، ہم دیکھ سکتے ہیں کہ سگنل میں کون سی مختلف تعدد موجود ہیں اور وہ کتنی مضبوط ہیں۔ یہ اس کے میوزیکل نوٹوں میں سگنل کو توڑنا اور یہ دیکھنا ہے کہ ہر نوٹ کتنا بلند ہے۔







دی ایف ایف ٹی الگورتھم سگنل ڈیٹا پر بہت پیچیدہ ریاضی کرتا ہے۔ یہ سگنل لیتا ہے اور اسے چھوٹے حصوں میں تقسیم کرتا ہے، پھر ہر حصے کے لیے تعدد اور ان کی طاقت کا حساب لگاتا ہے۔ آخر میں، یہ تمام نتائج کو یکجا کر کے ہمیں سگنل کے فریکوئنسی مواد، مرحلے کے تعلقات، اور دیگر اہم خصوصیات کی تصویر فراہم کرتا ہے۔



یہ تکنیک بہت سے شعبوں میں استعمال ہوتی ہے کیونکہ یہ ہمیں سگنلز کا بہتر تجزیہ کرنے اور سمجھنے میں مدد کرتی ہے۔ مثال کے طور پر، میں سگنل پروسیسنگ ، ہم استعمال کر سکتے ہیں۔ ایف ایف ٹی ناپسندیدہ شور کو فلٹر کرنے یا مخصوص پیٹرن کا پتہ لگانے کے لیے۔ میں آڈیو تجزیہ ہم مختلف آوازوں کی شناخت کر سکتے ہیں یا آڈیو ریکارڈنگ کے معیار کا تجزیہ کر سکتے ہیں۔ میں تصویر پروسیسنگ , ایف ایف ٹی تصویر میں مقامی تعدد کا تجزیہ کرنے میں ہماری مدد کر سکتا ہے۔ اور ٹیلی کمیونیکیشن میں، ایف ایف ٹی سگنلز کو مؤثر طریقے سے منتقل کرنے اور وصول کرنے کے لیے استعمال کیا جاتا ہے۔



MATLAB میں FFT کا استعمال کیسے کریں۔

MATLAB ایک بلٹ ان فنکشن فراہم کرتا ہے جسے کہتے ہیں۔ fft جو ہمیں انجام دینے کی اجازت دیتا ہے۔ فاسٹ فوئیر ٹرانسفارم (FFT) سگنل پر حساب یہ فنکشن استعمال میں آسان ہے اور فریکوئنسی ڈومین میں سگنلز کا تجزیہ اور ہیرا پھیری کے لیے مختلف اختیارات پیش کرتا ہے:





استعمال کرنے کے لیے نحو ایف ایف ٹی MATLAB میں افعال ذیل میں دیئے گئے ہیں:

F = fft ( ایکس )

F = fft ( x، n )

F = fft ( x، n، مدھم )

یہاں:



F= fft(x) کا حساب کتاب حاصل کرتا ہے۔ ڈسکریٹ فوئیر ٹرانسفارم (DFT) ایکس کا استعمال کرتے ہوئے فاسٹ فوئیر ٹرانسفارم (FFT) الگورتھم

  • اگر x ایک ویکٹر کی نمائندگی کرتا ہے، fft(x) ویکٹر کی فوئیر ٹرانسفارم حاصل کرتا ہے۔
  • اگر x ایک میٹرکس کی نمائندگی کرتا ہے، fft(x) ہر کالم کو ویکٹر کے طور پر دیکھ کر ہر کالم کی فوئیر ٹرانسفارم فراہم کرتا ہے۔

F = fft(x,n) n-پوائنٹ DFT حاصل کرتا ہے۔ جب کوئی قدر فراہم نہیں کی جاتی ہے تو F کا سائز x جیسا ہوتا ہے۔

  • اگر x ایک ویکٹر ہے اور اس کی لمبائی n سے کم ہے، x کو پیچھے والے زیرو کے ساتھ پیڈنگ ملتی ہے جب تک کہ یہ n تک نہ پہنچ جائے۔
  • اگر x ایک ویکٹر ہے اور اس کی لمبائی n سے زیادہ ہے، تو اسے اس لمبائی n تک کاٹ دیا جاتا ہے۔
  • اگر x ایک میٹرکس ہے، تو ہر کالم کو ویکٹر کیس کے طور پر سمجھا جاتا ہے۔

F = fft(x, n, dim) دی گئی ڈائمینشن ڈم کے ساتھ فوئیر ٹرانسفارم حاصل کرتا ہے۔ چلو ہم کہتے ہیں کہ، fft(x, n, 2) اگر x میٹرکس کی نمائندگی کرتا ہے تو ہر قطار کے لیے n-پوائنٹ فوئیر ٹرانسفارم دیتا ہے۔

مندرجہ ذیل مثالیں کام کرنے کی وضاحت کرتی ہیں۔ ایف ایف ٹی MATLAB میں فنکشن۔

مثال 1

ہم استعمال کر سکتے ہیں۔ ایف ایف ٹی MATLAB میں مخصوص فریکوئنسی اجزاء اور بے ترتیب شور کے ساتھ سگنل کی تخلیق اور تجزیہ کا مظاہرہ کرنے کے لیے۔

مثال کے طور پر:

ls = 2000 ;

fs = 1500 ;

ts = 1 /fs؛

ٹی وی = ( 0 :ls- 1 ) *ts؛

f = 0.6 * بغیر ( 2 * pi * پچاس *ٹی وی ) + 3 * randn ( سائز ( ٹی وی ) ) + بغیر ( 2 * pi * 120 *ٹی وی ) ;

پلاٹ ( 1000 *ٹی وی ( 1 : پچاس ) ,f ( 1 : پچاس ) )

xlabel ( 'tv (ms)' )

ylabel ( 'f(tv)' )

عنوان ( 'زیرو-مین بے ترتیب شور والا کرپٹ سگنل' )

F = fft ( f ) ;

PS2 = abs ( F/ ls ) ;

PS1 = PS2 ( 1 : ls / 2 + 1 ) ;

PS1 ( 2 :end- 1 ) = 2 *PS1 ( 2 :end- 1 ) ;

f = fs* ( 0 : ( ls / 2 ) ) / ls ;

پلاٹ ( f، PS1 )

عنوان ( 'طول و عرض سپیکٹرم (ایک طرفہ) PS1 برائے f(t)' )

xlabel ( 'f(Hz)' )

ylabel ( '|PS1(f)|' )

فراہم کردہ کوڈ کی لمبائی کے ساتھ ایک سگنل تیار کرتا ہے۔ 2000 نمونے (ایل ایس) کے نمونے لینے کی فریکوئنسی 1500 Hz (fs) ، اور a نمونے لینے کی مدت (ts) . دی ٹائم ویکٹر (ٹی وی) ان پیرامیٹرز کی بنیاد پر بنایا گیا ہے۔ سگنل f یہ 50 Hz اور 120 Hz پر سائنوسائیڈل اجزاء کے مجموعے پر مشتمل ہے، ساتھ ہی صفر کے اوسط بے ترتیب شور کے ساتھ۔ پھر اسے پہلے 50 نمونوں کے ایک حصے کے ساتھ پلاٹ کیا جاتا ہے۔ کوڈ مزید گنتی کرتا ہے۔ ایف ایف ٹی سگنل کا اور حساب لگاتا ہے۔ طول و عرض سپیکٹرم (PS1) . آخر میں، طول و عرض اسپیکٹرم کو ہرٹز میں متعلقہ تعدد (f) کے خلاف پلاٹ کیا جاتا ہے۔

مثال 2

یہاں ایک اور مثال ہے جو استعمال کرتی ہے۔ ایف ایف ٹی ٹائم ڈومین کے ذریعے فریکوئنسی ڈومین میں گاوسی پلس کی تبدیلی کے لیے MATLAB میں فنکشن۔

fs = 500 ;

ts = - 0.5 : 1 /fs: 0.5 ;

ls = لمبائی ( ts ) ;

f = 1 / ( 4 * sqrt ( 2 * pi * 0.02 ) ) * ( exp ( -ts.^ 2 / ( 2 * 0.02 ) ) ) ;

پلاٹ ( ts،f )

xlabel ( 'وقت (ٹی)' )

ylabel ( 'f(t)' )

عنوان ( 'ٹائم ڈومین' )

مثال کے طور پر = 2 اگلاپاو2 ( ls ) ;

f = fs* ( 0 : ( مثال کے طور پر 2 ) ) /e.g.

F = fft ( f,np ) ;

پی ایف = abs ( F/np ) ;

پلاٹ ( f,PF ( 1 :e.g/ 2 + 1 ) )

xlabel ( '(f)' )

ylabel ( '|PF(f)|' )

عنوان ( 'فریکوئنسی ڈومین' )

فراہم کردہ کوڈ ٹائم ڈومین میں گاوسی پلس سگنل تیار کرتا ہے اور اس کے فریکوئنسی مواد کا تجزیہ کرتا ہے فاسٹ فوئیر ٹرانسفارم (FFT) MATLAB میں ٹائم ڈومین سگنل پلاٹ کیا جاتا ہے، اور پھر ایف ایف ٹی فریکوئنسی ڈومین کی نمائندگی حاصل کرنے کے لیے انجام دیا جاتا ہے۔ نتیجے میں طول و عرض سپیکٹرم متعلقہ تعدد کے خلاف سازش کی جاتی ہے۔

مثال 3

درج ذیل مثال مختلف فریکوئنسیوں کے ساتھ تین سائنوسائیڈل سگنلز تیار کرتی ہے اور انہیں ٹائم ڈومین میں پلاٹ کرتی ہے ایف ایف ٹی MATLAB میں فنکشن۔

fs = 2500 ;

ts = 1 /fs؛

ls = 3000 ;

t = ( 0 :ls- 1 ) *ts؛

r1 = بغیر ( 3 * pi * 60 *ٹی ) ;

r2 = بغیر ( 3 * pi * 140 *ٹی ) ;

r3 = بغیر ( 3 * pi * 350 *ٹی ) ;

f = [ r1; r2; r3 ] ;

کے لیے k = 1 : 3

ذیلی پلاٹ ( 3 , 1 ,k )

پلاٹ ( t ( 1 : 250 ) ,f ( ک، 1 : 250 ) )

عنوان ( [ 'قطار نمبر' , num2str ( ک ) , '(ٹائم ڈومین)' ] )

اختتام

مثال کے طور پر = 2 اگلاپاو2 ( ls ) ;

d = 2 ;

F = fft ( f,np,d ) ;

PS2 = abs ( F/ ls ) ;

PS1 = PS2 ( 1 :e.g/ 2 + 1 ) ;

PS1 ( 2 :end- 1 ) = 2 *PS1 ( 2 :end- 1 ) ;

کے لیے k= 1 : 3

ذیلی پلاٹ ( 3 , 1 ,k )

پلاٹ ( 0 : ( fs/np ) : ( fs/ 2 -fs/np ) ، PS1 ( ک، 1 :e.g/ 2 ) )

عنوان ( [ 'قطار نمبر' , num2str ( ک ) , '(فریکوئنسی ڈومین)' ] )

اختتام

مندرجہ بالا کوڈ میں، تین سائنوسائیڈل لہریں، r1، r2، اور r3 ٹائم ڈومین میں آؤٹ پٹ ونڈو میں ظاہر ہوتی ہیں۔ فریکوئنسی ڈومین سگنل 'PS1' لہروں کے لیے FFT فنکشن کا استعمال کرتے ہوئے ان کے انفرادی سنگل سائیڈ ایمپلیٹیوڈ سپیکٹرا میں سے ہر ایک کی گنتی کے لیے بنایا گیا ہے۔

نتیجہ


دی ایف ایف ٹی ایک قیمتی ٹول ہے جو سگنلز کو ان کے فریکوئنسی مواد کا تجزیہ کرکے مختلف طریقے سے سمجھنے میں ہماری مدد کرتا ہے۔ MATLAB کے بلٹ ان فنکشن کے ساتھ، fft، پرفارم کرنا ایف ایف ٹی سگنلز پر حساب کرنا آسان ہو جاتا ہے۔ یہ فنکشن ہمیں ٹائم ڈومین سے ڈیٹا کو فریکوئنسی ڈومین میں تبدیل کر کے مختلف فریکوئنسیوں اور ان فریکوئنسیوں کی نسبتی شدت کے بارے میں اہم تفصیلات جاننے کے قابل بناتا ہے۔ مندرجہ بالا گائیڈ سگنل کی خصوصیات کی گہرائی سے سمجھ حاصل کرنے اور مختلف ایپلی کیشنز میں باخبر فیصلے کرنے کے لیے اہم ہے۔