УПРАЖНЕНИЯ ДЛЯ ПРОГРАММИРОВАНИЯ

ГЛАВА 6: СВЁРТКА

1. Напишите программу, выполняющую свёртку двух последовательностей: y[n] = x[n]*h[n],
где y[n] содержит 598 отсчётов, x[n] — 500 отсчётов, а h[n] — 99 отсчётов.

2. Получите импульсную характеристику h[n] в соответствии с приведённым ниже алгоритмом. Фильтр с такой импульсной характеристикой называется оконным НЧ-фильтром, о чём говорилось в Главе 16. Он пропускает все синусоидальные сигналы, у которых в интервале 500 отсчётов укладывается менее 25 периодов, и блокирует все сигналы более высокой частоты. Отобразите полученную импульсную характеристику на графике.

for i = 0 to 98

h[i] = 0.31752 * sin(0.314159 * (i – 49.00001)) / (i – 49.00001)

h[i] = h[i] * (0.54 – 0.46 * cos(0.0641114 * i))

next i

3. Проверьте работоспособность вашей программы, выполнив свёртку h[n] с последовательностью x[n], заданной приведёнными ниже уравнениями. Какой должна быть форма реакции фильтра, полученной в ответ на такой сигнал? Почему?

x[n] = 1 при n = 0,

x[n] = 0 при других n.

4. Рассчитайте тестовую последовательность x[n], представляющую собой сумму двух синусоид. Первая синусоида имеет единичную амплитуду, и в интервале 500 отсчётов умещается ровно 6 её периодов. Вторая синусоида имеет амплитуду, равную 0.5, и в интервале 500 отсчётов умещается ровно 44 её периода. Постройте получившуюся последовательность на графике.

5. Проверьте правильность выполнения операции свёртки в разработанной в упражнении 2 программе фильтрации, подав на вход тестовую последовательность, полученную в упражнении 4. Отобразите результат на графике. Фильтр должен пропустить низкочастотную составляющую, задержав высокочастотную. Так ли это? Дайте оценку эффективности программы фильтрации.

6. Превратите фильтр в высокочастотный, изменив арифметические знаки всех весовых коэффициентов и добавив единицу к 49-му коэффициенту (см. Рис. 14.5). Оцените качество работы полученного ВЧ-фильтра, воспользовавшись, как и прежде, тестовой последовательностью из упражнения 4.