1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tài liệu Thiết kế tuyến vi ba số, chương 15 docx

13 489 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Trình Tính Toán Tuyến Vi Ba
Trường học University of Science and Technology
Chuyên ngành Telecommunications
Thể loại Bài Tập
Năm xuất bản 2023
Thành phố Hanoi
Định dạng
Số trang 13
Dung lượng 59,2 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ton that duong truyen cua khong gian tu do\n"; printf"2.. Ton hao cua bo suy hao hoac cac vat chan\n"; printf"4... Cac hieu ung fading phang\n"; printf"4.. tinh toan kha nang su dung\

Trang 1

CHƯƠNG 15: TRÌNH TÍNH TOÁN TUYẾN VI BA

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <math.h>

#include "c:\hien\viba.h"

double f,ha,h1,h2,d,Ao,feeder,Lv,Aa,lamda,G,A, FMa, FMb,Gt;

double

A1,pr,pt,RXa,RXb,loseA,loseB,G1,po,pa,pb,Ta,Tb; double khongkhadung,Za,Zb,p10,p60;

double mem =3.95,e=2.71828,giandoan,tong_giandoan;

double erfc_fun(double x)

{

double k;

int i;

for (i=0;i<260;i++)

if(erfd[i]==x)

k=erfdr[i];

return k;

}

double arround(double x)

{

double nguyen,thapphan,tamp,tmp,temp;

thapphan = modf(x,&nguyen);

thapphan = thapphan*100;

tamp = modf(thapphan,&temp);

if(tamp<=0.3) tamp = 0;

if(0.3<tamp && tamp <=0.7) tamp =0.5;

if(tamp>0.7) tamp =1;

thapphan = temp + tamp;

thapphan = thapphan /100;

return thapphan + nguyen;

}

void nhap_bien()

{

printf("\nNhap Thong So\n");

printf("Cho biet do dai duong truyen dan (km):

"); scanf("%lf",&d);

Trang 2

printf("Cho biet tan so lam viec trung tam

(GHz): "); scanf("%lf",&f);

clrscr();

}

void free_space_lose()//ton that tuyen cua khong gian tu do

{

Ao = 92.5 + 20*log10(f) + 20*log10(d);

printf("Ton that duong truyen cua khong gian tu

do la: %.3lf dB", Ao);

}

void feeder_lose() //ton that feeder

{

double lf1,lf2,feeder_type;

printf("Cho biet loai feeder su dung: \n");

printf("1 RG-59/U\n");

printf("2 RG-11/U\n");

printf("3 RG-24/U\n");

printf("4 RG-58/U\n");

switch(getch())

{

case '1' : feeder_type = 3.4; break;

case '2' : feeder_type = 2.5; break;

case '3' : feeder_type = 2; break;

case '4' : feeder_type = 7.8; break;

default : feeder_type =3.4;

}

printf("\nCho biet do cao anten tai tram A (m):

"); scanf("%lf",&h1);

printf("Cho biet do cao anten tai tram B (m):

"); scanf("%lf",&h2);

lf1 = 1.5*h1;

lf2 = 1.5*h2;

loseA = lf1*3.28*feeder_type/100;

loseB = lf2*3.28*feeder_type/100;

feeder = loseA + loseB;

printf("Ton that feeder tai tram A: %.3lf dB\n", loseA);

printf("Ton that feeder tai tram B: %.3lf dB\n", loseB);

printf("Ton that feeder: %.3lf dB\n", feeder); }

Trang 3

void vatchan() //ton hao cua bo suy hao hoac cac vat chanx

{

double d1[100],d2[100], hc[100],V[100],c,tmp;

int i, vc;

printf("Co bao nhieu vat chan: ");

scanf("%d",&vc);

for(i=0; i<vc; i++)

{

printf("Cho biet khoang cach tu tram A den vat chan thu %d: ",i+1);

scanf("%lf", &tmp); d1[i] =tmp;

printf("Cho biet khoang cach tu tram B den vat chan thu %d: ",i+1);

scanf("%lf",&tmp); d2[i]=tmp;

printf("Cho biet do cao vat chan %d:",i+1); scanf("%lf",&tmp); hc[i] =tmp;

}

c = 3*pow(10,8);

lamda = c/(f*pow(10,9));

for(i=0;i<vc;i++)

printf("hc = %lf\n",hc[i]);

printf("Lamda = %0.3lf c= %0.3lf\n",lamda,c);

for(i=0;i<vc;i++)

{

V[i] = hc[i] * sqrt( (2/lamda) * (1/d1[i]) * (1/d2[i]));

printf("\n V[%d] = %lf\n",i+1,V[i]);

}

for(Lv=0,i=0;i<vc;i++)

Lv += 6.4 + 20*log10(sqrt(V[i]+1)) + V[i];

printf("Ton hao cua bo suy hao hoac cac vat

chan: %.3lf dB", Lv);

}

void khiquyen() //ton hao khi quyen

{

double Tkq;

printf("Cho biet ton hao dac trung cua khi quyen : "); scanf("%lf",&Tkq);

Aa=Tkq*d;

printf("Ton hao khi quyen: %.3lf dB ",Aa);

}

void total()//tong ton hao

{

double renhanh,bodaunoi;

Trang 4

printf("Cho biet ton hao re nhanh ( 2dB-8dB ):

"); scanf("%lf",&renhanh);

printf("Cho biet ton hao cac bo dau noi( 0.5dB-1dB) : "); scanf("%lf",&bodaunoi);

A = Ao + Aa + feeder + renhanh + bodaunoi + Lv; printf("Tong ton hao la: %.3lf dB", A);

}

void line_lose() //ton hao tuyen truyen

{

while(1)

{

clrscr();

printf("Ton that tuyen:\n");

printf("1 Ton that duong truyen cua khong gian

tu do\n");

printf("2 Ton that feeder\n");

printf("3 Ton hao cua bo suy hao hoac cac vat chan\n");

printf("4 Ton hao khi quyen \n");

printf("5 Tong ton hao \n");

printf("s Exit\n");

printf("Select: \n");

switch( getch())

{

case '1' : free_space_lose(); break;

case '2' : feeder_lose(); break;

case '3' : vatchan(); break;

case '4' : khiquyen();break;

case '5' : total();break;

}

if(getche() == '6') break ;

}

}

void gain() //do loi

{

double D,n;

clrscr();

printf("\t\tTinh Toan Do Loi\n");

printf("Cho biet cong suat may phat(dBm): "); scanf("%lf",&pt);

printf("Cho biet duong kinh anten (m): ");

scanf("%lf",&D);

Trang 5

printf("Cho biet goc mo hieu dung: ");

scanf("%lf",&n);

printf("Cho biet nguong thu ung voi BER = 10^-3 (dB): "); scanf("%lf",&RXa);

printf("Cho biet nguong thu ung voi BER = 10^-6 (dB): "); scanf("%lf",&RXb);

G = 20 * log10(D) - 20*log10(lamda) + 10 *

log10(n) + 9.943;

G1 = pt; Gt = 2*G + G1 ;

A1 = A - Gt; pr = pt -A1;

FMa = pr -RXa;

FMb = pr - RXb;

clrscr();

printf("\n");

printf("Do loi cua anten: %.3lf dB\n",G);

printf("Do loi may phat: %.3lf dB\n",G1);

printf("Tong do loi: %.3lf dB\n", Gt);

printf("Tong ton hao: %.3lf dB\n", A1);

printf("Muc dau vao cua may thu: %.3lf dBm\n", pr);

printf("Do du tru fading phang FMa: %.3lf dB,voi BER = 10^-3\n", FMa);

printf("Do du tru fading phang FMb: %.3lf dB,voi BER = 10^-6\n", FMb);

getch();

}

void fading() //gom xac suat fading nhiue tia, xs tai cac nguong, thoi gian fading

{

double a,c, alpha,beta,c2;

double gamma,M,nuy,K,t;

clrscr();

printf("Cho biet he so cai tien dac trung cho dia hinh a (0.25 - 4): ");

scanf("%lf",&a);

printf("Cho biet he so dia hinh C: \n");

printf(" 1 1 cho dia hinh trung binh co khi hau

on doi\n");

printf(" 2 4 cho dia hinh tren mat nuoc bo bien hay khi hau am uot\n");

printf(" 3 0.25 cho dia hinh mien nui va khi hau kho\n");

switch (getch())

{

case '1' : c = 1;printf("C=1"); break;

Trang 6

case '2' : c = 4;printf("C=4"); break;

case '3' : c = 0.25;printf("C=0.25"); break;

default : c=1;

}

printf("\nCho biet alpha2: ");

scanf("%lf",&alpha);

printf("Cho biet beta2: "); scanf("%lf",&beta); printf("Cho biet c2: "); scanf("%lf",&c2);

printf("Cho biet toc do bit cuc dai gama b

(MBit/s): ");scanf("%lf",&gamma);

printf("Cho biet so muc trong so do dieu che M :

"); scanf("%lf",&M);

printf("Cho biet dang dieu che :\n");

printf("1 QAM 64\n"); printf("2 QAM 16\n");

printf("3 PSK 8\n"); printf("4 PSK 4\n");

switch( getch())

{

case '1' : printf("Ban chon QAM 64\n"); K =

15.4; break;

case '2' : printf("Ban chon QAM 16\n");K = 5.5; break;

case '3' : printf("Ban chon PSK 8\n");K = 7; break;

case '4' : printf("Ban chon PSK 4\n");K = 1; break;

default : printf("Ban chon khong dung!\nMac nhieu la QAM 64!");K = 15.4;

}

clrscr();

po=0.3*a*c*(f/4)*pow( (d/50),3);

pa = pow(10,(-FMa/10));

pb = pow(10,(-FMb/10));

Ta = c2*pow(10,( (-alpha)* FMa)/10)*pow(f,beta);

Tb = c2*pow(10,( (-alpha)* FMb)/10)*pow(f,beta);

Za = 0.548*log(10/Ta); Zb = 0.548*log(10/Tb);

Za = arround(Za); Zb = arround(Zb);

if(Za>mem || Zb>mem) { printf("So lieu ngoai bang tra!"); delay(500); exit(1);}

p10 = 0.5*erfc_fun(Za); p60 = 0.5*erfc_fun(Zb); if(po>10) nuy =1;

if(0.1<po && po<2) nuy =0.182*pow(po,0.1);

if(po<0.01) nuy =1.44*po;

t= pow( 2 * pow(d,1.5) * (gamma / (

log10(M)/log10(2) )) * pow(10,-6),2);

giandoan = 200*nuy*K*t;

tong_giandoan = giandoan + po*pa;

Trang 7

printf("Xac suat fading nhieu tia la: %.8lf\n", po);

printf("Xac suat dat cac nguong RXa:

%.8lf\n",pa);

printf("Xac suat dat cac nguong RXb:

%.8lf\n",pb);

printf("Khoang thoi gian fading voi BER > 10^-3:

%.8lf\n",Ta);

printf("Khoang thoi gian fading voi BER > 10^-6:

%.8lf\n",Tb);

printf("\nXac suat fading dai hon 10s:

%.8lf",p10);

printf("\nXac suat fading dai hon 60s:

%.8lf",p60);

printf("\n Xac suat BER vuot 10^-3: %.8lf",

pa*po);

printf("\n Xac suat BER vuot 10^-6: %.8lf",

pb*po);

printf("\nDo kha dung cua tuyen: %.8lf

%",(1-po*pa*p10)*100);

printf("\n Xac suat BER vuot 10^-6 trong khoang 60s: %.8lf", pa*p10);

printf("\nXac suat mach tro nen khong su dung duoc: %.8lf",po*pa*p10);

printf("\nXac suat BER > 10^-6 trong khoang 60s:

%.8lf",po*p60);

printf("\nThoi gian gian doan thong tin do

fading: %.8lf %",giandoan);

printf("\nTong gian doan thong tin trong BER > 10^-3: %.8lf %",tong_giandoan);

printf("\nXac suat BER > 10^-6 do fading lua

chon: %.8lf",9.82*giandoan);

printf("\nTong BER > 10^-6: %.8lf",

9.828*giandoan + po*pb);

getch();

}

void khadung()

{

double MTTR,MTBF,tong;

printf("Cho biet MTTR: "); scanf("%lf",&MTTR);

printf("Cho biet MTBF: "); scanf("%lf",&MTBF);

khongkhadung =100*(MTTR/(MTBF+MTTR));

tong = 100* po*pa*p10 + 100*p10*giandoan

+khongkhadung;

Trang 8

printf("Do khong kha dung la: %.3lf

%\n",khongkhadung);

printf("Do khong su dung duoc do fading phang

nhieu tia: %.3lf %\n",100*po*pa*p10);

printf("Do khong su dung duoc do fading nhieu tia lua chon: %.3lf %\n",100*p10*giandoan);

printf("Tong do khong su dung duoc la:

%.3lf%",tong);

getch();

}

int menu()

{

clrscr();

printf("\n\nTINH CAC THONG SO TON HAO DUONG TRUYEN\n");

printf("1 Ton that tuyen \n");

printf("2 Do loi\n");

printf("3 Cac hieu ung fading phang\n");

printf("4 tinh toan kha nang su dung\n");

printf("5 Exit\n");

printf("Select:\n");

switch(getch())

{

case '1' : line_lose(); return 1;

case '2' : gain(); return 1;

case '3' : fading(); return 1;

case '4' : khadung(); return 1;

case '5' : return 0;

default : return 1;

}

}

void main()

{

int k;

textcolor(BLUE);

textbackground(WHITE);

clrscr();

printf("\t\tCHUONG TRINH TINH TOAN CAC THONG SO DUONG TRUYEN");

nhap_bien();

while(1)

{

k= menu();

if(k==0) break;

Trang 9

} }

Trang 10

#include <stdio.h>

#include <conio.h>

#include <math.h>

double

erfd[260]={0.000,0.005,0.010,0.015,0.020,0.025

,0.030,0.035,0.040,0.045,0.050,0.055,0.060,0.065,0 070,0.075,0.080,0.085,0.090,0.095,0.100,0.105,0.1 10,0.115,0.120,0.125,0.130,0.135,0.140,0.145,0.150 ,0.155,0.160,0.165,0.170,0.175,0.180,0.185,0.190,0 195,0.200,0.205,0.210,0.215,0.220,0.225,0.230,0.2 35,0.240,0.245,0.250,0.255,0.260,0.265,0.270,0.275 ,0.280,0.285,0.290,0.295,0.300,0.305,0.310,0.315,0 320,0.325,0.330,0.335,0.340,0.345,0.350,0.355,0.3 60,0.365,0.370,0.375,0.380,0.385,0.390,0.395,0.400 ,0.405,0.410,0.415,0.420,0.425,0.430,0.435,0.440,0 445,0.450,0.455,0.460,0.465,0.470,0.475,0.480,0.4 85,0.490,0.495,0.500,0.505,0.510,0.515,0.520,0.525 ,0.530,0.535,0.540,0.545,0.550,0.555,0.560,0.565,0 570,0.575,0.580,0.585,0.590,0.595,0.600,0.605,0.6 10,0.615,0.620,0.625,0.630,0.635,0.640,0.645,0.650 ,0.655,0.660,0.665,0.670,0.675,0.680,0.685,0.690,0 695,0.700,0.705,0.710,0.715,0.720,0.725,0.730,0.7 35,0.740,0.745,0.750,0.755,0.760,0.765,0.770,0.775 ,0.780,0.785,0.790,0.795,0.800,0.805,0.810,0.815,0 820,0.825,0.830,0.835,0.840,0.845,0.850,0.855,0.8 60,0.865,0.870,0.875,0.880,0.885,0.890,0.895,0.900 ,0.905,0.910,0.915,0.920,0.925,0.930,0.935,0.940,0 945,0.950,0.955,0.960,0.965,0.970,0.975,0.980,0.9 85,0.990,0.995,1.000,1.050,1.100,1.150,1.200,1.250 ,1.300,1.350,1.400,1.450,1.500,1.550,1.600,1.650,1 700,1.750,1.800,1.850,1.900,1.950,2.000,2.050,2.1 00,2.150,2.200,2.250,2.300,2.350,2.400,2.450,2.500 ,2.550,2.600,2.650,2.700,2.750,2.800,2.850,2.900,2 950,3.000,3.050,3.100,3.150,3.200,3.250,3.300,3.3 50,3.400,3.450,3.500,3.550,3.600,3.650,3.700,3.750 ,3.800,3.850,3.900,3.950,};

double erfdr[260]=

{1.000000,0.994358,0.988717,0.983076,0.977435,

0.971976,0.961590,0.960523,0.954889,0.949257,

0.943628,0.938002,0.932378,0.926759,0.921142,

0.915530,0.909922,0.904318,0.898719,0.893126,

0.887537,0.881954,0.876377,0.870806,0.965242,

0.859684,0.854133,0.848589,0.843053,0.837524,

Trang 11

0.804531,0.799064,0.793607,0.788160,0.782723,

0.777297,0.771882,0.766478,0.761085,0.755704,

0.750335,0.744977,0.739632,0.734300,0.728980,

0.723674,0.718380,0.713100,0.707834,0.702582,

0.697344,0.692120,0.686911,0.681717,0.676537,

0.671730,0.666225,0.661092,0.655975,0.650874,

0.645789,0.640721,0.635670,0.630635,0.625618,

0.615635,0.610607,0.605723,0.600794,0.595883,

0.590990,0.586117,0.581261,0.576425,0.571608,

0.566810,0.562031,0.557272,0.552532,0.547813,

0.543113,0.538434,0.533773,0.529136,0.524518,

0.519921,.510789,0.506255,0.501742,0.479250,

0.492780,0.488332,0.483905,0.479500,0.475117,

0.470756,0.466418,0.462101,0.475807,0.453536,

0.449287,0.445061,0.440857,0.436677,0.432519,

0.428384,0.424273,0.420184,0.411619,0.412077,

0.408059,0.404063,0.400092,0.396144,0.392220,

0.388319,0.384442,0.380589,0.376759,0.372954,

0.369172,0.635414,0.361680,0.357971,0.354285,

0.350623,0.346986,0.343372,0.339783,0.336248,

0.332677,0.329600,0.325667,0.332199,0.318755,

0.315334,0.311939,0.308567,0.305219,0.315896,

0.298597,0.295322,0.292071,0.288844,0.285642,

0.282463,0.279309,0.276178,0.273072,0.269990,

0.266931,0.263897,0.260886,0.257899,0.254936,

0.251996,0.249081,0.246189,0.243321,0.240476,

0.237655,0.234857,0.232083,0.229332,0.226604,

0.223900,0.221218,0.218560,0.215925,0.213313,

0.210723,0.208157,0.205613,0.203092,0.200593,

0.198117,0.195664,0.193232,0.190823,0.188436,

0.186072,0.183729,0.181408,0.179109,0.176832,

0.174576,0.172342,0.179130,0.167938,0.165768,

0.163620,0.161492,0.159385,0.157299,0.137564,

0.119795,0.103876,0.089686,0.077100,0.065992,

0.56238,0.047715,0.040305,0.033895,0.028377,

0.023652,0.019624,0.016210,0.013328,0.010901,

0.0088889,0.0072096,0.0058207,0.0046778,0.0037419, 0.0029795,0.0023614,0.0018629,0.0014627,

0.0011432,0.00088929,0.00068853,0.00053060,0.00040 697,0.00031068,0.00023605,0.00017850,0.00013434,0 00010062,0.000075017,0.000055658,0.000041100,0.000 030205,0.000022092,0.000016081,0.00000011649,0.000 0083987,0.0000060247,0.0000043040,0.0000030593,0.0 000021637,0.0000015200,0.0000010673,0.0000007437,0 0000005163,0.0000003563,0.0000002433,0.0000001683

Trang 12

,0.0000001137,0.000000076,0.0000000527,0.000000035 3,0.0000000227};

Ngày đăng: 15/12/2013, 08:15

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm