close

Вход

Забыли?

вход по аккаунту

?

Ivanova Proshetshkina Cifrovaya obrabotka signalov

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ
БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ
Иванова В. Г., Прошечкина Н. В.
ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ
Методическая разработка
к лабораторным занятиям для студентов-бакалавров
дневной и заочной формы обучения
Самара - 2015
Федеральное агентство связи
Государственное образовательное учреждение высшего
профессионального образования
«Поволжский государственный университет
телекоммуникаций и информатики»
Кафедра радиосвязи, радиовещания и телевидения
Иванова В.Г., Прошечкина Н.В.
ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ
Методическая разработка
к лабораторным занятиям для студентов – бакалавров
дневной и заочной формы обучения
Самара
ПГУТИ
2015г.
2
УДК 621.391
И-20
Рекомендовано к изданию Методическим советом ПГУТИ.
Протокол №38 от 24.06.15
Иванова В.Г.
Цифровая обработка сигналов [Текст]: методическая разработка к лабораторным занятиям
для студентов-бакалавров дневного и заочного обучения / В.Г.Иванова, Н.В.Прошечкина –
Самара: ИУНЛ ПГУТИ, 2015. -145с.
Методическая разработка содержит пять лабораторных работ:
1.Исследование дискретизации аналоговых сигналов,
2.Исследование квантователей дискретного сигнала,
3.Исследование цифрового резонатора,
4.Исследование цифрового режекторного фильтра,
5.Исследование цифровых генераторов.
Лабораторные работы имеют приложения с кратким изложением теоретического материала и программами выполнения работ в среде Scilab.
Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Поволжский государственный университет телекоммуникаций и информатики»
Иванова В.Г., Прошечкина Н.В.
2015
3
Работа №1
Исследование дискретизации аналоговых сигналов
1. Цель работы
Моделирование процесса дискретизации, исследование спектра сигналов на входе и выходе дискретизатора, наблюдение эффектов наложения и размножения спектра сигнала при
дискретизации.
2. Литература
1. Приложение А к лабораторной работе №1.
2. Конспект лекций по курсу «Цифровая обработка сигналов»
3. В.Г.Иванова, А.И.Тяжев. Цифровая обработка сигналов и сигнальные процессоры,
Самара, 2008г.
3. Подготовка к лабораторной работе
Изучите указанную в разделе 2 литературу и ответьте на контрольные вопросы.
4. Контрольные вопросы
1. Что такое дискретизация аналогового сигнала? Начертите временные диаграммы синусоидального сигнала на входе и выходе дискретизатора в случае, когда частота синусоидального колебания меньше половины частоты дискретизации.
2. Начертите спектральные диаграммы синусоидального сигнала на входе и выходе дискретизатора в случае, когда частота синусоидального колебания меньше половины частоты
дискретизации.
3. Как влияет на спектр дискретной синусоиды увеличение частоты дискретизации при
неизменной частоте аналогового сигнала?
4. Как влияет на спектр дискретной синусоиды увеличение частоты аналогового сигнала
при неизменной частоте дискретизации?
5. Как определить амплитудный спектр на выходе дискретизатора, если спектр входного
аналогового сигнала содержит несколько спектральных составляющих?
6. В чем сущность эффекта наложения спектров? Каким образом можно уменьшить
ошибку наложения?
7. Начертите амплитудный спектр дискретной синусоиды, если частота аналогового синусоидального колебания на входе дискретизатора выше половины частоты дискретизации.
8. Из каких условий выбирается частота дискретизации модулированного колебания, если результатом последующей цифровой обработки должно быть выделение модулирующего
колебания?
5. Содержание работы
1. Исследование процесса дискретизации аналогового синусоидального сигнала и процесса восстановления аналогового сигнала из дискретного
1.1. Сформируйте аналоговый синусоидальный сигнал
x t X sin 2 F t ,
где X – амплитуда, F – частота, t – время.
1.2. Для дискретизации аналогового сигнала сформируйте периодическую последовательность единичных отсчетов u t с интервалом дискретизации T .
d
1.3. Получите дискретный сигнал
xd t
x t u t.
4
1.4. Методом быстрого преобразования Фурье (БПФ) определите массивы отсчетов
s d сигналов
s fft x , s d
спектра аналогового s и дискретного
fft x d .
1.5. Исследуйте влияние частоты сигнала F и частоты дискретизации Fd на временные и
спектральные диаграммы аналоговой и дискретной синусоид.
1.6. Восстановите аналоговый сигнал из дискретного.
Результатом эксперимента должны быть
временные диаграммы:
- аналогового сигнала на входе дискретизатора x(t),
- вспомогательного сигнала u(t) в виде периодической последовательности единичных
отсчетов, следующих с периодом, равным интервалу дискретизации,
- дискретного сигнала xd(t) ,
- аналогового сигнала, восстановленного из дискретного;
спектральные диаграммы:
- аналогового сигнала на входе дискретизатора s,
- дискретного сигнала на выходе дискретизатора sd.
Данные для выполнения п.1.1- п.1.6 приведены в таблице 1
В таблице задаѐтся два значения частоты. Это означает, что эксперимент должен быть
выполнен сначала при первом, а потом при втором значении этого параметра.
Для наглядности при выводе на экран монитора временных диаграмм используется не
общее количество расчетных точек N, выбранное с учѐтом необходимого разрешения при
построении спектральных диаграмм, а меньшее количество, равное imax.
Таблица 1. Данные для выполнения п.1.1-п.1.6
Бригада
Значения параметров
X
F, МГц
Fd, МГц
N
imax
1
1
1,
10
8
213
2000
2
2
2,
12
16
213
1000
3
0.5
0.25, 1.5
2
214
5000
4
0.5
0.5,
6
8
213
3000
5
1
0.5,
5
4
214
5000
6
1
0.5,
10
8
214
3000
2. Исследование процесса дискретизации аналогового сигнала в виде последовательности прямоугольных импульсов и процесса восстановления аналогового сигнала из дискретного
2.1. Сформируйте аналоговый сигнал x(t) в виде случайной последовательности прямоугольных импульсов (элементарных посылок) с минимальным значением Xmin, максимальным значением Xmax, длительностью посылки T0 .
2.2. Для дискретизации аналогового сигнала сформируйте периодическую последовательность единичных отсчетов u t с интервалом дискретизации T .
d
2.3. Получите дискретный сигнал
xd t
x t u t.
5
2.4. Методом быстрого преобразования Фурье (БПФ) определите массивы отсчетов
s d сигналов
s fft x , s d
спектра аналогового s и дискретного
fft x d .
2.5. Восстановите аналоговый сигнал из дискретного.
2.6. Исследуйте влияние частоты дискретизации на искажения аналогового сигнала, восстановленного из дискретного.
Результатом эксперимента должны быть временные диаграммы:
- аналогового сигнала на входе дискретизатора,
- вспомогательного сигнала в виде периодической последовательности единичных отсчетов, следующих с периодом, равным интервалу дискретизации,
- дискретного сигнала,
- аналогового сигнала, восстановленного из дискретного;
спектральные диаграммы:
- аналогового сигнала на входе дискретизатора,
- дискретного сигнала на выходе дискретизатора.
Для наглядности при выводе на экран монитора временных диаграмм используется не
общее количество расчетных точек N, выбранное с учѐтом необходимого разрешения при
построении спектральных диаграмм, а меньшее количество, равное imax.
Данные для выполнения п.2.1-п.2.6 приведены в таблице 2.
3. Исследование процесса дискретизации аналогового модулированного сигнала и процесса восстановления аналогового сигнала из дискретного
Таблица 2. Данные для выполнения п.2.1-п.2.6
Бригада
Xmin
Xmax
T0, мкс
Fd, МГц
N
imax
1
-1
1
0.50
12
214
8000
2
0
2
0.25
24
214
3000
3
-3
3
2
4
214
8000
4
0
0.5
1
8
213
5000
5
-0.6
0.6
1
6
215
9000
6
0
0.7
0.33
18
214
3000
3.1. Сформируйте аналоговый модулирующий сигнал x(t) в виде случайной последовательности прямоугольных импульсов (элементарных посылок) с минимальным значением
Xmin, максимальным значением Xmax,с длительностью посылки T0, количеством расчетных
точек N.
3.2. Сформируйте модулированный сигнал, умножив модулирующий сигнал x(t) на синусоидальную несущую
xs t
x t sin 2 f 0 t ,
где f0 – частота несущей.
3.3. Для дискретизации аналогового сигнала сформируйте периодическую последовательность единичных отсчетов u t с интервалом дискретизации Td .
3.4. Получите дискретный сигнал
6
xd t
x t u t.
3.5. Методом быстрого преобразования Фурье (БПФ) определите массивы отсчетов
спектра аналогового s и дискретного s d сигналов
s fft x , s d
fft x d .
3.6. Восстановите аналоговый сигнал из дискретного.
3.7. Исследуйте влияние частоты несущей на временные и спектральные диаграммы
сигнала на выходе дискретизатора.
Результатом эксперимента должны быть временные диаграммы:
- аналогового сигнала на входе дискретизатора,
- вспомогательного сигнала в виде периодической последовательности единичных отсчетов, следующих с периодом, равным интервалу дискретизации,
- дискретного сигнала,
- аналогового сигнала, восстановленного из дискретного;
спектральные диаграммы:
- аналогового сигнала на входе дискретизатора,
- дискретного сигнала на выходе дискретизатора.
Данные для выполнения п.3.1-п.3.6 приведены в таблице 3.
Таблица 3. Данные для выполнения п.3.1-п.3.6
Бригада
Значения параметров
Xmin
Xmax
T0,мкс
f0, МГц
Fd, МГц
N
imax
1
0
1
0.50
9
12
214
8000
2
0
2
0.25
18
24
214
3000
3
0
3
2
9
4
214
8000
4
0
0.5
1
10
8
213
5000
5
0
0.6
1
10.5
6
215
9000
6
0
0.7
0.33
13.5
18
214
3000
6. Содержание отчета
Отчет должен содержать:
1. Временные и спектральные диаграммы сигналов на входе и выходе дискретизатора
при действии на входе:
- синусоидального колебания, частота которого меньше половины частоты дискретизации,
- синусоидального колебания, частота которого больше половины частоты дискретизации,
- случайной последовательности прямоугольных импульсов,
- сигнала, модулированного случайной последовательностью прямоугольных импульсов.
2. Выводы о влиянии частоты сигнала и частоты дискретизации на спектр дискретного
сигнала и искажения аналогового сигнала, восстановленного из дискретного для всех видов
сигналов на входе дискретизатора.
7
7. Методические указания по выполнению работы
Лабораторная работа выполняется в программной среде SCILAB. Откройте программу
scilab - 5.5.2. Появится командное окно приложения. Окно содержит меню, панель инструментов и рабочую область. Признаком того, что система готова к выполнению команды, является наличие знака приглашения (горизонтальной стрелки), после которого расположен
мигающий курсор.
Щелчком левой кнопки мыши откройте Инструменты → Текстовый редактор SciNotes.
Появится окно для редактирования. Из редактора откройте файл Diskret1 (File-Open..Рабочий стол – ЦОС в Scilab – Diskret1). Текст программы приведѐн в Приложении Б. Появится текст программы с комментариями, которые вводятся с использованием знака //.
В строках 7-11 осуществляется ввод исходных данных для моделирования.
В строках 16-19 устанавливается временной интервал между двумя соседними расчетными точками на оси времени и определяется количество расчѐтных точек в периоде синусоидального сигнала и в интервале дискретизации.
После начальной установки в цикле по порядковому номеру расчетной точки i формируется аналоговый синусоидальный сигнал x(i), последовательность единичных отсчетов
u(i) и дискретная синусоида xd(i).
Затем определяется спектр аналоговой s и дискретной sd синусоид.
В строках 43-50 в цикле по порядковому номеру отсчѐта спектра k осуществляется восстановление аналоговой синусоиды из дискретной путем выделения из спектра дискретного
сигнала sd(k) части sv(k), соответствующей спектру аналогового сигнала и находящейся в
интервале изменения k от нуля до значения k1. Величина k1 соответствует половине частоты
дискретизации.
Затем путем обратного быстрого преобразования Фурье восстанавливается аналоговый
сигнал (строка №51).
Остальные команды программы формируют временные и спектральные диаграммы.
Затем в цикле по порядковому номеру расчетной точки i формируются
- аналоговая синусоида (строка 28),
- последовательность единичных отсчетов (строки 30-33),
- дискретная синусоида (строка 35).
Определяется спектр аналоговой (строка 38) и дискретной (строка 40) синусоид.
Для восстановления аналоговой синусоиды из дискретной сначала находится номер гармоники спектра k1, соответствующий половине частоты дискретизации (строка 42).
Затем из отсчетов спектра дискретного сигнала sd с номерами k= 1,2,..k1 формируется
спектр sv, соответствующий аналоговому сигналу (строки 43-49) , и путем обратного быстрого преобразования Фурье находится восстановленный аналоговый сигнал (строка 50).
Последующая часть программы обеспечивает построение временных и спектральных
диаграмм.
Перед запуском программы рассчитайте по данным таблицы 1 частоты первой пятѐрки
спектральных составляющих спектра дискретной синусоиды. Рассчитанные значения сведите в таблицу 4.
Таблица 4
F
МГц
Частоты составляющих спектра
дискретного сигнала в МГц
Fd
МГц
f1
f2
f3
f4
f5
8
В первую строку таблицы введите первое значения частоты синусоиды F и частоты
дискретизации Fd из таблицы 1 и рассчитайте частоты f1 …f5 по формуле
kFd
F
при k
= 0, 1, 2. Частоты должны быть размещены в таблице в порядке возрастания.
Во вторую строку таблицы запишите значение частоты синусоиды F, которое в два раза
меньше значения в первой строке таблицы, а частоту дискретизации Fd, такую же, как в
первой строке. Рассчитайте частоты f1 …f5 .
В третьей строке таблицы должно быть значение частоты синусоиды F, такое же, как во
второй строке, а значение частоты дискретизации Fd в два раза меньше, чем в двух предыдущих строках. Рассчитайте частоты f1 …f5 .
По данным расчета постройте спектральные диаграммы аналоговых и дискретных синусоид. При построении спектра дискретной синусоиды используйте относительный масштаб по оси ординат.
В четвѐртую строку таблицы 4 введите второе значение частоты аналоговой синусоиды
F и значение частоты дискретизации Fd из таблицы 1. По формуле
kFd
F
рассчитайте
частоты составляющих спектра дискретного сигнала при k=0, 1, 2, 3. Расположите частоты в
порядке возрастания и первые пять значений перенесите в таблицу 4. Постройте спектральные диаграммы аналоговой и дискретной синусоиды.
Введите в программу Diskret1 исходные данные из таблицы 1, задав первое значение
частоты F. Запустите программу (Выполнить→Сохранить и выполнить).
Появится графическое окно, подобное тому, которое приведено на рисунке 1. Сверьте
полученные спектральные диаграммы с построенными по результатам, приведѐнным в таблице 4. Обратите внимание на то, что аналоговая синусоида, восстановленная из дискретной
имеет ту же частоту, что и аналоговая синусоида на входе дискретизатора.
Полученные временные и спектральные диаграммы следует поместить в отчет по лабораторной работе. Для этого скопируйте графическое окно в буфер обмена (Файл → Копировать в буфер обмена), а из буфера обмена в Word или Paint.
Повторите эксперимент при других значениях F и Fd, приведенных в таблице 4, наблюдая за изменением спектра дискретной синусоиды.
9
Рисунок 1. Временные и спектральные диаграммы аналоговой
и дискретной синусоид при F<Fd/2
Запишите в отчет вывод о влиянии частоты сигнала F и частоты дискретизации Fd на
спектр дискретной синусоиды.
Введите в программу второе значение частоты аналоговой синусоиды из таблицы 1 и запустите программу. Появится графическое окно, подобное тому, что приведено на рисунке 2.
Убедитесь в том, что частоты спектральных составляющих спектра дискретной синусоиды соответствуют рассчитанным значениям из таблицы 4.
Обратите внимание на то, что частота аналоговой синусоиды, восстановленной из дискретной, отличается от частоты аналоговой синусоиды на входе дискретизатора. Полученные
временные и спектральные диаграммы перенесите в отчет по лабораторной работе.
Запишите в отчет вывод о несоответствии частоты восстановленной синусоиды частоте
аналоговой синусоиды на входе дискретизатора и причине этого.
10
Рисунок 2. Временные и спектральные диаграммы аналоговой
и дискретной синусоид при F>Fd/2
Для выполнения п.2.1 - п.2.6 задания откройте программу Diskret2.sce Текст программы
приведѐн в Приложении В. Эта программа отличается от предыдущей только видом сигнала,
который подвергается дискретизации. Вместо синусоиды формируется случайная последовательность элементарных посылок – прямоугольных импульсов.
Формирование посылок осуществляется в цикле по порядковому номеру расчетной точки i.
Сначала моделируется последовательность единичных отсчѐтов I(i), период следования
которых равен длительности элементарной посылки (строки 31 – 34). Используемая при
моделировании функция floor возвращает целую часть аргумента.
В строке 35 задаѐтся случайное число в диапазоне от нуля до единицы.
Затем на границе элементарной посылки при I(i)=1 задаѐтся значение элементарной
посылки в зависимости от значения случайного числа: если r< 0.5, то элементарной посылке
присваивается значение Xmin. В противном случае элементарной посылке присваивается
значение Xmax. Присвоенное значение остаѐтся неизменным до появления следующего единичного отсчѐта.
Введите в программу исходные данные из таблицы 2 и запустите еѐ.
Появится графическое окно, подобное тому, что представлено на рисунке 2.
11
Рисунок 2. Временные и спектральные диаграммы случайной
последовательности прямоугольных импульсов до и после дискретизации
Сравните аналоговый сигнал, восстановленный из дискретного, с исходным аналоговым
сигналом. Сравните спектры исходного аналогового и дискретного сигналов. Определите
причину искажений восстановленного сигнала и укажите еѐ в отчете.
Уменьшите частоту дискретизации в два раза, пронаблюдайте временные и спектральные диаграммы и запишите в отчет вывод о влиянии частоты дискретизации на искажения
восстановленного сигнала.
Для выполнения п.3.1 - п.3.7 воспользуйтесь программой Diskret3.sce (Приложение Г).
Эта программа отличается от предыдущей тем, что дискретизации подвергается модулированный сигнал xs(t), а случайная последовательность элементарных посылок x(t) является
модулирующим сигналом. Модуляция осуществляется путѐм умножения функции x(t) на
функцию, описывающую синусоидальную несущую, (строка 42). В зависимости от вида модулирующего сигнала формируется сигнал или амплитудной, или фазовой манипуляции.
Рассчитайте частоты спектра дискретного сигнала, соответствующие частоте аналоговой несущей и запишите значения 5 частот, начиная с минимальной, в таблицу 5 в порядке
их возрастания.
Таблица 5
Частота
несущей
аналогового
сигнала f0, МГц
Fd,
Частоты спектра дискретного сигнала, соответствующие частоте несущей f0
аналогового сигнала, МГц
МГц
f01
f02
f03
f04
f05
12
Расчет выполняется по формуле
kFd
f0
при k=0, 2, 3. Расположите рассчитанные
частоты в порядке возрастания и перенесите в таблицу первые пять частот.
Введите в программу Diskret3 значения параметров из таблицы 3 и запустите программу.
Появится командное окно, подобное тому, что представлено на рисунке 3. Обратите
внимание на равномерность сгустков спектра дискретного сигнала и на отличие частоты несущей восстановленного сигнала от частоты несущей модулированного сигнала на входе
дискретизатора.
Сравните рассчитанные частоты с размноженными в процессе дискретизации частотами
несущей аналогового сигнала.
Рисунок 3. Временные и спектральные диаграммы модулированного сигнала на входе и
выходе дискретизатора
13
ПРИЛОЖЕНИЕ А
к лабораторной работе №1
Дискретизация непрерывных сигналов
1. Спектр дискретной косинусоиды. Эффект размножения спектра
Дискретизацией называется замена непрерывного сигнала дискретными отсчетными
значениями (отсчетами), взятыми через определенный интервал времени - интервал дискретизации TД.
На рисунке П.1 показаны косинусоидальный сигнал x(t) и вспомогательное колебание
u(t), представляющее последовательность коротких прямоугольных импульсов с периодом
TД и длительностью .
x(t)
t
€€€€€€€€€€€€€€€€€ U
u(t)
t
τ
TД
xД(t)
t
Рисунок П.1. Дискретизация
косинусоиды
Дискретный сигнал
x Д (t)
с математической точки зрения можно рассматривать как
результат перемножения функций x(t) и u ( t ) .
Периодическая функция u(t) может быть представлена рядом Фурье
u(t) C
0
C cos(kωд t),
k 1 k
(П.1)
где С0 и Сk - коэффициенты ряда Фурье, определяемые следующими соотношениями:
C
C
k
0
2 2
Udt
Tд 0
4 2
U cos k д t dt
T 0
д
U
Tд
,
sin k
2U
k
Tд
,
14
д 2 Fд
2
Tд
.
После подстановки последних соотношений в (П.1) получим
sin k
u(t ) U
Tд
1 2
k 1 k
Tд
cos(k д t )
.
(П.2)
Tд
Из (П.2) видно, что амплитуда k-ой гармоники вспомогательного колебания u(t) пропорциональна функции sin(x)/x, где x =
= k π τ / TД. При x = 0 эта функция равна единице. Первый нуль функции имеет место при x =
π. Это означает, что при τ / TД = 0.001 амплитуда 1000-ой гармоники равна нулю. Однако
при k 100 амплитуда k-ой гармоники отличается от амплитуды первой гармоники не более чем на 1.6%.
В этом случае можно воспользоваться приближенным соотношением
u(t) U
TД
(1 2
km
k 1
cos(k д t ))
(П.3)
где km – максимальный номер гармоники, амплитуда которой отличается от амплитуды
первой гармоники на заданную допустимую величину.
При x ( t ) X cos( t ) сигнал на выходе дискретизатора определяется соотношением
cos
xд t
x t u t
XU
t
km
k 1
Tд km
cos k д
k 1
cos k д
t
(П.4)
t
Из него видно, что спектр дискретной косинусоиды содержит спектральную составляющую на частоте входного аналогового сигнала и множество составляющих на частотах
k
Д
. Причем амплитуды всех спектральных составляющих в пределах сделанного
допущения одинаковы и пропорциональны амплитуде входного аналогового сигнала. Амплитудный спектр аналогового и дискретного косинусоидальных сигналов показан на рисунке 2.
15
a
f
0 F
FД
б
2 FД
f
0 F
FД
2FД
Рисунок 2 – Спектр косинусоиды до (а) и после (б) дискретизации
Из рисунка видно, что в результате дискретизации возникает размножение спектра
аналогового сигнала.
Спектр дискретной косинусоиды представляет собой периодическую функцию частоты,
период которой равен частоте дискретизации.
2. Дискретизация периодического аналогового сигнала. Эффект наложения спектров.
Выбор частоты дискретизации
Пусть аналоговый сигнал представляет сумму двух гармонических составляющих
x1 t x 2 t ,
1t , x 2 t X 2 cos 2 t .
x t u t
x1 t u t x 2 t u t .
x t
где x
1 t
X1 cos
Тогда x
Д t
В последнем соотношении первое произведение определяет спектр сигнала
x1 t
на
выходе дискретизатора, а второе произведение - спектр сигнала x 2 t на выходе дискретизатора. Этот вывод распространяется на любое число составляющих входного сигнала.
Вывод: спектр дискретного сигнала, полученного путем дискретизации аналогового
сигнала в виде суммы гармонических составляющих, определяется путем суперпозиции
спектров, соответствующих каждой гармонической составляющей исходного сигнала.
На рисунке П.3 показан амплитудный спектр аналогового периодического сигнала до и
после дискретизации при двух разных значениях частоты дискретизации. В спектре сигнала
до дискретизации присутствуют две спектральные составляющие с частотами F1=ω1 /(2π) и
Fmax=5F1.
Чтобы сформировать спектр дискретного сигнала нужно для каждой из этих составляющих найти составляющие спектра дискретного сигнала, которые она порождает, как при нахождении спектра дискретной косинусоиды. При этом нужно учитывать значение амплитуды исходной составляющей спектра аналогового сигнала. Результирующий спектр находится
методом суперпозиции.
Из рисунка П.3б видно, что если из спектра дискретного сигнала выделить составляющие, соответствующие спектру исходного аналогового сигнала, то таким образом можно
восстановить аналоговый сигнал из дискретного. Такую селекцию можно осуществить с помощью фильтра, АЧХ которого показана на рисунке.
В восстановленном сигнале будут отсутствовать искажения, если
АЧХ фильтра равномерна в интервале частот от F1 до Fmax,
ФЧХ линейна в том же диапазоне частот,
16
коэффициент передачи равен нулю на частотах F
FД
Fmax .
a)
0 F1
Fmax
0
Fmax FД-Fmax
0
АЧХ
F
б)
FД
в)
FД+Fmax
2 FД
FД-Fmax Fmax FД 2FД-Fmax FД+Fmax 2FД
2FД+Fmax F
3FД
F
Рисунок П.3. Спектр периодического аналогового сигнала до дискретизации (а), после дискретизации при FД>2Fmax (б), после дискретизации при FД<2Fmax (в)
Реализовать такой фильтр можно только при условии
FД
Fmax
Fmax .
Из приведенного неравенства вытекает известное соотношение Котельникова, позволяющее выбрать частоту дискретизации
(П.5)
FД 2Fmax .
Если это условие не выполняется, то возникает наложение спектров. Эффект наложения спектров иллюстрируется рисунком П.3.в. Из него видно, что в полосу пропускания
фильтра неизбежно попадает спектральная составляющая, которой нет в спектре исходного
аналогового сигнала. Это вызывает искажение восстановленного сигнала.
3. Дискретизация апериодических аналоговых сигналов
 ) апериодического аналогового сигнала x(t) определяется с
Известно, что спектр S(
использованием прямого преобразования Фурье
 )
S(
x(t) e
j t
dt
(П.6)
Для определения дискретного сигнала сначала преобразуем соотношение (П.3)
u(t)
U
TД
1 2
cos(k
k 1
Д t)
U
TД
e
jk
Дt
k
Воспользовавшись прямым преобразованием Фурье, найдем спектр дискретного сигнала
17
S
j t
x t u t e
U
TД
x t e
j
U
k
Д
t
TД
x t
e
jk
Д
t
e
j t
dt
k
dt.
k
Сравнивая последнее соотношение с (П.6), выразим спектр дискретного сигнала через
спектр аналогового сигнала
S Д ( )
U
TД k
S (
k Д ).
(П.7)
Таким образом, спектр дискретного сигнала с точностью до постоянного сомножителя
Uτ / TД равен сумме спектров аналогового сигнала, сдвинутых вдоль оси частот на kωД. На
рисунке П.4 показаны спектры апериодического аналогового сигнала до и после дискретизации как в области положительных, так и в области отрицательных частот. Их отличие от линейчатых спектров периодического аналогового сигнала состоит в том, что спектральная
плотность апериодического сигнала представляет собой непрерывную функцию частоты.
Как видно из рисунка при FД < 2Fmax имеет место эффект наложения сгустков спектра
дискретного сигнала.
В случае, когда нельзя по каким - либо причинам увеличить частоту дискретизации сигнала с ограниченным спектром, или аналоговый сигнал имеет неограниченный спектр, для
уменьшения ошибки наложения спектров требуется предварительное ограничение спектра
аналогового сигнала. Из рисунка П.5 видно, что при этом ошибка наложения уменьшается.
а)
-Fmax
0
-Fmax
0
-Fmax
0
Fmax
F
б)
Fmax FД-Fmax
FД
FД+Fmax
в)
FД-Fmax
FД
FД+Fmax
Рисунок П.4. Спектры апериодического аналогового сигнала до дискретизации (а), после дискретизации при отсутствии (б) и при наличии (в) наложения спектров
18
-Fmax
0
Fmax
-Fmax
0
FД-Fmax
F
FД
FД+Fmax
F
Рисунок П.5. Уменьшение ошибки наложения за счет
ограничения спектра аналогового сигнала
4. Дискретизация узкополосных модулированных сигналов
Особый интерес представляет случай дискретизации модулированных сигналов, когда
результатом цифровой обработки должно быть выделение модулирующей функции. Покажем, что при этом частота дискретизации может быть выбрана ниже частоты несущей. На
рисунке П.6 показан спектр аналогового синусоидального сигнала с частотой f0 > FД до (а)
и после (б) дискретизации. Спектр дискретного сигнала получен в соответствии с соотношением (П.4).
0
0
FД/2
F0 = f0-FД
2FД-f0
FД
f0
f
FД
f0
3FД-f0
Рисунок П.6. Спектр дискретной синусоиды до (а) и после (б)
дискретизации при f0>FД
Как и в случае, представленном на рисунке П.2 при F < FД / 2, спектр дискретного сигнала представляет собой периодическую функцию частоты.
Важно отметить, что в интервале частот 0 f FД / 2 - интервале Котельникова - появляется составляющая спектра с частотой F0 = f0-FД, а вблизи частот kFД имеются спектральные составляющие, отстоящие от них на величину F0.
На рисунке П.7 показаны временные диаграммы синусоидального сигнала x(t) до (пунктир) и после дискретизации xд(t) при дискретизации с частотой, которая меньше частоты
сигнала.
19
1
0.5
x( t )
xd( t )
0
0.5
1
0
0.2
0.4
0.6
0.8
1
t
Рисунок П.7. Синусоидальное колебание на входе и выходе
дискретизатора при дискретизации с частотой,
меньшей частоты входного сигнала
Из рисунка видно, что частота дискретного синусоидального сигнала существенно
меньше частоты сигнала на входе дискретизатора. Она равна частоте спектральной составляющей спектра дискретного сигнала, которая попадает в интервал Котельникова.
На рисунке П.8 изображен спектр модулированного колебания до и после дискретизации. Из него видно, что
в интервале Котельникова существует спектр, который по форме не отличается от
спектра исходного аналогового сигнала, следовательно, закон модуляции сигнала после дискретизации остался неизменным, изменилась только частота несущей (F0 вместо f0),
частота дискретизации должна удовлетворять условию
FД 2 F .
(П.8)
Последнее условие является необходимым, но недостаточным для обоснованного выбора частоты дискретизации.
ΔF
a
0
FД/2
б
FД
f0
FД
f0
f
FД/2
Рисунок П.8. Спектр модулированного сигнала до и после (б)
дискретизации
При обработке сигналов в реальном масштабе времени стремятся выбрать минимально
возможное значение частоты дискретизации для того, чтобы увеличить время обработки, которое не должно превышать период дискретизации. На рисунке П.9 показан случай, когда
FД
2 F
и сгустки спектра равномерно расположены вдоль оси частот. При этом частота
несущей, приведенная в интервал Котельникова, равна
F0
FД 4 .
20
Для того чтобы получить такое значение приведенной частоты несущей дискретного
сигнала, частота несущей аналогового сигнала
зации или ее гармоники на частоту
FД 4 .
f 0 должна отличаться от частоты дискрети-
a)
0
FД/2
FД
f0
f
FД
f0
f
б)
0
F0
FД/2
Рисунок П.9. Спектр сигнала до и после дискретизации при
F0 = FД / 4
Спектральные диаграммы, приведенные на рисунках П.10 и П.11, показывают, что если
это условие не выполняется, то сгустки спектра распределяются по оси частот неравномерно,
в результате чего возникает наложение спектров, приводящее к искажению сигнала.
a)
0
FД/2
FД
f0
FД
f0
f
б)
0
F0
FД/2
f
Рисунок П.10 – Спектр сигнала до и после дискретизации
при F0 < FД /4
21
a)
0
FД/2
FД
f0
f
FД
f0
f
б)
0
F0 FД/2
Рисунок П.11. Спектр сигнала до и после дискретизации при
F0 > FД/4
Таким образом, второе условие выбора частоты дискретизации выражается следующим
соотношением
f0
FД
k
1
4
,
(П.9)
где k 0,1,2..
В ряде случаев только часть спектра колебания, действующего на входе дискретизатора,
принадлежит полезному сигналу.
Например, это имеет место при использовании одного аналогового фильтра для нескольких сигналов с разной шириной спектра и последующего применения разных цифровых фильтров для выделения каждого сигнала. Этот случай показан на рисунке П.12.
Из рисунка видно, что в данном случае можно разрешить наложение сгустков спектра
там, где отсутствует спектр полезного сигнала, учитывая последующую селекцию сигнала
цифровым фильтром.
При этом вместо условия FД > 2 ΔF достаточно выполнить условие
FД > ΔF + ΔFс
(П.10)
22
ΔF
a
ΔFc
.
б
0
0
F0
FД/2
FД
f0
f
FД/2
FД
f0
f
ΔF+ ΔFc
Рисунок П.12 – Спектры сигнала до и после дискретизации при FД = ΔF+ ΔFc
23
ПРИЛОЖЕНИЕ Б к лабораторной работе №1
Программа моделирования процесса дискретизации аналоговой синусоиды и еѐ восстановления из дискретной
001// Программа моделирования процесса дискретизации
002// аналоговой синусоиды и еѐ восстановления из дискретной
003// Имя программы "Diskret1.sce"
004//
005// Ввод исходных данных
006//
007 X=1; //Амплитуда аналоговой синусоиды
008 F=0.5; //Частота аналоговой синусоиды
009 Fd=8; //Частота дискретизации
010 N=2^14; // Количество расчетных точек
011 imax=3000; // Количество расчетных точек, используемых
012
// при построении временных диаграмм
013 //
014 // Расчет количества расчетных точек в периоде сигнала и
015 // в интервале дискретизации
016 delta_t=1/1024; //Временной интервал между двумя
017 //соседними расчетными точками на оси времени
018 is=1/(F*delta_t); //Количество расчетных точек в периоде
сигнала
019 id=1/(Fd*delta_t); // Количество расчетных точек
020
// в интервале дискретизации
021 //Начальная установка (обнуление массивов)
022 x=zeros(1:N);
023 u=zeros(1:N);
024 xd=zeros(1:N);
025 sv=zeros(1:N);
026 xv=zeros(1:N);
027 for i=1:N
028 //Формирование аналоговой синусоиды
029 x(i)=X*sin(2*%pi*i/is);
030 //Формирование последовательности единичных отсчетов
031 if (i/id)-floor(i/id)==0 then
032
u(i)=1;
033
else u(i)=0;
034 end
035 //Дискретизация аналоговой синусоиды
036 xd(i)=x(i)*u(i);
037 end;
038 //Определение спектра аналоговой синусоиды
039 s=fft(x);
040 //Определение спектра дискретной синусоиды
041 sd=fft(xd);
042 //Восстановление аналоговой синусоиды из дискретной
043 k1=floor(0.5*N/id);
044 for k=1:N
045 if k<k1 then
046
sv(k)=sd(k);
047
else
24
048
sv(k)=0;
049 end
050 end
051 xv=ifft(sv);
052 //Формирование временных и спектральных диаграмм
053 x0=zeros(1:imax);
054 u0=zeros(1:imax);
055 xd0=zeros(1:imax);
056 xv0=zeros(1:imax);
057 for i0=1:imax
058 x0(i0)=x(i0);
059 u0(i0)=u(i0);
060 xd0(i0)=xd(i0);
061 xv0(i0)=xv(i0);
062 end
063 kmax=5*k1;
064 k=1:kmax;
065 f=zeros(1:kmax);
066 s0=zeros(1:kmax);
067 sv0=zeros(1:kmax);
068 sd0=zeros(1:kmax);
069 f=k/(delta_t*N);
070 for k=1:kmax
071 s0(k)=s(k)*2/N;
072 sd0(k)=sd(k)*2/N;
073 end
074 clf()
075 subplot(3,2,1);
076 i0=[1:imax];
077 t=delta_t*i0;
078 plot2d(t,x0,style=[color("blue")])
079 xtitle('Аналоговая синусоида')
080 xgrid
081 subplot(3,2,2)
082 plot2d3(f,abs(s0),style=[color("blue")])
083 xgrid
084 xtitle('Спектр аналоговой синусоиды')
085 subplot(3,2,3)
086 plot2d3(t,u0)
087 xtitle('Последовательность единичных отсчетов')
088 subplot(3,2,4)
089 plot2d3(t,xd0)
090 xgrid
091 xtitle('Дискретная синусоида')
092 subplot(3,2,5)
093 plot2d(f,abs(sd0),style=[color("red")])
094 xgrid
095 xtitle('Спектр дискретной синусоиды')
096 subplot(3,2,6)
097 plot2d(t,xv0,style=[color("red")])
098 xgrid
099 xtitle('Восстановленная аналоговая синусоида')
25
ПРИЛОЖЕНИЕ В
к лабораторной работе №1
Программа моделирования процесса дискретизации случайной последовательности элементарных посылок и еѐ восстановления из дискретной
001 // Моделирование процесса дискретизации случайной
002 // последовательности прямоугольных импульсов
003 // и восстановления аналогового сигнала из дискретного
004 // Имя программы - "Diskret2".
005 //Ввод исходных данных
006 //
007 T0=2; //Длительность элементарной посылки
008 Xmax=1; //Максимальный уровень сигнала
009 Xmin=0;//Минимальный уровень сигнала
010 Fd=4;//Частота дискретизации
011 N=2^16;
//Количество расчетных точек
012 imax=8000; // Количество расчетных точек, используемых
013 //при построении временных диаграмм на экране монитора
014 delta_t=1/1024; // Интервал между соседними расчетными
015
// точками на оси времени
016 is=floor(T0/delta_t);
//Количество расчетных точек
017
//в длительности элементарной посылки сигнала
018 id=floor(1/(Fd*delta_t));
//Количество расчетных точек в
019
//интервале дискретизации
020
//Начальная установка (Обнуление массивов)
021 x=zeros(1:N);
022 u=zeros(1:N);
023 xd=zeros(1:N);
024 sd=zeros(1:N);
025 s=zeros(1:N)
026 x0=zeros(1:1);
027 x0=Xmax;
028 //Формирование аналогового сигнала в виде случайной
029 //последовательности прямоугольных импульсов
030 for i=1:N
031 if (i/is)-floor(i/is)==0 then
032 I(i)=1;
033 else I(i)=0;
034 end
035 r=rand();
036 if (I(i)==1)&(r<0.5)
037
x0=Xmin;
038 elseif (I(i)==1)&(r >=0.5)
039
x0=Xmax;
040 end
041 x(i)=x0;
042 end
043 //Формирование последовательности единичных отсчетов
044 for i=1:N
045 if (i/id)-floor(i/id)==0 then
046
u(i)=1;
047 else u(i)=0;
26
048 end
049 end
050 //Дискретизация аналогового сигнала
051 for i=1:N
052 xd(i)=x(i)*u(i);
053 end
054 //Определение спектра аналогового сигнала
055 s=fft(x);
056 //Определение спектра дискретного сигнала
057 sd=fft(xd);
058 //Восстановление аналогового сигнала из дискретного
059 k1=floor(0.5*N/id);
060 sv=zeros(1:N);
061 for k=1:N
062 if k<k1 then
063
sv(k)=sd(k);
064 else
065
sv(k)=0;
066 end
067 end
068 xv=zeros(1:N);
069 xv=ifft(sv);
070 //Формирование временных и спектральных диаграмм
071 i0=[1:imax];
072 x1=zeros(1:imax);
073 u0=zeros(1:imax);
074 xd0=zeros(1:imax);
075 xv0=zeros(1:imax);
076 for i0=1:imax
077 x1(i0)=x(i0);
078 u0(i0)=u(i0);
079 xd0(i0)=xd(i0);
080 xv0(i0)=xv(i0);
081 end
082 kmax=5*k1;
083 k=1:kmax;
084 f=zeros(1:kmax);
085 s0=zeros(1:kmax);
086 sv0=zeros(1:kmax);
087 sd0=zeros(1:kmax)
088 for k0=1:kmax
089 f(k0)=k0/(delta_t*N)
090 s0(k0)=abs(s(k0))*2/N
091 sd0(k)=abs(sd(k))*2/N
092 end
093 clf()
094 subplot(3,2,1);
095 i0=[1:imax];
096 t=delta_t*i0;
097 plot2d4(t,x1,style=[color("blue")])
098 xtitle('Аналоговый сигнал на входе дискретизатора')
099 xgrid
27
100 subplot(3,2,2)
101 plot2d3(f,s0,style=[color("blue")])
102 xgrid
103 xtitle('Спектр аналогового сигнала')
104 subplot(3,2,3)
105 plot2d3(t,u0)
106 xtitle('Последовательность единичных отсчетов')
107 subplot(3,2,4)
108 plot2d3(t,xd0)
109 xgrid
110 xtitle('Дискретный сигнал')
111 subplot(3,2,5)
112 plot2d3(f,sd0,style=[color("red")])
113 xgrid
114 xtitle('Спектр дискретного сигнала')
115 subplot(3,2,6)
116 plot2d(t,xv0,style=[color("red")])
117 xgrid
118 xtitle('Восстановленный аналоговый сигнал')
28
ПРИЛОЖЕНИЕ Г
к лабораторной работе №1
Программа моделирования процесса дискретизации модулированного сигнала и восстановления аналогового сигнала из дискретного
001 // Программа"Diskret3". Моделирование процесса
002 // дискретизации модулированного сигнала и восстановления
003 // аналогового сигнала из дискретного
004 // Ввод исходных данных для моделирования
005 T0=0.33;//Длительность элементарной посылки сигнала
006 Xmin=0;// Минимальный уровень модулирующего сигнала
007 Xmax=1; // Максимальный уровень модулирующего сигнала
008 f0=13.5;// Частота несущей
009 Fd=18; // Частота дискретизации
010 N=2^14;// Общее количество расчетных точек
011 imax=3000; // Количество расчетных точек, используемых при
012
// построении временных диаграмм
013 //
014 delta_t=1/1024; // Временной интервал на оси времени между
015
// соседними расчетными точками
016 id=floor(1/(delta_t*Fd)); // Количество расчетных точек
017
// в интервале дискретизации
018 is=floor(T0/(delta_t)); // Количество расчетных точек в элементарной
019
//посылке модулирующего сигнала
020 // Начальная установка (обнуление массивов)
021 I=zeros(1:N);
022 xs=zeros(1:N);
023 u=zeros(1:N);
024 xd=zeros(1:N);
025 x0=zeros(1:1);
026 x0=Xmax;
027 for i=1:N
028 //Формирование аналогового сигнала в виде случайной
029 //последовательности элементарных посылок
030 if (i/is)-floor(i/is)==0 then
031
I(i)=1;
032 else I(i)=0;
033 end
034 r=rand();
035 if (I(i)==1)&(r<0.5)
036
x0=Xmin;
037 elseif (I(i)==1)&(r>=0.5)
038
x0=Xmax;
039 end
040 x(i)=x0;
041 //Формирование модулированного сигнала
042 xs(i)=x(i)*sin(2*%pi*i*f0*delta_t);
043 end
044 //Формирование последовательности единичных отсчетов
045 for i=1:N
046 if (i/id)-floor(i/id)==0 then
047
u(i)=1;
29
048 else u(i)=0;
049 end
050 end
051 //Дискретизация аналогового сигнала
052 for i=1:N
053 xd(i)=xs(i)*u(i);
054 end
055 //Определение спектра аналогового сигнала
056 s=fft(xs);
057 //Определение спектра дискретного сигнала
058 sd=fft(xd);
059 //Восстановление аналогового сигнала из дискретного
060 k1=floor(0.5*N/id);
061 sv=zeros(1:N);
062 for k=1:N
063 if k<k1 then
064
sv(k)=sd(k);
065 else
066
sv(k)=0;
067 end
068 end
069 xv=zeros(1:N);
070 xv=ifft(sv);
071 //Формирование временных и спектральных диаграмм
072 i0=[1:imax];
073 xs0=zeros(1:imax);
074 u0=zeros(1:imax);
075 xd0=zeros(1:imax);
076 xv0=zeros(1:imax);
077 for i0=1:imax
078 xs0(i0)=xs(i0);
079 u0(i0)=u(i0);
080 xd0(i0)=xd(i0);
081 xv0(i0)=xv(i0);
082 end
083 kmax=5*k1;
084 k=1:kmax;
085 f=zeros(1:kmax);
086 s0=zeros(1:kmax);
087 sv0=zeros(1:kmax);
088 sd0=zeros(1:kmax);
089 f=k/(delta_t*N);
090 for k=1:kmax
091 s0(k)=s(k)*2/N;
092 sd0(k)=sd(k)*2/N;
093 end
094 clf();
095 subplot(3,2,1);
096 i0=[1:imax];
097 t=delta_t*i0;
098 plot2d(t,xs0,style=[color("blue")])
099 xtitle('Аналоговый сигнал на входе дискретизатора')
30
100 xgrid
101 subplot(3,2,2)
102 plot2d3(f,abs(s0),style=[color("blue")])
103 xgrid
104 xtitle('Спектр аналогового сигнала')
105 subplot(3,2,3)
106 plot2d3(t,u0)
107 xtitle('Последовательность единичных отсчетов')
108 subplot(3,2,4)
109 plot2d3(t,xd0)
110 xgrid
111 xtitle('Дискретный сигнал')
112 subplot(3,2,5)
113 plot2d(f,abs(sd0),style=[color("red")])
114 xgrid
115 xtitle('Спектр дискретного сигнала')
116 subplot(3,2,6)
117 plot2d(t,xv0,style=[color("red")])
118 xgrid
119 xtitle('Восстановленный аналоговый сигнал')
31
Работа №2
Исследование квантователей дискретного сигнала
1. Цель работы
Изучение алгоритмов функционирования линейных и нелинейных квантователей.
Исследование влияния параметров квантователей на выходной сигнал и шумы квантования.
2. Литература
1. Приложение А к лабораторной работе №2
2. М. С. Куприянов, Б. Д. Матюшкин. Цифровая обработка сигналов. - Санкт-Петербург:
Политехника, 2000, с.263-269.
3. Л. Р. Рабинер, Р.В. Шафер. Цифровая обработка речевых сигналов. -М.: Радио и связь,
1981, с.166-183.
4. . В.Г.Иванова, А.И.Тяжев. Цифровая обработка сигналов и сигнальные процессоры, Самара, 2008г, с.24-28.
3. Подготовка к лабораторной работе
Изучите указанную в разделе 2 литературу и ответьте на контрольные вопросы.
4. Контрольные вопросы
1. Поясните сущность операции квантования дискретных сигналов. Что такое шаг квантования? Чему равен шаг квантования при равномерном (линейном) квантовании?
2. Дайте определение характеристике квантования. Начертите характеристику линейного квантователя.
3. Что такое диапазон квантователя? К чему приводит несоответствие диапазона изменения входного сигнала диапазону квантователя (диапазон изменения сигнала больше диапазона квантователя)?
4. Поясните механизм возникновения шума квантования. Начертите график вероятностного распределения шума квантования.
Как связана дисперсия шума квантования с шагом квантования и количеством разрядов
квантователя при равномерном квантовании?
5. Как зависит отношение сигнал/шум на выходе равномерного квантователя от количества разрядов, диапазона квантователя и среднеквадратического уровня входного сигнала?
6. Начертите характеристику квантования квантователя с неравномерным шагом квантования (нелинейного квантователя).
7. Поясните сущность алгоритма функционирования нелинейного квантователя, состоящего из входного нелинейного преобразователя и линейного квантователя. Каким образом
устраняются нелинейные искажения выходного сигнала при использовании нелинейного
квантователя?
8. Чем отличается зависимость отношения сигнал/шум на выходе нелинейного квантователя от среднеквадратического уровня входного сигнала от аналогичной зависимости для
линейного квантователя?
5. Содержание работы
1.Выполните моделирование характеристики квантования линейного квантователя при
диапазоне квантователя X и двух значениях количества двоичных разрядов r. Числовые значения X и r приведены в таблице 1.
32
Таблица 1
Исходные данные для выполнения п.1, п. 2 содержания работы
Значение параметров
Х
r
№1
1
4, 10
10, 100
№2
2
4, 8
20, 200
№3
3
4, 12
30, 150
№4
4
5, 11
40, 300
№5
5
5, 10
25, 250
№6
6
5, 12
15, 350
Два значения количества двоичных разрядов r приведены в таблице через запятую. Максимальное количество отсчетов сигнала следует принять равным nmax=300.
2. Выполните моделирование характеристики квантования нелинейного квантователя и
результирующей характеристики тракта «входной нелинейный преобразователь - линейный
квантователь - выходной нелинейный преобразователь» при диапазоне квантователя X, количестве двоичных разрядов r (первое значение, приведенное в таблице) и двух значениях
коэффициента компрессии .
Числовые значения X , r и приведены в таблице 1. Два значения
приведены в таблице через запятую.
3. Определите выходной сигнал линейного квантователя при действии на его входе синусоидального сигнала с амплитудой X.
Период сигнала содержит n c=64 дискретных отсчетов. Пронаблюдайте временную диаграмму выходного сигнала при количестве разрядов r =8 и двух значениях диапазона квантователя X . Числовые значения X c и X приведены в таблице 2. Два значения X приведены в
таблице через запятую. Максимальное количество отсчетов сигнала следует принять равным
nmax = 100.
Для каждого значения X определите первые 8 спектральных составляющих входного и
выходного сигналов квантователя.
Таблица 2
Исходные данные для выполнения п.3 содержания работы
Номер бригады
Номер
бригады
№1
№2
№3
№4
№5
№6
Значения параметров
Xc
X
0.4
0.4,
1.0
0.9
1.2,
2.0
1.3
2.0,
3.0
1.8
3.0,
4.0
5
7.0,
12.0
6
9.0,
15.0
4. Выполните моделирование случайного сигнала на входе и выходе линейного квантователя и шума квантования при указанных в таблице 3 значениях среднеквадратичного
уровня сигнала Sd, диапазоне квантователя X и двух значениях количества разрядов r, которые указаны в таблице через запятую.
Таблица 3
Исходные данные для выполнения п.4 содержания работы
Номер
бригады
Sd
Значения параметров
X
r
33
№1
№2
№3
№4
№5
№6
0.1
0.2
0.4
0.4
1.0
1.6
1
2
3
4
8
12
3,
4,
5,
4,
3,
4,
9
8
10
12
10
8
5. Снимите зависимости отношения сигнал/шум S_N на выходах линейного и нелинейного квантователей от среднеквадратического уровня сигнала c при значениях X, c min , c
max , приведенных в таблице 4. Количество разрядов квантователей r = 8, коэффициент компрессии = 100.
Одновременно пронаблюдайте зависимости отношения сигнал/шум S_N от количества
разрядов квантователей при среднем значении среднеквадратического уровня сигнала
0.5
min
max
.
Таблица 4
Исходные данные для выполнения п.5 содержания работы
Номер
бригады
№1
№2
№3
№4
№5
№6
Значение параметра
c min
c max
0.0.25
0.050
0.100
0.100
0.250
0.400
0.100
0.200
0.400
0.400
1.000
1.600
X
1
2
3
4
12
15
6. Содержание отчета
Отчет должен содержать:
1. Характеристики квантования линейного и нелинейного квантователей.
2. Временные и спектральные диаграммы выходных сигналов линейного квантователя
при двух значениях диапазона квантователя и при действии на его входе синусоидального
сигнала.
3. Временные диаграммы случайных сигналов на входе и выходе линейного квантователя и временную диаграмму шума квантования.
4. Зависимость отношения сигнал/шум на выходе квантователя от среднеквадратичного
уровня входного случайного сигнала.
5. Зависимость отношения сигнал/шум на выходе линейного квантователя от количества разрядов при случайном входном сигнале.
6. Зависимость отношения сигнал/шум на выходе нелинейного квантователя от среднеквадратичного уровня входного случайного сигнала.
7. Зависимость отношения сигнал/шум на выходе нелинейного квантователя от количества разрядов при случайном входном сигнале.
8. Выводы по работе.
7. Методические указания по выполнению работы
Лабораторная работа выполняется в программной среде SCILAB. Откройте программу
scilab - 5.5.2. Появится командное окно приложения. Окно содержит меню, панель инстру-
34
ментов и рабочую область. Признаком того, что система готова к выполнению команды, является наличие знака приглашения (горизонтальной стрелки), после которого расположен
мигающий курсор.
Щелчком левой кнопки мыши откройте Инструменты → Текстовый редактор SciNotes.
Появится окно для редактирования. Из редактора откройте файл Kvant1 (File-Open -…- ЦОС
в Scilab – Kvant1). Текст программы приведѐн в Приложении Б. Программа предназначена
для формирования характеристик квантования линейного и нелинейного квантователей.
В строках 6-9 осуществляется ввод исходных данных для выполнения п1 и п2 содержания работы. В строках 11-35 формируется функция квантования линейного квантователя.
Эта функция сначала преобразует отсчет входного сигнала х0, который может быть как положительным, так и отрицательным в положительное число за счет добавления опорного
сигнала, равного сумме половины диапазона квантователя X/2 и половины шага квантования X/2r+1 . Затем полученное значение делится на диапазон квантователя. Найденный относительный уровень отсчета сигнала выражается дробным десятичным числом v. После этого
осуществляется в цикле по i перевод v в двоичное число с количеством двоичных разрядов
r0. Сначала формируется старший разряд при
i = 0, а последним - младший (нулевой) разряд при i = r0 .
На последнем этапе двоичное число ограниченной разрядности переводится снова в десятичное, находящееся в диапазоне от нуля до единицы. Из этого десятичного числа вычитается относительное значение опорного сигнала 0,5 и полученная разность умножается на
диапазон квантователя X.
Строки 36-47 задают функцию нелинейного преобразования входного сигнала, известную как -закон.
Строки 48-59 формируют функцию обратного нелинейного преобразования выходного
сигнала квантователя.
В строках 63-65 в цикле по порядковому номеру отсчета формируется сигнал x(n), изменяющийся по линейному закону от значения –X/2 до значения X/2.
Этот сигнал подвергается линейному квантованию с использованием функции kvant(r,
x(n), X).
Полученный квантованный сигнал xk(n) представляет собой характеристику квантования линейного квантователя.
Изменяющийся по линейному закону сигнал x(n) последовательно подвергается нелинейному преобразованию (строки 86-88), линейному квантованию (строки 97-99) и обратному нелинейному преобразованию (строки 106-109).
Остальная часть программы организует выдачу графиков: линейного сигнала, характеристики квантования линейного квантователя, характеристик входного и выходного нелинейного преобразования, характеристики квантования нелинейного квантователя, сквозной
характеристики «нелинейный квантователь – обратный нелинейный преобразователь».
Для выполнения п.1 и п.2 задания введите значение диапазона квантователя Х, первое
значение количества двоичных разрядов r и первое значение коэффициента компрессии μ из
таблицы 1, количество отсчетов nmax=300. Запустите программу. Появится командное окно, примерный вид которого приведен на рисунке 1.
35
Рисунок 1. Характеристики квантования и нелинейного преобразования
Введите следующее значение r. Запишите в отчет вывод о влиянии количества двоичных
разрядов r на характеристики квантования линейного и нелинейного квантователя.
Установите первое (меньшее) из двух значений количества разрядов r и второе (большее) значение коэффициента компрессии μ и запустите программу.
Запишите в отчет вывод о влиянии коэффициента компрессии на характеристики нелинейного квантователя.
Для выполнения п.3 задания откройте программу Kvant 2. sce. Появится текст программы. Программа Kvant 2 (Приложение В к лабораторной работе №2) предназначена для моделирования процесса квантования синусоидального сигнала. Эта программа работает следующим образом: в строках 5-9 вводятся исходные данные, в строках 11-34 задаѐтся функция квантования линейного квантователя, далее происходит формирование синусоидального
сигнала с выводом его временной диаграммы(строки 38-47), его квантование и вывод временной диаграммы квантованного сигнала (строки 48-55). В строках 57-73 происходит определение спектра синусоидального сигнала. Сформированный массив Ampx задает относительный уровень гармоник синусоидального сигнала в процентах. Далее определяется спектр
выходного сигнала квантователя и массив отсчетов гармоник спектра выходного сигнала
квантователя Ampxk (строки 75-91).
Введите значение амплитуды синусоидального сигнала Хс и первое значение диапазона
квантователя X из таблицы 2, количество отсчетов в периоде сигнала nc = 64, количество
двоичных разрядов r = 8, максимальное количества отсчетов nmax=100 и запустите программу. Появится командное окно, примерный вид которого приведен на рисунке 2.
Обратите внимание на искажение выходного сигнала квантователя.
В командном окне «scilab 5.5.2» введите Ampx1 и нажмите клавишу Enter. Появится
массив отсчетов спектра входного сигнала квантователя с нулевого по пятый. Занесите их в
таблицу 5. Для определения спектра выходного сигнала квантователя в командном окне вве-
36
дите Ampx2 и нажмите клавишу Enter. Относительные уровни гармоник запишите в таблицу
5. Повторите эксперимент при следующем значении диапазона квантователя, определите
относительные уровни гармоник выходного сигнала квантователя. Результаты запишите в
таблицу 5.
Запишите в отчет вывод о влиянии величины диапазона квантователя на нелинейные
искажения синусоидального сигнала, действующего на входе квантователя.
Рисунок 2. Временные и спектральные диаграммы сигналов на входе и выходе квантователя
Таблица 5
Спектр входного синусоидального сигнала и выходного
сигнала квантователя
Номер
гармоники
Относительный уровень гармоники входного и выходного сигналов квантователя
в %
Входной
сигнал
Выходной сигнал
при X<2Xc
при X>2Xc
0
1
2
3
4
5
37
Для выполнения п. 4 задания откройте программу Kvant 3. sce. Появится текст программы. Программа Kvant 3 (Приложение Г к лабораторной работе №2) предназначена для моделирования процесса квантования случайного сигнала: формируется случайный сигнал с нормальным законом распределения, случайный сигнал подается на линейный квантователь,
разница между квантованным сигналом и входным дискретным сигналом определяет ошибку квантования (шум квантования).
Введите исходные данные из таблицы 3: среднеквадратическое отклонение случайного
сигнала Sd, диапазон квантователя X и первое значение количества двоичных разрядов r.
Максимальное число отсчетов сигнала nmax=100.
Запустите программу и пронаблюдайте временные диаграммы сигналов на входе и выходе квантователя и шума квантования, подобные тем, что приведены на рисунке 3.
Рисунок 3. Временные диаграммы входного и выходного
сигналов и шума квантования
Повторите эксперимент при втором значении количества двоичных разрядов r. Сделайте вывод о влиянии параметра r на шум квантования и запишите его в отчет.
Для выполнения п.5 задания откройте программу Kvant 4. sce. Появится текст программы. Программа Kvant 4 (Приложение Д к лабораторной работе №2) предназначена для исследования шумовых свойств линейного и нелинейного квантователей.
Введите в программу исходные данные из таблицы 4 и запустите программу. Появится
командное окно, подобное приведѐнному на рисунке 4.
38
Рисунок 4. Зависимости отношения сигнал/шум S_N от среднеквадратического уровня сигнала sigmaS и количества разрядов r
Запишите в отчет выводы о зависимости отношения сигнал/шум на выходах квантователей от уровня сигнала и количества двоичных разрядов.
39
Приложение А
к лабораторной работе №2
Исследование квантователей дискретного сигнала
1. Квантование дискретных сигналов
Необходимость квантования связана с тем, что при цифровой обработке каждому отсчету дискретного сигнала нужно поставить в соответствие число конечной разрядности. Операция квантования сводится к тому, что всем отсчетам сигнала x, попавшим в некоторый
интервал, приписывается одно и то же значение xk , выражаемое кодовой комбинацией. Если
кодовая комбинация содержит r двоичных разрядов, то число дискретных выходных уровней равно 2r . Для взаимно однозначного соответствия диапазон квантователя X = x max - x
min , где x max и x min максимальный и минимальный уровни квантуемого сигнала, должен
быть разбит на такое же число уровней.
Величина интервала разбиения - шаг квантования - представляет собой значение аналоговой величины, на которое отличаются уровни входного сигнала, представляемые двумя
соседними кодовыми комбинациями.
При наиболее распространенном равномерном квантовании шаг квантования равен
X / 2r
.
(П.1)
Одной из важнейших характеристик квантователя является характеристика квантования,
т.е. зависимость уровня выходного квантованного сигнала от уровня входного сигнала. Типичная характеристика квантователя при равномерном квантовании с постоянным шагом и
округлением результата приведена на рисунке П.1. При шаге квантования, стремящемся к
нулю, ступенчатая характеристика превращается в линейную, поэтому равномерные квантователи называют также линейными.
На рисунке П.2 приведены временные диаграммы входного x и выходного xk сигналов
равномерного квантователя и временная зависимость ошибки квантования = x k - x . Точками отмечены квантованные значения. Из рисунка видно, что абсолютное значение ошибки
квантования не превышает /2.
011
xk
3
010
2
001
/2 3 /2 5 /2 7 /2
x
-2
-3
Рисунок П.1. Характеристика квантования линейного
квантователя
40
x k, x
n
ξ
Δ/2
n
- Δ /2
Рисунок П.2 Временные зависимости входного и выходного сигналов квантователя и
ошибок квантования
Поскольку абсолютная ошибка
не зависит от уровня сигнала при = const, то относительная ошибка квантования увеличивается с уменьшением уровня сигнала, что является недостатком равномерного квантователя.
При случайном характере сигнала и большом количестве уровней квантования последовательность отсчетов представляет собой стационарный случайный процесс с равномерной
плотностью вероятности, называемый шумом квантования. Закон распределения этого случайного процесса показан на рисунке П.3.
p(ξ)
1/
-
ξ
/2
/2
Рисунок П.3. Плотность вероятности шумов квантования
Для равномерного распределения, симметричного относительно начала координат,
среднее значение случайной величины равно нулю, а дисперсия определяется соотношением
/2
2
2
p( )d
1
/2
3
3
/2
/2
2
12
.
(П.2)
Подставляя в последнее соотношение (П.1), получим
2
1 X2
12 22 r
(П.3)
41
Таким образом, при равномерном квантовании дисперсия шума квантования зависит от
параметров квантователя X и r и не зависит от уровня входного сигнала.
Определим отношение сигнал/шум на выходе квантователя как отношение дисперсии
сигнала
2
x
2
к дисперсии шума
2
2
S_ N
x
2
2
2 ( r 1)
3
X
(П.4)
X
Отношение сигнал/шум в децибелах определяется выражением
2
S _ N ДБ
10 lg
x
2
6r
20 lg
x
X
(П.5)
10.8
Из него видно:
1. Введение каждого дополнительного разряда в кодовое слово квантователя увеличивает отношение сигнал/шум на 6дБ.
2. С уменьшением среднеквадратичного уровня сигнала x отношение сигнал/шум
уменьшается, что является недостатком равномерного квантователя.
Указанный недостаток устраняется в квантователях с переменным шагом квантования, в
которых шаг квантования уменьшается с уменьшением абсолютной величины уровня входного сигнала
x
.
Характеристика квантователя с неравномерным шагом квантования приведена на рисунке П.4.
xk
Δ
x
Рисунок П.4 Характеристика квантования при неравномерном шаге квантования
Из нее видно, что равномерно распределенным уровням выходного квантованного сигнала соответствуют неравномерно распределенные уровни входного дискретного сигнала.
По мере уменьшения абсолютной величины уровня квантованного сигнала шаг квантования
уменьшается. При уменьшении шага квантования ступенчатая характеристика приближается
к нелинейной зависимости, проходящей через середины вертикальных отрезков, образующих ступеньки. Поэтому квантователь с неравномерным шагом квантования называют также
нелинейным квантователем.
На рисунке П.5 показана структурная схема нелинейного квантователя.
42
Входной
нелинейный
преобразователь
x
yk
Линейный
квантователь
y
Нелинейный квантователь
Выходной
нелинейный
преобразователь
yk
xk
Рисунок П.5. Структурная схема тракта «нелинейный
квантователь-- выходной нелинейный преобразователь»
Входной нелинейный преобразователь выполняет нелинейное преобразование входного
дискретного сигнала x в выходной дискретный сигнал y. Затем осуществляется квантование
сигнала y линейным квантователем. Для устранения нелинейных искажений квантованного
сигнала он подвергается обратному нелинейному преобразованию в выходном нелинейном
преобразователе, который преобразует сигнал y k в сигнал x k. За счет второго нелинейного
преобразователя результирующая характеристика тракта, т.е. зависимость x k от x получается
ступенчато-линейной.
Возможно использование различных видов нелинейности входного нелинейного преобразователя, осуществляющего компрессию входного сигнала. Наиболее распространенным
является - закон, при котором зависимость y от x определяется соотношением
ln 1 2
y
X
2
ln 1
x
X
(П.6) где
sign x ,
- коэффици-
ент компрессии.
При этом выходной нелинейный преобразователь должен обладать обратной характеристикой
xk
X
2
exp
y k ln 1
2
X
1 sign y k .
(П.7)
Отношение сигнал/шум при использовании системы «нелинейный квантователь - выходной нелинейный преобразователь» описывается соотношением
S _ N ДБ
где B
6r 4.8 20 lg ln 1
10 lg 1 B2
2B ,
(П.8)
X .
2
x
На рисунке П.6 приведены зависимости S_N(r,μ,X,σx) от среднеквадратического уровня
сигнала при двух значениях коэффициента компрессии (сплошные кривые). При μ=500 отношение сигнал-шум практически не зависит от уровня сигнала.
43
100
S_N 8 500 1
S_N 8 10 1
S_N1 8 1
x
x
x
10
0
0.1
0.2
0.3
x
Рисунок П.6 Зависимость отношения сигнал/шум от среднеквадратичного уровня сигнала
при разных значениях коэффициента компрессии
При μ=10 при слабых сигналах отношение сигнал/шум меньше, чем при μ=500, а при
сильных, наоборот, больше. Для сравнения на этом же рисунке показана пунктирная кривая,
выражающая зависимость отношения сигнал/шум на выходе линейного квантователя
S_N1(r,X,σx) от среднеквадратического уровня сигнала. Из рисунка видно, что при слабых
сигналах нелинейный квантователь обеспечивает более высокое отношение сигнал/шум по
сравнению с линейным. По мере увеличения коэффициента компрессии отношение сигнал/шум повышается.
44
Приложение Б
к лабораторной работе №2
Программа моделирования характеристик квантования
линейного и нелинейного квантователей
001 //Программа моделирования характеристик квантования
002 //линейного и нелинейного квантователя
003 // Имя программы: Kvant1.sce
004 //
005 //Ввод исходных данных
006 X=2;//Диапазон квантователя
007 r=4;//Количество двоичных разрядов
008 nmax=1000;//Количество отсчетов
009 m=10;//Коэффициент компрессии
010 //
011 //Формирование функции квантования
012 //линейного квантователя
001 function x0k=kvant(r0, x0, X);
002 //r0 - количество разрядов квантователя
003 //x0 - значение отсчѐта дискретного сигнала
004 //на входе квантователя
005 //X - диапазон квантователя
006 //x0k - значение отсчѐта квантованного сигнала
007 v2=zeros(1:r0);
008 v=(x0+X/2+X/2^(r0+1))/X;
009 for i=1:r0
010 v=2*v;
011 if v>=1 then v2(i)=1;
012 else v2(i)=0;
013 end
014 if v>=1 then
v=v-1;
015 end
016 end
017 x0k=0;
018 for i=1:r0
019 x0k=x0k+v2(i)*2^(-(i));
020 end
021 x0k=(x0k-0.5)*X;
022 endfunction;
035 //
036 //Функция входного нелинейного преобразования
001 function y0=FNT(x0, m, X);
002 //x0-значение отсчѐта сигнала на входе преобразователя
003 //m - коэффициент компрессии
004 //X - диапазон квантователя
005 //y0-значение отсчѐта сигнала на выходе преобразователя
006 y1=0.5*X*((log(1+2*m*abs(x0)/X))/log(1+m));
007 if x0<0 then y0=-y1;
008 else y0=y1;
009 end
010 endfunction;
047 //
45
048 //Функция обратного нелинейного преобразования
001 function y0=IFNT(x0, m, X);
002 //x0-значение отсчета сигнала на входе преобразователя
003 //m - коэффициент компрессии
004 //X – диапазон квантователя
005 //y0-значение отсчѐта сигнала на выходе преобразователя
006 y1=(X/(2*m))*(exp((2*abs(x0)*log(1+m))/X)-1);
007 if x0<0 then y0=-y1;
008 else y0=y1;
009 end
010 endfunction;
059 //
060 //Формирование сигнала,
061 //изменяющегося во времени по линейному закону
062 x=zeros(1:nmax);
063 for n=1:nmax
064 x(n)=X*(n/nmax-0.5);
065 end
066 clf()
067 subplot(3,2,1)
068 n=1:nmax;
069 plot2d(n,x,style=[color("green")])
070 xgrid
071 xtitle('Сигнал на входе квантователя')
072 //Сигнал на выходе линейного квантователя
073 xk=zeros(1:nmax);
074 for n=1:nmax
075
xk(n)=kvant(r,x(n),X);
076 end
077 xk=zeros(1:nmax);
078 for n=1:nmax
079 xk(n)=kvant(r,x(n),X);
080 end
081 subplot(3,2,2)
082 n=1:nmax;
083 plot2d(x,xk,style=[color("blue")])
084 xgrid
085 xtitle('Характеристика линейного квантователя ')
086 //Нелинейное преобразование входного сигнала
087 for n=1:nmax
088 y(n)=FNT(x(n),m,X);
089 end
090 //
091 subplot(3,2,3)
092 n=1:nmax;
093 plot2d(x,y,style=[color("blue")])
094 xgrid
095 xtitle('Характеристика входного нелинейного
преобразователя')
096 //Квантование сигнала
097 yk=zeros(1:nmax);
098 for n=1:nmax
46
099 yk(n)=kvant(r,y(n),X);
100 end
101 subplot(3,2,4)
102 n=1:nmax;
103 plot2d(x,yk,style=[color("blue")])
104 xgrid
105 xtitle('Характеристика квантования нелинейного
квантователя')
106 //Обратное нелинейное преобразование квантованного
сигнала
107 for n=1:nmax
108 x(n)=IFNT(y(n),m,X);
109 xk(n)=IFNT(yk(n),m,X);
110 end
111 subplot(3,2,5)
112 plot2d(y,x,style=[color("blue")])
113 xgrid
114 xtitle('Характеристика обратного нелинейного
преобразования')
115 subplot(3,2,6)
116 plot2d(x,xk,style=[color("red")])
117 xgrid
118 xtitle('Результирующая характеристика компрессорэкспандер')
47
Приложение В
к лабораторной работе №2
Программа моделирования процесса квантования
синусоидального сигнала
001 //Программа моделирования процесса квантования
002 //синусоидального сигнала
003 //Имя программы:kvant2
004 //Ввод исходных данных
005 Xc=1.5; // Амплитуда сигнала
006 X=1.8; // Диапазон квантователя
007 nc=64; // Количество отсчетов в периоде сигнала
008 r=8; // Количество двоичных разрядов квантователя
009 nmax=100; //Максимальное количество отсчетов
010 //
011 //Функция квантования
001 function x0k=kvant(r0, x0, X);
002 //r0 - количество двоичных разрядов
003 //x0 - значение отсчета дискретного сигнала
004 // на входе квантователя
005 //X - диапазон квантователя
006 //x0k - значение отсчета квантованного сигнала
007 v2=zeros(1:r0);
008 v=(x0+X/2+X/2^(r0+1))/X;
009 for i=1:r0
010
v=2*v;
011
if v>=1 then v2(i)=1;
012
else v2(i)=0;
013
end
014
if v>=1 then
v=v-1;
015
end
016 end
017 x0k=0;
018 for i=1:r0
019 x0k=x0k+v2(i)*2^(-(i));
020 end
021 x0k=(x0k-0.5)*X;
022 endfunction;
034 //
035 xk=zeros(1:nmax);
036 s0=zeros(1:nmax);
037 // Синусоидальный сигнал на входе квантователя
038 x=zeros(1:nmax);
039 n=1:nmax;
040 x=Xc*sin(2*%pi*n/nc);
041 clf()
042 subplot(2,2,1)
043 n=1:nmax;
044 plot2d3(n,x,style=[color("red")])
045 xgrid
046 xtitle('Сигнал на входе квантователя ')
047//Сигнал на выходе квантователя
48
048 for n=1:nmax
049 xk(n)=kvant(r,x(n),X);
050 end
051 subplot(2,2,2)
052 n=1:nmax;
053 plot2d3(n,xk,style=[color("blue")])
054 xgrid
055 xtitle('Сигнал на выходе квантователя ')
056 //Определение спектра входного сигнала
057 for i=1:nc
058 xs(i)=x(i);
059 end
060 Sx=fft(xs);
061 Sx0=abs(Sx)/max(abs(Sx));
062 Ampx1=zeros(1:6);
063 for m=1:6
064 if Sx0(m)*100<0.01 then
065
Ampx1(m)=0;
066 else Ampx1(m)=Sx0(m)*100;
067 end
068 end
069 subplot(2,2,3)
070 m=1:6;
071 plot2d3(m-1,Ampx1,style=[color("red")])
072 xgrid
073 xtitle('Спектр входного сигнала ')
074 //Определение спектра квантованноо сигнала
075 for i=1:nc
076 xs(i)=xk(i);
077 end
078 Sx=fft(xs);
079 Sx0=abs(Sx)/max(abs(Sx));
080 Ampx2=zeros(1:6);
081 for m=1:6
082 if Sx0(m)*100<0.001 then
083
Ampx2(m)=0;
084 else Ampx2(m)=Sx0(m)*100;
085 end
086 end
087 subplot(2,2,4)
088 m=1:6;
089 plot2d3(m-1,Ampx2,style=[color("blue")])
090 xgrid
091 xtitle('Спектр выходного сигнала ')
49
Приложение Г
к лабораторной работе №2
Программа моделирования процесса квантования
случайного сигнала
001 //Моделирование процесса квантования случайного сигнала
002 // с нормальным законом распределения и нулевым средним
003 // Ввод исходных данных
004 X=8; // Диапазон квантователя
005 r=3; // Количество разрядов квантователя
006 sigmaS=1; //Среднеквадратическое отклонение
007 nmax=100; // Максимальный номер отсчѐта
008 //
009 // Обнуление массивов
010 xk=zeros(1:nmax);
011 osh=zeros(1:nmax);
012 //
013 //Формирование случайного сигнала с
014 // нормальным законом распределения
015 x=grand(nmax,1,'nor',0,sigmaS);
016 //
017//Функция квантования
001 function x0k=kvant(r0, x0, X);
002 //r0 - количество разрядов квантователя
003 //x0 - значение отсчѐта входного сигнала
004 //X - диапазон квантователя
005 //x0k - значение отсчѐта выходного сигнала
006 v=zeros(1:nmax);
007 v2=zeros(1:r0);
008 v=(x0+X/2+X/2^(r0+1))/X;
009 for i=1:r0
010 v=2*v;
011 if v>=1 then v2(i)=1;
012 else v2(i)=0;
013 end
014 if v>=1 then
v=v-1;
015 end
016 end
017 x0k=0;
018 for i=1:r0
019 x0k=x0k+v2(i)*2^(-(i));
020 end
021 x0k=(x0k-1/2)*X;
022 endfunction;
040 //
041 //Определение выходного сигнала квантователя
042 for n=1:nmax;
043 xk(n)=kvant(r,x(n),X);
044 end
045 //
046 // Определение сигнала ошибки
047 for n=1:nmax
50
048 osh(n)=xk(n)-x(n);
049 end
050 //
051 // Построение временных диаграмм входного и
052 // выходного сигналов квантователя
053 clf()
054 subplot(2,1,1)
055 n=1:nmax;
056 plot2d3(n,x(n),style=[color("blue")])
057 plot2d3(n,xk(n),style=[color("red")])
058 xgrid
059 xtitle('Входной и выходной сигналы квантователя')
060 legend('входной сигнал','выходной сигнал');
061 //
062 // Построение временной диаграммы ошибки
063 subplot(2,1,2)
064 n=1:nmax;
065 plot2d3(n,osh,style=[color("blue")])
066 xgrid
067xtitle('Шум квантования')
51
Приложение Д
К лабораторной работе №2
Исследование шумовых свойств линейного и нелинейного квантователей
001 //Исследование шумовых свойств
002 //линейного и нелинейного квантователей
003 //Имя программы: Kvant4
004 //
005 sigma_min=0.025; //Минимальное значение
006 //среднеквадратического уровня сигнала
007 sigma_max=0.1; //Максимальное значение
008 //среднеквадратического уровня сигнала
009 X=2; //Диапазон квантователя
010 r=8; //Количество разрядов квантователя
011 m=100;//Коэф фициент компрессии
012 //
013 delta=sigma_min/4;//Шаг изменения
014 //среднеквадратического уровня сигнала
015 nmax=5000;//Максимальный номер отсчета сигнала
016 //
017 //Функция квантования
001 function x0k=kvant(r0, x0, X);
002 //r0 - количество разрядов квантователя
003 //x0 - значение отсчѐта входного сигнала
004 //X - диапазон квантователя
005 //x0k - значение отсчѐта выходного сигнала
006 v=zeros(1:nmax);
007 v2=zeros(1:r0);
008 v=(x0+X/2+X/2^(r0+1))/X;
009 for i=1:r0
010 v=2*v;
011 if v>=1 then v2(i)=1;
012 else v2(i)=0;
013 end
014 if v>=1 then
v=v-1;
015 end
016 end
017 x0k=0;
018 for i=1:r0
019 x0k=x0k+v2(i)*2^(-(i));
020 end
021 x0k=(x0k-1/2)*X;
022 endfunction;
040 //
041 //Функция входного нелинейного преобразования
001 function y0=FNT(x0, m, X);
002 //x0-значение отсчѐта сигнала на входе преобразователя
003 //m - коэффициент компрессии
004 //X - диапазон квантователя
005 //y0-значение отсчѐта сигнала на выходе преобразователя
006 y1=0.5*X*((log(1+2*m*abs(x0)/X))/log(1+m));
007 if x0<0 then y0=-y1;
52
008 else y0=y1;
009 end
010 endfunction;
052 //
053 //Функция обратного нелинейного преобразования
001 function y0=IFNT(x0, m, X);
002 //x0-значение отсчѐта сигнала на входе преобразователя
003 //m - коэффициент компрессии
004 //X - диапазон квантователя
005 //y0-значение отсчета сигнала на выходе преобразователя
006 y1=(X/(2*m))*(exp((2*abs(x0)*log(1+m))/X)-1);
007 if x0<0 then y0=-y1;
008 else y0=y1;
009 end
010 endfunction;
064 //
065 //Функция определения отношения сигнал/шум
066 //на выходе линейного квантователя
001 function S_N01=Signal_Noise1(r0, X, sigmaS0, nmax);
002 //r0-количество разрядов квантователя
003 //X-диапазон квантователя
004 //sigmaS0-среднеквадратическое значение
005 //сигнала на входе квантователя
006 //nmax-максимальный номер отсчѐта сигнала
007 //S_N01-отношение сигнал/шум на выходе квантователя
008 x=zeros(1:nmax);
009 osh=zeros(1:nmax);
010 x=grand(nmax,1,'nor',0,sigmaS0)
011 for n=1:nmax
012 xk(n)=kvant(r0,x(n),X);
013 osh(n)=xk(n)-x(n);
014 end
015 sigmaSh0=stdev(osh);
016 S_N01=20*log10(sigmaS0/sigmaSh0);
017 endfunction;
084 //Функция определения отношения сигнал/шум
085 //на выходе нелинейного квантователя
001 function S_N02=Signal_Noise2(r0, X, m, sigmaS0, nmax);
002 //r0-количество разрядов квантователя
003 //X-диапазон квантователя
004 //sigmaS0-среднеквадратическое значение
005 //сигнала на входе квантователя
006 //nmax-максимальный номер отсчѐта сигнала
007 //S_N02-отношение сигнал/шум на выходе квантователя
008 y=zeros(1:nmax);
009 yk=zeros(1:nmax);
010 osh=zeros(1:nmax);
011 x=grand(nmax,1,'nor',0,sigmaS0)
012 for n=1:nmax
013 y(n)=FNT(x(n),m,X);
014 yk(n)=kvant(r0,y(n),X);
015 xk(n)=IFNT(yk(n),m,X);
53
016 osh(n)=xk(n)-x(n);
017 end
018 sigmaSh0=stdev(osh);
019 S_N02=20*log10(sigmaS0/sigmaSh0);
020 endfunction;
106 //
107 //Определение зависимости отношения сигнал/шум
108 //на выходе линейного квантователя
109 //от среднеквадратического уровня сигнала
110 jmax=ceil((sigma_max-sigma_min)/delta);
111 sigmaS=zeros(1:jmax);
112 S_N1=zeros(1:jmax);
113 for j=1:jmax
114 sigmaS(j)=sigma_min+delta*(j-1);
115 S_N1(j)=Signal_Noise1(r,X,sigmaS(j),nmax);
116 end
117 clf()
118 subplot(2,2,1)
119 plot2d(sigmaS,S_N1,-3)
120 xgrid
121 xtitle('Зависимость S_N от sigmaS в линейном квантователе')
122 S_N1=zeros(1:10);
123 sigma0=0.5*(sigma_min+sigma_max);
124 for i=1:10
125 S_N1(i)=Signal_Noise1(i+2,X,sigma0,nmax);
126 end
127 subplot(2,2,2)
128 r1=zeros(1:10);
129 for i=1:10
130 r1(i)=i+2;
131 end
132 plot2d(r1,S_N1,-3)
133 xgrid
134 xtitle('Зависимость S_N от r в линейном квантователе')
135 //
136 sigmaS=zeros(1:jmax);
137 S_N2=zeros(1:jmax);
138 for j=1:jmax
139 sigmaS(j)=sigma_min+delta*(j-1);
140 S_N2(j)=Signal_Noise2(r,X,m,sigmaS(j),nmax);
141 end
142 subplot(2,2,3)
143 plot2d(sigmaS,S_N2,-3)
144 xgrid
145 xtitle('Зависимость S_N от sigmaS в нелинейном
квантователе')
146 S_N2=zeros(1:10);
147 for i=1:10
148
S_N2(i)=Signal_Noise2(i+2,X,m,sigma0,nmax);
149 end
150 subplot(2,2,4)
151 r1=zeros(1:10);
54
152 for i=1:10
153 r1(i)=i+2;
154 end
155 plot2d(r1,S_N2,-3)
156 xgrid
157 xtitle('Зависимость S_N от r в нелинейном квантователе')
55
Работа №3
Исследование цифрового резонатора
1. Цель работы
Исследование влияния коэффициентов системной функции цифрового резонатора на его
АЧХ, ФЧХ и импульсную характеристику, исследование селективных свойств резонатора,
исследование устойчивости цифрового резонатора.
2. Литература
1. Приложение А к лабораторной работе №3
2. Конспект лекций по курсу «Цифровая обработка сигналов
3. В.Г.Иванова, А.И. Тяжев. Цифровая обработка сигналов и сигнальные процессоры //
Самара, 2008, c.33-42
3. Подготовка к лабораторной работе
Изучите указанную в разделе 2 литературу и ответьте на контрольные вопросы.
4. Контрольные вопросы
1. Начертите схему цифрового резонатора, запишите разностное уравнение, описывающее резонатор, получите выражение системной функции резонатора.
2. Запишите выражение для системной функции цифрового резонатора и, используя его,
получите АЧХ при А1=0. Постройте график АЧХ.
3. Запишите выражение для системной функции цифрового резонатора и, используя его,
получите ФЧХ при А1=0. Постройте график ФЧХ.
4. Как влияют коэффициенты системной функции цифрового резонатора А1 и А2 на резонансную частоту, полосу пропускания и резонансный коэффициент передачи?
5. Дайте определение импульсной характеристике цифрового фильтра. Какова импульсная характеристика цифрового резонатора, как влияют на нее коэффициенты системной
функции А1 и А2?
7. Каким требованиям должны удовлетворять коэффициенты системной функции для
того, чтобы резонатор работал устойчиво?
5. Содержание работы
1. Исследуйте влияние коэффициентов системной функции А1 и А2 на АЧХ, ФЧХ и импульсную характеристику цифрового резонатора. Первый эксперимент нужно выполнить
при постоянном коэффициенте А2 и трех значениях А1 (таблица1), а второй – при постоянном А1 и трех значениях А2 (таблица 2).
Таблица 1. Исходные данные для выполнения п.1 задания
(эксперимент №1)
Бригада
№1
№2
№3
№4
№5
№6
A2
0.955
0.990
0.985
0.970
0.955
0.960
Значения параметра
A1
0
-1.500
0
-1.200
0
-1.000
0
-1.400
0
-1.100
0
-0.900
1.500
1.200
1.000
1.400
1.100
0.900
56
Таблица 2. Исходные данные для выполнения п.1 задания
(эксперимент №2)
Бригада
A1
0
0
0
0
0
0
№1
№2
№3
№4
№5
№6
Значения параметра
A2
0.800
0.850
0.700
0.750
0.750
0.800
0.700
0.900
0.820
0.920
0.790
0.890
0.955
0.995
0.900
0.999
0.985
0.990
2. Выполните моделирование цифрового резонатора при действии на его входе сигнала xc
и помехи xp,
x c cos(2 f c n / FД ) ,
x p cos(2 f n / F ) cos(2 f n / F ) .
Д
Д
1
2
Резонансная частота резонатора равна частоте сигнала. Результатом моделирования
должны быть временные диаграммы:
сигнала на входе резонатора,
суммы сигнала и помехи на входе резонатора,
выходного сигнала резонатора;
спектральные диаграммы:
суммы сигнала и помехи на входе резонатора,
выходного сигнала резонатора.
Данные для моделирования приведены в таблице 3.
Таблица 3. Исходные данные для выполнения п.2 и п.3 задания
Бригада
№1
№2
№3
№4
№5
№6
FД , кГц
16
20
24
16
32
12
Значения параметров
f1, кГц
fc, кГц
f2, кГц
0.5
1.0
3
1.0
2.0
4.0
1.2
2.4
3.2
1.0
2.0
4.0
2.0
4.0
6.0
1.0
2.0
4.0
A2
0.990
0.955
0.965
0.995
0.990
0.975
Исследуйте влияние коэффициента системной функции А2 на селективность резонатора.
Исследуйте влияние на селективность резонатора неточности настройки резонатора на
частоту входного сигнала.
3. Повторите эксперимент п.3 с новым значением коэффициента А2=1.1, не удовлетворяющим условию устойчивости.
57
6. Содержание отчета
Отчет должен содержать:
1. Графики АЧХ, ФЧХ и импульсной характеристики цифрового резонатора и выводы о
влиянии коэффициентов А1 и А2 на резонансную частоту, резонансный коэффициент передачи, полосу пропусканию и форму АЧХ, ФЧХ и импульсной характеристики.
2. Временные диаграммы сигнала и помехи на входе цифрового резонатора и временную диаграмму сигнала на его выходе.
3. Спектральные диаграммы сигнала и помехи на входе резонатора и сигнала на выходе
резонатора.
4. Вывод о влиянии коэффициента А2 системной функции на селективность резонатора.
5. Вывод о влиянии коэффициента системной функции А2 на устойчивость резонатора.
7. Методические указания по выполнению работы
Лабораторная работа выполняется в программной среде SCILAB. Откройте программу
scilab - 5.5.2. Появится командное окно приложения. Окно содержит меню, панель инструментов и рабочую область. Признаком того, что система готова к выполнению команды, является наличие знака приглашения (горизонтальной стрелки), после которого расположен
мигающий курсор.
Щелчком левой кнопки мыши откройте Инструменты → Текстовый редактор SciNotes.
Появится окно для редактирования. Из редактора откройте файл Rezonator1 (File-Open -…ЦОС в Scilab – Rezonator1). Текст программы приведѐн в Приложении Б.
Программа предназначена для исследования влияния коэффициентов системной функции цифрового резонатора на его АЧХ, ФЧХ и импульсную характеристику.
В строках 4-6 осуществляется ввод исходных данных для выполнения эксперимента, затем рассчитываются нормированное значение резонансной частоты fN0, масштабный коэффициент М и количество расчетных точек N АЧХ и ФЧХ в пределах интервала Котельникова.
В цикле по порядковому номеру расчетной точки m определяются системная функция
H(m), АЧХ K(m) и ФЧХ phi(m) (строки 16-25).
Для определения импульсной характеристики сначала формируется испытательный сигнал x в виде единичного отсчета, который подается на вход резонатора (строки 29-38).
Затем этот сигнал пропускается через резонатор (строки 40-49). Выходной сигнал резонатора y представляет собой импульсную характеристику.
Последующая часть программы организует выдачу графиков АЧХ, ФЧХ и импульсной
характеристики.
Для выполнения п.1 задания введите значение коэффициента А2 и первое значение коэффициента А1 из таблицы 1. Для наблюдения импульсной характеристики введите максимальный номер отсчета этой характеристики nmax . Первоначально значение nmax можно
выбрать в пределах 100..1000, а затем скорректировать так, чтобы удобно было наблюдать
импульсную характеристику.
Запустите программу. Появится командное окно, примерный вид которого приведен на
рисунке 1.
58
Рисунок 1. АЧХ, ФЧХ и импульсная характеристика
На рисунке приведены две АЧХ: при масштабном коэффициенте М=1 и при рассчитанном значении M, позволяющим наблюдать АЧХ в относительном масштабе с максимальным
коэффициентом передачи, равным единице. Обратите внимание на то, что по оси абсцисс
откладывается нормированное к частоте дискретизации значение текущей частоты. При
А1=0 нормированная резонансная частота равна 0.25 и АЧХ симметрична.
Поочередно введите два других значения коэффициента А1. Запишите в отчет вывод о
влиянии коэффициента А1 на АЧХ, ФЧХ и импульсную характеристику.
Для исследования влияния коэффициента А2 на АЧХ, ФЧХ и импульсную характеристику воспользуйтесь данными таблицы 2. Запишите в отчет вывод о влиянии коэффициента
А2 на эти характеристики.
Для выполнения п.2 задания воспользуйтесь программой Rezonator2 и данными таблицы
3. Программа позволяет выполнить расчет АЧХ резонатора, сформировать синусоидальный
сигнал xc и две синусоидальные помехи xp на входе резонатора, определить сигнал y на его
выходе и найти спектр сигнала и помехи на входе и спектр сигнала на выходе резонатора
Введите исходные данные из таблицы 3. Максимальный номер отсчета входного сигнала
примите равным nmax=1000. Введите значение резонансной частоты резонатора f0=fc. Запустите программу и пронаблюдайте временные диаграммы сигналов на входе и выходе резонатора, подобные тем, что приведены на рисунке 2.
59
Рисунок 2. Временные и спектральные диаграммы сигналов резонатора
Сопоставьте временную диаграмму выходного сигнала резонатора с временной диаграммой входного сигнала, искаженного помехой и с временной диаграммой входного сигнала без помех. Результат этого сопоставления запишите в отчет.
Сопоставьте спектральные диаграммы колебаний на входе и выходе резонатора. По
спектральным диаграммам определите амплитуды сигнала Xcвых и помех Xп1вых и Xп2вых
на выходе резонатора. Рассчитайте коэффициенты передачи резонатора для сигнала и обеих
помех, учитывая, что Xcвх = Xп1вх = Xп2вх = 1.
Селективность показывает, во сколько раз коэффициент передачи для сигнала больше
коэффициента передачи для помехи. Рассчитайте селективности резонатора. При малых значениях Xп1вых и Xп2вых для определения их численных значений воспользуйтесь возможностью увеличения области на графике. Для этого выберите «Инструменты → Увеличить
область», а затем следуйте подсказке на нижней строчке графического окна.
Введите новое значение коэффициента системной функции A2=0.9 и повторите эксперимент. Запишите в отчет вывод о влиянии коэффициента А2 на селективность резонатора.
Установите табличное значение коэффициента А2. Не изменяя частоты сигнала, увеличьте резонансную частоту f0 на 10%. Пронаблюдайте временную и спектральную диаграммы выходного сигнала резонатора, рассчитайте селективность. Повторите эксперимент,
уменьшив резонансную частоту на 10%. Запишите в отчет вывод о влиянии расстройки резонатора на его селективность.
Для выполнения п.3 задания введите в программу Rezonator2 значение А2=1.1, не удовлетворяющее условию устойчивости. Остальные данные возьмите из таблицы 3. Примите f0
= fc и запустите программу. Пронаблюдайте временную диаграмму выходного сигнала резонатора. Запишите максимальное значение абсолютной величины отсчета выходного сигнала при nmax=1000. Повторите эксперимент при nmax=10000.
60
Приложение А
к лабораторной работе №3
Цифровой резонатор и его характеристики
1. АЧХ и ФЧХ резонатора
На рисунке П.1 приведено графическое представление алгоритма функционирования
цифрового резонатора.
xn
yn
M
z-1
-A1
z-1
-A2
Рисунок П.1-Цифровой резонатор
Из него видно, что выходной сигнал резонатора определяется следующим соотношением
yn
M xn
A1 yn 1 A2 yn 2 .
Для определения системной функции резонатора сначала выразим Z-преобразование последовательности y n через Z - преобразование последовательности x n , а затем найдем отношение
Y (z) к X(z)
H(z)
Используя подстановку
ej
z
Y( z)
M
X( z) 1 A z 1 A z 2
1
2
Tд ,
, где
.
получим выражение для комплексного
коэффициента передачи
 (j )
K
H (e j )
M
1 A1e
j
A 2e
.
j2
Модуль комплексного коэффициента передачи представляет собой АЧХ
– ФЧХ
K ( ) , а аргумент
( ) резонатора.
K( )
 (j ),
K
( )
 (j )
arg K
.
Для того чтобы выяснить влияние коэффициентов системной функции на АЧХ резонатора получим приближенную формулу для ее расчета.
Представим выражение для системной функции в виде
H(z)
z2
M z2
A1z A 2
M z2
z z1 z z 2
,
(П.1)
61
- полюсы системной функции H z .
Для их определения знаменатель системной функции приравнивается нулю и находятся корни квадратного уравнения
где
z1 и z 2
z1, 2
при
A2
0.25A 1
A1 2
j A2
0.25A1
2
2
.
Комплексно-сопряженные полюсы системной функции резонатора представлены точками на комплексной плоскости z (рисунок П.2).
Im(z)
z1
0
-1
1
Re(z)
z2
Рисунок П.2. Полюсы системной функции цифрового
резонатора
Цифровой фильтр устойчив, если координаты полюсов системной функции фильтра находятся внутри круга единичного радиуса с центром в начале координат.
Координаты полюсов в экспоненциальной форме описываются следующими соотношениями:
A2 e j ,
z1
где
0
2
F0
FД
A1
2 A2
arccos
Подставим в (П.1) z
коэффициента передачи
z2
0
ej
,
,
F0
A2 e
j
0
,
- резонансная частота резонатора.
z1
выражения для
z2
и
и найдем модуль комплексного
M e j2
K
A2 e j
e j2
0
e j2
A2 e
j
0
M
1 A2
Обозначим
2 A 2 cos
0
0
.
1 A2
2 A 2 cos
0
и учтем, что
2
1 A2
2 A 2 cos(
0
)
(1
A2 )
2
4 A 2 sin
2
62
2
1 A2
2 A 2 cos(
0
) (1
A2 )
2
4 A 2 cos
.
0
2
Тогда
M
K( )
(1 A 2 )
При
A2
0.7
4 A2
1
1
A2
.
2
sin
2
4 A2
1
2
2
1
A2
cos
2
2
с погрешностью, не превышающей 1%, можно принять
4 A2
1
2
1
A2
Поэтому
M
K( )
(1 A 2 ) sin
0
4 A2
1
2
2
1
2
A2
sin
.
2
Из последнего соотношения следует, что резонансный коэффициент передачи резонатора равен
K(
0
)
M
1 A sin( )
2
0
M
F
1 A sin 2 0
2
Fд
.
(П.2)
Из (П.2) видно, что резонансный коэффициент передачи увеличивается при приближении коэффициента A2 к единице, прямо пропорционален коэффициенту масштабирования M
и зависит от отношения резонансной частоты F0 к частоте дискретизации FД. При удалении
резонансной частоты от FД / 4 резонансный коэффициент передачи увеличивается.
Из (П.2) следует также, что для получения одинакового резонансного коэффициента передачи K0 гребенки резонаторов, настроенных на разные частоты, масштабный коэффициент
должен быть выбран равным
M
K 0 1 A 2 sin(
0
)
.
(П.3)
Разделив K( ) на K( 0), получим относительный коэффициент передачи
K( )
K( 0 )
sin(
sin(
0
0
)
) 1
2
1
2
4 A2
1
A2
2
sin
.
2
Из него видно, что при 0, отличном от / 2, АЧХ асимметрична, однако при малых относительных расстройках ( / 0 <= 0.2) этой асимметрией можно пренебречь.
Кроме того при
<= /3 sin( / 2)
/ 2 = π F/FД.
Поэтому
63
K (F)
K (F0 )
1
2 F
FД d
1
где
d
1
4
A2
A2
,
2
.
Следовательно, при указанных ограничениях АЧХ зависит только от коэффициента A2 и
частоты дискретизации.
Для определения полосы пропускания резонатора П
при неравномерности найдем
отношение резонансного коэффициента передачи K(F0) к коэффициенту передачи на границе
полосы пропускания K(F g)
2
K (F0 )
K (Fg )
1
FД d
.
Из последнего соотношения получим
2
FД d
1
.
Из последнего соотношения видно, что полоса пропускания резонатора прямо пропорциональна частоте дискретизации и и параметру d, который уменьшается при приближении
значения коэффициента A2 к единице.
2. Импульсная характеристика резонатора
Импульсная характеристика цифрового резонатора может быть найдена как обратное Zпреобразование его системной функции (П.1)
hn
1
H(z)z n 1dz
2 j
M
2 j z1 z 2
1
2 j
zn 1
dz
z z1
M zn 1
dz
z z1 z z 2
zn 1
dz
z z2
Из теории аналитических функций известно, что интеграл от функции f(z), взятый по
замкнутому контуру Г, содержащемуся в области, где функция является однозначной и аналитической, за исключением особых точек однозначного характера, и не проходящему через
особые точки, равен произведению суммы вычетов функции относительно всех особых точек, заключенных внутри Г, на 2 j.
Если функция f(z) = (z) / (z) и (z) имеет простой нуль при z = a, то
Выч.f(z) = (a) / „(а),
где „(z) - производная функции (z).
В рассматриваемом случае f(z) равна
zn 1
z z1
или
zn 1
z z2
,
поэтому
64
hn
M
n
z1
z1 z 2
1
z2
n 1
n
2
M A2
sin
sin 0
0
n 1
.
Таким образом, импульсная характеристика представляет собой затухающее синусоидальное колебание, амплитуда которого зависит от дискретного времени n. Чем ближе A2 к
единице, тем медленнее затухает это колебание. Частота импульсной характеристики равна
резонансной частоте резонатора.
65
Приложение Б
к лабораторной работе №3
Программа исследования АЧХ, ФЧХ и импульсной характеристики
01 //Программа "Rezonator1"_Исследование АЧХ, ФЧХ и
02 //импульсной характеристики цифрового резонатора
03 //Ввод исходных данных
04 A1=0;//Коэффициент системной функции
05 A2=0.985; //Коэффициент системной функции
06 nmax=100; //Максимальный нлмер отсчета
07//
08 // Расчет АЧХ и ФЧХ
09 fN0=acos(-A1/(2*sqrt(A2)))/(2*%pi);//Нормированное
10 //значение резонансной частоты
11 M=(1-A2)*abs(sin(2*%pi*fN0));//Масштабный коэффициент
12 j=sqrt(-1);//Мнимая единица
13 delta_fN=0.0001;//Шаг изменения нормированной частоты
14 N=round(0.5/delta_fN);//Количество расчетгых точек
15 //АЧХ и ФЧХ
16 fN=zeros(1:N);
17 K=zeros(1:N);
18 phi=zeros(1:N);
19 for m=1:N
20 fN(m)=delta_fN*(m-1);
21 z(m)=exp(j*2*%pi*fN(m));
22 H(m)=1/(1+A1*z(m)^(-1)+A2*z(m)^(-2));
23 K(m)=abs(H(m));
24 phi(m)=atan(imag(H(m)),real(H(m)));
25 end
26 Ko=M*K; //АЧХ в относительном масштабе
27 //Расчет импульсной характеристики
28 //Формирование единичного отсчета
29 n=zeros(1:nmax+1);
30 y=zeros(1:nmax+1);
31 for i=1:nmax+1
32 n(i)=i-1;
33 if i==1 then
34 x(i)=1;
35 else
36 x(i)=0;
37 end
38 end
39 //
40 for i=1:2
41 if i==1 then
42 y(i)=M*x(i);
43 else
44 y(i)=M*x(i)-A1*y(i-1);
45 end
46 end
47 for i=3:nmax+1
48 y(i)=M*x(i)-A1*y(i-1)-A2*y(i-2);
66
49 end;
50 clf()
51 //Вывод графиков АЧХ, ФЧХ и ИХ
52 subplot(2,2,1)
53 plot2d(fN,K,style=[color("blue")])
54 xgrid
55 xtitle('АЧХ при М=1')
56 subplot(2,2,2)
57 plot2d(fN,Ko,style=[color("blue")])
58 xgrid
59 xtitle('АЧХ в относительном масштабе')
60 subplot(2,2,3)
61 plot2d(fN,phi,style=[color("blue")])
62 xgrid
63 xtitle('ФЧХ')
64 subplot(2,2,4)
65 plot2d(n,y,style=[color("red")])
66 xgrid
67 xtitle('Импульсная характеристика')
67
Приложение В
к лабораторной работе №3
Программа моделирования цифрового резонатора
при действии на его входе сигнала с помехой.
001//Программа "Rezonator2". Моделирование цифрового
002/ / резонатора при действии на его входе сигнала и помех
003 fc=2.0;//Частота сигнала
004 f1=0.5;//Частота помехи №1
005 f2=3.0;//Частота помехи №2
006 Fd=18; //Частота дискретизации
007 A2=0.99;
008 nmax=1024;
009 f0=2; //Резонансная частота резонатора
010 //
011 A1=-2*sqrt(A2)*cos(2*%pi*f0/Fd); //Коэффициент
012 // системной функции
013 M=(1-A2)*abs(sin(2*%pi*fc/Fd)); //Масштабный коэффициент
014 //Расчет АЧХ резонатора
015 j=sqrt(-1);
016 delta_fN=0.0001;
017 N=round(0.5/delta_fN)+1;
018 fN=zeros(1:N);
019 K=zeros(1:N);
020 for m=1:N
021 fN(m)=delta_fN*(m-1);
022 z(m)=exp(j*2*%pi*fN(m));
023 H(m)=M/(1+A1*z(m)^(-1)+A2*z(m)^(-2));
024 K(m)=abs(H(m));
025 end
026 clf()
027 subplot(3,2,1)
028 plot2d(fN*Fd,K,style=[color("blue")])
029 xgrid
030 xtitle('АЧХ резонатора')
031 //Формирование сигнала с помехой на входе резонатора
032 n=zeros(1:nmax+1);
033 y=zeros(1:nmax+1);
034 xc=zeros(1:nmax+1);
035 xp=zeros(1:nmax+1);
036 x=zeros(1:nmax+1);
037 s1=zeros(1:nmax+1);
038 s2=zeros(1:nmax+1);
039 for i=1:nmax+1
040 n(i)=i-1;
041 xc(i)=cos(2*%pi*fc*i/Fd); //Сигнал
042 xp(i)=cos(2*%pi*f1*i/Fd)+cos(2*%pi*f2*i/Fd); //Помеха
043 x(i)=xc(i)+xp(i); //Сигнал с помехой
044 end
045 //Определение выходного сигнала резонатора
046 for i=1:2
68
047 if i==1 then
048 y(i)=M*x(i);
049 else
050 y(i)=M*x(i)-A1*y(i-1);
051 end
052 end
053 for i=3:nmax+1
054 y(i)=M*x(i)-A1*y(i-1)-A2*y(i-2);
055 end;
056 N1=Fd/f1;
057 x1=zeros(1:N1);
058 y1=zeros(1:N1);
059 for k=1:N1
060 x1(k)=x(nmax-N1+k);
061 y1(k)=y(nmax-N1+k);
062 end
063 alfa1=0;
064 alfa2=0;
065 for n=1:N1
066 alfa1=alfa1+x1(n);
067 alfa2=alfa2+y1(n);
068 end
069 for k=1:N1/2
070 alfa1=0;
071 alfa2=0;
072 for n=1:N1
073 alfa1=alfa1+x1(n)*exp(-2*j*%pi*(n-1)*(k-1)/N1);
074 alfa2=alfa2+y1(n)*exp(-2*j*%pi*(n-1)*(k-1)/N1);
075 end
076 s1(k)=alfa1*2/N1;
077 s2(k)=alfa2*2/N1;
078 end
079 N0=round(5*Fd/fc);
080 n0=zeros(1:N0);
081 xc0=zeros(1:N0);
082 xp0=zeros(1:N0);
083 x0=zeros(1:N0);
084 y0=zeros(1:N0);
085 for k=1:N0
086 n0(k)=nmax-N0+k;
087 xc0(k)=xc(nmax-N0+k);
088 xp0(k)=xp(nmax-N0+k);
089 x0(k)=x(nmax-N0+k);
090 y0(k)=y(nmax-N0+k);
091 end
092 kmax=N1/2;
093 s10=zeros(1:kmax);
094 s20=zeros(1:kmax);
095 f=zeros(1:kmax);
096 for k=1:kmax
097 f(k)=(k-1)*Fd/N1;
098 s10(k)=s1(k);
69
099 s20(k)=s2(k);
100 end
101 subplot(3,2,3)
102 plot2d(n0,xc0,style=[color("red")])
103 xgrid
104 xtitle('Сигнал на входе резонатора')
105 subplot(3,2,5)
106 plot2d(n0,x0)
107 xgrid
108 xtitle('Сигнал с помехой на входе резонатора')
109 subplot(3,2,2)
110 plot2d3(f,abs(s10))
111 xgrid
112 xtitle('Спектр сигнала и помехи на входе резонатора')
113 subplot(3,2,4)
114 plot2d(n0,y0,style=[color("red")])
115 xgrid
116 xtitle('Сигнал на выходе резонатора')
117 subplot(3,2,6)
118 plot2d3(f,abs(s20),style=[color("red4")])
119 xgrid
120 xtitle('Спектр сигнала на выходе резонатора')
70
Работа №4
Исследование цифрового режекторного фильтра
1. Цель работы
Исследование влияния коэффициентов системной функции режекторного фильтра на
его АЧХ, ФЧХ и импульсную характеристику. Исследование селективных свойств и устойчивости фильтра.
2. Литература
1. Приложение А к лабораторной работе №4
2. Конспект лекций по дисциплине «Цифровая обработка сигналов»
3. В.Г.Иванова, А.И.Тяжев. Цифровая обработка сигналов и сигнальные процессоры. Под
редакцией д.т.н., профессора Тяжева А.И. - Самара, 2008г.
3. Подготовка к лабораторной работе
Изучите указанную в разделе 2 литературу и ответьте на контрольные вопросы.
4. Контрольные вопросы
1.Начертите схему режекторного фильтра на одном звене второго порядка, запишите
разностные уравнения, описывающее РФ, получите выражение системной функции фильтра.
2.Запишите выражение для системной функции режекторного фильтра. Определите полюсы системной функции.
3.Запишите выражение для комплексного коэффициента передачи режекторного фильтра и получите из него соотношение для частоты режекции.
4. Как влияют коэффициенты системной функции режекторного фильтра В1 и А2 на
частоту режекции, полосу режекции на уровне 0,707 и коэффициент прямоугольности?
5. Дайте определение импульсной характеристике цифрового фильтра. Какова импульсная характеристика режекторного фильтра, как влияют на нее коэффициенты системной
функции B1 и А2?
6. Каким требованиям должны удовлетворять коэффициенты А1 и А2 системной функции для того, чтобы режекторный фильтр работал устойчиво?
5. Содержание работы
1. Исследуйте влияние коэффициента B1 системной функции фильтра на АЧХ, ФЧХ и
импульсную характеристику при постоянном значении коэффициента А2. Данные для выполнения эксперимента приведены в таблице 1.
2. Исследуйте влияние коэффициента А2 системной функции фильтра на АЧХ, ФЧХ и
импульсную характеристику при постоянном значении коэффициента B1. Данные для выполнения эксперимента приведены в таблице 2.
3. Исследуйте селективные свойства режекторного фильтра при действии на его входе
синусоидального сигнала с частотой fc и синусоидальной помехи с частотой fp, равной частоте режекции f0. Пронаблюдайте временные и спектральные диаграммы сигнала на входе и
выходе режекторного фильтра при выполнении условия fp = f 0 и при расстройке помехи относительно частоты режекции. Увеличьте частоту помехи на ПSe /4, пронаблюдайте временные и спектральные диаграммы и определите селективность фильтра. Повторите эксперимент при в два раза большем значении коэффициента прямоугольности.
71
Данные для проведения эксперимента приведены в таблице 3.
4. Исследуйте селективные свойства РФ при действии на входе режекторного фильтра
сигнала в виде последовательности прямоугольных импульсов и синусоидальной помехи.
Данные для проведения эксперимента приведены в таблице 3
5. Исследуйте устойчивость режекторного фильтра, установив значение коэффициента
А2=1.1.
Таблица 1
Исходные данные для выполнения п.1 задания
Номер
бригады
Частота дискретизации
Fd, МГц
Коэффициенты системной функции
A2
1
18
0.499
0
-1.532
1.532
2
30
0.606
0
-1.000
1.000
3
20
0.777
0
-1.200
1.200
4
28
0.850
0
-1.400
1.400
5
24
0.555
0
-1.500
1.500
6
32
0.700
0
-1.600
1.600
B1
Таблица 2
Исходные данные для выполнения п.2 задания
Номер
бригады
Частота дискретизации
Fd, МГц
Коэффициенты системной функции
B1
1
18
0
0.499
0.700
0.900
2
30
0
0.606
0.800
0.950
3
20
0
0.577
0.777
0.925
4
28
0
0.650
0.850
0.950
5
24
0
0.555
0.750
0.940
6
32
0
0.700
0.880
0.960
A2
72
Таблица 3
Исходные данные для выполнения п.3 задания
Номер
бригады
FД
fc
ПSe
f0
Xc
Xp
МГц
kp
МГц
МГц
МГц
1
25
2.5
5
1
10
0.3
5
2
16
0.4
4
2
5
0.2
6
3
20
1.0
5
3
9
0.4
7
4
36
3.0
6
1
8
0.4
4.5
5
24
2.0
6
2
10
0.3
6
6
20
0.5
4
1
5
0.2
5
6. Содержание отчета
Отчет должен содержать:
1.Графики АЧХ, ФЧХ и импульсной характеристики режекторного фильтра и выводы о
влиянии коэффициентов В1 и А2 на частоту режекции, полосу режекции при заданной селективности, коэффициент прямоугольности и импульсную характеристику.
2.Временные и спектральные диаграммы сигнала и синусоидальной помехи на входе и
выходе режекторного фильтра. Значения селективности фильтра при расстройке помехи относительно частоты режекции при двух значениях коэффициента прямоугольности. Вывод о
влиянии коэффициента прямоугольности на селективные свойства режекторного фильтра.
3.Временные и спектральные диаграммы сигнала в виде последовательности прямоугольных импульсов и синусоидальной помехи на входе и выходе режекторного фильтра.
Вывод о причине искажения выходного сигнала фильтра при полном подавлении помехи.
7. Методические указания по выполнению работы
Лабораторная работа выполняется в программной среде SCILAB. Откройте программу
scilab - 5.5.2. Появится командное окно приложения. Окно содержит меню, панель инструментов и рабочую область. Признаком того, что система готова к выполнению команды, является наличие знака приглашения (горизонтальной стрелки), после которого расположен
мигающий курсор.
Щелчком левой кнопки мыши откройте Инструменты → Текстовый редактор SciNotes.
Появится окно для редактирования. Из редактора откройте файл «Режекторный фильтр1»
(File-Open-..Рабочий стол – ЦОС в Scilab – Режекторный фильтр1). Текст программы приведѐн в Приложении Б. Появится текст программы с комментариями, которые вводятся с использованием знака //.
В строках 3-5 осуществляется ввод исходных данных, затем рассчитываются коэффициент системной функции А1, зависящий от В1 и А2, и масштабный коэффициент М, зависящий от А2, задаются значения селективности Se=10, максимальный номер отсчета импульсной характеристики nmax, находятся параметр d, определяющий величину полосы режекции,
и частота режекции f0.
73
В строках 14-70 рассчитываются АЧХ и ФЧХ фильтра и формируются их графики. График АЧХ представляется в интервале от нуля до половины частоты дискретизации и в увеличенном масштабе в интервале от fmin = f0-d Fd до fmin = f0+d Fd. На графиках задаются
уровни 0.707 и 1/Se = 0.1.
В строках 72-84 формируется единичный отсчѐт, подаваемый на вход фильтра для определения импульсной характеристики.
Строки 86-97 формируют реакцию фильтра на единичный отсчѐт и график импульсной
характеристики.
Рассчитайте частоты режекции фильтра при трѐх значениях коэффициента В1, приведѐнных в таблице 1, по формуле (1) и занесите в таблицу 4.
f0
arccos B1 2
Fd.
2
(1)
Введите значение коэффициента А2 и первое значение коэффициента В1 из таблицы 1 и
запустите программу. Появится графическое окно, подобное приведѐнному на рисунке 1.
Рисунок 1. АЧХ, ФЧХ и импульсная характеристика
режекторного фильтра
Значение частоты режекции, соответствующее минимуму АЧХ, занесите в таблицу 4.
74
Таблица 4
Зависимость частоты режекции от коэффициента B1
Коэффициент
В1
Частота режекции f0, МГц
Расчет
Эксперимент
Повторите эксперимент при двух других значениях коэффициента В1. Пронаблюдайте
импульсную характеристику при трѐх значениях коэффициента В1. Максимальный номер
отсчѐта импульсной характеристики выберите в пределах 15..30. В процессе выполнения
эксперимента эту величину можно корректировать.
Обратите внимание на изменение частоты колебаний импульсной характеристики. Запишите в отчѐт вывод о влиянии коэффициента В1 на АЧХ, ФЧХ и импульсную характеристику.
При трѐх значениях А2, приведѐнных в таблице 2, рассчитайте полосу режекции на
уровне 0.707 П0.707, полосу режекции при заданной селективности ПSe и коэффициент прямоугольности фильтра kp при Se=10
0.707
где
d
d Fd,
1
4
d Fd
N Se
Se 2
,
1
kp
N 0707
Se 2 1,
N Se
A2
.
A2
Результаты занесите в таблицу 5.
Введите в программу В1=0 и первое значение коэффициента А2. Измерьте полосы режекции на уровнях 0.707 и 1/Se. При измерении воспользуйтесь механизмом ярлыков с координатами точки кривой. Такие ярлыки показаны на рисунке 1. Чтобы установить ярлык
щѐлкните левой кнопкой мыши по переключателю режима ярлыка данных на панели инструментов графического окна и следуйте указанию, появившемуся в нижней строке окна. Результаты измерений занесите в таблицу 5.
Оцените влияние коэффициента А2 на скорость затухания импульсной характеристики.
Запишите в отчет выводы о влиянии коэффициентов системной функции В1 и А2 на
АЧХ, ФЧХ и импульсную характеристику режекторного фильтра.
Для исследования селективных свойств режекторного фильтра при действии синусоидального сигнала и синусоидальной помехи откройте программу «Режекторный фильтр2».
Текст программы приведѐн в Приложении В.
Таблица 5
Зависимости полос режекции на уровнях 0.707 и 1/Se
и коэффициента прямоугольности от коэффициента А2
Результаты расчета
Результаты эксперимента
А2
П0.707
МГц
ПSe
МГц
kp
П0.707
МГц
ПSe
МГц
kp
75
В строках 4-11 осуществляется ввод исходных данных. В строках 14-20 выполняется
синтез режекторного фильтра: исходя из требований к частоте режекции, полосе режекции
при заданной селективности и коэффициенты прямоугольности определяются коэффициенты системной функции фильтра.
В строках 22-38 рассчитывается АЧХ и строится еѐ график.
Строки 48-53 формируют сигнал, помеху и их сумму, которая поступает на вход фильтра (строки 55-62).
В строках 70-79 определяется амплитудный спектр входного и выходного сигналов
фильтра с использованием прямого дискретного преобразования Фурье, а затем осуществляется вывод графиков.
Введите в программу исходные данные и установите частоту помехи fp, равную частоте
режекции фильтра f0. Запустите программу. Появится графическое окно, подобное приведѐнному на рисунке 2. Убедитесь в том, что помеха на выходе фильтра отсутствует.
Увеличьте частоту помехи на ПSe/4 и измерьте селективность фильтра. Для этого по
спектральной диаграмме определите амплитуды сигнала и помехи на выходе фильтра: Xc
вых и Xp вых.
Определите коэффициенты передачи фильтра для сигнала и помехи:
Kc
Xc вых
Xp вых
, Kp
.
Xc
Xp
Рисунок 2. Временные и спектральные диаграммы сигналов на входе и выходе режекторного
фильтра при синусоидальном сигнале и синусоидальной помехи
76
Определите селективность фильтра, которая показывает, во сколько раз коэффициент
передачи фильтра для сигнала больше коэффициента передачи для помехи
Se
Kc
.
Kp
Увеличьте частоту помехи на ПSe/4 и измерьте селективность фильтра. Для этого по
спектральной диаграмме сигнала на выходе фильтра определите амплитуды сигнала и помехи на выходе фильтра: Xc вых и Xp вых.
Определите коэффициенты передачи фильтра для сигнала и помехи:
Kc
Xc вых
Xp вых
, Kp
.
Xc
Xp
Определите селективность фильтра, которая показывает, во сколько раз коэффициент
передачи фильтра для сигнала больше коэффициента передачи для помехи
Se
Kc
.
Kp
Результат занесите в отчет.
Увеличьте в два раза коэффициент прямоугольности и повторите эксперимент. Новое
значение селективности запишите в отчет. Сделайте вывод о влиянии коэффициента прямоугольности фильтра на его селективность.
Для исследования селективных свойств режекторного фильтра при действии сигнала в
виде последовательности прямоугольных импульсов и синусоидальной помехи откройте
программу «Режекторный фильтр3». Текст программы приведѐн в Приложении Г. Эта программа отличается от предыдущей только формированием испытательного сигнала в виде
последовательности прямоугольных импульсов путѐм предельного ограничения синусоидального колебания (строки 52-56).
Введите в программу исходные данные из таблицы 3, установите частоту помехи fp, равную частоте режекции фильтра f0, и запустите программу. На экране появится командное окно, подобное представленному на рисунке 3.
Обратите внимание на отсутствие помехи на выходе фильтра и на искажения выходного
сигнала. Укажите в отчѐте причину искажений выходного сигнала.
Увеличьте частоту помехи на четверть полосы режекции на уровне 1/Se и пронаблюдайте временную и спектральные диаграммы сигнала на выходе фильтра.
Для исследования устойчивости режекторного фильтра загрузите программу «Режекторный фильтр1» и введите данные из таблицы1. Убедитесь ещѐ раз в том, что импульсная
характеристика фильтра является затухающей. Установите А2=1.1, увеличьте время наблюдения импульсной характеристики в 10 раз (увеличьте nmax в 10 раз) и вновь запустите программу. Пронаблюдайте возрастающую импульсную характеристику. Пошагово увеличивая
nmax в 10 раз наблюдайте и фиксируйте в отчете максимальные значения отсчѐтов импульсной характеристики до тех пор, пока график импульсной характеристики не исчезнет в
командном окне. Последнее означает, что абсолютные значения отсчетов импульсной характеристики достигли значений, которые выходят за пределы разрядной сетки вычислительного устройства.
77
Рисунок 3. Временные и спектральные диаграммы сигналов на входе и выходе фильтра при
сигнале в виде последовательности прямоугольных импульсов и синусоидальной помехе
78
Приложение А
к лабораторной работе №4
Режекторный фильтр на основе рекурсивного звена второго порядка
1.Системная функция режекторного фильтра. Устойчивость фильтра
На рисунке П.1 приведена схема режекторного фильтра на основе рекурсивного звена
второго порядка
xn
yn
vn
M
z-1
-A1
B1
z-1
-A2
Рисунок П.1. Режекторный фильтр
Из схемы видно, что
vn
M x n A1 vn 1 A2 vn 2 ,
yn vn B1 vn 1 vn 2 .
Перейдем от разностных уравнений к уравнениям для Z - преобразований дискретных
сигналов
V z M X z A1 z 1 V z A 2 z 2 V z ,
Y z V z B1 z 1 V z z 2 V z .
Из первого уравнения выразим V(z) через X(z) и подставим во второе уравнение. В результате получим
Y z
M 1 B1 z 1 z 2
X z.
1 A1 z 1 A 2 z 2
Разделив Y(z) на X(z), найдѐм системную функцию фильтра
H z
M 1 B1 z 1 z 2
.
1 A1 z 1 A 2 z 2
(П.1)
Определим полюсы системной функции. Для этого приравняем знаменатель к нулю и
решим полученное уравнение
z2
z1, 2
A1 z A2 0
A1
2
A1
2
2
A 2.
79
В режекторном фильтре выполняется условие:
2
A1
2
A2 0 .
(П. 2)
Поэтому корни квадратного уравнения получаются комплексно-сопряжѐнными и равными
2
A1
2
z1, 2
A1
.
2
j A2
Из последнего соотношения следует, что модуль первого и второго полюса равен
z1, 2
A 2.
Цифровой фильтр устойчив, если выполняется условие
z1, 2
1.
Следовательно, в устойчивом режекторном фильтре коэффициент А2 должен удовлетворять условию
0 A 2 1.
(П.3)
Из (П.2) и (П.3) следует, что коэффициент А1 должен удовлетворять условию
A1
2
A2 .
(П.4)
2. АЧХ и ФЧХ фильтра
Подставим в выражение для системной функции (П.1)
z
ej
2 f FД , и
, где
найдем комплексный коэффициент передачи фильтра
M 1 B1 e j e j 2
1 A1 e j A 2 e j 2
 j
K
АЧХ
K
и ФЧХ
фильтра определяются следующими соотношениями:
 j
arg K
arctg
M B1 2 cos ( )
 j
K
K
M e j B1 2 cos
.
1 A1 e j A 2 e j 2
1 A1e
j
A2 e
j2
,
(П.5)
arg B1 2 cos ( )
A1sin
1 A1 cos
A 2 sin 2
A 2 cos 2
.
(П.6)
В последнем соотношении
arg B1 2 cos ( )
Из (П.5) видно, что при
нулю
K
0
0,
0
0 при B1 2 cos
2 f
0
0,
при B1 2 cos
0.
Fд коэффициент передачи фильтра
равен
если выполняется условие
80
B1 2 cos
0.
0
(П.7)
Частота f0, на которой коэффициент передачи фильтра равен нулю, называется частотой
режекции фильтра.
Последнее соотношение позволяет при заданной частоте режекции определить коэффициент системной функции
B1
2 cos 2 f
0
Fд
(П.8)
Соотношение (П.7) позволяет решить и обратную задачу: по известному коэффициенту
системной функции найти частоту режекции
f
Fд arccos B1 2 .
0
2
(П.9)
После подстановки (П.7) в (П.5) получим
К
cos
2M
Потребуем, чтобы на границах
фильтра были равны единице
cos
0
A2 e j 2
1 A1e j
(П.10)
.
интервала Котельникова коэффициенты передачи
K 0
K
1.
Тогда из (П.10) получим два уравнения для определения коэффициента A1 и масштабного коэффициента М
2М
1 cos
0
1 A1 A2
1,
1 cos
2M
Поскольку
cos
1 cos
0 1
1 A1 A2
1, то справедливы соотношения:
0
0
1 cos
0
, 1 cos
Так как в устойчивом режекторном фильтре
1 2
(П.11)
0
A1
1 cos
2
A2
0
и
.
A 2 1,
а
2
A2 A2 1 A2
0, то выполняются соотношения
1 A1 A 2 1 A1 A 2, 1 A1 A 2 1 A1 A 2.
Поэтому соотношения (П.11) преобразуются к виду:
1 A1 A2 2 M 1 cos
1 A1 A2 2 M 1 cos
0
0
,
.
Из двух последних уравнений получим
81
M
A1
1 A2
,
2
1 A2 cos
(П.12)
0
,
(П.13)
На рисунках П.2 и П.3 приведены АЧХ и ФЧХ, рассчитанные по формулам (П.5) и (П.6)
при коэффициентах B1, М и A1, определѐнных по (П.8), (П.12) и (П.13) соответственно при
заданных значениях A2=0.535 и fN0= f0 / FД = 0.10, 0.25, 0.40 .
На этих рисунках по оси абсцисс отложена нормированная частота, определяемая соотношением
fN
f
,
FД
где f – текущая частота, FД – частота дискретизации.
1
K1 fN
K2 fN
0.1
K3 fN
0.01
0
0.1
0.2
0.3
0.4
0.5
fN
Рисунок П.2. АЧХ режекторных фильтров при нормированных частотах режекции fN0 =
0.10, 0.25 и 0.40.
2
1 fN
1
2 fN
0
3 fN
1
2
0
0.1
0.2
0.3
0.4
0.5
fN
Рисунок П.3. ФЧХ режекторных фильтров при нормированных частотах режекции fN0 =
0.10, 0.25 и 0.40.
Из рисунка видно, что формы АЧХ и ФЧХ мало изменяются при перестройке режекторного фильтра по диапазону.
82
Можно показать, что при нормированной частоте режекции fN0=0.25, А2>0.4 и малых
расстройках относительно частоты режекции выражение для АЧХ существенно упрощается
fN
K fN
1
2 f
где
f
N
N
d
f0
,
d
1
4
,
2
fN
(П.14)
A2
.
A2
Поскольку форма АЧХ мало меняется при изменении частоты режекции, то соотношения (П.14) можно использовать с допустимой погрешностью и при других частотах режекции, что видно из рисунка П.4
1
K01 fN
K02 fN
K03 fN
K1 fN
0.1
K2 fN
K3 fN
0.01
0
0.1
0.2
0.3
0.4
fN
Рисунок П.4. АЧХ, рассчитанные по точной (сплошные линии) и приближѐнной формулам (пунктирные линии)
Приближѐнная формула П.14 позволяет определить нормированную полосу режекции на
уровне 0.707 из условия
N 0.707
1
2
d
2
1
.
N 0.707
d
Из последнего соотношения следует
П N 0.707
d.
(П.15)
Определим селективность фильтра как отношение максимального коэффициента передачи фильтра для сигнала, равного единице, к максимальному коэффициенту передачи для
помехи, частота которой находится в пределах полосы режекции на уровне 1/Se.
Полоса режекции на уровне 1 Se определяется из условия
83
NSe
1
Se
d
2
.
NSe
1
d
Из этого соотношения находим
d
NSe
Se
2
.
(П.16)
1
Определим коэффициент прямоугольности kp как отношение полосы режекции на уровне 0.707 к полосе режекции на уровне 1/Se.
Из (П.15) и (П.16) получим
Se 2 1.
0.707
kp
(П.17)
NSe
Последнее соотношение выражает связь между коэффициентом прямоугольности и селективностью фильтра: с увеличением коэффициента прямоугольности селективность увеличивается.
3. Импульсная характеристика режекторного фильтра
Импульсной характеристикой цифрового фильтра называется выходной сигнал фильтра
при действии на входе единичного отсчета и определѐнный при нулевых начальных условиях.
Известно, что импульсная характеристика представляет собой обратное Z – преобразование системной функции фильтра
1
hn
H z z n 1 dz.
2 j
В (П.1) обозначим
Н0 z
z2
.
A1 z A 2
1
1 A1 z
1
A2 z
2
z2
H z в следующем виде
H z M H0 (z) M B1 z 1 H0 z M z 2 H0 z .
Пусть системной функции H0 z соответствует импульсная характеристика h 0n , тоС учѐтом введѐнного обозначения запишем
гда на основании свойств прямого Z - преобразования можно записать
Определим h0n
1
h0n
2 j z2
1
1
2 j z1 z 2
hn
M h 0n
zn 1
dz.
B1 z A 2
n 1
z
dz
z z1
M B1 h0n 1 M h0n 2 .
1
zn
2 j
z z1 z z 2
n 1
z
dz
z z2
(П.18)
1
1
z1 z 2
z1
n 1
dz
(П.19)
z2
n 1
,
84
2
где
A1
A1
A1
z1, 2
j A2
A2 e j 1 , 1 arccos
2
2
2 A2
Подставляя z1 и z 2 в (П.19), получим
n 1
1
h0n
A
2
ej 1 n 1 e j 1 n 1
j 1
j 1
A2 e
e
.
A2n 2
sin 1 n 1 .
sin 1
Подставляя последнее соотношение в (П.18), получим
M при n
hn
0,
при n 1,
M h 01 B1 h 0 0
M h0n
B1 h 0 n
1
h0n
2
при n 1.
На рисунках П.5- П.7 показаны импульсные характеристики, при различных значениях
коэффициентов B1 и А2. Из рисунков видно, что импульсная характеристика представляет
собой затухающее синусоидальное колебание, частота которого определяется частотой режекции фильтра (коэффициент B1).Сравнение рисунков П.6 и П.7 показывает, что импульсная характеристика затухает медленнее при увеличении коэффициента А2.
1
0.5
hn
0
0.5
0
10
20
30
n
Рисунок П.5. Импульсная характеристика при А2=0.8, B1=0, A1=0, M=0.9
1
0.5
hn
0
0.5
0
10
20
30
n
Рисунок П.6. Импульсная характеристика при А2=0.8, B1=-1.5, A1=-1.35, M=0.9.
85
1
0.5
hn
0
0.5
0
10
20
30
n
Рисунок П.7. Импульсная характеристика при А2=0.5, B1=-1.5,
A1=-1.125, M=0.75
Приложение Б
лабораторной работе №4
Расчет АЧХ, ФЧХ и импульсной характеристики
001 // Программа "Режекторный фильтр1" Расчет АЧХ, ФЧХ
002 // и импульсной характеристики
003 A2=0.7; //Коэффициент системной функции
004 B1=-1; //Коэффициент системной функции
005 Fd=18;//Частота дискретизации
006 //
007 A1=B1*(1+A2)/2;//Коэффициент системной функции
008 Se=10//Селективность
009 nmax=15;
010 M=(1+A2)/2;//Масштабный коэффициент
011 d=(1-sqrt(A2))/(%pi*A2^(1/4));
012 f0=Fd*acos(-B1/2)/(2*%pi);
013 //Расчет АЧХ и ФЧХ режекторного фильтра
014 j=sqrt(-1);
015 delta_f=0.001;
016 N=round(0.5*Fd/delta_f)+1;
017 fmin=f0-1*d*Fd;
018 fmax=f0+1*d*Fd;
019 N1=round(fmin/delta_f);
020 N2=round(fmax/delta_f);
021 f1=zeros(1:N2-N1);
022 f=zeros(1:N);
023 H=zeros(1:N);
024 H1=zeros(1:N2-N1);
025 K=zeros(1:N);
026 K1=zeros(1:N2-N1);
027 K07=zeros(1:N);
028 K107=zeros(1:N2-N1);
029 KSe=zeros(1:N);
030 K1Se=zeros(1:N2-N1);
031 phi=zeros(1:N);
86
032 xdel;
033 for m=1:N
034 f(m)=delta_f*(m-1);
035 z(m)=exp(j*2*%pi*f(m)/Fd);
036 H(m)=M*(1+B1*z(m)^(-1)+z(m)^(-2))/(1+A1*z(m)^(1)+A2*z(m)^(-2));
037 end
038 K=abs(H);
039 for m=1:N2-N1
040 f1(m)=fmin+delta_f*(m-1);
041 z(m)=exp(j*2*%pi*f1(m)/Fd);
042 H1(m)=M*(1+B1*z(m)^(-1)+z(m)^(-2))/(1+A1*z(m)^(1)+A2*z(m)^(-2));
043 K1(m)=abs(H1(m));
044 end
045 for L=1:N
046 K07(L)=0.707;
047 KSe(L)=1/Se;
048 end
049 for L=1:N2-N1
050 K107(L)=0.707;
051 K1Se(L)=1/Se;
052 end
053 phi=atan(imag(H),real(H));
054 subplot(2,2,1)
055 xgrid
056 xtitle('АЧХ резонатора')
057 plot2d(f,K,style=[color("blue")]);
058 plot2d(f,K07,style=[color("red")]);
059 plot2d(f,KSe,style=[color("red")]);
060 subplot(2,2,2)
061 xgrid
062 xtitle('АЧХ резонатора')
063 rect=[fmin,1,fmax,1];
064 plot2d(f1,K1,style=[color("blue")]);
065 plot2d(f1,K107,style=[color("red")]);
066 plot2d(f1,K1Se,style=[color("red")]);
067 subplot(2,2,3)
068 xgrid
069 xtitle('ФЧХ режекторного фильтра')
070 plot2d(f,phi,style=[color("blue")])
071 //Формирование единичного отсчета на входе фильтра
072 i=zeros(1:nmax+1);
073 y=zeros(1:nmax+1);
074 x=zeros(1:nmax+1);
075 n=zeros(1:nmax+1);
076 x(1)=1;
077 for i=1:nmax+1
078 if i==1
079
x(i)=1
080 else
081
x(i)=0
87
082 end
083 n(i)=i-1
084 end
085 //Определение импульсной характеристики фильтра
086 u(1)=M*x(1);
087 y(1)=u(1);
088 u(2)=M*x(2)-A1*u(1);
089 y(2)=u(2)+B1*u(1);
090 for i=3:nmax+1
091 u(i)=M*x(i)-A1*u(i-1)-A2*u(i-2);
092 y(i)=u(i)+B1*u(i-1)+u(i-2);
093 end;
094 subplot(2,2,4)
095 xgrid
096 xtitle('Импульсная характеристика фильтра')
097 plot2d3(n,y,style=[color("red")])
88
Приложение В
к лабораторной работе №4
Программа синтеза и моделирования режекторного фильтра при действии на
его входе синусоидального сигнала и синусоидальной помехи
001 // Программа "Режекторный фильтр2" Моделирование
002 // цифрового режекторного фильтра при действии на его
003 // входе синусоидального сигнала и синусоидальной помехи
004 // Fd=30; //Частота дискретизации
005 fc=1.0;//Частота сигнала
006 fp=5;//Частота помехи
007 f0=5; //Частота режекции
008 Xc=1;//Амплитуда сигнала
009 Xp=10;//Амплитуда помехи
010 Pr=0.18//Полоса режекции
011 kp=5//Коэффициент прямоугольности
012 nmax=200;
013 //
014 Se=sqrt(kp^2-1);//Селективность фильтра
015 d=Pr*kp/Fd;
016 a=%pi*d;
017 A2=(1-a*sqrt(1+a^2/4)+a^2/2)^2;
018 M=(1+A2)/2;//Масштабный коэффициент
019 B1=-2*cos(2*%pi*f0/Fd);//Коэффициент системной функции
020 A1=-(1+A2)*cos(2*%pi*f0/Fd); //Коэффициент системной
функции
021 //Расчет АЧХ режекторного фильтра
022 j=sqrt(-1);
023 delta_f=0.01;
024 N=round(0.5*Fd/delta_f);
025 f=zeros(1:N);
026 H=zeros(1:N);
027 K=zeros(1:N);
028 xdel;
029 for m=1:N
030 f(m)=delta_f*(m-1);
031 z(m)=exp(j*2*%pi*f(m)/Fd);
032 H(m)=M*(1+B1*z(m)^(-1)+z(m)^(-2))/(1+A1*z(m)^(1)+A2*z(m)^(-2));
033 end
034 K=abs(H);
035 subplot(3,2,1)
036 xgrid
037 xtitle('АЧХ режекторного фильтра')
038 plot2d(f,K,style=[color("blue")])
039 //Формирование сигнала с помехой на входе резонатора
040 n=zeros(1:nmax+1);
041 y=zeros(1:nmax+1);
042 xc=zeros(1:nmax+1);
043 xc0=zeros(1:nmax+1);
044 xp=zeros(1:nmax+1);
045 x=zeros(1:nmax+1);
89
046 s1=zeros(1:nmax+1);
047 s2=zeros(1:nmax+1);
048 for i=1:nmax+1
049 n(i)=i-1;
050 xc(i)=Xc*cos(2*%pi*fc*i/Fd); //Сигнал
051 xp(i)=Xp*cos(2*%pi*fp*i/Fd); //Помеха
052 x(i)=xc(i)+xp(i); //Сигнал с помехой
053 end
054 //Определение выходного сигнала фильтра
055 u(1)=M*x(1);
056 y(1)=u(1);
057 u(2)=M*x(2)-A1*u(1);
058 y(2)=u(2)+B1*u(1);
059 for i=3:nmax+1
060 u(i)=M*x(i)-A1*u(i-1)-A2*u(i-2);
061 y(i)=u(i)+B1*u(i-1)+u(i-2);
062 end;
063 N1=Fd/fc;
064 x1=zeros(1:N1);
065 y1=zeros(1:N1);
066 for m=1:N1
067 x1(m)=x(nmax-N1+m);
068 y1(m)=y(nmax-N1+m);
069 end
070 for k=1:N1
071 alfa1=0;
072 alfa2=0;
073 for n=1:N1
074 alfa1=alfa1+x1(n)*exp(-2*j*%pi*(n-1)*(k-1)/N1);
075 alfa2=alfa2+y1(n)*exp(-2*j*%pi*(n-1)*(k-1)/N1);
076 end
077 s1(k)=alfa1*2/N1;
078 s2(k)=alfa2*2/N1;
079 end
080 N0=round(5*Fd/fc);
081 n0=zeros(1:N0);
082 xc0=zeros(1:N0);
083 xp0=zeros(1:N0);
084 x0=zeros(1:N0);
085 y0=zeros(1:N0);
086 for m=1:N0
087 n0(m)=nmax-N0+m;
088 xc0(m)=xc(nmax-N0+m);
089 xp0(m)=xp(nmax-N0+m);
090 x0(m)=x(nmax-N0+m);
091 y0(m)=y(nmax-N0+m);
092 end
093 kmax=N1/2;
094 s10=zeros(1:kmax);
095 s20=zeros(1:kmax);
096 f=zeros(1:kmax);
097 for k=1:kmax+1
90
098 f(k)=(k-1)*Fd/N1;
099 s10(k)=s1(k);
100 s20(k)=s2(k);
101 end
102 subplot(3,2,3)
103 xgrid
104 xtitle('Сигнал на входе фильтра')
105 plot2d(n0,xc0,style=[color("red")])
106 subplot(3,2,5)
107 xgrid
108 xtitle('Сигнал с помехой на входе фильтра')
109 plot2d(n0,x0)
110 subplot(3,2,4)
111 xgrid
112 xtitle('Спектр сигнала и помехи на входе фильтра')
113 plot2d3(f,abs(s10))
114 subplot(3,2,2)
115 xgrid
116 xtitle('Сигнал на выходе фильтра')
117 plot2d(n0,y0,style=[color("red")])
118 subplot(3,2,6)
119 plot2d3(f,abs(s20),style=[color("red4")])
120 xgrid
121 xtitle('Спектр сигнала на выходе фильтра')
91
Приложение Г
к лабораторной работе №4
Программа синтеза и моделирования режекторного фильтра при действии на его входе
последовательности прямоугольных импульсов и синусоидальной помехи
001 // Программа "Режекторный фильтр3" Моделирование
002 // цифрового /режекторного фильтра при действии на его
003 // входе сигнала в виде последовательности прямоугольных
004 // импульсов и синусоидальной помехи
005 Fd=30; //Частота дискретизации
006 fc=1.0;//Частота сигнала
007 fp=5;//Частота помехи
008 f0=5; //Частота режекции
009 Xc=1;//Максимальный уровень импульса сигнала
010 Xp=10;//Амплитуда помехи
011 Pr=0.18//Полоса режекции
012 kp=5//Коэффициент прямоугольности
013 nmax=200;
014 //
015 Se=sqrt(kp^2-1);//Селективность фильтра
016 d=Pr*kp/Fd;
017 a=%pi*d;
018 A2=(1-a*sqrt(1+a^2/4)+a^2/2)^2;
019 M=(1+A2)/2;//Масштабный коэффициент
020 B1=-2*cos(2*%pi*f0/Fd);//Коэффициент системной функции
021 A1=-(1+A2)*cos(2*%pi*f0/Fd); //Коэффициент системной
функции
022 //Расчет АЧХ режекторного фильтра
023 j=sqrt(-1);
024 delta_f=0.01;
025 N=round(0.5*Fd/delta_f);
026 f=zeros(1:N);
027 H=zeros(1:N);
028 K=zeros(1:N);
029 xdel;
030 for m=1:N
031 f(m)=delta_f*(m-1);
032 z(m)=exp(j*2*%pi*f(m)/Fd);
033 H(m)=M*(1+B1*z(m)^(-1)+z(m)^(-2))/(1+A1*z(m)^(1)+A2*z(m)^(-2));
034 end
035 K=abs(H);
036 subplot(3,2,1)
037 xgrid
038 xtitle('АЧХ режекторного фильтра')
039 plot2d(f,K,style=[color("blue")])
040 //Формирование сигнала с помехой на входе резонатора
041 n=zeros(1:nmax+1);
042 y=zeros(1:nmax+1);
043 xc=zeros(1:nmax+1);
044 xc0=zeros(1:nmax+1);
045 xp=zeros(1:nmax+1);
92
046 x=zeros(1:nmax+1);
047 s1=zeros(1:nmax+1);
048 s2=zeros(1:nmax+1);
049 for i=1:nmax+1
050 n(i)=i-1;
051 xc0(i)=cos(2*%pi*fc*i/Fd);
052 if xc0(i)<0 then
053
xc(i)=-Xc;
054 else
055
xc(i)=Xc;
056 end
057 xp(i)=Xp*cos(2*%pi*fp*i/Fd); //Помеха
058 x(i)=xc(i)+xp(i); //Сигнал с помехой
059 end
060 //Определение выходного сигнала фильтра
061 u(1)=M*x(1);
062 y(1)=u(1);
063 u(2)=M*x(2)-A1*u(1);
064 y(2)=u(2)+B1*u(1);
065 for i=3:nmax+1
066 u(i)=M*x(i)-A1*u(i-1)-A2*u(i-2);
067 y(i)=u(i)+B1*u(i-1)+u(i-2);
068 end;
069 N1=Fd/fc;
070 x1=zeros(1:N1);
071 y1=zeros(1:N1);
072 for m=1:N1
073 x1(m)=x(nmax-N1+m);
074 y1(m)=y(nmax-N1+m);
075 end
076 for k=1:N1
077 alfa1=0;
078 alfa2=0;
079 for n=1:N1
080
alfa1=alfa1+x1(n)*exp(-2*j*%pi*(n-1)*(k-1)/N1);
081
alfa2=alfa2+y1(n)*exp(-2*j*%pi*(n-1)*(k-1)/N1);
082 end
083 s1(k)=alfa1*2/N1;
084 s2(k)=alfa2*2/N1;
085 end
086 N0=round(5*Fd/fc);
087 n0=zeros(1:N0);
088 xc0=zeros(1:N0);
089 xp0=zeros(1:N0);
090 x0=zeros(1:N0);
091 y0=zeros(1:N0);
092 for m=1:N0
093 n0(m)=nmax-N0+m;
094 xc0(m)=xc(nmax-N0+m);
095 xp0(m)=xp(nmax-N0+m);
096 x0(m)=x(nmax-N0+m);
097 y0(m)=y(nmax-N0+m);
93
098 end
099 kmax=N1/2;
100 s10=zeros(1:kmax);
101 s20=zeros(1:kmax);
102 f=zeros(1:kmax);
103 for k=1:kmax+1
104 f(k)=(k-1)*Fd/N1;
105 s10(k)=s1(k);
106 s20(k)=s2(k);
107 end
108 subplot(3,2,3)
109 xgrid
110 xtitle('Сигнал на входе фильтра')
111 plot2d(n0,xc0,style=[color("red")])
112 subplot(3,2,5)
113 xgrid
114 xtitle('Сигнал с помехой на входе фильтра')
115 plot2d(n0,x0)
116 subplot(3,2,4)
117 xgrid
118 xtitle('Спектр сигнала и помехи на входе фильтра')
119 plot2d3(f,abs(s10))
120 subplot(3,2,2)
121 xgrid
122 xtitle('Сигнал на выходе фильтра')
123 plot2d(n0,y0,style=[color("red")])
124 subplot(3,2,6)
125 plot2d3(f,abs(s20),style=[color("red4")])
126 xgrid
127 xtitle('Спектр сигнала на выходе фильтра')
94
Работа №5
Исследование цифровых генераторов
1. Цель работы
1. Ознакомление с алгоритмами функционирования генераторов пилообразных, прямоугольных, треугольных, трапецеидальных и синусоидальных колебаний.
2. Овладение методикой моделирования цифровых генераторов на ЭВМ.
2. Литература
1. Приложение А к лабораторной работе №4
2. Конспект лекций по курсу «Цифровая обработка сигналов»
3. В.Г.Иванова, А.И. Тяжев. Цифровая обработка сигналов и сигнальные процессоры //
Самара, 2008, c.89-93
3. Подготовка к лабораторной работе
Изучите указанную в разделе II литературу и ответьте на контрольные вопросы.
4. Контрольные вопросы
1. Поясните с помощью временных диаграмм принцип формирования пилообразных,
прямоугольных, треугольных и трапецеидальных колебаний.
2. От чего зависит частота пилообразных колебаний?
3. Поясните алгоритм формирования прямоугольных колебаний из пилообразны. Каков
способ изменения скважности последовательности прямоугольных импульсов?
4. Поясните с помощью временных диаграмм формирование трапецеидального колебания.
5. Поясните с помощью временных диаграмм способ формирования квадратурных колебаний косинусно-синусного генератора.
6. Как влияет степень аппроксимирующего полинома на чистоту спектра колебаний косинусно-синусного генератора?
6. Почему используется гнездовая скобочная форма записи аппроксимирующего полинома?
5. Содержание работы
1. Сформируйте nmax отсчетов пилообразного колебания, значения которых изменяются
в интервале от –P до +P с нормированной частотой
fN
A
.
2P
Значения nmax, P и A приведены в таблице 1.
Повторите эксперимент при параметре А пилообразного колебания в 2 раза меньшем по
сравнению с указанным в таблице.
Таблица 1
Исходные данные для выполнения п.1 и п.2
Бригада
nmax
Значения параметров
P
A
Q
95
№1
№2
№3
№4
№5
№6
250
240
290
300
300
280
1.00
1.20
1.50
2.00
0.75
3.00
1/30
1/25
1/20
1/15
1/40
1/10
2.5
3.0
3.5
4.0
4.5
5.0
Определите спектр пилообразного колебания с нулевой по пятую гармонику включительно.
2. Выполните моделирование генератора прямоугольных однополярных положительных
и двухполярных импульсов на основе генератора пилообразных колебаний с параметрами,
приведѐнными в таблице 1 . Двухполярные импульсы должны иметь одинаковые абсолютные значения положительных и отрицательных отсчетов. Эксперимент выполнить при двух
значениях скважности импульсов Q = 2 и Q, приведѐнным в таблице 1.
Рассчитайте значение константы c0, обеспечивающей требуемую скважность импульсов,
по формуле
c0
P * (1 2 / Q).
Для всех указанных вариантов определите амплитудный спектр импульсной последовательности с нулевой по пятую гармонику включительно.
3. Выполните моделирование генератора треугольных колебаний. Данные для моделирования возьмите из таблицы 1.
Определите амплитудный спектр этого колебания с нулевой по пятую гармонику включительно.
4. Выполните моделирование генератора трапецеидальных колебаний, воспользовавшись значениями параметров из таблицы 1 и установив параметр, определяющий крутизну
скатов трапеции, равным B=3.
Повторите эксперимент при B=10.
Определите амплитудный спектр колебания в первом и во втором случае с нулевой по
пятую гармонику включительно..
5. Выполните моделирование косинусно-синусного генератора с полиномиальной аппроксимацией отсчетов выходных колебаний при использовании полиномов 3-го и 5-го порядков. Данные для моделирования возьмите из таблицы 1. Определите амплитудный спектр
генерируемых колебаний с нулевой по пятую гармонику включительно.
6. Содержание отчета
Отчет должен содержать:
1. Временные диаграммы генерируемых колебаний
2. Табличное представление амплитудных спектров генерируемых колебаний.
3. Выводы по каждому пункту работы.
7. Методические указания по выполнению работы
Лабораторная работа выполняется в программной среде SCILAB. Откройте программу
scilab - 5.5.2. Появится командное окно приложения. Окно содержит меню, панель инструментов и рабочую область. Признаком того, что система готова к выполнению команды, является наличие знака приглашения (горизонтальной стрелки), после которого расположен
мигающий курсор.
96
Щелчком левой кнопки мыши откройте Инструменты → Текстовый редактор SciNotes.
Появится окно для редактирования. Из редактора откройте файл Generator1 (File-Open -…ЦОС в Scilab – Generator1). Текст программы приведѐн в Приложении Б.
Из редактора откройте файл “Generator1”. Появится текст программы.
В строках 3-12 вводятся данные для моделирования генераторов.
В строках 18-29 задаѐтся функция прямого дискретного преобразования Фурье.
В строках 31-46 формируется пилообразное колебание и его временная диаграмма.
Затем создаѐтся массив отсчетов пилообразного колебания zs, содержащий количество
элементов i0, равное количеству отсчетов пилы в еѐ периоде, и методом дискретного преобразования Фурье находится массив отсчѐтов спектра пилы в относительном масштабе Spz0
(49-57). Строится график спектра (строки 58-63).
Строки 64-71 формируют массив отсчѐтов относительных гармоник (с нулевой по пятую) пилообразного колебания в процентах AmpZ .
В строках 75-85 моделируется последовательность прямоугольных импульсов I и выводится график этой последовательности.
В строках 88-97 сначала формируется массив Is, содержащий i0 отсчѐтов прямоугольного колебания, а затем методом дискретного преобразования Фурье находится его спектр в
относительном масштабе SI0 и выводится его график.
Строки 98-105 формируют массив отсчѐтов относительных гармоник (с нулевой по пятую) прямоугольного колебания в процентах AmpI .
В строках 108-117 моделируется треугольное колебание, выводится его график и создаѐтся массив, содержащий i0 отсчѐтов этого колебания Ts , а в строках 118-131 находится
спектр в относительном масштабе STo, выводится спектральная диаграмма и формируется
массив отсчетов спектра в процентах AmpT.
Результатом работы программы являются временные и спектральные диаграммы, подобные приведѐнным на рисунке 1.
Рисунок 1 - Временные и спектральные диаграммы
пилообразного, прямоугольного и треугольного колебаний
97
1. Сформируйте пилообразное, прямоугольное и треугольное колебания. Для этого введите в программу значения констант P и A и максимального номера отсчѐта nmax из таблицы
1, I1=1,
I2=-1. Рассчитайте значение константы C0 при Q=2 и введите в программу.
Запустите программу и пронаблюдайте временные и спектральные диаграммы сформированных колебаний.
В командном окне «scilab-5.5.2» введите AmpZ и нажмите клавишу Enter. Появится массив отсчѐтов спектра пилообразного колебания в процентах, начиная с нулевого и кончая пятым отсчетом. Занесите их в таблицу 2.
Введите в командном окне AmpI и нажмите клавишу Enter.
Появившийся массив отсчетов спектра последовательности прямоугольных импульсов
занесите в таблицу 2.
Введите в командном окне AmpT и нажмите клавишу Enter. Полученные данные внесите в таблицу 2.
Аналогичным образом заполните остальные строки таблицы.
Таблица 2
Значения спектральных составляющих пилообразного,
прямоугольных и треугольного колебаний в %
Вид колебания
и его параметры
Номер гармоники
0
1
2
3
4
5
Пилообразное
Прямоугольное
Q=2, I1=1, I2=-1
Прямоугольное
Q=2, I1=1, I2=0
Прямоугольное
Q=
, I1=1, I2=0
Треугольное
Повторите эксперимент с уменьшенным в два раза значением константы A. Пронаблюдайте временные и спектральные диаграммы.
Запишите в отчѐт выводы о влиянии
константы A на частоту сформированных колебаний,
константы P на размах и частоту сформированных колебаний,
константы C0 на скважность последовательности прямоугольных импульсов и еѐ
спектр.
Исследование генератора трапецеидальных колебаний и косинусно-синусного генератора
выполняется по программе «Generator2». Текст программы приведѐн в Приложении В к лабораторной работе №5.
98
В командах 3-7 осуществляется ввод исходных данных для моделирования генераторов.
Команды 9-20 формируют функцию
прямого дискретного преобразования Фурье dpf(x0,kmax,Nmax),используемую для определения спектра колебаний. Затем последовательно задаются функции реализации пилообразных колебаний pila(A,P,zN,nmax) и pilas(A,P,zN,nmax), сдвинутых друг относительно друга
на четверть периода, и функции полиномиальных преобразований Y3= polinom3(T) и Y5=
polinom5(T), преобразующие треугольное колебание в синусоидальное.
В строках 60-75 формируется трапецеидальное колебание и выводится его временная
диаграмма, а в строках 77-97 рассчитывается его спектр. Сформированный массив AmpTp
задаѐт относительный уровень гармоник трапецеидального колебания в процентах.
Команды 101-107 моделируют и выдают в виде графиков два пилообразных колебания,
сдвинутых друг относительно друга на четверть периода. Из них получаются два треугольных колебания (строки 109-115), из которых, в свою очередь, формируются синусоида и косинусоида и выдаются их временные и спектральные диаграммы (118-174).
Массивы Amp3 и Amp5 задают относительный уровень гармоник синусоидального колебания при использовании полиномов третьей и пятой степени соответственно.
Для формирования трапецеидального и синусоидальных колебаний введите значения P,
А, nmax из таблицы 1 и задайте B = 3. Запустите программу.
Результатом еѐ выполнения будут временные и спектральные диаграммы, подобные
приведѐнным на рисунке 5.
В командном окне «scilab-5.5.2» введите AmpTp и нажмите клавишу Enter. Появится
массив отсчѐтов спектра в процентах, начиная с нулевого и кончая пятым. Занесите их в первую строку таблицы 3.
Повторите эксперимент при B=10, результаты внесите в таблицу 3.
Запишите в отчет вывод о влиянии константы В на форму и спектральный состав трапециедального колебания.
Рисунок 2 - Временные и спектральные диаграммы трапецеидального и синусоидальных колебаний
99
Таблица 3
Значения спектральных составляющих трапециедальных
и синусоидальных колебаний в %
Вид колебания
и его параметры
Номер гармоники
0
1
2
3
4
5
Трапециедальное
B=3
Трапециедальное
B=10
Синусоидальное
Полином 3 порядка
Синусоидальное
Полином 5 порядка
В окне «scilab-5.5.2» введите Amp3 и нажмите клавишу Enter. Появится массив отсчѐтов
спектра в процентах, начиная с нулевого и кончая пятым. Занесите их в таблицу 3.
Повторите эксперимент, используя Amp5.
Сформулируйте и укажите в отчѐте преимущество и недостаток использования полинома пятой степени по сравнению с полиномом третьей степени при формировании синусоидальных колебаний.
100
Приложение А
к лабораторной работе №5
Цифровые генераторы
1. Генераторы пилообразных, прямоугольных, треугольных и трапецеидальных колебаний
На рисунке П.1 точками показаны отсчеты пилообразного колебания, которое при A>0
формируется следующим образом:
при z((n 1)TД ) A
P,
z((n 1)TД ) A 2P при z((n 1)TД ) A
P.
z((n 1)TД ) A
z(nTД )
Записанное соотношение справедливо в дискретные моменты времени. Если рассматривать не дискретные моменты времени, а порядковые номера отсчетов, то это соотношение
можно записать так
zn
zn
1
A
при z n
1
A
P,
zn
1
A 2P
при z n
1
A
P.
z(nTД)
P
A
nTД
Tд
-P
T
Рисунок П.1 – Пилообразное колебание
Из рисунка видно, что в периоде пилообразного колебания содержится 2P A интервалов дискретизации, следовательно, период T и частота F пилообразного колебания равны
T
2P
TД , F
A
A
FД .
2P
Частота пилы прямо пропорциональна частоте дискретизации и отношению констант
A P.
Рисунок П.2 показывает, как из пилообразного колебания z получается последовательность прямоугольных импульсов I с периодом, равным периоду пилы, длительностью
,
максимальным уровнем I1, минимальным уровнем I2
In
I1 при z n
C0 ,
при z n
C0 .
I2
101
z
T
P
C0
t
-PI
I
I1
t
I2
Рисунок П.2 – Формирование последовательности
прямоугольных импульсов из пилообразного колебания
Из подобия заштрихованного треугольника и треугольника - положительного полупериода пилы следует что
P C0
.
P
T2
Откуда длительность импульса равна
C0
T
1
.
2
P
Таким образом, изменяя константу С0, можно регулировать длительность импульса.
Отношение периода следования импульсов к длительности импульса назывется скважностью импульсной последовательности
T
Q
2
.
C0
1
P
Из последнего соотношения определяется константа C0, обеспечивающая требуемую
скважность импульсов
C0
P 1
2
.
Q
Из пилы формируется треугольное колебание (рисунок П.3) в соответствии со следующим соотношением
Y
z
P 2.
102
z
P
0
t
-P
P
z
t
Y
P/2
0
z -P/2
t
-P/2
Рисунок П.3 – Формирование треугольных колебаний
Это двухполярное треугольное колебание может быть использовано в качестве грубой
аппроксимации синусоиды. Степень соответствия его синусоиде можно оценить по уровню
высших гармоник. Оно содержит только нечетные гармоники, причем коэффициент третьей
гармоники равен кГ3 = 10%, а коэффициент пятой гармоники кГ5 = 4%.
Из треугольного колебания формируется трапецеидальное колебание (рисунок П.4) согласно соотношению
Tpn
BYn
при
P
при BYn
P
P
при BYn
BYn
P,
P,
P,
где B > 2.
При B = 3 трапеция является хорошей аппроксимацией синусоиды: коэффициент третьей гармоники равен нулю, коэффициент пятой гармоники кГ5 = 4%.
103
Y
P/2
0
-P/2
t
BY
P
Tp
t
0
-P
Рисунок П.4 – Формирование трапецеидального колебания
2. Косинусно-синусные генераторы
2.1 Косинусно-синусный генератор с полиномиальной
аппроксимацией отсчетов выходных колебаний
Для формирования двух квадратурных компоненет на выходе генератора используются
два пилообразных колебания, сдвинутых друг относительно друга на четверть периода (рисунок П.5). Исходным является одно из пилообразных колебаний (в рассматриваемом случае
zc). Второе получается из него следующим образом
zs n
0.5 при z c n
0.5 1,
z c n 1.5 при z c n
0.5 1.
zc n
104
zc
1
0
t
zs
1
0
t
-1
1
0.5
Yc = 0.5- zc
0
-0.5
-1
0. -
t
C
1
0.5
Ys= zs -0.5
S
0
-0.5
-1
Рисунок П.5 – Формирование косинусной и синусной компонент
из двух пилообразных колебаний
Из двух пилообразных колебаний формируются два треугольных описанным выше способом
Yc n
0.5
z cn , Ys n
z sn
0.5.
Для формирования из треугольных колебаний синусоидальных используется функциональное преобразование F(Y), представляющее собой полином третьей или пятой степени:
F(Y)
4Y(D Y 2 ),
где D = 0.70738,
F(Y)
4Y(D1
4Y 2 (D3
D5Y 2 )),
где D1= 0.745966, D3 = - 0.305500, D5 = 0.138149.
Генерируемые колебания определяются по приведенным соотношениям
105
Cn
F(Yc n ), Sn
F(Ys n ).
При использовании полинома третьей степени коэффициент третьей гармоники равен
кГ3 = 0.5%, коэффициент пятой гармоники кГ5 = 0.1%.
При использовании полинома пятой степени кГ3 =0.005%, кГ5 = 0.005%.
Для дальнейшего уменьшения коэффициентов гармоник используются полиномы более
высокого порядка [3].
106
Приложение Б
к лабораторной работе №5
Моделирование и исследование генераторов пилообразных,
прямоугольных и треугольных колебаний
001 // Программа "Generator1"-Моделирование генераторов
002 // пилообразных, прямоугольных и треугольных колебаний
003 A=2/30; // Константа, определяющая частоту пилы
004 P=1;
// Константа, определяющая размах пилообразного
005
// колебания
006 C0=0; // Константа, определяющая скважность
007
// прямоугольных импульсов
008 I1=1;
// Максимальное значение отсчѐта прямоугольного
009
// колебания
010 I2=0;
// Минимальное значение отсчѐта прямоугольного
011
// колебания
012 nmax=250; // Максимальный номер отсчѐта
013 //
014 // Расчѐт констант
015 fN= Aскатов/(2*P); // Нормированная частота колебаний
016 Q=2/(1-C0/P);
// Cкважность последовательности
017
// прямоугольных импульсов
018 // Задание функции прямого дпф
001 function sp=dpf(x0, kmax, Nmax)
002 sp=zeros(1:kmax);
003 for k=1:kmax
004
alfa=0;
005
for n=1:Nmax
006
alfa=alfa+x0(n)*exp(-2*%pi*%i*(n-1)*(k-1)/Nmax);
007
end
008 sp(k)=alfa/Nmax;
009 end
010 endfunction;
029 //
030 //Формирование пилообразного колебания
031 z=zeros(1:nmax);
032 zN=0;
033 z(1)=zN;
034 for n=2:nmax,
035 if z(n-1)+A>=P
036
z(n)=z(n-1)+A-2*P;
037 else
038 z(n)=z(n-1)+A;
039 end
040 end;
041 clf()
042 subplot(3,2,1)
043 n=[1:nmax];
044 plot2d3(n,z,style=[color("green")])
045 xgrid
046 xtitle('Пилообразное колебание')
047 //
107
048 // Определение спектра пилообразного колебания
049 i0=ceil(2*P/abs(A));
050 zs=zeros(1:i0);
051 Spz=zeros(1:6);
052 Spzo=zeros(1:6);
053 for i=1:i0
054 zs(i)=z(i+i0);
055 end
056 Spz=dpf(zs,6,i0);
057 Spzo=abs(Spz)/max(abs(Spz));
058 subplot(3,2,2)
059 i=[1:6];
060 k=i-1;
061 plot2d3(k,Spzo,style=[color("green")])
062 xgrid
063 xtitle('Спектр пилообразного колебания')
064 AmpZ=zeros(1:6);
065 for m=1:6
066 if Spzo(m)<0.00001 then
067
AmpZ(m)=0;
068 else
069 AmpZ(m)=Spzo(m)*100;
070 end
071 end
072 //
073 //Формирование последовательности прямоугольных
074 //импульсов
075 I=zeros(1:nmax);
076 for n=1:nmax
077 if z(n)<C0 then I(n)=I2;
078 else I(n)=I1;
079 end
080 end;
081 n=[1:nmax];
082 subplot(3,2,3)
083 plot2d3(n,I,style=[color("blue")])
084 xgrid
085 xtitle('Последовательность прямоугольных импульсов')
086 // Определение спектра последовательности
087 //прямоугольных импульсов
088 Is=zeros(1:i0);
089 for i=1:i0
090 Is(i)=I(i+i0);
091 end
092 SI=dpf(Is,6,i0);
093 SIo=abs(SI)/max(abs(SI));
094 subplot(3,2,4)
095 plot2d3(k,SIo,style=[color("blue")])
096 xgrid
097 xtitle('Спектр прямоугольных импульсов')
098 AmpI=zeros(1:6);
099 for m=1:6
108
100 if SIo(m)<0.00001 then
101
AmpI(m)=0;
102 else
103 AmpI(m)=SIo(m)*100;
104 end
105 end
106 //
107 // Формирование треугольных колебаний
108 T=abs(z)-P/2;
109 subplot(3,2,5)
110 plot2d3(n,T,style=[color("red")])
111 xgrid
112 xtitle('Треугольное колебание')
113 //Определение спектра треугольного колебания
114 Ts=zeros(1:i0);
115 for i=1:i0
116 Ts(i)=T(i+i0);
117 end
118 ST=dpf(Ts,6,i0);
119 STo=abs(ST)/max(abs(ST));
120 subplot(3,2,6)
121 plot2d3(k,STo,style=[color("red")])
122 xgrid
122 xtitle('Спектр треугольного колебания')
124 AmpT=zeros(1:6);
125 for m=1:6
126 if STo(m)<0.00001 then
127
AmpT(m)=0;
128 else
129 AmpT(m)=STo(m)*100;
130 end
131 end
109
Приложение В
к лабораторной работе №5
Моделирование и исследование генераторов трапецеидальных
и синусоидальных колебаний
001 // Программа "Generator2"-Моделирование генераторов
002 / /трапецеидальных и синусоидальных колебаний
003 A=1/30; // Константа, определяющая частоту пилы
004 P=3;
// Константа, определяющая размах пилообразного
005
// колебания
006 B=3;
//Константа, определяющая крутизну скатов
трапеции
007 nmax=550; //Максимальный номер отсчѐта
008 //
009 //Задание функции прямого дпф
001 function sp=dpf(x0, kmax, Nmax)
002 sp=zeros(1:kmax);
003 for k=1:kmax
004
alfa=0;
005
for n=1:Nmax
006
alfa=alfa+x0(n)*exp(-2*%pi*%i*(n-1)*(k-1)/Nmax);
007
end
008
sp(k)=alfa/Nmax;
009 end
010 endfunction;
020 //
021 //Функции формирования пилообразных колебаний
001 function z=pila(A, P, zN, nmax)
002 z(1)=zN;
003 for n=2:nmax,
004 if z(n-1)+A>=P
005 z(n)=z(n-1)+A-2*P;
006 else
007 z(n)=z(n-1)+A;
008 end
009 end;
010 endfunction;
001 function z0=pilaS(A, P, zN, nmax)
002 z=pila(A,P,zN,nmax)
003 for n=1:nmax
004 if z(n)+P/2>=P
005
z0(n)=z(n)+P/2-2*P;
006 else
007
z0(n)=z(n)+(P/2);
008 end
009 end
010 endfunction;
042 //Функции полиномиальных преобразований
001 function Y3=polinom3(T)
002 D=0.707380;
003 Y3=zeros(1:nmax)
004 for n=1:nmax
110
005 Y3(n)=4*(T(n)/P)*(D-(T(n)/P)^2);
006 end
007 endfunction;
001 function Y5=polinom5(T)
002 D1=0.745966;
003 D3=-0.305500;
004 D5=0.138149;
005 for n=1:nmax
006 Y5(n)=4*(T(n)/P)*(D1+4*(T(n)/P)^2*(D3+D5*(T(n)/P)^2));
007 end
008 endfunction;
058 //Трапецеидальное колебание
059 clf()
060 n=[1:nmax];
061 z=pila(A,P,0,nmax);
062 T=(abs(z)-P/2)*B;
063 for n=1:nmax
064 if T(n)>P
065 Tp(n)=P;
066 elseif T(n)<-P
067 Tp(n)=-P;
068 else Tp(n)=T(n);
069 end
070 end
071 n=[1:nmax];
072 subplot(3,2,1)
073 plot2d3(n,Tp,style=[color("green")])
074 xgrid
075 xtitle('Трапецеидальное колебание')
076 //Определение спектра трапецеидального колебания
077 i0=ceil(2*P/A);
078 zs=zeros(1:i0);
079 for i=1:i0
080 Tps(i)=Tp(i);
081 end
082 STp=dpf(Tps,6,i0);
083 STpo=abs(STp)/abs(STp(2));
084 subplot(3,2,2)
085 i=[1:6];
086 k=i-1;
087 plot2d3(k,STpo,style=[color("green")])
088 xgrid
089 xtitle('Спектр трапецеидального колебания')
090 AmpTp=zeros(1:6);
091 for m=1:6
092 if STpo(m)<0.00001 then
093
AmpTp(m)=0;
094 else
095 AmpTp(m)=STpo(m)*100;
096 end
097 end
098 // Косинусно-синусный генератор
111
099 // Пилообразные колебания, сдвинутые друг
100 // относительно друга на четверть периода
101 zC=pila(A,P,0,nmax);
102 zS=pilaS(A,P,0,nmax);
103 subplot(3,2,3)
104 plot2d(n,zC,style=[color("blue")])
105 plot2d(n,zS,style=[color("red")])
106 xgrid
107 xtitle('Пилообразные колебания zC и zS')
108 // Формирование треугольных колебаний Tc и Ts
109 Tc=P/2-abs(zC);
110 Ts=abs(zS)-P/2;
111 subplot(3,2,4)
112 plot2d(n,Tc,style=[color("blue")])
113 plot2d(n,Ts,style=[color("red")])
114 xgrid
115 xtitle('Треугольные колебания Tc и Ts')
116 // Определение косинусной и синусной компонент
117 // с использованием полиномов третьей и пятой степени
118 C3=polinom3(Tc);
119 S3=polinom3(Ts);
120 C5=polinom5(Tc);
121 S5=polinom5(Ts);
122 C=C3;
123 S=S3;
124 subplot(3,2,5)
125 plot2d(n,C,style=[color("blue")])
126 plot2d(n,S,style=[color("red")])
127 xgrid
128 xtitle('Синусная и косинусная компоненты КСГ')
129 //Определение спектра генерируемых колебаний
130 for i=1:i0
131 Cs(i)=C(i);
132 end
133 SCs=dpf(Cs,6,i0);
134 SCso=abs(SCs)/abs(SCs(2));
135 subplot(3,2,6)
136 i=[1:6];
137 k=i-1;
138 plot2d3(k,SCso,style=[color("blue")])
139 xgrid
140 xtitle('Спектр выходных колебаний КСГ')
141 Amp3=zeros(1:6);
142 for m=1:6
143 if SCso(m)<0.00001 then
144
Amp3(m)=0;
145 else
146
Amp3(m)=SCso(m)*100;
147 end
148 end
149 C=C5;
150 S=S5;
112
151 subplot(3,2,5)
152 plot2d(n,C,style=[color("blue")])
153 plot2d(n,S,style=[color("red")])
154 xgrid
155 //Определение спектра выходных колебаний]
156 //при использовании полинома пятой степени
157 for i=1:i0
158 Cs(i)=C(i);
159 end
160 SCs=dpf(Cs,6,i0);
161 SCso=abs(SCs)/abs(SCs(2));
162 subplot(3,2,6)
163 i=[1:6];
164 k=i-1;
165 plot2d3(k,SCso,style=[color("blue")])
166 xgrid
167 Amp5=zeros(1:6);
168 for m=1:6
169 if SCso(m)<0.00001 then
170
Amp5(m)=0;
171 else
172 Amp5(m)=SCso(m)*100;
173 end
174 end
113
Документ
Категория
Без категории
Просмотров
0
Размер файла
1 794 Кб
Теги
signalov, ivanovo, proshetshkina, cifrovaya, obrabotka
1/--страниц
Пожаловаться на содержимое документа