You are on page 1of 11

№ 5 amaliy mashg’ulot

MATLAB-STATEFLOW DA DISKRET ALOQA KANALINI PETROVICh


MODELI ASOSIDA MODELLASHTIRISHNI O‘RGANISH
Diskret kanal uchun Petrovich modelini o'rganish

5.1 Umumiy nazariy ma’lumotlar.

Diskret kanalning ehtimollik xarakteristikalarini o'rganish uchun turli


modellar qo'llaniladi (xususan, k marta xatolik ehtimoli). Ulardan biri Petrovich
modelidir (5.1-rasm).
Ushbu modelning o'ziga xos xususiyati quyidagicha. Diskret kanal to'rt holatdan
birida bo'lishi mumkin deb taxmin qilinadi (ikkita "yaxshi" - 1, 4 va ikkita
"yomon" - 2, 3). Bunday holda, "yaxshi" holatlardagi xatolik ehtimoli p1o = p4o =
0, "yomon" holatlarda esa xatolar birlikdan farq qiladigan ehtimollik bilan yuzaga
keladi (qoida tariqasida, p2o ≈ 0,5 va p3o ≈ qiymatlari). 0,5 tanlanadi).
Bundan tashqari, Petrovich modeli quyidagi munosabatlar bilan tavsiflanadi:

p11 >> p 12 ; p11+ p 12=1;


p24 >> p23 ; p24 + p 23 =1;
p44 >> p43 ; p 44 + p43=1;
p 32 >> p 31 ; p32 + p31=1,

Bu erda pij - kanalning i holatdan j holatiga o'tish ehtimoli.


Shakl 5.1 - Diskret kanal uchun Petrovich modeli

Ta'riflangan modelni quyidagi tenglamalar tizimi sifatida ko'rsatish mumkin.

{
p11 P1−p12 P1+p 31 P3−p11 P1=0
p12 P1−p 23 P2−p24 P2+p32 P 3=0
⇒¿ {− p12 P 1+p31 P3=0 ¿ { p12 P1−p23 P2−p 24 P2 +p32 P3=0 ¿ { p23 P 2−p32 P3−p 31 P3+p 43 P 4=0 ¿ ¿¿
p23 P 2−p32 P3−p 31 P3+p 43 P 4=0
p 44 P 4 +p24 P2−p43 P 4−p 44 P 4=0

Bu erda Pi - kanalning i holatida bo'lish ehtimoli.


Ushbu tizimni hal qilib, shuningdek, P1 + P2 + P3 + P4 = 1 ekanligini hisobga
olsak, biz quyidagi ifodalarni olishimiz mumkin:
p 24 p 31 p43
P1 = ,
p 24 p 31 p43 +2p31 p 243 + p12 p224
p 31 p243
P2 =P3 = ,
p 24 p 31 p43 +2p31 p 243 + p12 p224
p 12 p224
P4 = 2 2
.
p 24 p31 p 43 +2p31 p 43 + p 12 p24

5.2 O'rganilayotgan modelning tavsifi


Dastlabki ma'lumotlarga muvofiq diskret kanalni o'rganish uchun quyidagi
bloklarni o'z ichiga olgan modeldan foydalaniladi (5.2-rasm):
- doimiy;
- impuls generatori;
- diagramma;
- Faylga.

Shakl 5.2 - O'rganilayotgan diskret kanal modeli

Doimiy (doimiy signal manbai)


"Doimiy" bloki doimiy darajada bo'lgan signalni yaratish uchun mo'ljallangan.
"Constant" blokining parametrlari 5.3-rasmda ko'rsatilgan muloqot oynasida
o'rnatiladi.
Parametr "Doimiy qiymat" - ishlab chiqarilgan signalning doimiy darajasini
belgilaydi. Ushbu parametr haqiqiy yoki murakkab sonlar, hisoblangan ifodalar,
vektorlar yoki matritsalar ko'rinishidagi qiymatlarni olishi mumkin.
"Vektor parametrlarini 1-D sifatida izohlash" belgisi - agar bu bayroq o'rnatilgan
bo'lsa, chiqish signali bir o'lchovli massiv sifatida taqdim etiladi.

Shakl 5.3 - Blok parametrlarini o'rnatish uchun dialog oynasi


"Doimiy"
Parametr "Namuna vaqti" - blokning chiqish signalining qiymati o'zgarishi
mumkin bo'lgan momentlar orasidagi intervalni aniqlaydi.
Parametr "Namuna olish rejimi" - chiqish signalining turini aniqlaydi. Namunaga
asoslangan yoki ramkaga asoslangan bo'lishi mumkin.
Faylga (ma'lumotlarni faylga saqlashni bloklash)
“Faylga” bloki uning kiritilishiga keladigan ma’lumotlarni faylga yozish uchun
mo‘ljallangan. Ma'lumotlar faylga matritsa shaklida yoziladi, uning yuqori qatorida
vaqt qiymatlari, qolgan qatorlar esa ma'lum bir vaqtda kirish signallarining
qiymatlarini o'z ichiga oladi. "To File" blokining parametrlari 5.4-rasmda
ko'rsatilgan muloqot oynasida o'rnatiladi.
"Fayl nomi" parametri yozuv uchun fayl nomini belgilaydi. Odatiy bo'lib, fayl
untitled.mat deb nomlangan. Agar faylning to'liq yo'li ko'rsatilmagan bo'lsa, u
holda fayl joriy ishchi papkada saqlanadi.
Parametr "O'zgaruvchi nomi" - yozilishi kerak bo'lgan ma'lumotlarni o'z ichiga
olgan o'zgaruvchining nomini belgilaydi.
Decimation parametri blok ma'lumotlarni qanchalik tez-tez ko'rsatishi kerakligini
aniqlaydi. Agar 1 ga o'rnatilgan bo'lsa, blok har bir kiruvchi qiymatni ko'rsatadi.
“Namuna vaqti” parametri model vaqtining qadamini belgilaydi.
5.4-rasm - Blok parametrlarini o'rnatish uchun dialog oynasi
"Fayl uchun"

Diskret kanal uchun Petrovich modelini o'rganish uchun dastlabki ma'lumotlarni


hisobga olgan holda, 5.5-rasmda ko'rsatilgan "Chart" blokida SF diagrammasi
tuziladi.
Ushbu SF diagrammasi quyidagi o'zgaruvchilardan foydalanadi:
- kiritish:
a) n - kodli so'zdagi bitlar soni;
b) p12 - 1-holatdan 2-holatga o'tish ehtimoli;
c) p24 - 2-holatdan 4-holatga o'tish ehtimoli;
d) p31 - 3-holatdan 1-holatga o'tish ehtimoli;
e) p43 - 4-holatdan 3-holatga o'tish ehtimoli;
f) p2o - 2-holatdagi xatolik ehtimoli;
g) p3o - 3-holatdagi xatolik ehtimoli;
h) ticks - simulyatsiyaning aniqligini oshirish uchun ishlatiladigan o'zgaruvchi;
- dam olish kunlari:
a) Yo'q - n uzunlikdagi kod so'zdagi bit xatolar soni (xato ko'pligi);
- mahalliy:
a) yo'q - bit xatolar soni;
b) ns - uzatiladigan bitlar soni;
c) p - bir holatdan ikkinchi holatga o'tish zarurligini aniqlash uchun vaqtinchalik
o'zgaruvchi;
d) p23 - 2-holatdan 3-holatga o'tish ehtimoli;
e) p32 - 3-holatdan 2-holatga o'tish ehtimoli;
f) po - xato mavjudligini aniqlash uchun vaqtinchalik o'zgaruvchi.

5.5-rasm - O'rganilayotgan diskret kanal modelining SF-diagrammasi.


Ushbu SF diagrammasidagi boshlanish/holat boshlang'ich hisoblanadi. Bu holat
xato hisoblagichini (no) va uzatilgan bitlar hisoblagichini (ns) tiklash, shuningdek
p23 va p32 qiymatlarini hisoblash uchun zarur.
Davlat st2/ Petrovich modelining 2-holatiga mos keladi (5.1-rasm). st2/ xolatdan
boshlanadi/ holatiga o'tish shartsiz. Shunday qilib, ushbu modelda kanal dastlab
"yomon" holatda ekanligi taxmin qilinadi 2. Biroq, simulyatsiyaning etarlicha uzoq
davom etishi (105 dan ortiq) bilan bu taxmin natijalarga sezilarli ta'sir
ko'rsatmaydi. st2/ holati to'rtta asosiy holatni o'z ichiga oladi: st21/, st22/, st23/ va
st24/.
st21/ holati kanal 2-holatda bo'lganida xatolik yuz bergan yoki yo'qligini aniqlaydi.
ml.rand(1) funksiyasi [0 oraliqdan tasodifiy sonni qaytaradi; 1]. Agar po
o'zgaruvchisi po ≤ p2o bo'lgan shunday qiymatni qabul qilsa, u holda st22/ holatga
o'tish amalga oshiriladi, bu xatoning paydo bo'lishiga mos keladi. Aks holda (po >
p2o uchun) st23/ holatiga o'tish amalga oshiriladi.
St22/ holatida xato hisoblagichining qiymati (no) bittaga oshiriladi. Bu holatdan
tizim so'zsiz st23/ holatiga o'tadi.
St23/ holatida uzatiladigan bit hisoblagichining (ns) qiymati bittaga oshiriladi.
Agar uzatilgan bitlar hisoblagichining qiymati kod so'zining uzunligidan (ns < n)
kichik bo'lsa, st24/ holatiga o'tish amalga oshiriladi. Aks holda, No chiqish
o'zgaruvchisi no ga o'rnatiladi va tizim start/holatiga kiradi.
st24/ holatida 2-holatdan 3-holatga yoki 4-holatga o`tish zaruriyati aniqlanadi.Agar
p<p24 shart bajarilsa, st4/ holatga o`tish amalga oshiriladi. Aks holda, tizim st3/
holatiga o'tadi.
Davlat st4/ Petrovich modelining 4-holatiga mos keladi (5.1-rasm). Bu holat ikkita
asosiy holatni o'z ichiga oladi: st41/ va st42/. Bu holatda xatoliklar yuzaga
kelmaydi.
St41/ holatida uzatiladigan bit hisoblagichining (ns) qiymati bittaga oshiriladi.
Agar uzatiladigan bitlar hisoblagichining qiymati kod so'zining uzunligidan (ns <
n) kichik bo'lsa, st42/ holatiga o'tish amalga oshiriladi. Aks holda, No chiqish
o'zgaruvchisi no ga o'rnatiladi va tizim start/holatiga kiradi.
st42/ holatida 4-holatdan 3-holatga o`tish zarurati aniqlanadi.Agar p<p43 shart
bajarilsa, st3/ holatga o`tish amalga oshiriladi. Aks holda, tizim st4/ holatida qoladi
(ya'ni, st41/ holatiga o'tadi).
st1/ va st3/ holatlari mos ravishda Petrovich modelining 1 va 3-holatlariga
o'xshaydi (5.1-rasm). Ushbu davlatlarda sodir bo'ladigan jarayonlar yuqorida
tavsiflanganlarga o'xshaydi.
Shunday qilib, modellashtirish jarayonida Diagramma blokining chiqishi (5.2-
rasm) n uzunlikdagi kod birikmalarini uzatishda diskret kanalda sodir bo'ladigan
xatolarning ko'pligi qiymatlarini oladi. Tegishli vaqt hisoblangan ushbu qiymatlar
error_num.mat faylidagi error_num o'zgaruvchisiga yoziladi (buni amalga oshirish
uchun siz "Faylga" blokining parametrlariga mos qiymatlarni o'rnatishingiz kerak).
5.3 Diskret kanal uchun Petrovich modelini o'rganish
Quyidagi parametrlarga ega bo'lgan diskret kanal uchun Petrovich modelini
o'rganish kerak:
- kod kombinatsiyasining uzunligi – n = 32 bit;
- o'tish ehtimoli:
a) p12 = 0,21;
b) p24 = 0,76;
c) p31 = 0,25;
d) p43 = 0,23;
- xatolik ehtimoli:
a) p2o = 0,49;
b) p3o = 049.
Simulyatsiya tugagandan so'ng, error_num.mat faylida xato ko'pligi qiymatlari
namunasi bo'ladi. Uning parametrlarini aniqlash uchun 5.1 ro'yxatda ko'rsatilgan
dasturdan foydalaning.

1.1 - Namuna parametrlarini aniqlash dasturi.

Kmax = 32; % наибольшая возможная кратность ошибки


load('error_num.mat'); % загрузка переменных из файла в рабочую область
памяти
x = error_num(2);
x = sort(x);
n = length(x);
f = n - 1;
xmin = x(1);
xmax = x(n);
fprintf('Объем выборки = %d\n', n);
fprintf('Число степеней свободы = %d\n', f);
fprintf('Минимальное значение = %g\n', xmin);
fprintf('Максимальное значение = %g\n\n', xmax);

k = 0:Kmax; % центральные значения интервалов гистограммы


q = -1:Kmax; % точки переходов эмпирической функции распределения
% определение эмпирической вероятности
N = hist(x, k); % определение количества попаданий в интервал
z = N./n;

% определение значений эмпирической функции распределения


y(1) = 0;
for I = 2:Kmax+1,
y(I) = y(I-1) + z(I-1);
end

subplot(2, 1, 1);
hist(x, k);
title('Гистограмма распределения кратности ошибки');
xlim([-1, Kmax+1]);

subplot(2, 1, 2);
stairs(q, y);
title('Эмпирическая функция распределения кратности ошибки');
ylim([0, 1.1]);
xlim([-1, Kmax+1]);

disp('Эмпирическая вероятность k-кратной ошибки:');


for I = 0:Kmax,
fprintf('P(%g) = %g\n', I, z(I+1));
end

Mx = mean(x);
Sx = std(x);
Dx = Sx^2;
Ax = sum((x - Mx).^3)/(n - 1)/Sx^3;
Ex = sum((x - Mx).^4)/(n - 1)/Dx^2-3;
disp(' ');
disp('Выборочные параметры распределения:');
fprintf('Математическое ожидание = %g\n', Mx);
fprintf('Среднеквадратичное отклонение = %g\n', Sx);
fprintf('Дисперсия = %g\n', Dx);
fprintf('Асимметрия = %g\n', Ax);
fprintf('Эксцесс = %g\n\n\n\n', Ex);

Ushbu dasturni bajarish natijasida quyidagi qiymatlar olindi:


Namuna hajmi = 10000001
Erkinlik darajalari soni = 10000000
Minimal qiymat = 0
Maksimal qiymat = 17
Matematik kutish = 5,16887
Standart og'ish = 2,25987
Farq = 5.10701
Asimmetriya = 0,405941
Kurtosis = 0,118124

You might also like