Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4 / 0303_Arhipov_Bolkunov_Kalmak_цос4

.docx
Скачиваний:
1
Добавлен:
10.03.2024
Размер:
676.69 Кб
Скачать

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

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

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

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

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

ОТЧЕТ

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

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

Тема: Частотный анализ полиномиальных приближений

Студент гр. 0303

Архипов В.А.

Студент гр. 0303

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

Студент гр. 0303

Калмак Д.А.

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

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

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

2023

Цель работы.

Провести анализ частотных характеристик известных формул численного интегрирования.

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

Формула прямоугольников

Формула трапеций

Формула Симпсона

Формула интегрирования “по правилу ⅜”

Связь передаточной функции для круговой частоты и циклической.

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

Получить формулы для передаточных функций нерекурсивных фильтров, соответствующих полиномиальному сглаживанию дискретного сигнала для различных квадратурных формул и построить графики . Проинтерпретировать частотные свойства передаточных функций. Получить формулы для передаточных функций рекурсивных фильтров, соответствующих квадратурным формулам Ньютона-Котеса различного порядка. Проинтерпретировать частотные свойства передаточных функций. Провести сопоставительный анализ частотных характеристик передаточных функций для различных квадратурных формул.

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

Передаточная функция рекурсивного фильтра, соответствующего квадратурной формуле прямоугольников.

Пусть

Точное значение интеграла

Передаточная функция рекурсивного фильтра, соответствующего квадратурной формуле трапеций.

Пусть

Точное значение интеграла

Передаточная функция рекурсивного фильтра, соответствующего квадратурной формуле Симпсона.

Пусть

Точное значение интеграла

Графики передаточных функций рекурсивных фильтров, соответствующих квадратурной формуле прямоугольников, квадратурной формуле трапеций, квадратурной формуле Симпсона:

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

График отношения вычисляемого в результате фильтрации значения к истинному:

Рисунок 2 - Графики отношений вычисляемых значений к истинным рекурсивных фильтров для формул прямоугольника, трапеции и Симпсона

На полученных графиках передаточных функций можно заметить, что все три фильтра отрицательно усиливают низкие частоты. Для высоких частот фильтры ведут себя по-разному: фильтр по формуле трапеций полностью подавляет высокие частоты; для формулы прямоугольника присутствует небольшое отрицательное подавление; для формулы симпсона график зеркален: при низких и высоких частотах функция асимптотически стремится к минус-бесконечности.

Передаточной функции рекурсивного фильтра для интегрирования «по правилу 3/8».

Пусть

Точное значение интеграла

График передаточной функции рекурсивного фильтра для интегрирования «по правилу 3/8»:

Рисунок 3 - График передаточной функции рекурсивного фильтра для интегрирования по правилу ⅜

График отношения вычисляемого в результате фильтрации значения к истинному:

Рисунок 4 - График отношения вычисляемого значения к истинному рекурсивных фильтров для интегрирования по правилу 3/8

Для рекурсивного фильтра соответствующего квадратурной формуле “по правилу ⅜” наблюдаются асимптоты в нуле и в точке ~0.333, в которых сигнал сильно искажается. На небольшом расстоянии от асимптот происходит усиление сигналов (как положительно так и отрицательно). В остальных же точках сигнал подавляется.

Сопоставительный анализ частотных характеристик передаточных функций.

Из представленных графиках передаточных функций можно наблюдать сильное искажение в точке 0 (асимптота у передаточных функций).

Ближе к точке 0.5 (высокие частоты) фильтры ведут себя по-разному: у фильтра по формуле Симпсона тоже наблюдается асимптота, соответственно сигнал искажается; фильтр по формуле трапеций полностью подавляет высокие частоты; для формулы прямоугольника наблюдается небольшое отрицательное подавление; для формулы по правилу “⅜” передаточная функция стремится к нулю – сигнал подавляется.

В отличие от остальных фильтров фильтр по правилу “⅜” имеет ещё одну асимптоту в точке ~0.333, в которой наблюдается сильное искажение.

Выводы.

В ходе выполнения практической работы был проведен анализ частотных характеристик известных формул численного интегрирования, для этого были:

  • выведены формулы передаточных функций рекурсивных фильтров, соответствующих квадратурным формулам прямоугольников, трапеций и Симпсона, рекурсивного фильтра для интегрирования «по правилу 3/8»

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

  • проинтерпретированы частотные свойства полученных передаточных функций

Проведен сопоставительный анализ частотных характеристик передаточных функций рекурсивных фильтров, соответствующих квадратурным формулам прямоугольников, трапеций и Симпсона, и рекурсивного фильтра для интегрирования «по правилу 3/8».

ПРИЛОЖЕНИЕ А

ИСХОДНЫЙ КОД

import math

import cmath

import matplotlib.pyplot as plt

# Передаточные функции

# Формула прямоугольниокв

def H_rectangle(w):

return (

cmath.exp(0.5j*w) /

(cmath.exp(1j*w) - 1)

)

# Формула трапеций

def H_trapezoid(w):

return (

(cmath.exp(1j*w) + 1) /

(2 * (cmath.exp(1j*w) - 1))

)

# Формула Симпсона

def H_simpson(w):

return (

(cmath.exp(1j*w) + 4 + cmath.exp(-1j*w)) /

(3 * (cmath.exp(1j*w) - cmath.exp(-1j*w)))

)

# 3/8

def H_3_8(w):

return (

(cmath.exp(2j*w) + 3*cmath.exp(1j*w) + 3 + cmath.exp(-1j*w)) /

(8 * (cmath.exp(2j*w) - cmath.exp(-1j*w)))

)

# Отношение значений

# Формула прямоугольниокв

def Y_rectangle(w):

return (

(w / 2) / math.sin(w / 2)

)

# Формула трапеций

def Y_trapezoid(w):

return math.cos(w/2) * (

(w / 2) / math.sin(w/2)

)

# Формула Симпсона

def Y_simpson(w):

return (

((2 + math.cos(w)) / 3) *

(w / math.sin(w))

)

# 3/8

def Y_3_8(w):

return (

(2 * math.cos(3*w/2) + 6 * math.cos(w/2)) * w /

(16 * math.sin(3*w/2))

)

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

N = 8192

# Циклические частоты

F = [f/N for f in range(1, N)][:N//2 - 1]

# Круговые частоты

W = [2*math.pi * f for f in F ]

h_r = [H_rectangle(w) for w in W]

h_t = [H_trapezoid(w) for w in W]

h_s = [H_simpson(w) for w in W]

h_3_8 = [H_3_8(w) for w in W]

y_r = [Y_rectangle(w) for w in W]

y_t = [Y_trapezoid(w) for w in W]

y_s = [Y_simpson(w) for w in W]

y_3_8 = [Y_3_8(w) for w in W]

plt.plot(F, [x.imag for x in h_r], label='$Im(H_{rectangle})$')

plt.plot(F, [x.imag for x in h_t], label='$Im(H_{trapezoid})$')

plt.plot(F, [x.imag for x in h_s], label='$Im(H_{simpson})$')

plt.xlabel('f')

plt.ylabel('$\widetilde{H}(f)$')

plt.legend()

plt.ylim((-3, 1))

plt.grid()

plt.show()

!

plt.plot(F, y_r, label='$\gamma_{rectangle}$')

plt.plot(F, y_t, label='$\gamma_{trapezoid}$')

plt.plot(F, y_s, label='$\gamma_{simpson}$')

plt.xlabel('f')

plt.ylabel('$\widetilde{H}(f)$')

plt.legend()

plt.ylim((-0.1, 2))

plt.grid()

plt.show()

!

plt.plot(F, [x.imag for x in h_3_8], label='$Im(H_{3/8})$')

plt.xlabel('f')

plt.ylabel('$\widetilde{H}(f)$')

plt.legend()

plt.ylim((-30, 10))

plt.grid()

plt.show()

!

plt.plot(F, y_3_8, label='$\gamma_{3/8}$')

plt.xlabel('f')

plt.ylabel('$\widetilde{H}(f)$')

plt.legend()

plt.ylim((-10, 10))

plt.xlim((0, 0.5))

plt.grid()

plt.show()

!

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