Найти в Дзене

Тестируем CORDIC генератор

Оглавление

Видео в конце...

Всем привет! В прошлый раз мы собрали оконный интегратор и исходя из необходимости параметризации воспользовались циклом for. Такой вопрос, как амплитудно-частотная характеристика (АЧХ) остался не рассмотренным. Кроме того, осталось непонятным на что влияет такая характеристика, как ширина окна интегрирования. Сейчас со всеми этими вопросами и разберемся.

Почему провалы в АЧХ?

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

Амплитудно-частотная характеристика (АЧХ) оконного интегратора при ширине окна интегрирования 4
Амплитудно-частотная характеристика (АЧХ) оконного интегратора при ширине окна интегрирования 4

По теореме Котельникова максимальная частота на горизонтальной оси это половина от частоты взятия отсчетов. Таким образом, на один период синусоиды будут приходиться два отсчета, первый в одном полупериоде, второй в другом.

Два отсчета на один период синусоиды
Два отсчета на один период синусоиды

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

Четыре отсчета на период синусоиды
Четыре отсчета на период синусоиды

Складываясь между собой отсчеты из разных полупериодов взаимно уничтожаются и в этом весь секрет провалов.

-4

Возникает вопрос - а что будет с характеристикой, если мы будем увеличивать длину окна? Чутье подсказывает, что при увеличении количества складываемых отсчетов мы должны приближаться к характеристикам простого интегратора, где число слагаемых - "бесконечность". Нужно обязательно это проверить.

Тестируем устройство

Создадим тестовый стенд, в который поместим интегратор, аккумулирующий фазу, генератор гармонических колебаний, работающий по алгоритму CORDIC, а также само тестируемое устройство (оконный интегратор).

Схема тестового стенда
Схема тестового стенда

Описываем все необходимые провода и регистры. Из-за того, что генератор синуса, работающий по алгоритму CORDIC в упрощенном виде выдает синусоиду с повышенной амплитудой, то введем корректирующее усиление с целью получения гармоники нужной амплитуды.

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

Для начала задаем длину окна интегрирования в 4 отсчета и подаем на вход синусоиду с постоянно увеличивающейся частотой. Код частоты (freq) отображается на верхнем графике.

Тест интегратора с шириной окна 4
Тест интегратора с шириной окна 4

Синусоида (x) на среднем графике совсем слипшаяся из-за большого масштаба времени просмотра. Однако, нижний график весьма красноречиво показывает изменение амплитуды выходной синусоиды в зависимости от роста частоты входной гармоники. На вид получившаяся зависимость вполне совпадает с рисунком из интернета.

Рассмотрим более внимательно момент достижения частоты входного колебания, когда наблюдается провал в характеристике.

Момент затухания выходной синусоиды (y)
Момент затухания выходной синусоиды (y)

Как мы ранее и предположили, на этой частоте в один период синусоиды укладывается четыре отсчета. Два положительные, два отрицательные. Сложение всех отсчетов дает в итоге ноль, что мы и наблюдаем на выходе оконного интегратора y.

Увеличиваем окно интегрирования до 8 отсчетов. Проводим тот же эксперимент.

Тест интегратора с шириной окна 8
Тест интегратора с шириной окна 8

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

Продолжаем эксперимент. Увеличиваем окно интегрирования до шестнадцати отсчетов и уже проявляется закономерность.

Тест интегратора с шириной окна 16
Тест интегратора с шириной окна 16

Число лепестков в амплитудно-частотной характеристике в два раза меньше, чем окно интегрирования. С увеличением этого окна характеристика оконного интегратора стремится принять вид характеристики интегратора с бесконечной суммой всех ранее пришедших отсчетов.

На этом исследование характеристик оконного интегратора окончено. В этом нам помог ранее созданный генератор синуса, работающий по алгоритму CORDIC.

Поддержите статью лайком если понравилось и подпишитесь чтобы ничего не пропускать.

Также не обойдите вниманием канал на YouTube. Подписки и лайки будут приятным ответом от аудитории.