ЭУМК по дисциплине "Проектирование проблемно-ориентированных вычислительных средств" › Практика › Лабораторная работа "МОДУЛЬ ФАЗОСДВИГАТЕЛЯ ДЛЯ ДЕМОДУЛЯТОРА FSK-МОДЕМА"

# Электронный учебно-методический
комплекс по дисциплине
"Проектирование проблемно-ориентированных вычислительных средств"

для специальности

1-40 02 02 «Электронные вычислительные средства»

Оглавление | Программа | Теория | Практика | Контроль знаний | Об авторах

ЛАБОРАТОРНАЯ РАБОТА № 7.
МОДУЛЬ ФАЗОСДВИГАТЕЛЯ ДЛЯ ДЕМОДУЛЯТОРА FSK-МОДЕМА.

ЦЕЛЬ РАБОТЫ: Разработка алгоритма и программы фазосдвигателя и умножителя для демодулятора FSK-модема на ассемблере процессора TMS320VC5402 и отладка программы на лабораторном макете TMS320VC5402 DSP Starter Kit.

7.1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
7.1.1. Принцип работы демодулятора FSK-модема

Задачей демодулятора является определение частоты принимаемого сигнала и формирование соответствующего цифрового кода. Для этого можно применить, например, аналоговую или цифровую фильтрацию. Однако, учитывая небольшую разницу частот «1» и «0», а также малую выборку сигнала с одной частотой, данный метод является неэффективным.
Другой метод основан на перемножении двух сигналов, принятого и задержанного на некоторое время (формула произведения двух углов).
Согласно выражению (5.1) принятый из канала сигнал в момент времени t = n × Δt равен

| x(n) = cos((ωc ± δω)n + φ) . | (7.1)

Этот сигнал умножается на такой же, но задержанный на время τ = m ×Δt сигнал:
y(n) = x(n – m) = cos((ωc ± δω)(n – m) + φ) .
В результате после умножения получаем выражение для произведения косинусов, которое может быть преобразовано в сумму косинусов:

| 2 × x(t) × x(t – τ) = = 2 × cos[(ωc ± δω)t + φ] × cos[(ωc ± δω)(t – τ) + φ] = = cos[2(ωc ± δω)t – (ωc ± δω)τ + 2φ] + cos[(ωc ± δω)τ] , | (7.2)

где τ – время задержки, Δt – период дискретизации.
Если выбрать τ таким, что ωc × τ = π/2, то после низкочастотной фильтрации (ФНЧ) удвоенной несущей частоты ωc получается
cos[(ωc±δω)τ] = cos(π/2±δωτ) = –sin(±δωτ) = –[±sin(δωτ)] .
Отсюда следует, что по знаку сигнала после низкочастотной фильтрации (в блоке детектора) можно определить значение передаваемой информации. Отрицательный результат соответствует передаче «0», а положительный – «1».
Таким образом, структурная схема демодулятора имеет следующий вид (рис. 7.1):

######

###### Рисунок 7.1 – Структурная схема демодулятора FSK-модема

Для минимизации ошибки детектирования сигнала необходимо как можно точнее задать задержку π/2. Для реализации задержки можно использовать цифровой нерекурсивный фильтр с одним нулем:

| y(n) = x(n) + b × x(n – 1) . | (7.3)

Передаточная функция такого фильтра равна
H(z) = 1 + b × z –1 ,
а групповая задержка фильтра определяется как

######

Переходя к относительным частотам и задержкам, получаем

######

откуда

|  | (7.4)

В данном выражении в качестве ω используется относительная круговая частота

| ω = 2π ( fC / fД ) = 2π ( 1700 / 9600 ) = 1,1126474 рад | (7.5)

и относительная задержка D, равная

| D = ( fД / fC ) / 4 = ( 9600 / 1700 ) / 4 = 1,4117647 такта . | (7.6)

Так как задержку на один такт можно легко получить, взяв вместо x(n) значение x(n – 1), то в качестве задержки для цифрового фильтра берем дробную часть (7.6), которая равна 0,4117647.
Учитывая (7.5) и (7.6), из выражения (7.4) получаем

######

Таким образом, имеем два значения коэффициента b, равные +0,77295 и –0,90663. Из двух коэффициентов необходимо выбрать тот, который дает лучшую форму сигнала. Обычно это положительный коэффициент. Использование отрицательного коэффициента чаще всего дает на выходе функцию, смещенную относительно нуля и перевернутую. В данном примере нужно выбрать коэффициент, равный +0,77295.
Структура фильтра для выбранного примера представлена на рис. 7.2.

######

###### Рисунок 7.2 – Структура фильтра для сдвига фазы входного сигнала

Если на вход демодулятора подать сигнал, представленный на рис. 6.1, то форма сигнала на выходе умножителя (7.2) будет такой, какая показана на рис. 7.3.

######

###### Рисунок 7.3 – Вид сигнала на выходе умножителя демодулятора

На рис. 7.3 легко можно различить пять отдельных участков сигнала. Участки 1, 3 и 5 соответствуют передаче кода «1» (два «стоповых» бита, восемь битов единичных данных и снова два «стоповых» бита). Эти участки представляют собой сдвинутый вверх и модулированный частотой 2(ωc – δω) сигнал. Участки 2 и 4 соответствуют передаче кода «0» («стартовый» бит и восемь битов нулевых данных). Эти участки представляют собой сдвинутый вниз и модулированный частотой 2(ωc+δω) сигнал.

7.1.2. Замечания по программированию фазосдвигателя и умножителя

При программировании фазосдвигателя и умножителя демодулятора FSK-модема необходимо учесть следующие замечания:

- в качестве входного сигнала демодулятора используется массив данных из памяти, сформированный программой модулятора из предыдущей лабораторной работы;
- поскольку коэффициент β в уравнении (7.3) получается близким к единице или большим единицы (в зависимости от варианта задания), то прямое программирование данного уравнения невозможно;
- для физической реализации уравнения (7.3) на процессоре с фиксированной запятой его необходимо промасштабировать, разделив левую и правую части на 2m;
- показатель степени m выбирается таким, чтобы значение β/2m получилось меньше единицы;
- если коэффициент β получился близким к единице, но меньше единицы, то уравнение (7.3) также нужно промасштабировать на два, так как при соседних значениях сигнала, близких к единице, в результате вычисления получится значение, превышающее единицу (т. е. переполнение);
- если после масштабирования уравнения (7.3) все равно возникает переполнение, то показатель степени m необходимо увеличить на единицу;
- таким образом, после масштабирования и учитывая, что задержка D находится в диапазоне от 1 до 2, уравнение (7.3) преобразуется к следующему виду: y(n)/2m = x(n – 1)/2m + b/2m × x(n – 2);
- все операнды в преобразованном уравнении по модулю меньше единицы, и результат вычислений также не выходит за рамки диапазона дробных чисел с фиксированной запятой;
- если получаемые на выходе фазосдвигателя значения не выходят за пределы диапазона ±0,5, то перед умножением на входной сигнал их можно увеличить в два раза, сдвинув влево на один разряд;
- если сигнал на выходе умножителя (рис. 7.3) не выходит за пределы диапазона ±0,5, то для повышения помехоустойчивости его также можно увеличить в два раза;
- сигнал после умножителя необходимо записать в память данных в виде массива и отобразить на экране в графическом виде;
- при необходимости для отладки программы формируемый фазосдвигателем сигнал также можно записать в память данных в виде массива и отобразить на экране в графическом виде.

7.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1. Изучить теоретические сведения по теме лабораторной работы (подразд. 7.1).
2. Получить у преподавателя задание для выполнения практической части работы.
3. Согласно заданию рассчитать значения всех переменных, необходимых для работы программы.
4. Разработать алгоритм работы программы.
5. Написать, оттранслировать, отладить и выполнить программу.
6. Продемонстрировать результат трансляции и работы программы преподавателю.
7. Оформить и защитить отчет по лабораторной работе.

7.3. СОДЕРЖАНИЕ ОТЧЕТА

1. Цель работы и исходные данные.
2. Используемые аналитические формулы и выполненные расчеты.
3. Алгоритм работы программы.
4. Листинг программы с комментариями.
5. Результат работы программы.
6. Выводы по работе.

7.4. КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Назначение демодулятора модема.
2. Принцип работы демодулятора FSK-модема.
3. Назначение фазосдвигателя демодулятора.
4. Расчет коэффициента фильтра фазосдвигателя.
5. Бит режима умножения дробных чисел.
6. Счетчик повторения блока команд.
7. Команды управления битами состояния.
8. Команды загрузки данных в аккумулятор.
9. Команды загрузки регистров.
10. Команды умножения данных.
11. Команды умножения данных со сложением.
12. Команды для организации линии задержки данных.
13. Команды сохранения данных.
14. Команды пересылки данных.
15. Команды организации циклов.

Оглавление | Программа | Теория| Практика | Контроль знаний | Об авторах
© БГУИР , 2012