Untitled

mail@pastecode.io avatar
unknown
plain_text
24 days ago
1.3 kB
3
Indexable
Never
#include <iostream>
#include <cmath>

using namespace std;

int main() {
    // Өгөгдсөн мэдээллийг хадгалах
    double h_BS = 10; // gNB өндөр
    double h_UT = 50; // UE өндөр
    double d_2D = 50; // UE-gNB 2D зай

    // Чухал частотыг тооцоолох
    double fc = (3300 + 3800) / 2.0 * 1e6; // Чухал частот (Hz)

    // Path loss зайг тооцоолох
    double c = 3e8; // Гаралтын хурд (м/с)
    double d_Bp = 2 * M_PI * h_BS * h_UT * fc * 1e9 / c; // Path loss зай (м)

    // 3D зайг тооцоолох
    double d_3D = sqrt(pow(d_2D, 2) + pow(h_BS - h_UT, 2)); // UE-gNB 3D зай (м)

    // Замын алдагдалыг тооцоолох
    double PL1;
    if (10 <= d_2D && d_2D <= d_Bp) {
        PL1 = (20 * log10(40 * M_PI * d_3D * fc / 3)) +
              fmin((0.03 * pow(h_BS, 1.72)), 10) * log10(d_3D) -
              fmin((0.044 * pow(h_BS, 1.72)), 14.77) +
              (0.002 * log10(h_BS) * d_3D);
    } else {
        PL1 = 0; // Алдагдалгүй тооцоолох
    }

    // Результатыг хэвлэх
    cout << "Замын алдагдал нь " << PL1 << " дБ байна." << endl;

    return 0;
}
Leave a Comment