Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 / 0303_Arhipov_Bolkunov_Kalmak_цос2.docx
Скачиваний:
1
Добавлен:
10.03.2024
Размер:
385.19 Кб
Скачать

МИНОБРНАУКИ РОССИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

Кафедра математического обеспечения и применения ЭВМ

ОТЧЕТ

по практической работе №2

по дисциплине «Цифровая обработка сигналов»

Тема: Моделирование и анализ линейных комбинаций дискретных сигналов

Студент гр. 0303

Архипов В.А.

Студент гр. 0303

Болкунов В.О.

Студент гр. 0303

Калмак Д.А.

Преподаватель

Середа А.-В.И.

Санкт-Петербург

2023

Цель работы.

Изучить математическое описание линейных комбинаций дискретных гармонических сигналов и овладеть программными средствами их моделирования.

Основные теоретические положения.

Дискретный единичный скачок

Дискретный прямоугольный импульс

Линейная комбинация дискретных гармонических сигналов

, где

Дискретный гармонический сигнал

Постановка задачи.

С помощью программных средств провести моделирование и анализ стандартных дискретных последовательностей. Результаты подкрепить соответствующими графиками и выводами.

Выполнение работы.

Выполнение работы происходило в среде Google Colab при помощи языка Python 3 и библиотеки matplotlib для отображения графиков.

На основе заданного номера бригады Nb были вычислены необходимые для работы константы: - длина последовательности, - основание экспоненты, - амплитуда гармонического сигнала, - частоты гармонических сигналов, - амплитуда импульса, - начальный момент импульса, - длина импульса, - амплитуды гармонических сигналов, , , - частоты гармонических сигналов, , , - коэффициенты линейной комбинации гармонических сигналов, которые представлены в табл. 1.

Таблица 1 - Необходимые для работы константы

Переменная

Назначение

Значение

Номер бригады

21

Длина последовательности

31

Основание экспоненты

-0.805

Амплитуда гармонического сигнала

2

Частоты гармонических сигналов

0.448799

Амплитуда импульса

21

Начальный момент импульса

4

Длина импульса

6

Амплитуды гармонических сигналов

2.5

4.7

3.2

Частоты гармонических сигналов

0.628319

0.349066

0.184800

Коэффициенты линейной комбинации гармонических сигналов

0.5

1.7

2.4

Далее были определены функции delta_d, sigma_d, s1, x1, x2, x3 s2, s3_wrap, s4 (табл. 2), и вычислены их значения на заданном интервале дискретного нормированного времени. Исходный код представлен в Приложении А.

Таблица 2 - Функции для моделирования сигналов

Дискретный единичный скачок

Дискретный прямоугольный импульс

Гармонические сигналы

Линейная комбинация дискретных гармонических сигналов

Экспоненциальная огибающая

Дискретный гармонический сигнал огибаемый экспоненциальной огибающей

Периодический прямоугольный импульс

На основе определённых констант, функций и их значений, были выполнены следующие шаги работы.

1. Дискретный прямоугольный импульс

График дискретного прямоугольного импульса на основе дискретного единичного скачка на интервале времени представлен на рис. 1.

Рисунок 1 - График дискретного прямоугольного импульса на основе дискретного единичного скачка

Данный сигнал был смоделирован путём вычитания двух дискретных единичных скачков с разными задержками:

2. Линейная комбинация дискретных гармонических сигналов

Графики последовательностей на интервале времени представлены соответственно на рис. 2-4.

Рисунок 2 - График последовательности

Рисунок 3 - График последовательности

Рисунок 4 - График последовательности

График линейной комбинации дискретных гармонических сигналов на интервале времени представлен на рис. 5.

Рисунок 5 - График линейной комбинации дискретных гармонических сигналов

Линейная комбинация сигналов была смоделирована путём сложения гармонических сигналов с их домножением на линейные коэффициенты:

Среднее значение сигнала:

Энергия

Средняя мощность

3. Дискретный гармонический сигнал

Графики дискретного гармонического сигнала и экспоненциальной огибающей на интервале времени представлены на рис. 6.

Рисунок 6 - График дискретного гармонического сигнала и экспоненциальной огибающей

Чтобы сигнал огибал сигнал , исходный сигнал был домножен на .

4. Периодическая последовательность дискретных прямоугольных импульсов

График пяти периодов периодической последовательности дискретных прямоугольных импульсов амплитуды и длительности с периодом, вдвое большим длительности импульса, то есть 12 представлен на рис. 7.

Рисунок 7 - График пяти периодов периодической последовательности дискретных прямоугольных импульсов

Периодический сигнал был смоделирован на основе дискретного прямоугольного импульса путём взятия аргумента по модулю периода сигнала:

Выводы.

В ходе выполнений практической работы было с помощью программных средств проведено моделирование и анализ следующих стандартных дискретных последовательностей:

  • дискретного прямоугольного сигнала

  • линейная комбинация дискретных гармонических сигналов

    • для данного сигнала были вычислены среднее значение, энергия и средняя мощность

  • дискретный гармонический сигнал

    • для данного сигнала была определена аналитическая формула

  • периодическая последовательность дискретных прямоугольных импульсов

Для смоделированных сигналов были построены соответствующие графики последовательностей.

ПРИЛОЖЕНИЕ А

Исходный код

import math

import cmath

import matplotlib.pyplot as plt

# Номер бригады

Nb = 21

# Длина последовательности

N = 30 + (Nb % 5)

# Основание экспоненты

a = ((-1) ** Nb) * (0.8 + 0.005 * (Nb % 20))

# Амплитуда гармонического сигнала

C = 1 + (Nb % 5)

# Частота гармонического сигнала

w0 = math.pi / (6 + (Nb % 5))

# Амплитуда импульса

U = Nb

# Начальный момент импульса

n0 = 3 + (Nb % 5)

# Длина импульса

n_imp = 5 + (Nb % 5)

# Амплитуды гармонических сигналов

B1 = 1.5 + (Nb % 5)

B2 = 5.7 - (Nb % 5)

B3 = 2.2 + (Nb % 5)

# Частоты гармонических сигналов

w1 = math.pi / (4 + (Nb % 5))

w2 = math.pi / (8 + (Nb % 5))

w3 = math.pi / (16 + (Nb % 5))

# Коэффициенты линейной комбинации гармонических сигналов

a1 = 1.5 - (Nb % 5)

a2 = 0.7 + (Nb % 5)

a3 = 1.4 + (Nb % 5)

# Период последовательности s4

T = 2 * n_imp

# Точки интервала дискретного нормированного времени

Xn = [i for i in range(N)]

# Точки [0; 5N - 1]

Xn5 = [i for i in range(N * 5)]

# Точки 5-ти периодов последовательности s4

Xs4 = [i for i in range(T * 5)]

# Дискретный единичный скачок

def sigma_d(k):

return int(k >= 0)

# Дискретный прямоугольный импульс

def s1(k):

return U * (sigma_d(k - n0) - sigma_d(k - (n0 + n_imp)))

# Гармонические сигналы

def x1(k):

return B1 * math.sin(w1*k)

def x2(k):

return B2 * math.sin(w2*k)

def x3(k):

return B3 * math.sin(w3*k)

# Линейная комбинация дискретных гармонических сигналов

def s2(k):

return a1 * x1(k) + a2 * x2(k) + a3 * x3(k)

# Дискретный гармонический сигнал s3 с экспоненциальной огибающей

def s3(k):

return C * math.cos(w0 * k) * s3_wrap(k)

# Экспоненциальая огибающая

def s3_wrap(k):

return abs(a) ** k

# Периодическая последовательность s4

def s4(k):

return s1(k % T)

# Значения сигналов

s1_Y = [s1(k) for k in Xn]

x1_Y = [x1(k) for k in Xn5]

x2_Y = [x2(k) for k in Xn5]

x3_Y = [x3(k) for k in Xn5]

s2_Y = [s2(k) for k in Xn5]

s3_Y = [s3(k) for k in Xn]

s3_wrap_Y = [s3_wrap(k) for k in Xn]

s4_Y = [s4(k) for k in Xs4]

# График дискретного прямоугольного импульса

plt.figure(figsize=(10,5))

plt.plot(Xn, s1_Y, 'o--', label='$s_1(k)$')

plt.xlabel('$k$')

plt.legend()

# График 1-го гармонического сигнала

plt.figure(figsize=(20,5))

plt.plot(Xn5, x1_Y, 'o--', color='royalblue', label='$x_1(k)$')

plt.xlabel('$k$')

plt.legend()

# График 2-го гармонического сигнала

plt.figure(figsize=(20,5))

plt.plot(Xn5, x2_Y, 'o--', color='hotpink', label='$x_2(k)$')

plt.xlabel('$k$')

plt.legend()

# График 3-го гармонического сигнала

plt.figure(figsize=(20,5))

plt.plot(Xn5, x3_Y, 'o--', color='crimson', label='$x_3(k)$')

plt.xlabel('$k$')

plt.legend()

# График 3-го гармонического сигнала

plt.figure(figsize=(20,5))

plt.plot(Xn5, s2_Y, 'o--', color='salmon', label='$s_2(k)$')

plt.xlabel('$k$')

plt.legend()

# Среднее значение

mean_s2 = sum(s2_Y) / len(s2_Y)

# Энергия

E = sum([s ** 2 for s in s2_Y])

# Мощность

P = E / len(s2_Y)

print(f'mean_s2 = {mean_s2} , E = {E} , P = {P}')

# График гармонического сигнала с экспоненциальной огибающей

plt.figure(figsize=(10,5))

plt.plot(Xn, s3_Y, 'o--', label='$s_3(k)$')

plt.plot(Xn, s3_wrap_Y, 'o--', label='$|a|^k$')

plt.xlabel('$k$')

plt.legend()

# График прямоугольного дискретного импульса на 5-ти периодах

plt.figure(figsize=(10,5))

plt.plot(Xs4, s4_Y, 'o--', label='$s_4(k)$')

plt.xlabel('$k$')

plt.legend()

Соседние файлы в папке 2