Дискрет хоёр хэмжээст Фурье хувиргалт c. Зураг боловсруулах хэрэгслийн тайлбар

Бүх зүйл байгаа гэдэгт би итгэдэг ерөнхий тоймФурье хувиргалт гэх мэт гайхалтай математикийн хэрэгсэл байдгийг мэдэх. Гэсэн хэдий ч яагаад ч юм их дээд сургуулиудад маш муу заадаг тул энэ өөрчлөлт хэрхэн явагддаг, үүнийг хэрхэн зөв ашиглах ёстойг харьцангуй цөөн хүн ойлгодог. Үүний зэрэгцээ энэхүү өөрчлөлтийн математик нь гайхалтай үзэсгэлэнтэй, энгийн бөгөөд гоёмсог юм. Би хүн бүрийг Фурье хувиргалт болон хэрхэн хийх тухай сэдвийн талаар бага зэрэг илүү ихийг мэдэхийг урьж байна аналог дохиоТооцооллын боловсруулалтанд үр дүнтэйгээр дижитал болгон хувиргах боломжтой.

Хэрэггүй нарийн төвөгтэй томъёоболон Matlab дээр би дараах асуултуудад хариулахыг хичээх болно.

  • FT, DTF, DTFT - ялгаа нь юу вэ, огт өөр мэт санагдах томъёонууд нь үзэл баримтлалын хувьд ижил төстэй үр дүнг хэрхэн өгдөг вэ?
  • Үр дүнг хэрхэн зөв тайлбарлах вэ хурдан хувиргахФурье (FFT)
  • Хэрэв танд 179 дээжийн дохио өгсөн бөгөөд FFT нь уртын оролтын дарааллыг шаарддаг бол яах вэ тэнцүү deuces
  • Яагаад, Фурье ашиглан синусоидын спектрийг олж авах гэж оролдох үед хүлээгдэж буй ганц "зөөгч"-ийн оронд график дээр хачирхалтай гулзайлт гарч ирдэг бөгөөд энэ талаар юу хийж болох вэ?
  • Аналог шүүлтүүрийг яагаад ADC-ийн өмнө болон DAC-ийн дараа байрлуулдаг вэ?
  • Дээж авах давтамжийн талаас илүү давтамжтай ADC дохиог дижитал болгох боломжтой юу (сургуулийн хариулт буруу, зөв ​​хариулт боломжтой)
  • Дижитал дарааллыг ашиглан анхны дохиог хэрхэн сэргээх вэ

Уншигч интеграл гэж юу болох, нийлмэл тоо (түүний модуль ба аргумент гэх мэт), функцүүдийн эргэлт, мөн Диракын дельта ямар үүрэг гүйцэтгэдэг талаар дор хаяж "гар"-ын санааг ойлгодог гэсэн таамаглалыг үндэслэнэ. байна. Хэрэв та мэдэхгүй бол асуудалгүй, дээрх холбоосыг уншина уу. "Функцийн бүтээгдэхүүн"-ийн хүрээнд энэ текстБи "цэгээр үржүүлэх" үйлдлийг хаа сайгүй ойлгох болно

Бид үүнээс эхлэх ёстой байх хэвийн хувиргалтФурье гэдэг нь нэрнээс нь харахад зарим функцийг бусад болгон хувиргадаг, өөрөөр хэлбэл бодит x(t) хувьсагчийн функц бүрийг спектр эсвэл Фурьегийн дүрстэй y(w) холбодог нэг төрлийн зүйл юм:

Хэрэв бид аналоги өгвөл утгын хувьд ижил төстэй хувиргалтын жишээ нь, жишээлбэл, ялгах, функцийг түүний дериватив болгон хувиргах явдал байж болно. Өөрөөр хэлбэл, Фурье хувиргалт нь үндсэндээ дериватив авахтай ижил үйлдэл бөгөөд үүнийг ихэвчлэн тэмдэглэдэг. ижил төстэй байдлаар, функц дээр гурвалжин "таг" зурах. Бодит тоонуудын хувьд ч мөн адил тодорхойлж болох ялгахаас ялгаатай нь Фурье хувиргалт нь илүү ерөнхий комплекс тоонуудтай үргэлж "ажилдаг". Үүнээс болж нийлмэл тоо нь нэг биш, харин хоёр координатаар тодорхойлогддог тул энэхүү хувиргалтын үр дүнг харуулахтай холбоотой асуудал байнга гардаг. бодит тоографик. Дүрмээр бол нийлмэл тоонуудыг модуль ба аргумент хэлбэрээр илэрхийлж, тэдгээрийг хоёр тусдаа график хэлбэрээр тусад нь зурах нь хамгийн тохиромжтой.

Нарийн төвөгтэй утгын аргументийн графикийг ихэвчлэн дууддаг энэ тохиолдолд"фазын спектр", модулийн график - "далайцын спектр". Далайцын спектр нь ихэвчлэн илүү сонирхолтой байдаг тул спектрийн "фазын" хэсгийг ихэвчлэн алгасдаг. Энэ нийтлэлд бид "далайц" зүйлд анхаарлаа хандуулах болно, гэхдээ графын дутуу фазын хэсэг байдгийг мартаж болохгүй. Үүнээс гадна, ердийн цогц утгын модулийн оронд үүнийг ихэвчлэн зурдаг аравтын логарифм 10-аар үржүүлнэ. Үр дүн нь децибелээр (дБ) харуулсан утгууд бүхий логарифм график юм.

Тийм ч их биш гэдгийг анхаарна уу сөрөг тоонуудлогарифм график (-20 дБ ба түүнээс бага) нь практикт нийцдэг тэг тоо"хэвийн" график дээр. Тиймээс ийм график дээрх янз бүрийн спектрийн урт, өргөн "сүүл" нь "энгийн" координатаар харагдахуйц дүрмээр бараг алга болдог. Анхны харцаар ийм хачирхалтай дүрслэлийн тав тухтай байдал нь Фурьегийн зургуудаас үүдэлтэй юм. янз бүрийн функцуудихэвчлэн өөр хоорондоо үржүүлэх шаардлагатай байдаг. Фурье нийлмэл утгатай зургуудыг цэгээр үржүүлснээр тэдгээрийн фазын спектрүүд нэмэгдэж, далайцын спектрүүд нь үрждэг. Эхнийх нь хийхэд хялбар байдаг бол хоёр дахь нь харьцангуй хэцүү байдаг. Гэхдээ далайцыг үржүүлэхэд далайцын логарифмууд нэмэгддэг тул логарифм графикуудфазын график гэх мэт далайцыг цэгээр нь нэмж болно. Үүнээс гадна, онд практик асуудлуудИхэнхдээ дохионы "далайц" -аар биш, харин түүний "хүч" (далайцын квадрат) -аар ажиллах нь илүү тохиромжтой байдаг. Асаалттай логарифм масштабграфик хоёулаа (далайц ба хүч хоёулаа) ижил харагддаг бөгөөд зөвхөн коэффициентээр ялгаатай байдаг - чадлын график дээрх бүх утгууд далайцын хуваарьтай харьцуулахад яг хоёр дахин их байна. Үүний дагуу эрчим хүчний хуваарилалтыг давтамжаар (децибелээр) зурахын тулд та юуг ч квадрат болгож болохгүй, харин аравтын логарифмыг тооцоод 20-оор үржүүлнэ.

Та уйдаж байна уу? Жаахан хүлээгээрэй, бид удахгүй графикийг хэрхэн тайлбарлах талаар тайлбарласан уйтгартай хэсгийг дуусгах болно :). Гэхдээ үүнээс өмнө та нэг зүйлийг маш сайн ойлгох хэрэгтэй чухал зүйл: Дээрх бүх спектрийн графикуудыг зарим хязгаарлагдмал утгын хүрээнд (ялангуяа эерэг тоо) зурсан боловч эдгээр бүх графикууд нь нэмэх, хасах хязгааргүй хэвээр байна. Графикууд нь графикийн зарим нэг "хамгийн утга учиртай" хэсгийг л дүрсэлдэг бөгөөд үүнийг ихэвчлэн толин тусгал хийдэг сөрөг утгуудпараметр бөгөөд илүү өргөн хүрээнд авч үзвэл тодорхой үе шаттайгаар үе үе давтагддаг.

График дээр юу зурж байгааг шийдсэний дараа Фурье хувиргалт болон түүний шинж чанарууд руу буцъя. Хэд хэдэн бий янз бүрийн арга замууджижиг нарийн ширийн зүйлээр ялгаатай энэ хувиргалтыг хэрхэн тодорхойлох вэ (өөр өөр хэвийн байдал). Жишээлбэл, манай их дээд сургуулиудад зарим шалтгааны улмаас спектрийг өнцгийн давтамжаар (секундэд радиан) тодорхойлдог Фурье хувиргалтыг хэвийн болгох аргыг ихэвчлэн ашигладаг. Би ердийн давтамж (герц) -ийн хувьд спектрийг тодорхойлдог барууны илүү тохиромжтой томъёог ашиглах болно. Энэ тохиолдолд Фурьегийн шууд ба урвуу хувиргалтыг зүүн талд байгаа томьёогоор тодорхойлдог бөгөөд энэ хувиргалтын зарим шинж чанарыг баруун талд байгаа долоон цэгийн жагсаалтаар тодорхойлно.

Эдгээр шинж чанаруудын эхнийх нь шугаман чанар юм. Хэрэв бид функцүүдийн шугаман хослолыг авбал энэ хослолын Фурье хувиргалт нь эдгээр функцүүдийн Фурье зургийн шугаман хослол байх болно. Энэ өмч нь багасгах боломжийг олгодог нарийн төвөгтэй функцуудба тэдгээрийн Фурье нь илүү энгийн болж хувирдаг. Жишээлбэл, f давтамж ба далайц a-тай синусоид функцийн Фурье хувиргалт нь f ба -f цэгт байрлах, a/2 коэффициенттэй хоёр дельта функцийн хослол юм.

Хэрэв бид өөр өөр давтамжтай синусоидуудын багцын нийлбэрээс бүрдэх функцийг авбал шугаман байдлын шинж чанарын дагуу энэ функцийн Фурье хувиргалт нь харгалзах дельта функцүүдийн багцаас бүрдэнэ. Энэ нь "хэрэв функцийн спектрт f давтамж нь a далайцтай тохирч байвал анхны функцийг синусоидуудын нийлбэр хэлбэрээр илэрхийлж болно" гэсэн зарчмын дагуу спектрийн талаар гэнэн боловч харааны тайлбарыг өгөх боломжийг олгодог. f давтамж ба далайц 2а-тай синусоид." Хатуухан хэлэхэд энэ тайлбар нь буруу, учир нь дельта функц ба график дээрх цэг нь огт өөр зүйл боловч бид дараа нь үзэх болно, дискрет Фурье хувиргалтын хувьд энэ нь үнэнээс тийм ч хол байх болно.

Фурье хувирлын хоёр дахь шинж чанар нь дохионы цаг хугацааны шилжилтээс далайцын спектрийн бие даасан байдал юм. Хэрэв бид функцийг x тэнхлэгийн дагуу зүүн эсвэл баруун тийш шилжүүлбэл зөвхөн түүний фазын спектр.

Гурав дахь шинж чанар нь анхны функцийг цагийн тэнхлэг (x) дагуу сунгах (шахах) нь түүний Фурье дүрсийг давтамжийн хуваарь (w) дагуу пропорциональ шахаж (сунгадаг) юм. Ялангуяа хязгаарлагдмал хугацаатай дохионы спектр нь үргэлж хязгааргүй өргөн бөгөөд эсрэгээр хязгааргүй өргөнтэй спектр нь үргэлж хязгааргүй үргэлжлэх дохиотой тохирч байдаг.

Дөрөв, тав дахь шинж чанарууд нь магадгүй хамгийн ашигтай нь юм. Эдгээр нь функцүүдийн эргэлтийг Фурьегийн дүрсийг цэгээр үржүүлэх, мөн эсрэгээр нь функцүүдийн цэгээр үржүүлэхийг Фурье зургийн эргэлт хүртэл бууруулах боломжтой болгодог. Энэ нь хэр тохиромжтой болохыг би жаахан цааш харуулах болно.

Зургаа дахь шинж чанар нь Фурье зургийн тэгш хэмийн тухай өгүүлдэг. Ялангуяа энэ шинж чанараас үзэхэд бодит үнэ цэнэтэй функцийн Фурье хувиргалтанд (жишээлбэл, аливаа "бодит" дохио) далайцын спектр үргэлж байдаг. жигд функц, ба фазын спектр (хэрэв -pi...pi мужид хүргэсэн бол) сондгой байна. Ийм учраас спектрийг график дээр бараг зурдаггүй. сөрөг хэсэгспектр - бодит үнэ цэнэтэй дохионы хувьд энэ нь ямар ч өгдөггүй шинэ мэдээлэл(гэхдээ би давтан хэлье, энэ нь бас тэг биш юм).

Эцэст нь, сүүлийн долоо дахь шинж чанар нь Фурье хувиргалт нь дохионы "эрч хүчийг" хадгалдаг гэж хэлдэг. Энэ нь зөвхөн хязгаарлагдмал үргэлжлэх хугацаатай, энерги нь хязгаарлагдмал дохионы хувьд утга учиртай бөгөөд хязгааргүй дээрх ийм дохионы спектр нь тэг рүү хурдан ойртож байгааг харуулж байна. Энэ шинж чанараас болж спектрийн графикууд нь ихэвчлэн энергийн арслангийн хувийг агуулдаг дохионы "үндсэн" хэсгийг л дүрсэлдэг - графикийн үлдсэн хэсэг нь зүгээр л тэг рүү чиглэдэг (гэхдээ дахин тэг биш).

Эдгээр 7 шинж чанараар зэвсэглэсэн, орчуулах дохиог "тоонжуулах" математикийг харцгаая. тасралтгүй дохиотоонуудын дараалалд. Үүнийг хийхийн тулд бид "Dirac сам" гэж нэрлэгддэг функцийг авах хэрэгтэй.

Дирак сам нь ердөө л тэгээс эхэлж T алхамыг үргэлжлүүлэх нэгдмэл коэффициент бүхий дельта функцуудын үечилсэн дараалал юм. Сигналыг дижитал болгохын тулд T-г аль болох бага тоогоор сонгоно.<<1. Фурье-образ этой функции - тоже гребенка Дирака, только с гораздо большим шагом 1/T и несколько меньшим коэффициентом (1/T). С математической точки зрения, дискретизация сигнала по времени - это просто поточечное умножение исходного сигнала на гребенку Дирака. Значение 1/T при этом называют частотой дискретизации:

Үргэлжилсэн функцийн оронд ийм үржүүлгийн дараа тодорхой өндөртэй дельта импульсийн дарааллыг олж авдаг. Түүнээс гадна Фурье хувирлын 5-р шинж чанарын дагуу үүссэн салангид дохионы спектр нь Диракийн харгалзах самтай анхны спектрийн эргэлт юм. Эргэлтийн шинж чанарт үндэслэн анхны дохионы спектрийг давтамжийн тэнхлэгийн дагуу 1/Т алхамаар хязгааргүй олон удаа "хуулбарлаж", дараа нь нэгтгэн дүгнэдэг гэдгийг ойлгоход хялбар байдаг.

Хэрэв анхны спектр хязгаарлагдмал өргөнтэй байсан бөгөөд бид хангалттай өндөр түүвэрлэлтийн давтамж ашигласан бол анхны спектрийн хуулбарууд давхцахгүй, тиймээс бие биетэйгээ нийлдэггүй гэдгийг анхаарна уу. Ийм "нурсан" спектрээс анхны хувилбарыг нь сэргээхэд хялбар байх болно гэдгийг ойлгоход хялбар байдаг - тэгийн бүсэд спектрийн бүрэлдэхүүн хэсгийг авч, нэмэлт хуулбарыг хязгааргүй "таслахад" хангалттай байх болно. Үүнийг хийх хамгийн энгийн арга бол спектрийг -1/2T...1/2T мужид T-тэй тэнцүү тэгш өнцөгт функцээр үржүүлэх бөгөөд энэ мужаас гадуур тэг болно. Ийм Фурье хувиргалт нь sinc(Tx) функцтэй тохирч байгаа бөгөөд 4-р шинж чанарын дагуу ийм үржүүлэх нь sinc(Tx) функцтэй дельта функцуудын анхны дарааллын эргэлттэй тэнцүү байна.



Өөрөөр хэлбэл, Фурье хувиргалтыг ашигласнаар бид хамгийн багадаа хоёр удаа түүвэрлэлтийн давтамжийг ашиглах тохиолдолд (спектр дэх сөрөг давтамжууд байгаа тул) цаг хугацааны түүвэрлэсэн дохионоос анхны дохиог хялбархан сэргээх арга замтай болно. анхны дохионд байгаа хамгийн их давтамжаас өндөр байна. Энэ үр дүнг олон нийтэд мэддэг бөгөөд үүнийг "Котельников/Шэннон-Никвист теорем" гэж нэрлэдэг. Гэсэн хэдий ч одоо анзаарахад хялбар байдаг тул (нотлох баримтыг ойлгох) энэ үр дүн нь өргөн тархсан буруу ойлголтоос үл хамааран дараахь зүйлийг тодорхойлдог. хангалттай, гэхдээ үгүй шаардлагатайанхны дохиог сэргээх нөхцөл. Бидэнд хэрэгтэй зүйл бол дохиог түүвэрлэсний дараа биднийг сонирхож буй спектрийн хэсэг нь хоорондоо давхцахгүй байх, хэрэв дохио нь хангалттай нарийн зурвастай бол (спектрийн тэгээс бусад хэсгийн жижиг "өргөнтэй") байх явдал юм. Дараа нь энэ үр дүнд ихэвчлэн дохионы хамгийн их давтамжаас хоёр дахин бага түүвэрлэлтийн давтамжтайгаар хүрч болно. Энэ аргыг "дутуу дээж авах" (дэд дээж авах, зурвасын дээж авах) гэж нэрлэдэг бөгөөд бүх төрлийн радио дохиог боловсруулахад нэлээд өргөн хэрэглэгддэг. Жишээлбэл, хэрэв бид 88-аас 108 МГц давтамжийн зурваст ажилладаг FM радиог авбал түүнийг дижитал болгохын тулд Котельниковын теоремоор тооцсон 216 МГц-ийн оронд ердөө 43.5 МГц давтамжтай ADC ашиглаж болно. Гэхдээ энэ тохиолдолд танд өндөр чанартай ADC, сайн шүүлтүүр хэрэгтэй болно.

Доод эрэмбийн давтамжтай өндөр давтамжийн "давхардал" нь дохионы түүврийн шууд шинж чанар бөгөөд үр дүнг эргэлт буцалтгүй "гэмтдэг" гэдгийг тэмдэглэе. Тиймээс, хэрэв дохио нь зарчмын хувьд өндөр дарааллын давтамжийг агуулж байвал (өөрөөр хэлбэл бараг үргэлж) аналог шүүлтүүрийг ADC-ийн урд байрлуулж, анхны дохион дахь шаардлагагүй бүх зүйлийг шууд "тасалж" (түүний дээж авснаас хойш). Үүнийг хийхэд хэтэрхий оройтсон байх болно). Аналог төхөөрөмжүүдийн хувьд эдгээр шүүлтүүрүүдийн шинж чанар нь тийм ч тохиромжтой биш тул дохионы зарим "гэмтэл" хэвээр байгаа бөгөөд практик дээр спектрийн хамгийн өндөр давтамж нь дүрмээр бол найдваргүй байдаг. Энэ асуудлыг багасгахын тулд дохиог ихэвчлэн хэт түүвэрлэж, оролтын аналог шүүлтүүрийг бага зурвасын өргөнтэй болгож, ADC-ийн онолын хувьд боломжтой давтамжийн хязгаарын зөвхөн доод хэсгийг ашигладаг.

Дашрамд хэлэхэд, өөр нэг нийтлэг буруу ойлголт бол DAC гаралтын дохиог "алхмуудаар" татдаг явдал юм. "Алхамууд" нь T өргөн ба 1 өндөртэй тэгш өнцөгт функц бүхий дээж авсан дохионы дарааллын эргэлттэй тохирч байна.

Энэхүү хувиргалттай дохионы спектрийг энэ тэгш өнцөгт функцийн Фурье дүрсээр үржүүлдэг бөгөөд ижил төстэй тэгш өнцөгт функцийн хувьд энэ нь дахин sinc(w), "сунгасан" байх тусам харгалзах тэгш өнцөгтийн өргөн бага байх болно. Ийм "DAC" бүхий дээж авсан дохионы спектрийг энэ спектрээр цэгээр үржүүлнэ. Энэ тохиолдолд спектрийн "нэмэлт хуулбар" бүхий шаардлагагүй өндөр давтамжууд бүрэн таслагдахгүй, харин спектрийн "ашигтай" хэсгийн дээд хэсэг нь эсрэгээрээ сулардаг.

Практик дээр мэдээжийн хэрэг хэн ч үүнийг хийдэггүй. DAC-ийг бий болгох олон янзын арга байдаг, гэхдээ хамгийн ойрын жингийн төрлийн DAC-д ч гэсэн DAC дахь тэгш өнцөгт импульс нь эсрэгээр аль болох богино байхаар (дельта функцуудын бодит дарааллыг ойролцоогоор) сонгосон. спектрийн ашигтай хэсгийг хэт их дарахаас зайлсхийхийн тулд. Үүссэн өргөн зурвасын дохионы "нэмэлт" давтамжууд нь дохиог аналог нам дамжуулалтын шүүлтүүрээр дамжуулснаар бараг үргэлж цуцлагддаг тул хөрвүүлэгчийн "дотор" эсвэл ялангуяа түүний гаралт дээр "дижитал алхам" байхгүй болно.

Гэсэн хэдий ч, Фурьегийн хувиргалт руу буцаж орцгооё. Урьдчилан түүвэрлэсэн дохионы дараалалд хэрэглэсэн дээр дурдсан Фурье хувиргалтыг дискрет хугацааны Фурье хувиргалт (DTFT) гэж нэрлэдэг. Ийм хувиргалтаар олж авсан спектр нь үргэлж 1/T-үе үетэй байдаг тул DTFT спектр нь сегмент дэх утгуудаараа бүрэн тодорхойлогддог n=0,…,N-1 - N-ээс бүрдэх анхны цогцолбор дохио. нийлмэл тоо. X[k], k=0,…N-1 - түүний N комплекс тооноос бүрдэх комплекс спектрийг тэмдэглэе. Тэгвэл шударга дараах томъёонуудФурьегийн шууд ба урвуу хувиргалт:

Хэрэв бид эдгээр томьёог ашиглан бодит дохиог спектр болгон задлах юм бол спектрийн эхний N/2+1 цогцолбор коэффициентүүд нь "цогцолбор" хэлбэрээр үзүүлсэн "ердийн" бодит DFT-ийн спектр болон үлдсэн коэффициентүүдтэй давхцах болно. нь дээж авах давтамжийн хагастай харьцуулахад тэдгээрийн тэгш хэмтэй тусгал байх болно. Косинусын коэффициентийн хувьд тусгал тэгш, синусын коэффициентийн хувьд сондгой байна.

2D DFT

Хоёр хэмжээст дохио болох зургийн хувьд спектр нь мөн хоёр хэмжээст дохио юм. Фурье хувиргалтын үндсэн функцууд нь:

Түүнээс гадна үе шатууд нь өөр өөр байж болно. Зураг дээр эдгээр үндсэн функц бүр нь тодорхой давтамж, тодорхой чиг баримжаа, тодорхой үе шаттай долгионыг илэрхийлдэг.

Энд N 1 xN 2 нь анхны дохионы хэмжээ бөгөөд энэ нь мөн спектрийн хэмжээ юм. k 1 ба k 2 нь үндсэн функцүүдийн тоо (эдгээр функцийг олох хоёр хэмжээст DFT-ийн коэффициентүүдийн тоо) юм. Спектрийн хэмжээ нь анхны дохионы хэмжээтэй тэнцүү тул k 1 = 0,...,N 1 -1; k 2 = 0,…,N 2 -1.

n 1 ба n 2 нь үндсэн функцүүдийн хувьсах аргументууд юм. Суурь функцүүдийн тодорхойлолтын муж нь дохионы тодорхойлолтын мужтай давхцаж байгаа тул n 1 = 0,...,N 1 -1; n 2 = 0,…,N 2 -1.

Хоёр хэмжээст DFT (нарийн төвөгтэй хэлбэрээр) дараах томъёогоор тодорхойлогддог (энд x нь анхны дохио, X нь түүний спектр юм):

Дээрх томъёог ашиглан хоёр хэмжээст DFT-ийг шууд тооцоолоход асар их тооцооллын зардал шаардагдана. Гэсэн хэдий ч хоёр хэмжээст DFT нь салгах шинж чанартай болохыг баталж болно, i.e. үүнийг хоёр хэмжээсээс дараалан тооцоолж болно.

Хоёр хэмжээст DFT-ийг тооцоолохын тулд зургийн бүх эгнээний нэг хэмжээст цогцолбор DFT-ийг тооцоолж, дараа нь үүссэн "зураг" дахь бүх баганын нэг хэмжээст цогцолбор DFT-ийг тооцоолоход хангалттай.

Энэ тохиолдолд бүх нэг хэмжээст цогц DFT-ийн үр дүнг эдгээр DFT-ийн анхны өгөгдлийн оронд бичих ёстой. Жишээлбэл, зургийн эхний эгнээний нэг хэмжээст DFT-ийг тооцоолохдоо та энэ зургийн эхний мөрөнд DFT-ийн үр дүнг бичих хэрэгтэй (энэ нь ижил хэмжээтэй). Үүнийг хийхийн тулд та "пиксел" бүрийг комплекс тоо болгон хадгалах хэрэгтэй.

Тиймээс зургийн DFT-ийг тооцоолох үр дүнтэй алгоритм нь нэг хэмжээст FFT-ийг эхлээд бүх мөрнөөс, дараа нь зургийн бүх баганаас тооцоолох явдал юм.

Орчин үеийн харилцаа холбооны технологийг спектрийн шинжилгээгүйгээр төсөөлөхийн аргагүй. Доторх дохионы төлөөлөл давтамжийн домэйнтэдгээрийн шинж чанарыг шинжлэх, радио холбооны системийн дамжуулагчийн блок, нэгжийг шинжлэхэд шаардлагатай. Дохиог давтамжийн муж руу хөрвүүлэхийн тулд шууд Фурье хувиргалтыг ашигладаг. Фурьегийн шууд хувиргалтын ерөнхий томъёог дараах байдлаар бичнэ.

Давтамжийн шинжилгээний энэхүү томъёоноос харахад цаг хугацааны мужид үзүүлсэн дохио болон өгөгдсөн давтамжтай комплекс экспоненциал хоорондын хамаарлын хамаарлыг тооцдог. Энэ тохиолдолд Эйлерийн томъёоны дагуу комплекс экспоненциал нь бодит ба төсөөлөлд хуваагдана.

(2)

Давтамжийн мужид дүрслэгдсэн дохиог урвуу Фурье хувиргалтыг ашиглан цаг хугацааны муж болгон хувиргаж болно. Фурьегийн урвуу хувиргалтын ерөнхий томъёог дараах байдлаар бичнэ.

(3)

Фурье шууд хувиргах томьёо нь хасах хязгаараас хязгааргүй хүртэлх хугацааны интеграцийг ашигладаг. Мэдээжийн хэрэг, энэ бол математикийн хийсвэрлэл юм. Бодит нөхцөлд бид 0 гэж тэмдэглэж болох цаг хугацааны өгөгдсөн мөчөөс T цаг хүртэлх интегралыг хийж болно. Фурьегийн шууд хувиргалтын томъёог дараах хэлбэрт шилжүүлнэ.

(4)

Үүний үр дүнд Фурье хувирлын шинж чанарууд ихээхэн өөрчлөгддөг. Тасралтгүй функцийн оронд дохионы спектр утгын салангид цуваа болдог. Одоо хамгийн бага давтамж, нэгэн зэрэг дохионы спектрийн давтамжийн утгын алхам нь:

, (5)

Зөвхөн sin болон cos нь давтамжтай ажилладаг к/Тхарилцан ортогональ байх бөгөөд энэ нь Фурье хувиргалтанд зайлшгүй шаардлагатай нөхцөл юм. Фурье цувралын өргөтгөлийн эхний функцуудын багцыг Зураг 1-д үзүүлэв. Энэ тохиолдолд функцүүдийн үргэлжлэх хугацаа нь шинжилгээний үргэлжлэх хугацаатай давхцдаг. Т.


Зураг 1. Фурье цувралын өргөтгөлийн функцууд

Одоо дохионы спектр 2-р зурагт үзүүлсэн шиг харагдах болно.



Зураг 2. Функцийн спектр x(т) хязгаарлагдмал хугацааны интервалд дүн шинжилгээ хийх үед

Энэ тохиолдолд Фурьегийн шууд хувиргалтыг (4) тооцоолох томъёог дараах хэлбэрт шилжүүлнэ.

(6)

Хязгаарлагдмал хугацаанд спектрийг тодорхойлох тохиолдолд Фурьегийн урвуу хувиргалтын томъёо дараах байдалтай байна.

(7)

Үүнтэй адилаар та дижитал дохионы дээжийн шууд Фурье хувиргалтын томъёог тодорхойлж болно. Тасралтгүй дохионы оронд түүний дижитал дээжийг ашигладаг болохыг харгалзан (6) илэрхийлэлд интегралыг нийлбэрээр солино. Энэ тохиолдолд дүн шинжилгээ хийсэн дохионы үргэлжлэх хугацааг тоон дээжийн тоогоор тодорхойлно Н. Дижитал дохионы дээжийн Фурье хувиргалтыг дискрет Фурье хувиргалт гэж нэрлэдэгбөгөөд дараах байдлаар бичигдсэн байна.

(8)

Одоо хязгаарлагдмал хугацааны интервал дахь Фурьегийн шууд хувиргалттай харьцуулахад дискрет Фурье хувиргалт (DFT)-ийн шинж чанарууд хэрхэн өөрчлөгдсөнийг харцгаая. Бид аналог дохионы түүврийг авч үзэхэд оролтын дохионы спектр нь давтамжийн хязгаарлагдмал байх ёстойг олж мэдсэн. Энэ шаардлага нь дохионы спектрийн салангид бүрэлдэхүүн хэсгүүдийн тоог хязгаарладаг. Эхлээд бид дохионы спектрийг давтамжаар хязгаарлаж болох юм шиг санагдаж магадгүй юм е d/2, энэ нь давтамжийн бүрэлдэхүүн хэсгүүдийн тоотой тохирч байна K=N/2. Гэсэн хэдий ч энэ нь үнэн биш юм. Эерэг давтамж ба сөрөг давтамжийн бодит дохионы дээжийн дохионы спектр нь ойролцоогоор 0 орчим тэгш хэмтэй боловч зарим спектрийн алгоритмуудад сөрөг давтамж шаардлагатай байж болно. Оролтын дохионы нийлмэл дээж дээр дискрет Фурье хувиргалтыг хийх үед ялгаа нь бүр ч их байдаг. Үүний үр дүнд тоон дохионы спектрийг бүрэн дүрслэхийн тулд үүнийг хийх шаардлагатай Ндавтамжийн дээж ( k = 0, ..., N/2).

Фурьегийн шууд ба урвуу хувиргалтын програмын кодыг өгөв. Хурдан Фурье хувиргалтыг авч үзнэ.

Дискрет хувиргалтФурье хувиргалт (DFT) нь дижитал дохио боловсруулах (DSP) салбарт өргөн хэрэглэгддэг хүчирхэг шинжилгээний хэрэгсэл юм. Шууд болон байдаг урвуу хувиргалтФурье. Шууд дискрет Фурье хувиргалт нь дохиог цаг хугацааны мужаас давтамжийн муж руу хөрвүүлдэг бөгөөд дохионы давтамжийн спектрийг шинжлэхэд ашигладаг. Урвуу хувиргалт нь яг эсрэгээр хийгддэг: дохионы давтамжийн спектрийг ашиглан энэ нь цаг хугацааны муж дахь дохиог дахин бүтээдэг.

Фурье хувиргалтыг тооцоолохын тулд ихэвчлэн хурдасгасан тооцооллын процедурыг ашигладаг - гэж нэрлэгддэг. Хурдан Фурье хувиргалт (FFT). Энэ нь нэлээд төвөгтэй, нөөц их шаарддаг математик тооцоолол хийхэд процессорын цагийг ихээхэн багасгах боломжийг танд олгоно.

1 Цогцолбортоо

Нэгдүгээрт, бидэнд нийлмэл тоонуудыг тайлбарлах туслах анги хэрэгтэй. Цогцолбор тоо нь математикийн тусгай төрлийн тоо юм. Бүх нийлмэл тоо нь бодит ба төсөөлөл гэсэн хоёр хэсгээс бүрдэнэ. Одоо нийлмэл тоонуудын бодит хэсэг нь дохионы далайцын тухай, төсөөлөл нь фазын талаарх мэдээллийг хадгалдаг гэдгийг DFT-тэй холбоотой комплекс тоонуудын талаар мэдэхэд хангалттай.

Нарийн төвөгтэй тоог дүрслэх ангийн код(эргэж) """ """ Цогцолбор тоо. """Нийтийн ангийн цогцолборын дугаар """ """ Комплекс тооны бодит хэсэг. """Нийтийн бодит давхар = 0 """ """ Комплекс тооны төсөөллийн хэсэг. """Нийтийн төсөөлөл Давхар = 0 Нийтийн дэд Шинэ() Бодит = 0 Төсөөлөл = 0 Төгсгөлийн дэд """ """ Комплекс тоо үүсгэдэг. """ """ Комплекс тооны бодит хэсэг. """ Комплекс тооны төсөөллийн хэсэг. Public Sub New(ByVal r As Double, Optional ByVal im As Double = 0) Real = r Imaginary = im End Sub Private usCult As New Globalization.CultureInfo("en-US") "бид "en-US" соёлыг ашигладаг тул бүхэл ба бутархай хэсгүүдийг таслалаар биш цэгээр тусгаарласан """ """ Таб тэмдэгтээр тусгаарлагдсан бодит ба төсөөлөл хэсгээс бүрдсэн мөрийг буцаана. """Нийтийн хэрэглүүрийг хүчингүй болгодог ToString() нь мөр буцаах (Real.ToString(usCult) & ControlChars.Tab & Imaginary.ToString(usCult)) Төгсгөлийн функцийн төгсгөлийн анги

2 Шууд дискрет хурданФурье хувиргалт

Комплекс тоонуудын массивыг функцийн оролт руу дамжуулдаг. Бодит хэсэг нь дурын салангид дохиог илэрхийлдэг бөгөөд тогтмол давтамжтайгаар уншдаг. Төсөөллийн хэсэг нь тэгийг агуулна. Дохио дахь дээжийн тоо хоёрын чадалтай тэнцүү байх ёстой. Хэрэв таны дохио богино байвал 2-ын үржвэрийн тоог тэгээр залгана уу: 256, 512, 1024 гэх мэт. Дохио урт байх тусам тооцоолсон спектрийн давтамжийн нарийвчлал өндөр болно.

VB.NET дээр Фурьегийн шууд хурдан хувиргалтыг тооцоолох код(эргэж) """ """ Хурдан Фурье хувиргах аргыг ашиглан дохионы спектрийг тооцоолно. Зөвхөн (N/2+1) буцаах утгуудыг ашиглана уу (түүврийн хурдны тал хүртэл). """ """ Бодит болон төсөөллийн хэсгээс бүрдэх хоёрын үржвэрийн олон тооны дээжийг агуулсан дохио. Дохионы бүх төсөөллийн хэсгүүд тэгээр дүүрсэн байна. """ Нарийн спектрийн тоонуудын массивыг буцаана. """ Зөвхөн эхний N/2+1 нь чухал, бусад нь сөрөг давтамжтай харгалзах тэгш хэмтэй хэсэг юм. """ Спектрийн эхний утга нь тогтмол бүрэлдэхүүн хэсэг, сүүлчийнх нь түүвэрлэлтийн давтамжийн хагастай тохирч байна (Nyquist давтамж). """ Дээж авах давтамжийн хагасаас дээш утгууд - бүү ашигла. """Нийтийн хуваалцсан функц FFT(ByVal дохио As ComplexNumber()) As ComplexNumber() Dim order As Integer = signal.Length "DFT order CheckFftOrder(order) "Захиалга нь хоёрын зэрэгтэй эсэхийг шалгах Dim spectrumLen As Integer = order \ 2 Dim j As Integer = spectrumLen "Бит урвуу эрэмбэлэх: For i As Integer = 1 To Order - 2 If (i)< j) Then Dim tmpRe As Double = signal(j).Real Dim tmpIm As Double = signal(j).Imaginary signal(j).Real = signal(i).Real signal(j).Imaginary = signal(i).Imaginary signal(i).Real = tmpRe signal(i).Imaginary = tmpIm End If Dim k As Integer = spectrumLen Do Until (k >j) j -= k k \= 2 гогцоо j += k Дараа нь "Тэлэлтийн түвшний давталт: Түвшин As Integer = 1 To CInt(Math.Log(order) / Math.Log(2)) Dim lvl Бүхэл тоо = CInt (2 ^ түвшин) Dim lvl2 As Integer = lvl \ 2 Dim tmp As Double = Math.PI / lvl2 Dim sr As Double = Math.Cos(tmp) Dim si As Double = -Math.Sin(tmp) Dim tr Давхар = 0 Dim ur As Double = 1 Dim ui As Double = 0 For jj As Integer = 1 to lvl2 "Түвшин доторх спектрүүдийг эргэлдэх For i As Integer = (jj - 1) To (order - 1) Step lvl "Cycle through individual "эрвээхэй" Dim ip As Integer = i + lvl2 tr = signal(ip).Real * ur - signal(ip).Imaginary * ui "Butterfly operation" Dim ti As Double = signal(ip).Real * ui + signal (ip).Imaginary * ur signal(ip).Real = signal(i).Real - tr signal(ip).Imaginary = signal(i).Imaginary - ti signal(i).Real = signal(i).Real + tr дохио(i).Төсөөлөл = дохио(i).Төсөөлөл + ti Дараагийн tr = ur ur = tr * sr - ui * si ui = tr * si + ui * sr Дараа нь "Боловсруулсан комплекс тоон массивыг бөглөнө үү. FFT-ээр: Бүдэг спектр(захиалга - 1) Цогцолборын дугаараар i Бүхэл тоогоор = 0 Захиалга өгөхдөө - 1 Дохио(i) спектр(i) = Шинэ Цогцолборын дугаар(.Бодит, .Хуурамч) Төгсгөл Дараагийн Буцах спектр Төгсгөлийн функц

3 Урвуу дискрет хурданФурье хувиргалт

Тооцооллын үе шатуудын нэг болох урвуу дискрет Фурье хувиргалт (IDFT) нь нийлмэл тоон массив дээрх шууд DFT-г агуулдаг бөгөөд төсөөллийн хэсэг нь спектрийн төсөөллийн хэсгийн X тэнхлэгтэй харьцах урвуу байдаг.

VB.NET дээр урвуу хурдан Фурье хувиргалтыг тооцоолох код(эргэж) """ """ Урвуу хурдан Фурье хувиргах аргыг ашиглан өөрийн спектрээс дохиог сэргээнэ. """ """ Бодит болон төсөөллийн хэсгээс бүрдэх, хоёрын үржвэрийн олон тооны дээжийг агуулсан дохионы спектр. Public Shared Function InverseFFT(ByVal spectrum As ComplexNumber()) As ComplexNumber() Dim order As Integer = spectrum.Length "Урвуу DFT дараалал. CheckFftOrder(order) "Төсөөллийн хэсгийн элементүүдийн арифметик тэмдгийг өөрчлөх: For i Inte = 0 Спектрийн урт - 1 спектр(i). Төсөөлөл = -спектр(i).Хүсмэлийн Дараах "Шууд FFT-ийн тооцоо: Dim directFFT As ComplexNumber() = FFT(spectrum) "Өөрчлөх замаар цагийн мужид хуваах. төсөөллийн хэсгийн арифметик тэмдэг: Dim дохио (шуудFFT.Length - 1) As ComplexNumber For i As Integer = 0 DirectFFT.Length - 1 Dim ReX As Double = directFFT(i).Real / order Dim ImX As Double = - directFFT(i). Төсөөлөл / захиалга дохио( i) = Шинэ Цогцолборын дугаар(ReX, ImX) Дараагийн буцах дохио Төгсгөлийн функц

Мэдээжийн хэрэг, дамжуулсан массивын элементүүдийн тоог шалгадаг аргыг тайлбарлая:

"""

""" FFT тушаал нь хоёрын зэрэгтэй эсэхийг шалгах ба хэрэв үгүй ​​бол онцгой тохиолдол гаргадаг. """ """ FFT захиалга. Private Shared Sub CheckFftOrder(ByVal order As Integer) Dim chk As Double = Math.Abs(Math.Floor(Math.Log(order, 2)) - Math.Log(order, 2)) If (chk > 0.0001) then Throw New ArgumentException(String.Format("Масивын урт ((0)) нь хоёрын зэрэглэл биш юм.", дараалал)) End If End Sub

4 Урагшаа болон урвууг шалгаж байнаФурье хувиргалт

Одоо бидний функц ажиллаж байгаа эсэхийг шалгацгаая. Үүнийг хийхийн тулд дурын дохиог Фурьегийн шууд хувиргах механизмаар дамжуулж, дараа нь урвуу Фурье хувиргалтыг ашиглан буцаан “угсръя”. Дахин сэргээсэн дохио нь анхныхтай бараг ижил байх ёстой. Компьютер дээр тоонуудтай ажиллахад дугуйрсан алдаа гардаг тул дохионууд нь бүрэн ижил биш боловч бие биенээсээ хазайх нь бага байх ёстой.

Жишээлбэл, синус функцийг эх дохио болгон авч, 128 дээжийн урттай өгөгдлийг үүсгэцгээе.

Dim cn(127) As ComplexNumber For i As Integer = 0 to cn.Length - 1 cn(i) = New ComplexNumber(Math.Sin(i * 3 * Math.PI / 180)) Дараа нь

Бид энэ дохиог авдаг:

Энд X тэнхлэг нь цаг хугацааны муж дахь дээжийн тоо, Y тэнхлэг нь далайц юм. Дохио нь зөвхөн бодит хэсгүүдээс бүрдэх бөгөөд бүх сегмент дэх төсөөлөл нь "0"-тэй тэнцүү байгааг анхаарна уу.

Одоо энэ дохиог FFT() функцийн оролт руу дамжуулъя. Фурьегийн шууд хувиргах явцад олж авсан нийлмэл тоонуудын массивуудыг ашиглан спектрийн бодит (Re) ба төсөөлөл (Im) гэсэн хоёр графикийг байгуулна.


Энд X тэнхлэг нь давтамжийн муж дахь дээж, Y тэнхлэг нь далайц юм. Бодит давтамжийн утгыг олж авахын тулд Y тэнхлэгийн "0" нь тэг давтамжтай, Y тэнхлэгийн хамгийн их нь түүвэрлэлтийн давтамжтай тохирч байгааг харгалзан тэдгээрийг тооцоолох шаардлагатай.

Бид үүссэн дохионы спектрийг урвуу Фурье хувиргах функц IFFT() руу шилжүүлнэ. Бодит хэсэг нь сэргээсэн дохиог агуулсан цогц тоонуудын массивыг авцгаая.


Таны харж байгаагаар сэргээн босгосон дохио нь анхны дохиог бүрэн давтаж байна.

Фурье хувиргах

Олон дохиог синусоид (гармоник) болгон задлах замаар шинжлэхэд тохиромжтой. Үүнд хэд хэдэн шалтгаан бий. Жишээлбэл, хүний ​​чих ижил төстэй байдлаар ажилладаг. Энэ нь дуу авиаг өөр өөр давтамжийн чичиргээ болгон задалдаг. Үүнээс гадна синусоидууд нь " өөрийн функцууд» шугаман системүүд (тэдгээр дамжин өнгөрдөг тул шугаман системүүд, хэлбэрийг өөрчлөхгүйгээр, гэхдээ зөвхөн фаз ба далайцыг өөрчлөх боломжтой). Өөр нэг шалтгаан нь Котельниковын теоремыг дохионы спектрийн хувьд томъёолсон байдаг.

Фурье хувиргалт ) нь функцуудыг синусоид болгон задлах явдал юм (цаашид бид косинусын функцийг синусоид гэж нэрлэдэг, учир нь тэдгээр нь "бодит" синусоидуудаас зөвхөн фазын хувьд ялгаатай байдаг). Фурье хувиргалтын хэд хэдэн төрөл байдаг.

1. Тогтмол бус тасралтгүй дохиог Фурье интеграл болгон өргөжүүлж болно.

2. Тогтмол тасралтгүй дохиог хязгааргүй Фурье цуврал болгон өргөжүүлж болно.

3. Тогтмол бус дискрет дохиог Фурье интеграл болгон өргөжүүлж болно.

4. Тогтмол дискрет дохиог төгсгөлтэй Фурье цуврал болгон өргөжүүлж болно.

Компьютер нь зөвхөн хязгаарлагдмал хэмжээний өгөгдөлтэй ажиллах боломжтой тул энэ нь зөвхөн Фурье хувиргалтын сүүлчийн төрлийг тооцоолж чадна. Үүнийг илүү нарийвчлан авч үзье.

Бодит дохио DFT

Дискрет дохио x нь N цэгийн үетэй байг. Энэ тохиолдолд үүнийг салангид синусоидуудын төгсгөлтэй цуврал (жишээ нь шугаман хослол) хэлбэрээр төлөөлж болно.

2π к (n + ϕ к)

x = ∑ C k cos

(Фурье цуврал)

k = 0

Эквивалент тэмдэглэгээ (бид косинус бүрийг синус болон косинус болгон задалдаг, гэхдээ одоо фазгүй):

2 π kn

2 π kn

x = ∑ A k cos

+ ∑ B k нүгэл

(Фурье цуврал)

k = 0

k = 0

Цагаан будаа. 6. 8 цэгийн дискрет дохионы Фурье цувралын үндсэн функцууд. Зүүн талд нь косинусууд, баруун талд нь синусууд байдаг. Давтамж нь дээрээс доошоо нэмэгддэг.

Үндсэн синусоидууд нь олон давтамжтай байдаг. Цувралын эхний гишүүн (k =0) нь тогтмол гэж нэрлэгддэг тогтмол бүрэлдэхүүн хэсэг(Тогтмол гүйдлийн офсет) дохио. Хамгийн анхны синусоид (k = 1) ийм давтамжтай байдаг тул түүний хугацаа нь анхны дохионы үетэй давхцдаг. Хамгийн өндөр давтамжийн бүрэлдэхүүн хэсэг (k =N /2) ийм давтамжтай бөгөөд түүний хугацаа нь хоёр тоололтой тэнцүү байна. КоэффицентүүдA k ба

B k нь дохионы спектр (спектр) гэж нэрлэгддэг. Тэд си-ийн далайцыг харуулдаг.

дохиог бүрдүүлдэг нусоидууд. Фурье тэлэлтийн хоёр зэргэлдээ синусоидын хоорондох давтамжийн алхам гэж нэрлэдэг давтамжийн нарийвчлалспектр

Зураг дээр. Зураг 6-д 8 цэгээс салангид дохиог задлахад ашигладаг синусоидуудыг үзүүлэв. Синусоид бүр нь 8 цэгээс бүрддэг бөгөөд энэ нь ердийн дискрет дохио юм. Тасралтгүй синусоидуудыг тодорхой болгохын тулд зурагт үзүүлэв.

цэг бүрт Фурье цувааны нийлбэрийг тооцоолж анхны дохиог хувиргана. Дохиог синусоид болгон задлах (жишээ нь коэффициентийг олж авах) гэж нэрлэдэг Фурьегийн шууд хувиргалт. Урвуу үйл явц - синусоидыг ашиглан дохионы синтез - гэж нэрлэдэг урвуу Фурье хувиргалт(урвуу Фурье хувиргалт).

Урвуу Фурье хувиргалтын алгоритм нь ойлгомжтой (энэ нь Фурье цувралын томъёонд агуулагддаг; синтезийг хийхийн тулд та түүнд коэффициентүүдийг орлуулахад л хангалттай). Фурьегийн шууд хувиргах алгоритмыг авч үзье, i.e. A k ба B k коэффициентийг олох.

2 π kn

2 π kn

аргументаас n нь эсвэл-

Функциональ систем

K = 0,...,

үечилсэн орон зайд тогональ суурь салангид дохио N үетэй. Энэ нь орон зайн аль ч элементийг (дохио) өргөжүүлэхийн тулд та тооцоолох хэрэгтэй гэсэн үг юм цэгэн бүтээгдэхүүнЭнэ элемент нь системийн бүх функцтэй бөгөөд үр дүнгийн коэффициентийг хэвийн болгодог. Дараа нь A k ба B k коэффициент бүхий суурь өргөтгөлийн томъёо нь анхны дохионы хувьд хүчинтэй байх болно.

Тиймээс A k ба B k коэффициентүүдийг скаляр үржвэр гэж тооцдог (бусад

тасалдсан тохиолдолд – функцүүдийн үржвэрийн интеграл, салангид тохиолдолд

– салангид дохионы үржвэрийн нийлбэр):

N − 1

2 π ki , k = 1,...,

A k=

∑ xcos

−1

N i = 0

N − 1

A k=

∑ x cos2 π ki , k = 0-ийн хувьд,

N i = 0

N − 1

2πки

NB 0 ба B N 2 нь үргэлж тэгтэй тэнцүү байдаг (харгалзах "үндсэн"

дохио нь салангид цэгүүдэд адилхан тэг байдаг) ба урвуу болон утгыг тооцоолохдоо тэдгээрийг хаяж болно. шууд хувиргалтФурье.

Тиймээс, дохионы спектрийн дүрслэл нь дохиотой бүрэн тэнцүү болохыг бид олж мэдсэн. Та Фурьегийн урагш ба урвуу хувиргалтыг ашиглан тэдгээрийн хооронд шилжиж болно. Эдгээр хувиргалтыг тооцоолох алгоритмыг өгөгдсөн томъёонд оруулсан болно.

Фурье хувиргалтыг тооцоолох нь маш их шаарддаг их тооүржүүлэх (N 2 орчим) болон синусын тооцоо. Эдгээр хөрвүүлэлтийг илүү хурдан хийх арга бий: ойролцоогоор N log2 N үржүүлгийн үед.

Энэ аргыг нэрлэдэгхурдан Фурье хувиргалт (FFT, хурдан Фурье хувиргалт ). Энэ нь хүчин зүйлүүдийн (синусууд) дунд олон давтагдах утгууд байдаг (синусуудын үечилсэн байдлаас шалтгаалан) дээр суурилдаг. FFT алгоритм нь ижил хүчин зүйлтэй нэр томъёог бүлэглэж, үржүүлгийн тоог эрс багасгадаг. Үүний үр дүнд FFT-ийн гүйцэтгэл нь стандарт алгоритмаас хэдэн зуу дахин хурдан байж болноН ). FFT алгоритм нь үнэн зөв гэдгийг онцлон тэмдэглэх нь зүйтэй. Энэ нь стандартаас ч илүү нарийвчлалтай, учир нь үйлдлүүдийн тоог бууруулснаар бөөрөнхийлөх алдаа багасна.

Гэсэн хэдий ч ихэнх FFT алгоритмууд нь нэг онцлог шинж чанартай байдаг: тэдгээр нь шинжлэгдсэн N дохионы урт нь хоёрын зэрэгтэй байх үед л ажиллах боломжтой. Энэ нь ихэвчлэн илэрхийлдэггүй том асуудал, Шинжилсэн дохиог шаардлагатай хэмжээгээр үргэлж тэгээр дүүргэж болох тул. Тоо

N-ийг FFT хэмжээ буюу урт гэж нэрлэдэг.

Нарийн төвөгтэй DFT

Одоогийн байдлаар бид бодит дохионоос DFT-ийг авч үзсэн. Одоо DFT-ийг нарийн төвөгтэй дохионуудад ерөнхийд нь авч үзье. x, n =0,…,N -1 – N комплекс тооноос бүрдэх анхны комплекс дохио. X, k =0,…N -1 – түүний N комплекс тооноос бүрдэх комплекс спектрийг тэмдэглэе. Дараа нь шууд ба урвуу хувиргалтын томъёонууд хүчинтэй байна.

вани Фурье (энд j = − 1):

N − 1

X [ k] = ∑ x[ n] e− jnk (2 π N )

n= 0

N − 1

∑ X [ k ] e jnk(2 π N)

Nk = 0

Хэрэв бид эдгээр томьёог ашиглан бодит дохиог спектр болгон задлах юм бол спектрийн эхний N / 2+1 цогц коэффициентүүд нь "цогцолбор" хэлбэрээр үзүүлсэн "ердийн" бодит DFT-ийн спектр болон үлдсэн коэффициентүүдтэй давхцах болно. талаар тэдний тэгш хэмтэй тусгал байх болно



Танд нийтлэл таалагдсан уу? Найзуудтайгаа хуваалцаарай!