зької частоти W (модулюючий сигнал), які періодично змінюють (модулюють) амплітуду коливань високої частоти w (несучої частоти), генеруються радіопередавачем. br/>
Опис роботи програми
Концептуальна схема алгоритму програми, реалізованої в курсовій роботі, наведена на малюнку 1.
В
Рисунок 1 - Алгоритм програми: ГСЧПГ - генератор випадкових чисел поле Галуа; К - кодер; М - модулятор; ЛЗ - лінія зв'язку; В - випрямляч; ФНЧ - фільтр низьких частот; І - інтегральний приймач; Д - декодер.
Генератор випадкових чисел
n = 16;% символів інформаційних = 7;% число блоків по 16 біт = randi ([0 1], 1, (N * n));
Перший рядок вказує нам змінну n, яка відповідає за кількість символів в одному, умовному блоці інформації. Вибір числа 16 строго прив'язаний до заданим розміром кодування. p align="justify"> Другий рядок дає нам кількість блоків для кодування, вибираючи число N, ми виходили з необхідності визначення ймовірності допущення помилки на 100 біт при використанні коригуючого коду. Так що б довжина послання була 100 біт, ми повинні 100 розділити на 16, довжина інформаційного блоку, в результаті ми отримаємо 6,25. Це число округляємо до більшого цілого, тобто до 7.
Третій рядок задає масив а з 112 символів, використовую вбудовану функцію П.О. Matlab. br/>
Кодер
Для кодування інформації була створена функція a = coder_all (a, g). Де першим аргументом є масив з двійкових випадкових чисел, довжина якого кратна 16. p align="justify"> Другий аргумент функції породжує поліном, який ми отримали шляхом множення за модулем два трьох інших простих поліномів, для досягнення s = 3, тобто можливість виправляти три помилки, в блоці довжиною 31 біт. Але алгоритм не дає можливості виправлення помилок при неправильності 1 і 16 біта. p align="justify"> Дочірньою функцією вище наведеної, є функція b = sumost (b, g). Вона додає залишок ділення інформаційних біт на який утворює поліном. Вдаючись у свою чергу до функції [a] = Mdeconv (a, g), яка створена за аналогією зі стандартною функцією МАТЛАБ deconv. p align="justify"> Функція Mdeconv використовує вкладені функції:
srav для порівняння двох масивів;
nuli для видалення всіх нулів до першої одиниці ліворуч.
Модулятор
Модуляція сигналу відбувається за коштами функції simulation_signal. Вхідними аргументами якої є:
довжина модуляції одного біта;
кількість біт для модуляції;
масив з випадкових значень двійкового коду.
Частота модуляції обвідної дорівнює 100 Гц, а несучої 10 кГц.
При заданій кількості відліків, а саме 7 * 31 * 10 = 1240, при...