O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR
VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Kompyuter injiniringi fakulteti
Sun’iy intellekt kafedrasi
Tizimlar va signallar fanidan
3-TOPSHIRIQ
Mavzu: 8-9 amaliy mashg‘ulotlar yuzasidan Natijaviy signallar, diskret cosinus
koeffisenti (DCT) jarayonlarini o‘rganish
Bajardi: 050-20-guruh talabasi Xokimov Mansurbek
Tekshirdi: Mo’minov Elyor
TOSHKENT 2024
Tizimlar va signallar fanidan 8-9-amaliy mashg‘ulotlar yuzasidan topshiriq
1.
4 ta ixtiyoriy signal uchun DCT ni hisoblang.
2.
DCT dasturini ishlab chiqish (ixtiyoriy dasturlash tilida)
C#dagi kodi:
#include
#include
double dct_coefficient(double x[], int N, int k) {
double result = 0;
for (int n = 0; n < N; ++n) {
result += x[n] * cos((M_PI / N) * (n + 0.5) * k);
}
return result;
}
void calculate_dct(double x[], int N, double dct_result[]) {
for (int k = 0; k < N; ++k) {
dct_result[k] = dct_coefficient(x, N, k);
}
}
int main() {
// Berilgan ma'lumotlar uchun DCT-ni hisoblash
double input_data[] = {1, 2, 3, 4};
int N = sizeof(input_data) / sizeof(input_data[0]);
double dct_result[N];
calculate_dct(input_data, N, dct_result);
// Natijani ekranga chiqarish
printf("Kirish ma'lumotlari: ");
for (int i = 0; i < N; ++i) {
printf("%lf ", input_data[i]);
}
printf("\n");
printf("DCT natijasi: ");
for (int i = 0; i < N; ++i) {
printf("%lf ", dct_result[i]);
}
printf("\n");
return 0;
}
Natija:
Xulosa
Men ushbu amaliy ishni bajarish davomida DCT ni ancha chuqur o’rgandim
va hattoki dastur kodini C# da yozishgaxam muvaffaq bo’ldim:)
|