1 Задание и методические указания
Выполнить генерацию сигнала и формирование сигнала последовательным суммированием составляющих его спектра в MATLAB для модели сигнала, заданного функцией в интервале и продолженной периодически вне интервала (таблица 1).
Таблица 1 ― Варианты задания
Функция | График функции | Разложение в ряд Фурье |
1 y = x при -π< x <π | . При x =± k π ряд даёт, согласно теореме Дирихле, значение функции, равное 0 | |
2 y =| x | при -π≤ x ≤π | ||
3 y = x при 0≤ x ≤2π | ||
4 | ||
5 | ||
6 | ||
7 y = x 2 при -π≤ x ≤π | ||
8 | ||
9 y = x (π- x) при 0≤ x ≤π и чётно продолжена на (-π, 0) | ||
10 y = x (π- x) при 0≤ x ≤π и нечётно продолжена на (-π, 0) | ||
11 y =|sin x | при -π≤ x ≤π | ||
12 y =cos x при 0< x <π b и нечётно продолжена на (-π, 0) | ||
13 | ||
Примечание ― Обратить внимание на чётные и нечётные функции. |
Отчёт по практическому занятию в электронном виде должен содержать титульный лист, текст программы генерации и графическое представление сигнала, текст программы формирования сигнала последовательным суммированием не менее 8 составляющих его спектра и графические представления сигнала в MATLAB, значения параметров сигнала, выводы о соответствии исходного и сформированного сигналов.
Методические указания по выполнению практической работы:
1) изучить лекцию по основам теории сигналов;
2) сформулировать ответы на контрольные вопросы;
3) просмотреть рекомендуемую литературу по теме занятия;
4) выполнить задание;
5) представить выполненную работу в электронном виде преподавателю на текущем или следующем практическом занятии (не позднее), ответить на контрольные вопросы.
2 Пример выполнения работы
Рассмотрим периодическую последовательность прямоугольных импульсов, у которой интервал между импульсами равен длительности импульсов, т. е. Т =2 t и и q =2. Такой сигнал называется меандром.
Текст программы генерации одного импульса меандра
(1)
с параметрами E =1, t и=1 в интервале от -1 до 1 представлен в таблице 2. Визуализация сигнала представлена на рисунке 1.
Таблица 2 ― Текст программы генерации сигнала
Текст программы | Комментарии |
E=1; | %Амплитуда сигнала, В |
tu=1; | |
t=-1:0.01:1; | %Вектор значений аргумента с шагом дискретизации 0.01 |
ind1=(abs(t)<=tu/2); | %Вектор индексов: каждый элемент вектора t, взятый по модулю, сравнивается со значением tu/2, индекс принимает значение 1, если соответствующий элемент массива t по модулю не больше tu/2, в противном случае индекс принимает значение 0 |
s=E.*ind1; | %Вектор значений функции формируется умножением E и ind1: функция принимает значение E в интервале tu/2, вне этого интервала функция принимает значение 0 |
plot(t,s); | % Вывод графика функции |
grid on; | % Создание сетки на графике |
Рисунок 1 ― Прямоугольный импульс меандра
Формула ряда Фурье меандра:
. (2)
Частичные суммы ряда (2) вычисляются по программе в Matlab (таблица 3). Сформированные сигналы показаны на рисунке 2. С увеличением числа гармоник форма сигнала приближается к меандру.
Таблица 3 ― Текст программы формирования меандра последовательным суммированием составляющих его спектра
Программа | Комментарии |
N=8; | % Переменной N присваивается значение 8. Имя переменной=Выражение. Число гармоник в спектре сигнала равно 8. Знак; после некоторого выражения блокирует вывод результата вычислений на экран дисплея |
t=-1:0.01:1; | % Задан вектор (одномерный массив) t. Ряд значений параметра t в секундах от -1 до 1 с шагом 0,01 (201 значение). Оператор двоеточие разделяет начальное значение, шаг, конечное значение. Если шаг не задан, то он принимает значение 1. Значения t: -1.0000 -0.9900 -0.9800 -0.9700 -0.9600 -0.9500… Всего 201 значение |
E=1; | % Амплитуда сигнала равна 1 |
T=1; | % Период сигнала равен 1 с |
nh=(1:N)*2-1; | % Вычисление вектора значений нечётных чисел аргумента косинуса. Вектор от 1 до N с шагом 1, каждый элемент которого умножается на 2 и из произведения вычитается 1. Если N=8, то nh=1 3 5 7 9 11 13 15 |
harmonics= =cos(2*pi*nh'*t/T); | % Функция вычисления значений косинуса. Аргументы функции указываются в круглых скобках. Оператор транспонирования ' задаёт вектор nh в виде столбца (вектор-столбец). Транспонированная матрица получается из исходной заменой строк на столбцы. Вычисляется 8´201 значений косинуса |
Em=2/pi./nh; | % Вычисление вектора значений коэффициентов, на которые умножаются значения функции косинуса: 0.6366 0.2122 0.1273 0.0909 0.0707 0.0579 0.0490 0.0424. Точка перед знаком деления означает, что значение 2/pi делится на каждый элемент вектора nh |
Em(2:2:end)=-Em(2:2:end); | % Каждому значению вектора Em, начиная со второго до последнего, с шагом два присваивается знак минус: 0.6366 -0.2122 0.1273 -0.0909 0.0707 -0.0579 0.0490 -0.0424 |
s1=harmonics.* *repmat(Em',1,length(t)); | % Вычисление произведений значений функций косинуса на значения коэффициентов. Оператор точка перед знаком умножения означает операцию с массивами. Функция repmat формирования массива из частей имеет три входных аргумента: транспонированный вектор Em, (вектор-столбец) количество строк 1 и столбцов length(t) для вновь создаваемого массива. Длина вектора t: length(t) составляет 201. Em' транспонированный вектор |
s2=cumsum(s1); | % Вычисление сумм гармонических составляющих. Функция sx = sum(X) в случае одномерного массива возвращает сумму элементов массива; в случае двумерного массива - это вектор-строка, содержащая суммы элементов каждого столбца. Функция csx = cumsum(X), кроме того, возвращает все промежуточные результаты суммирования. |
for k=1:N | % Начало цикла, шаг индексации равен 1 |
subplot(4,2,k) | % Команда subplot позволяет выводить множество графиков в одном окне. Данная команда выполняется перед обращением к функциям построения графиков для одновременной выдачи нескольких графиков в различных частях графического окна. Команды subplot(mnp) или subplot(m, n, p), где mnp - 3 цифры, производит разбивку графического окна на несколько подокон, создавая при этом новые объекты axes; значение m указывает, на сколько частей разбивается окно по горизонтали, n - по вертикали, а p - номер подокна, куда будет выводиться очередной график. |
plot(t, s2(k,:)) | % Команда построения графика функции s2 по аргументу t в декартовой системе координат. Если в качестве аргументов заданы два вектора, то plot(x,y) создаст график зависимости y от x. |
end | % Окончание цикла |
Рисунок 4 ― Представление меандра суммой гармонических составляющих его спектра
3 Рекомендуемая литература
1 Карташёв В. Г. Основы теории сигналов: учебное пособие/ В. Г. Карташёв, Г. В. Жихарева. ― М.: Издательство МЭИ, 2002. ― 80 с.
2 Лазарев Ю. Ф. Начала программирования в среде MatLAB: учебное пособие. — К.: НТУУ «КПИ», 2003. — 424 с.
4 Контрольные вопросы и задачи
1 Из каких составляющих состоит периодический сигнал?
2 Из каких составляющих состоит гармонический сигнал? Дать обоснование ответа с использованием формул ряда Фурье.
3 Записать и пояснить формулу ряда Фурье через амплитуды и начальные фазы гармоник.
4 Что такое спектральная диаграмма?
5 Записать и пояснить формулу ряда Фурье в комплексной форме.
6 Дать определение огибающей спектра. Как изменяется огибающая спектра периодического импульсного сигнала при изменении длительности и периода повторения импульсов?
Профессор В. П. Фандеев