MATLAB இல் FFT என்ன செய்கிறது?

Matlab Il Fft Enna Ceykiratu



தி ஃபாஸ்ட் ஃபோரியர் டிரான்ஸ்ஃபார்ம் (FFT) இன் மிகவும் உகந்த பதிப்பைக் குறிக்கிறது டிஸ்கிரீட் ஃபோரியர் டிரான்ஸ்ஃபார்ம் (DFT) இது நேர டொமைன் மூலம் தனித்த சமிக்ஞைகளை அதிர்வெண் டொமைனாக மாற்றுகிறது. சமிக்ஞையின் அதிர்வெண் உள்ளடக்கம், கட்டம் மற்றும் பிற அம்சங்களை இதன் மூலம் காணலாம் FFT கணக்கீடுகள்.

இந்த கட்டுரையின் செயல்பாட்டைப் பற்றி நமக்குக் கற்பிக்கப் போகிறது FFT MATLAB இல்.

FFT ஐப் புரிந்துகொள்வது

தி ஃபாஸ்ட் ஃபோரியர் டிரான்ஸ்ஃபார்ம் (FFT) சிக்னல்களை வித்தியாசமாக புரிந்துகொள்ள உதவும் சிறப்பு நுட்பத்தை பிரதிபலிக்கிறது. பொதுவாக, சமிக்ஞைகள் காலப்போக்கில் மாறும் எண்களின் வரிசைகளாகக் காட்டப்படுகின்றன, ஆனால் உடன் FFT, சிக்னலில் பல்வேறு அதிர்வெண்கள் உள்ளன மற்றும் அவை எவ்வளவு வலிமையானவை என்பதை நாம் பார்க்கலாம். இது ஒரு சமிக்ஞையை அதன் இசைக் குறிப்புகளாக உடைத்து, ஒவ்வொரு குறிப்பும் எவ்வளவு சத்தமாக இருக்கிறது என்பதைப் பார்ப்பது போன்றது.







தி FFT அல்காரிதம் சிக்னல் தரவுகளில் பல சிக்கலான கணிதத்தை செய்கிறது. இது சிக்னலை எடுத்து சிறிய பகுதிகளாகப் பிரித்து, ஒவ்வொரு பகுதிக்கும் அதிர்வெண்களையும் அவற்றின் பலத்தையும் கணக்கிடுகிறது. இறுதியாக, சிக்னலின் அதிர்வெண் உள்ளடக்கம், கட்ட உறவுகள் மற்றும் பிற முக்கிய குணாதிசயங்கள் பற்றிய படத்தை வழங்க, எல்லா முடிவுகளையும் ஒருங்கிணைக்கிறது.



இந்த நுட்பம் பல துறைகளில் பயன்படுத்தப்படுகிறது, ஏனெனில் இது சிக்னல்களை நன்றாக பகுப்பாய்வு செய்து புரிந்துகொள்ள உதவுகிறது. உதாரணமாக, இல் சமிக்ஞை செயலாக்கம் , நாம் பயன்படுத்தலாம் FFT தேவையற்ற சத்தத்தை வடிகட்ட அல்லது குறிப்பிட்ட வடிவங்களைக் கண்டறிய. இல் ஆடியோ பகுப்பாய்வு , நாம் வெவ்வேறு ஒலிகளை அடையாளம் காணலாம் அல்லது ஆடியோ பதிவின் தரத்தை பகுப்பாய்வு செய்யலாம். இல் பட செயலாக்கம் , FFT படத்தில் இடஞ்சார்ந்த அதிர்வெண்களை பகுப்பாய்வு செய்ய உதவும். மற்றும் தொலைத்தொடர்புகளில், FFT சிக்னல்களை திறம்பட கடத்தவும் பெறவும் பயன்படுகிறது.



MATLAB இல் FFT ஐ எவ்வாறு பயன்படுத்துவது

MATLAB எனப்படும் உள்ளமைக்கப்பட்ட செயல்பாட்டை வழங்குகிறது அடி அது நம்மைச் செய்ய அனுமதிக்கிறது ஃபாஸ்ட் ஃபோரியர் டிரான்ஸ்ஃபார்ம் (FFT) சமிக்ஞைகள் மீதான கணக்கீடுகள். இந்த செயல்பாடு பயன்படுத்த எளிதானது மற்றும் அதிர்வெண் டொமைனில் சமிக்ஞைகளை பகுப்பாய்வு செய்வதற்கும் கையாளுவதற்கும் பல்வேறு விருப்பங்களை வழங்குகிறது:





பயன்படுத்துவதற்கான தொடரியல் FFT MATLAB இல் உள்ள செயல்பாடுகள் கீழே கொடுக்கப்பட்டுள்ளன:

எஃப் = அடி ( எக்ஸ் )

எஃப் = அடி ( x,n )

எஃப் = அடி ( x,n, dim )

இங்கே:



F= fft(x) என்ற கணக்கீட்டை அளிக்கிறது டிஸ்கிரீட் ஃபோரியர் டிரான்ஸ்ஃபார்ம் (DFT) x ஐப் பயன்படுத்துகிறது ஃபாஸ்ட் ஃபோரியர் டிரான்ஸ்ஃபார்ம் (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-புள்ளி ஃபோரியர் மாற்றத்தை அளிக்கிறது.

பின்வரும் எடுத்துக்காட்டுகள் அதன் செயல்பாட்டை விளக்குகின்றன FFT MATLAB இல் செயல்பாடு.

எடுத்துக்காட்டு 1

நாம் பயன்படுத்தலாம் FFT MATLAB இல் குறிப்பிட்ட அதிர்வெண் கூறுகள் மற்றும் சீரற்ற சத்தத்துடன் ஒரு சமிக்ஞையின் உருவாக்கம் மற்றும் பகுப்பாய்வை நிரூபிக்க.

உதாரணத்திற்கு:

ls = 2000 ;

fs = 1500 ;

ts = 1 / fs;

தொலைக்காட்சி = ( 0 :ls- 1 ) *ts;

f = 0.6 * இல்லாமல் ( 2 * பை * ஐம்பது *டிவி ) + 3 * randn ( அளவு ( தொலைக்காட்சி ) ) + இல்லாமல் ( 2 * பை * 120 *டிவி ) ;

சதி ( 1000 *டிவி ( 1 : ஐம்பது ) ,எஃப் ( 1 : ஐம்பது ) )

எக்ஸ்லேபிள் ( 'டிவி (எம்எஸ்)' )

ylabel ( 'எஃப்(டிவி)' )

தலைப்பு ( 'ஜீரோ-மீன் ரேண்டம் சத்தம் கொண்ட சிதைந்த சிக்னல்' )

எஃப் = அடி ( f ) ;

PS2 = ஏபிஎஸ் ( F/ ls ) ;

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

PS1 ( 2 :முடிவு- 1 ) = 2 *PS1 ( 2 :முடிவு- 1 ) ;

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

சதி ( f, PS1 )

தலைப்பு ( 'அப்லிட்யூட் ஸ்பெக்ட்ரம் (ஒற்றை-பக்க) PS1 for f(t)' )

எக்ஸ்லேபிள் ( 'f(Hz)' )

ylabel ( '|PS1(f)|' )

வழங்கப்பட்ட குறியீடு நீளம் கொண்ட ஒரு சமிக்ஞையை உருவாக்குகிறது 2000 மாதிரிகள் (எல்) , ஒரு மாதிரி அதிர்வெண் 1500 ஹெர்ட்ஸ் (எஃப்எஸ்) , மற்றும் ஏ மாதிரி காலம் (ts) . தி நேர திசையன் (டிவி) இந்த அளவுருக்களின் அடிப்படையில் உருவாக்கப்பட்டது. சமிக்ஞை f 50 ஹெர்ட்ஸ் மற்றும் 120 ஹெர்ட்ஸில் உள்ள சைனூசாய்டல் கூறுகளின் கலவையுடன் பூஜ்ஜிய சராசரி சீரற்ற இரைச்சலைக் கொண்டுள்ளது. இது முதல் 50 மாதிரிகளின் ஒரு பகுதியுடன் திட்டமிடப்பட்டுள்ளது. குறியீடு மேலும் கணக்கிடுகிறது FFT சமிக்ஞை மற்றும் கணக்கிடுகிறது அலைவீச்சு ஸ்பெக்ட்ரம் (PS1) . இறுதியாக, அலைவீச்சு ஸ்பெக்ட்ரம் Hz இல் தொடர்புடைய அதிர்வெண்களுக்கு (f) எதிராக திட்டமிடப்பட்டுள்ளது.

உதாரணம் 2

பயன்படுத்தும் மற்றொரு உதாரணம் இங்கே FFT கால டொமைன் மூலம் அதிர்வெண் டொமைனுக்கு காஸியன் துடிப்பு மாற்றத்திற்காக MATLAB இல் செயல்படுகிறது.

fs = 500 ;

ts = - 0.5 : 1 /fs: 0.5 ;

ls = நீளம் ( டி.எஸ் ) ;

f = 1 / ( 4 * சதுர ( 2 * பை * 0.02 ) ) * ( ex ( -ts.^ 2 / ( 2 * 0.02 ) ) ) ;

சதி ( ts,f )

எக்ஸ்லேபிள் ( 'நேரம் (டி)' )

ylabel ( 'f(t)' )

தலைப்பு ( 'டைம் டொமைன்' )

எ.கா = 2 ^அடுத்து2 ( ls ) ;

f = fs* ( 0 : ( எ.கா/ 2 ) ) /எ.கா;

எஃப் = அடி ( f,np ) ;

PF = ஏபிஎஸ் ( F/np ) ;

சதி ( f,PF ( 1 எ.கா./ 2 + 1 ) )

எக்ஸ்லேபிள் ( '(f)' )

ylabel ( '|PF(f)|' )

தலைப்பு ( 'அதிர்வெண் டொமைன்' )

வழங்கப்பட்ட குறியீடானது நேர களத்தில் காஸியன் துடிப்பு சமிக்ஞையை உருவாக்குகிறது மற்றும் அதன் அதிர்வெண் உள்ளடக்கத்தைப் பயன்படுத்தி பகுப்பாய்வு செய்கிறது ஃபாஸ்ட் ஃபோரியர் டிரான்ஸ்ஃபார்ம் (FFT) MATLAB இல். நேர டொமைன் சிக்னல் திட்டமிடப்பட்டது, பின்னர் தி FFT அதிர்வெண் டொமைன் பிரதிநிதித்துவத்தைப் பெற செய்யப்படுகிறது. இதன் விளைவாக அலைவீச்சு நிறமாலை தொடர்புடைய அதிர்வெண்களுக்கு எதிராக திட்டமிடப்பட்டுள்ளது.

எடுத்துக்காட்டு 3

பின்வரும் எடுத்துக்காட்டு வெவ்வேறு அதிர்வெண்களுடன் மூன்று சைனூசாய்டல் சிக்னல்களை உருவாக்குகிறது மற்றும் அவற்றைப் பயன்படுத்தி நேர டொமைனில் திட்டமிடுகிறது FFT MATLAB இல் செயல்பாடு.

fs = 2500 ;

ts = 1 / fs;

ls = 3000 ;

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

r1 = இல்லாமல் ( 3 * பை * 60 *டி ) ;

r2 = இல்லாமல் ( 3 * பை * 140 *டி ) ;

r3 = இல்லாமல் ( 3 * பை * 350 *டி ) ;

f = [ r1; r2; r3 ] ;

க்கான கே = 1 : 3

துணைக்கதை ( 3 , 1 ,கே )

சதி ( டி ( 1 : 250 ) ,எஃப் ( கே, 1 : 250 ) )

தலைப்பு ( [ 'வரிசை எண்' , எண்2str ( கே ) , '(டைம் டொமைன்)' ] )

முடிவு

எ.கா = 2 ^அடுத்து2 ( ls ) ;

ஈ = 2 ;

எஃப் = அடி ( f,np,d ) ;

PS2 = ஏபிஎஸ் ( F/ ls ) ;

PS1 = PS2 ( :, 1 எ.கா./ 2 + 1 ) ;

PS1 ( :, 2 :முடிவு- 1 ) = 2 *PS1 ( :, 2 :முடிவு- 1 ) ;

க்கான k= 1 : 3

துணைக்கதை ( 3 , 1 ,கே )

சதி ( 0 : ( fs/np ) : ( fs/ 2 -fs/np ) ,PS1 ( கே, 1 எ.கா./ 2 ) )

தலைப்பு ( [ 'வரிசை எண்' , எண்2str ( கே ) , '(அதிர்வெண் டொமைன்)' ] )

முடிவு

மேலே உள்ள குறியீட்டில், மூன்று சைனூசாய்டல் அலைகள், r1, r2 மற்றும் r3 ஆகியவை நேர டொமைனில் உள்ள வெளியீட்டு சாளரத்தில் காட்டப்படும். அதிர்வெண் டொமைன் சிக்னல் 'PS1' ஆனது FFT செயல்பாட்டைப் பயன்படுத்தி அலைகளுக்கு அவற்றின் ஒவ்வொரு ஒற்றை-பக்க அலைவீச்சு நிறமாலையையும் கணக்கிடுவதன் மூலம் உருவாக்கப்பட்டது.

முடிவுரை


தி FFT சிக்னல்களை அவற்றின் அதிர்வெண் உள்ளடக்கத்தை பகுப்பாய்வு செய்வதன் மூலம் வித்தியாசமாக புரிந்துகொள்ள உதவும் மதிப்புமிக்க கருவியாகும். MATLAB இன் உள்ளமைக்கப்பட்ட செயல்பாடு, fft, செயல்திறன் FFT சிக்னல்களில் கணக்கீடு வசதியாகிறது. இந்தச் செயல்பாடு வெவ்வேறு அதிர்வெண்கள் மற்றும் அந்த அதிர்வெண்களின் ஒப்பீட்டு தீவிரங்கள் பற்றிய முக்கியமான விவரங்களை நேரக் களத்திலிருந்து அதிர்வெண் டொமைனுக்கு மாற்றுவதன் மூலம் நமக்கு உதவுகிறது. சிக்னலின் சிறப்பியல்புகளை ஆழமாகப் புரிந்துகொள்வதற்கும் வெவ்வேறு பயன்பாடுகளில் தகவலறிந்த முடிவுகளை எடுப்பதற்கும் மேலே உள்ள வழிகாட்டி முக்கியமானது.