Mo'ydinjonov habibullo


Download 194.57 Kb.
Sana18.06.2023
Hajmi194.57 Kb.
#1591304
Bog'liq
Mo\'ydinjonov H amaliy ishi 4 algaritimni loyhalash


MO'YDINJONOV HABIBULLO
O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH
VAZIRLIGI


MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
QARSHI FILIALI




KOMPYUTER INJINIRINGI FAKULTETI
ATS_11-21 GURUH TALABASINING
Algoritmlarni loyihalash

FANIDAN

4-amaliy ish


Topshirdi: H.Mo'ydinjonov
Qabul qildi: S.Bo'riyev

Jadval funksiyani Fur’ye qatoriga yoyish. Fur’ye koeffitsiyentlarini hisoblash. Qator hadlari sonini tanlash
Maqsad: Talabalar Fure qatorlar yig’indisini hisoblashni o‘rganishi, funksiyalarni qiymatini qatorlar yordamida taqribiy hisoblash va Fure koeffitsiyentlarini hisoblash usullarini o‘rganishi, bu usullar haqida bilim va ko‘nikmalarga ega bo‘lishi hamda mustaqil masalalar yechishi va shu masalaga mos algoritmlar qura olishi kerak.




Fourier koeffitsiyentlari, bir sinyalning frekans maydonidagi komponentlarini ifodalaydigan koeffitsiyentlardir. Bu koeffitsiyentlar, berilgan vaqt maydonidagi sinyalning Furie o'zgarishini (Fourier o'zgarishi) ishlatib aniqlanadi. Furie koeffitsiyentlari, xususiyatlar bilan ishlatish, sinyallarni filtrlash, ma'lumotlarni to'plash va boshqa sohalarda qo'llaniladi.

Fourier o'zgarishi, vaqtni bo'lgan sinyalni chastotali maydonga aylantiruvchi matematikaviy operatsiyadir. Ushbu o'zgarish, sinyalni doimiy chastotali komponentlarga ajratadi. Furie koeffitsiyentlari, ushbu chastotali komponentlarni ifodalaydi.

Fure koeffitsiyentalarini topish uchun C++ tilida foydalanish mumkin bo'lgan oddiy misol dasturini quyidagicha yozish mumkin:

#include
#include
#include

int main() {
// Sinyalning vaqtdagi qiymatlari
double input[] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0};

// FFT uchun kerakli o'zgaruvchilarni e'lon qiling
int N = sizeof(input) / sizeof(double);
fftw_complex* fft_input = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
fftw_complex* fft_output = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
fftw_plan plan = fftw_plan_dft_1d(N, fft_input, fft_output, FFTW_FORWARD, FFTW_ESTIMATE);

// Kirish qiymatlarni FFT formatiga o'tkazing
for (int i = 0; i < N; i++) {
fft_input[i][0] = input[i]; // Haqiqiy qism
fft_input[i][1] = 0.0; // Sanal qism
}

// FFT amalini bajarish
fftw_execute(plan);

// Fure koeffitsiyentalarni chiqaring
for (int i = 0; i < N; i++) {
std::cout << "Koeffitsiyent " << i << ": " << fft_output[i][0] << " + " << fft_output[i][1] << "i" << std::endl;
}

// Xotirani tozalang va FFTW rejasini bo'sating
fftw_destroy_plan(plan);
fftw_free(fft_input);
fftw_free(fft_output);

return 0;
}

Ushbu dastur kiritilgan sinyalni FFT formatiga o'tkazib, FFTW kutubxonasidan foydalanib Fure koeffitsiyentalarni hisoblaydi. Hisoblangan koeffitsiyentalarni chiqaradi.
Download 194.57 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling