- •В.А. Овсянников методы формирования и цифровой обработки сигналов
- •Часть 1
- •И генерация дискретных сигналов
- •Введение
- •1.Моделирование дискретных сигналов и систем. Краткие теоретические сведения
- •Обращение (1) в общем виде даётся контурным интегралом
- •1.2. Общие принципы генерации сигналов
- •1.3. Генераторы элементарных сигналов
- •1.5. Генерация кодовых последовательностей
- •1.4. Генераторы запуска
- •2. Перепишем (31), вводя положительные степени:
- •1.6. Свёртка дискретных сигналов
- •Здесь по определению
- •1.7. Эффекты квантования в схемах генерации
- •2. Лабораторные работы Описание лабораторного стенда
- •Лабораторная работа №1
- •Лабораторная работа № 2 эффекты квантования в схемах генерации
- •Содержание отчета
- •Лабораторная работа № 3 генерация кодовых последовательностей и сигналов управления
- •Лабораторная работа № 4 моделирование дискретных канальных сигналов
- •Лабораторная работа № 5 дискретная свертка и генерация сложных сигналов
- •Контрольные вопросы и задачи
- •Лабораторная работа № 6
2. Перепишем (31), вводя положительные степени:
Сумма справа – это полином, представляющий некоторое кодовое слово (СL-1, ..., C1, C0). Символы в кодовых словах располагают справа налево (от младшего к старшему разряду). В z-преобразовании (31) символы кодовых слов расположены в обратном порядке – по ходу «текущего» времени.
При переходе к схемам прежде всего обратим внимание на особенность операций с полиномами (31) в модульной арифметике.
Положим, дана последовательность из трёх элементов с = (1, 0, 1). Z-преобразование последовательности можно представить в двух вариантах:
Dc(z) = 1+ z–2 = (1 + z–1)∙(1 + z–1), mod 2 . (32)
Проверить равенство несложно:
(1 + z–1) (1 + z–1) = 1+ (1 + 1) z–1 + z–2 =1 + z–2, mod 2.
Второй вариант в (32) получен на основании теоремы о разложении многочленов на множители. Если z1 и z2 – корни уравнения Dc(z) = 0, то можно записать:
Dc(z) =1 + z–2 = (1 + z2) / z2 = ((z – z1)∙(z – z2)) / z2.
В данном случае уравнение
1 + z2 = 1 – z2 = 0, mod 2,
имеет один корень (кратности 2): z1 = z2 = 1. Он и представлен в формуле (32).
Заметим, что в операции сложения по mod 2 знаки «+» и «–» тождественны, нет различия между (+1) и (–1).
На основании (32) можно составить две схемы генерации чисел с= = (1, 0, 1). С учётом условия (26) генерации редких импульсов получим схемы, приведенные на рис. 9,а,б.
а б
Рис.9
Каскадная структура рис.9,б следует из представления системной функции Dc(z) в виде произведения.
Положим теперь, что импульсная последовательность Сn состоит только из одноразрядных единиц: Сn = 1, n =0, 1, … . В этом случае z-преобразование приводит к результатам, схожим с (15) для геометрических прогрессий:
(33)
Проверить эти равенства несложно. Достаточно раскрыть произведения и объединить члены с одинаковыми степенями z:
а) (1 + z–1 + z–2 +…)∙(1 + z–1) = 1 + (1 + 1) z–1 + (1 + 1) z–2 + …= 1, mod 2;
б) (1 + z–1 + z–2 +… + z–L+1)∙(1 + z–1) = 1+ (1 + 1)∙z–1 + … + (1 + 1) z–L+1 + z–L =
= 1 + z–L, mod 2.
В соответствии с (33) схемы запуска принимают вид, показанный на рис.10. Здесь также учтено условие (26) N-кратных интервалов между единицами.
а б
Рис.10
Обратите внимание на подобия и отличия в схемах рис.4, 8 и 10: непрерывную генерацию обеспечивает рекурсивная часть схемы; границы последовательностей задаются нерекурсивной частью; в случае одноразрядных сумматоров (по mod 2) множитель (–1), как отмечалось, опускается.
Работа схем рис.10 моделируется следующими рекуррентными уравнениями:
а) x (k) = (k) + x (k – 1), mod 2,
k = 0, 1, …; (34)
б) x (k) = (k) + (k – LN) + x (k – N), mod 2,
k = 0, 1, … .
В рассмотренных примерах последовательность Сn носила регулярный характер. Для имитации передаваемых сообщений желательно формировать некоторую псевдослучайную импульсную последовательность. Примером может служить так называемая М-последовательность. Кратко рассмотрим способы формирования таких последовательностей.
М-последовательность задаётся рекуррентным соотношением:
Сn = 1 Сn–1 + 2 Сn–2 + … + Сn–m, mod 2, (35)
n = 0, 1, …; Сn = 0, n < 0.
Вид последовательности определяется конкретным набором (1, 2, …, m–1) двоичных чисел и значением m.
Примечание. Приведём примеры типичных рекуррентных последовательностей:
геометрическая прогрессия Сn = q∙Сn–1, n = 0, 1, … , и её вырожденный случай в (33) со знаменателем q = 1 и С0 = 1;
числа Фибоначчи в обычной арифметике
Сn = Сn–1 + Сn–2, n = 0, 1, …, С0 = 1, (это ряд 1, 1, 2, 3, 5, 8, …)
и их двоичный аналог Сn = Сn–1 + Сn–2 , mod 2 , n = 0, 1, … , С0 = 1,
(это ряд 1, 1, 0, 1, 1, 0 …).
Схема генерации чисел Фибоначчи и ее обобщение рассмотрены в прил. 1.
В силу ограниченности значений и m всегда можно ожидать, что с некоторого момента n значения Сn начнут повторяться. Это означает, что последовательность (35) обладает периодичностью: Сn = Сn+L. Выбором ко-эффициентов 1, …, m–1 (при заданном m) можно обеспечить максимально возможное значение периода
L = 2m – 1. (36)
Отсюда и название: последовательность максимальной длины. Она включает 2m–1 единиц и 2m–1 – 1 нулей. Внешне кажется, что нули и единицы расставлены хаотически с примерно равными вероятностями. В связи с этим такие последовательности называют псевдослучайными.
Фактически (35) является алгоритмом работы генератора М-последовательности. Необходимо только обеспечить запуск этого генератора. Как и во всех рассмотренных выше случаях, для запуска введём единичный отсчёт:
Сn = (n) + 1∙Сn–1 + 2∙Сn–2 + … + Сn–m, mod 2 (37)
Теперь начальное значение последовательности определено: С0 = (0) = 1. Остаётся найти системную функцию генератора.
Перепишем (37), разделив вход и выход знаком равенства:
(n) = Сn + 1∙Сn–1 + 2∙Сn–2 + … + Сn–m, mod 2, (37а)
и выполним z-преобразование обеих частей. Пусть Dc(z) – z-преобразование последовательности Сn, n = 0, 1, … : Сn Dc(z). С учётом свойства (б) z-преобразования
С
n–1
z–1
Dc(z),
Сn–m z–m Dc(z),
для (37а) получим:
Dвх(z) = Dвых(z) = Dc(z)∙(1 + 1 z–1 + … + z–m ).
Z-преобразование левой части в (37а) определено: Dвх(z) = 1. Отсюда следует, что системная функция генератора равна:
(38)
Эта форма реализуется рекурсивной схемой, которая будет генерировать периодическую последовательность двоичных чисел. Как отмечалось, максимального периода L, см. (36), можно достичь только определенными обратными связями (коэффициентами 1, …, m–1).
Для генерации М-последовательности без периодического повторения в (37) необходимо ввести дополнительный элемент (n–L). Он задаёт верхнюю границу ряда Сn. В этом случае вместо (37а) запишем:
(n) + (n–L) = Сn + 1 Сn–1 + 2 Сn–2 + … + Сn–m, mod 2.
После Z- преобразования получим новую системную функцию генератора:
(39)
Нерекурсивная часть генератора (числитель в (39)) обеспечит формирование М-последовательности заданной длины L.
И последнее замечание. Если выполнить деление числителя на знаменатель в (39), то получим многочлен степени L–m. Это будет системная функция эквивалентного генератора М-последовательности без рекурсивной части.
Примечания: 1. В теории кодирования равенства вида (37а) называют «правилом проверки на чётность»: правая часть должна содержать чётное число единиц, сложение которых (по mod 2) даёт нуль (при n > 0).
2. Значение L по (36) реализуется только при выполнении двух условий: а) степенной полином в знаменателе (38) должен быть «неприводимым», т.е. не представляться множителями; б) этот же полином должен быть «примитивным», т.е. являться делителем двучлена 1 + z–L (деление в (39) должно быть без остатка). Таблицы таких полиномов для различных степеней m = 2, 3, 4, … можно найти в литературе по кодированию [8].
Рассмотрим все указанные варианты построения генераторов М-последовательностей на примере полиномов степени m = 4. В этом случае L= 15. Запишем все неприводимые множители полинома 1 + z–15 [8]:
1 + z–15 = (1 + z–1)∙(1 + z–1+ z–2)∙(1 + z–3+ z–4)∙(1 + z–1+ z–4)х
х(1 + z–1+ z–2+ z–3 + z–4), mod 2 . (40)
Здесь только три полинома степени m = 4 (третий, четвертый и пятый). Но последний полином является также и делителем полинома 1+z–5, см. формулу (33), т.е. он будет порождать последовательность из пяти элементов. Таким образом, для формирования М-последовательности из 15 элементов можно использовать только третий и четвертый полиномы.
Запишем системную функцию генератора в общем виде:
(41)
Соответствующая схема представлена на рис.11. Сумматор здесь – по mod 2.
Рис.11
Схема работает в двух режимах:
а) = 0 – генерация периодической М-последовательности с L=15 элементами;
б) = 1 – генерация одного периода М-последовательности.
Коэффициенты устанавливаются в соответствии с порождающим полиномом. В первом варианте (для полинома 1 + z–3 + z–4) имеем: 1 = 0, 3 = 1. Схема генерирует последовательность Сn по алгоритму:
Сn = (n) + Сn–3 + Сn–4 , mod 2, n =0, 1, … .
В результате получим (для одного периода):
Сn = (1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0) . (42)
Во втором варианте (для полинома 1 + z-1 + z–4) имеем 1=1, 3=0. Схема рис.11 формирует последовательность Сn по алгоритму:
Сn = (n) + Сn–1 + Сn–4 , mod 2, n =0, 1, … .
Результатом (для одного периода) будет:
Сn = (1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0). (43)
Как отмечалось, схему генератора можно реализовать и в нерекурсивном варианте. Для этого достаточно составить цепочку из 12 элементов сдвига z–1 и объединить ее вход и выходы в соответствии с ненулевыми позициями кода (42) или (43). Последние три позиции дополняются искусственно. Ясно, что ценность таких схем мала, особенно для больших значений L.
Для перевода генератора М-последовательности в схему запуска необходимо заменить элементы z–1 и z–L на z–N и z–LN (как на рис.9 и 10). В результате получим последовательность редких импульсов X(k):
следующих с интервалом в N тактов. При этом символические значения кода Сn (1 или 0) переводятся в однополярные импульсы.
В технических задачах наряду с однополярными импульсами используются и двухполярные. Для этого достаточно ввести промежуточное преобразование:
.
(44)
Теперь
последовательность
будет менять знак в соответствии с кодом
Сn.
Различия этих разновидностей импульсов можно заметить на примере запуска генератора «радиоимпульсов» (см. рис. 6). Однополярный запуск имитирует кодированный АМ-сигнал, а двухполярный – кодированный ФМ-сигнал.
