Tpeck 0 22 ноября, 2021 Опубликовано 22 ноября, 2021 · Жалоба 20 minutes ago, _sda said: Около того. А вы с какой целью интересуетесь? Чтобы понять насколько оправданы 24 бита ) Ну и 100 дБ - это уже очень и очень до фига. Хотя если это звук, то возможно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 28 22 ноября, 2021 Опубликовано 22 ноября, 2021 · Жалоба 28 minutes ago, _sda said: Около того. Путаетесь в показаниях.. :) On 11/20/2021 at 2:11 PM, _sda said: ... есть две шины комплексных данных разрядностью 24 бита RE и 24 бита IM в каждой шине. Две шины комплексных данных по 24 бита, это ~24,5 бит для вещественной огибающей. Так что ДД будет примерно: 24,5*6,02 + 1,76 ≈ 150 дБ. Видимо, 50 дБ где-то потерялись по дороге.. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 22 ноября, 2021 Опубликовано 22 ноября, 2021 · Жалоба 2 minutes ago, blackfin said: Видимо, 52 дБ где-то потерялись по дороге.. :) Может у него потери на обработку 0,001 дБ и КАМ256, тогда может ) Или звук, где пороговое SNR около 40 дБ и он должен мега помеху давить в соседнем канале, ибо аналоговая фильтрация не сдюжит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 22 ноября, 2021 Опубликовано 22 ноября, 2021 · Жалоба 12 часов назад, blackfin сказал: Путаетесь в показаниях.. :) Две шины комплексных данных по 24 бита, это ~24,5 бит для вещественной огибающей. Так что ДД будет примерно: 24,5*6,02 + 1,76 ≈ 150 дБ. Видимо, 50 дБ где-то потерялись по дороге.. :) Но вы же посчитали динамический диапазон самой шины данных, а у всего приёмного тракта он будет заметно меньше. Ясный перец что размер шины можно уменьшить на несколько бит, я об этом говорил в самом начале. А оно мне надо? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Самурай 12 22 ноября, 2021 Опубликовано 22 ноября, 2021 · Жалоба 1 час назад, _sda сказал: И...? Чем этот вариант лучше штатной IP-core? Не знаю... от Вас было много горя в голосе, что Ваш алгоритм вычисления квадратного корня выполняется слишком много тактов и Вас не устраивает... В то же время, Вы были в восторге от CORDIC-а, который можно конвейеризировать... Мне показалось странном, что Вы не сложили два + два, вот и решил немного Вам помочь...:) Хорошо, что с этим вопросом Вы все-таки определились... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 22 ноября, 2021 Опубликовано 22 ноября, 2021 · Жалоба Что ж тут поделаешь, материалистический дуализм - единство и борьба противоположностей. А насчёт своего алгоритма корня признаю - увлёкся и зациклился. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 23 ноября, 2021 Опубликовано 23 ноября, 2021 · Жалоба Коллеги, а может кто-то помочь разобраться с кордиком Альтеры? Режим Vector Translate Function. Что у них там за формат такой хитрый? Приводят константу К с точностью до 12-го знака, а сами пишут "has no fixed value". Как из выходного кода получить нормальные значения? Дополнительной информации найти не удалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 16 hours ago, _sda said: Коллеги, а может кто-то помочь разобраться с кордиком Альтеры? Режим Vector Translate Function. Что у них там за формат такой хитрый? Приводят константу К с точностью до 12-го знака, а сами пишут "has no fixed value". Как из выходного кода получить нормальные значения? не с точностью, а сходится к числу, при устремлении количества итераций в бесконечность. Число зависит от количества шагов, ЕМНП, после 8го шага, оно константа, для типового альтеровского 18 битного умножителя. Про формат не знаю, но скорей всего, что-то типа fixed point u1.16 или u1.17 и умножитель знаковый или беззнаковый стоит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 5 часов назад, des00 сказал: не с точностью, а сходится к числу, при устремлении количества итераций в бесконечность. Число зависит от количества шагов, ЕМНП, после 8го шага, оно константа, для типового альтеровского 18 битного умножителя. Про формат не знаю, но скорей всего, что-то типа fixed point u1.16 или u1.17 и умножитель знаковый или беззнаковый стоит Спасибо! Вы реально с этой коркой работали? У меня отношение правильного значения к вычисленному примерно 1,26 - довольно далеко от указанного коэффициента. А с фазой как? При подаче на вход двух одинаковых компонент на выходе имею 35 градусов вместо положенных 45. Вот незадача... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 1 hour ago, _sda said: Спасибо! Вы реально с этой коркой работали? Т.е. число должно стоять на входе корки несколько тактов (например 8), а не один? Это я не пробовал, в описании эту тонкость не видел. Я считал что корка потоковая... И у меня отношение правильного значения к вычисленому примерно 1,26 - довольно далеко от указанного коэффициента. А с фазой как? При подаче на вход двух одинаковых компонент на выходе имею 35 градусов вместо положеных 45. Вот незадача... с этой нет, я кордик сам делал, там работы минут на 15-20. Точность зависит от количества шагов. Вот например для кордика с разрядностью углов 16 бит и коэффициента масштабирования 8 бит в формате u1.7, до 16 шагов localparam int cANGLE_W = 16 ; // script defined typedef logic signed [cANGLE_W-1 : 0] angle_t; localparam angle_t cALPHA_DEG [0 : 15] = '{ 8192, 4836, 2555, 1297, 651, 326, 163, 81, 41, 20, 10, 5, 3, 1, 1, 0}; localparam int cK_W = 8 ; // script defined localparam logic [cK_W-1 : 0] cK [0 : 15] = '{ 181, 162, 157, 156, 156, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155 }; # angle in degrees '{45, 26.5649, 14.035, 7.12463, 3.57605, 1.79077, 0.895386, 0.444946, 0.22522, 0.109863, 0.0549316, 0.0274658, 0.0164795, 0.00549316, 0.00549316, 0} # k '{1.41406, 1.26563, 1.22656, 1.21875, 1.21875, 1.21094, 1.21094, 1.21094, 1.21094, 1.21094, 1.21094, 1.21094, 1.21094, 1.21094, 1.21094, 1.21094} Вот только сейчас, подняв старый проект, обратил внимание на цифры. 1.6, хмм, странная константа, откуда она у них взялась то. ЗЫ. Ну и как видно, количество шагов ограничено разрядностью угла. Если у вас углы 8 бит, то и делать больше чем 8 шагов не имеет смысла. ЗЗЫ. Про углы, есть еще особенность масштабирования и интерпретации. У меня скрипт мог делать кордик где 360 градусов это 2^N, а мог, где градусы задаются в нативном формате, например s8.8 (+-180 градусов). Там отображение нативное. Как работает корка от альтеры незнаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 17 минут назад, des00 сказал: странная константа, откуда она у них взялась то. Спасибо! Очень похоже на то что мне придётся отказаться от этой корки. Я лет 15 назад писал свой кордик (ещё когда модемами занимался), но он не параметризован. Копаться в столь древних исходниках то ещё удовольствие, поэтому решил попробовать альтеровскую корку, показалось что это будет быстрее. Сейчас вижу что параметризовать старый проект всё-же будет быстрее. Что-то альтеровцы там намутили... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба По поводу корней п 1 hour ago, _sda said: Спасибо! Очень похоже на то что мне придётся отказаться от этой корки. Я лет 15 назад писал свой кордик (ещё когда модемами занимался), но он не параметризован. Копаться в столь древних исходниках то ещё удовольствие, поэтому решил попробовать альтеровскую корку, показалось что это будет быстрее. Сейчас вижу что параметризовать старый проект всё-же будет быстрее. Что-то альтеровцы там намутили... посмотрите еще здесь: https://patents.su/4-1260951-matrichnoe-ustrojjstvo-dlya-izvlecheniya-kvadratnogo-kornya.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 12 минут назад, Serhiy_UA сказал: По поводу корней п посмотрите еще здесь: https://patents.su/4-1260951-matrichnoe-ustrojjstvo-dlya-izvlecheniya-kvadratnogo-kornya.html Спасибо, но для меня вопрос с корнями уже решён. Теперь дело за реализацией. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Самурай 12 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 4 часа назад, des00 сказал: Вот только сейчас, подняв старый проект, обратил внимание на цифры. 1.6, хмм, странная константа, откуда она у них взялась то. Откуда она взялась у них как раз известно и понятно:) А вот откуда у Вас такие константы... Хотя... можно предположить, что на константу 1.646 выходной результат надо таки делить, что я предполагаю, Вы и делаете, т.к. 1/1.646 это подозрительно близко к 155/256 и где-то даже выполняется равенство 1/1.646 = 1.2109/2...:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 43 минуты назад, Самурай сказал: Хотя... можно предположить, что на константу 1.646 выходной результат надо таки делить А у меня нужно умножать: RE - 10000 IM - 20000 Вычисленный радиус - 18411 Должен быть - 22361 А-а-а, точно, там ещё на 2 нужно умножить... Спасибо! Осталось с фазой разобраться. А в гайде за это дело молчок... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться