• Berilgan funksiyalardan variant tanlanib, olingan variantlar ustida quyidagi amallar bajariladi: Berilgan f 1 (x) va f 2
  • Berilgan funksiyalardan variant tanlanib, olingan variantlar ustida quyidagi amallar bajariladi




    Download 0,52 Mb.
    Sana07.07.2024
    Hajmi0,52 Mb.
    #266846
    Bog'liq
    2-amaliy signal s


    O‘ZBEKISTON RESPUBLIKASI
    RAQAMLI TEXNOLOGIYALAR VAZIRLIGI

    MUHAMMAD AL-XORAZMIY NOMIDAGI


    TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI



    Signallar va tizimlar fanidan
    2-AMALIY ISH
    MAVZU : Signallarga klassik ishlov berish. Svyortka jarayonini hisoblash. Korrelyatsiya jarayonini hisoblash.




    Toshkent - 2024
    2-amaliy ish topshiriqlari: Signallarga klassik ishlov berish
    (svyortka va korrelyatsiya)



    Bu yerda:
    N – talabaning jurnaldagi raqami;
    x – 0 dan boshlab 2N gacha qadam bilan berilgan oraliqgacha davom etadigan to‘plam. Misol uchun (x=0:0.1:2N)
    Berilgan funksiyalardan variant tanlanib, olingan variantlar ustida quyidagi amallar bajariladi:

    1. Berilgan f1(x) va f2(x) funktsiya svyortka qilinadi.

    2. Berilgan f1(x) va f2(x) funktsiya korrelyatsiya qilinadi.

    Olingan natijalar va dastlabki natijalar bilan birgalikda grafik orqali ifodalanadi.
    Izoh: N hamma uchun jurnaldagi tartib raqami. Berilgan oraliq intervallariga qat’iy rioya qilinishi shart.

    5

    y=cos(xπ/4)+sin(2π/N+x)

    z=3cos(x/π)-2sin(x/π)

    x (0; πN/3),



    Buni bajarish uchun quyidagi python kodidan foydalanamiz:
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    from scipy.signal import convolve, correlate


    # N qiymatini kiriting (bu sizning jurnaldagi tartib raqamingiz)
    N = 10 # Masalan, N = 10
    # x qiymatlari uchun intervalni belgilaymiz
    x = np.linspace(0, np.pi * N / 3, 500)
    # f1(x) va f2(x) funktsiyalarini aniqlaymiz
    f1 = np.cos(x * np.pi / 4) + np.sin(2 * np.pi / N + x)
    f2 = 3 * np.cos(x / np.pi) - 2 * np.sin(x / np.pi)
    # Svortka va korrelyatsiyani hisoblaymiz
    svortka = convolve(f1, f2, mode='same')
    korrelyatsiya = correlate(f1, f2, mode='same')
    # Natijalarni jadvalga joylashtirish
    data = {
    'x': x,
    'f1(x)': f1,
    'f2(x)': f2,
    'Svortka': svortka[:len(x)], # Svortka natijasining bir qismini olish
    'Korrelyatsiya': korrelyatsiya[len(korrelyatsiya)//2 - len(x)//2 : len(korrelyatsiya)//2 + len(x)//2] # Korrelyatsiya natijasining bir qismini olish
    }
    df = pd.DataFrame(data)
    # Jadval ko'rinishda chiqarish
    print(df.head(10)) # Jadvalning faqat dastlabki 10 qatorini chiqaramiz
    # Grafik chizish
    plt.figure(figsize=(12, 10))
    # Asl f1(x) funktsiyasi
    plt.subplot(4, 1, 1)
    plt.plot(x, f1, label='f1(x) = cos(xπ/4) + sin(2π/N + x)')
    plt.title('Asl f1(x) funktsiyasi')
    plt.xlabel('x')
    plt.ylabel('f1(x)')
    plt.legend()
    plt.grid(True)
    # Asl f2(x) funktsiyasi
    plt.subplot(4, 1, 2)
    plt.plot(x, f2, label='f2(x) = 3cos(x/π) - 2sin(x/π)')
    plt.title('Asl f2(x) funktsiyasi')
    plt.xlabel('x')
    plt.ylabel('f2(x)')
    plt.legend()
    plt.grid(True)
    # Svortka natijasi
    plt.subplot(4, 1, 3)
    plt.plot(x, svortka[:len(x)], label='Svortka f1(x) * f2(x)')
    plt.title('Svortka natijasi')
    plt.xlabel('x')
    plt.ylabel('Svortka')
    plt.legend()
    plt.grid(True)
    # Korrelyatsiya natijasi
    plt.subplot(4, 1, 4)
    plt.plot(x, korrelyatsiya[len(korrelyatsiya)//2 - len(x)//2 : len(korrelyatsiya)//2 + len(x)//2], label='Korrelyatsiya f1(x) * f2(x)')
    plt.title('Korrelyatsiya natijasi')
    plt.xlabel('x')
    plt.ylabel('Korrelyatsiya')
    plt.legend()
    plt.grid(True)
    plt.tight_layout()
    plt.show()






    https://colab.research.google.com/drive/10fAVt0Pu0YT7BQTf8jT4mEOMYUFuIVQp?authuser=1#scrollTo=52lWBRaK9U1G
    Download 0,52 Mb.




    Download 0,52 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Berilgan funksiyalardan variant tanlanib, olingan variantlar ustida quyidagi amallar bajariladi

    Download 0,52 Mb.