Advertisement
Guest User

Инфокоммуникационные сети, 1 задача.

a guest
Mar 19th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.09 KB | None | 0 0
  1. k = 1.38*10^-23; %Постоянная Больцмана.
  2.  
  3. W = 300*10^6; %Полоса канала, Hz.
  4. fprintf("Полоса канала: %d Mhz\n", W/10^6);
  5.  
  6. BER = 10^-6;
  7. EbN0_dB = 10.6; %Отношение для достижения нужной вероятности ошибки, dB
  8. fprintf("Требуемая вероятность ошибки (%d) достигается при Eb/N0 = %.1f dB\n", BER, EbN0_dB);
  9.  
  10. St = 0.1; %Мошность передатчика, W
  11. St_dB = 10*log10(St); %Мощность передатчика, dBW
  12. fprintf("Мощность передатчика: %.2f W (%d dBW)\n", St, St_db);
  13.  
  14. L_dB = 100; %Потери при прохождении, dB
  15. fprintf("Потери при прохождении: %d dB\n", L_dB);
  16.  
  17. T = 290; %Температура приемника, K
  18. fprintf("Температура приемника: %d K\n", T);
  19.  
  20. kT_dB = 10*log10(k*T); %Плотность мощности теплового шума, dbWhz^-1
  21. fprintf("Плотность мощности теплового шума: %.2f dbWhz^-1\n", kT_dB);
  22.  
  23. F_dB = 2; %Шум приемника, dB
  24. fprintf("Шум приемника: %d dB\n", F_dB);
  25.  
  26. Wk = 0.5; %Сколько бит/c можно послать при полосе в 1Гц. (спектральная эффективность?) Для BPSK в России = 0.5 (но это не точно)
  27.  
  28. %Вычисления:
  29.  
  30. S_dB = St_dB-L_dB; %Вычисление принимаемой мощности
  31. fprintf("Принимаемая мощность: %d dBW\n", S_dB);
  32.  
  33. SN0_dB = S_dB-kT_dB-F_dB; % Отношение сигнал/шум на приемной стороне
  34. fprintf("Отношение сигнал/шум (плотность) на приемной стороне S/N0: %.2f dBHz\n", SN0_dB);
  35.  
  36. rb_dB = SN0_dB-EbN0_dB; %Максимальная скорость передачи данных, dB (bit/s)
  37. rb = 10^(rb_dB/10); %Максимальная скорость передачи данных, bit/s
  38. fprintf("Максимальная скорость передачи данных: %.2f dB (bit/s) или %.2f Mbps \n", rb_dB, rb/10^6);
  39.  
  40. Wused = rb/Wk; %Занимаемая полоса частот
  41. fprintf("Занимаемая полоса частот: %.2f MHz\n", Wused/10^6);
  42.  
  43. if (Wused < W)
  44.     fprintf("Занимаемая полоса уже, чем предоставленная, значит система ограничена мощностью\n");
  45. else
  46.     fprintf("Занимаемая полоса шире, чем предоставленная, значит система ограничена по полосе\n");
  47. end
  48.  
  49. SN0 = 10^(SN0_dB/10); %Перевод отношения сигнал/шум из dB
  50. nuMax = log2(1/W*SN0+1); %Предел спректральной эффективности
  51. fprintf("Предел спектральной эффективностти: %.2f bits/s*Hz^-1\n", nuMax);
  52.  
  53. rbMax = W*nuMax; %Преддельная скорость передачи
  54. fprintf("Предельная скорость передачи: %.2f Mbit/s\n", rbMax/10^6);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement