реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> IPcore NCO Altera
_Anatoliy
сообщение Jun 4 2017, 17:47
Сообщение #1


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Коллеги, в корке есть выбор одного из четырёх алгоритмов:
Small ROM
Large ROM
CORDIC and
Multiplier-Based
Есть интерес к последнему варианту - Multiplier-Based. Подскажите какую нибудь литературу по реализации этого алгоритма, поиски в сети ничего не дали.
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Jun 5 2017, 07:11
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



И врядли дадут.
Это ж типа ноухау разработчиков.
Кое что можно понять, если использовать матлаб. Я в симулинке выбираю именно синтезируемое альтеровское ядро - тогда и можно примерно понять, что получается в итоге.


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 5 2017, 08:10
Сообщение #3


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(warrior-2001 @ Jun 5 2017, 10:11) *
И врядли дадут.
Это ж типа ноухау разработчиков.
Кое что можно понять, если использовать матлаб. Я в симулинке выбираю именно синтезируемое альтеровское ядро - тогда и можно примерно понять, что получается в итоге.

Спасибо! Нашёл я здесь один интересный документ, но хозяин хочет за него денег. Ну на нет и суда нет...
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Jun 5 2017, 09:12
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Multiplier-Based это случайно не Тейлоровская коррекция?


--------------------
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 5 2017, 11:38
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(dm.pogrebnoy @ Jun 5 2017, 12:12) *
Multiplier-Based это случайно не Тейлоровская коррекция?

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

Код
   Инициализация:
   X = 1;
   R = exp(j*2*pi/Fs*Fc)
    Рекурсия:
   X = X * R


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 5 2017, 12:13
Сообщение #6


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(alex_os @ Jun 5 2017, 14:38) *

По смыслу очень похоже на то. А как у него с устойчивостью?
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 5 2017, 12:39
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(_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.



--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 5 2017, 14:10
Сообщение #8


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



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

Ясно,спасибо! Но на мой взгляд этот алгоритм можно применять если просто нужен синус. А реализовать ЧМ или ФМ очень уж некрасиво получается...
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Jun 6 2017, 07:54
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



Я ЛЧМ сделал на 1.6 ГГц - и нормально работает в железе wink.gif


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 6 2017, 09:20
Сообщение #10


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(warrior-2001 @ Jun 6 2017, 10:54) *
Я ЛЧМ сделал на 1.6 ГГц - и нормально работает в железе wink.gif

Нисколько не сомневаюсьwink.gif
Я к тому что алгоритм приведенный alex_os для генерации синуса требует всего одну константу R, а для модуляции уже потребуется массив R(i).
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 21:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016