Untitled
unknown
plain_text
2 years ago
1.3 kB
12
Indexable
#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;
}
Editor is loading...
Leave a Comment