Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IPcore NCO Altera
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
_Anatoliy
Коллеги, в корке есть выбор одного из четырёх алгоритмов:
Small ROM
Large ROM
CORDIC and
Multiplier-Based
Есть интерес к последнему варианту - Multiplier-Based. Подскажите какую нибудь литературу по реализации этого алгоритма, поиски в сети ничего не дали.
warrior-2001
И врядли дадут.
Это ж типа ноухау разработчиков.
Кое что можно понять, если использовать матлаб. Я в симулинке выбираю именно синтезируемое альтеровское ядро - тогда и можно примерно понять, что получается в итоге.
_Anatoliy
Цитата(warrior-2001 @ Jun 5 2017, 10:11) *
И врядли дадут.
Это ж типа ноухау разработчиков.
Кое что можно понять, если использовать матлаб. Я в симулинке выбираю именно синтезируемое альтеровское ядро - тогда и можно примерно понять, что получается в итоге.

Спасибо! Нашёл я здесь один интересный документ, но хозяин хочет за него денег. Ну на нет и суда нет...
dm.pogrebnoy
Multiplier-Based это случайно не Тейлоровская коррекция?
alex_os
Цитата(dm.pogrebnoy @ Jun 5 2017, 12:12) *
Multiplier-Based это случайно не Тейлоровская коррекция?

Multiplier-Based это скорее всего что-нибудь вроде

Код
   Инициализация:
   X = 1;
   R = exp(j*2*pi/Fs*Fc)
    Рекурсия:
   X = X * R
_Anatoliy
Цитата(alex_os @ Jun 5 2017, 14:38) *

По смыслу очень похоже на то. А как у него с устойчивостью?
alex_os
Цитата(_Anatoliy @ Jun 5 2017, 15:13) *
По смыслу очень похоже на то. А как у него с устойчивостью?

Устойчивость так себе. В 16ти битной арифметике более-менее можно пользоваться. В float расходится. В double - не расходится ( ну или расходится ну очень медленно sm.gif ).

В древней интеловской либе NSP такой генератор косинуса был:
Код
Application Notes: The contents of the structures NSP?ToneState
and the particular equations used to calculate the tone are
implementation-dependent. The tone is calculated using a structure that
implements the following second-order transfer function:

X(z)  = z^–1/ (1 - az^–1 + z^–2),  a = 2cos(2pi × rfreq)

This system has two complex conjugate poles on the unit circle. The angle
of the poles is determined by rfreq. There are several possible equations
to implement this system. The particular equation used is
implementation-dependent because the relative speed and harmonic
distortion depends on the particular processor.

_Anatoliy
Цитата(alex_os @ Jun 5 2017, 15:39) *
Устойчивость так себе.

Ясно,спасибо! Но на мой взгляд этот алгоритм можно применять если просто нужен синус. А реализовать ЧМ или ФМ очень уж некрасиво получается...
warrior-2001
Я ЛЧМ сделал на 1.6 ГГц - и нормально работает в железе wink.gif
_Anatoliy
Цитата(warrior-2001 @ Jun 6 2017, 10:54) *
Я ЛЧМ сделал на 1.6 ГГц - и нормально работает в железе wink.gif

Нисколько не сомневаюсьwink.gif
Я к тому что алгоритм приведенный alex_os для генерации синуса требует всего одну константу R, а для модуляции уже потребуется массив R(i).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.