Например TDA7294

Форум РадиоКот • Просмотр темы - Хитрые, необычные алгоритмы и код
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс дек 14, 2025 14:27:54

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 414 ]     ... , , , 20,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Ср окт 29, 2025 15:26:27 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт фев 28, 2017 08:13:31
Сообщений: 67
Откуда: Свердловская обл.
Рейтинг сообщения: 0
jcxz, а если понадобиться развернуть двухбайтовое число, ты предложишь массив из 65536 байт?


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

для 3-х,4-х,.. байтного числа по аналогии ?

так и сказали уже


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Ср окт 29, 2025 15:54:29 
Мудрый кот

Карма: 25
Рейтинг сообщений: 487
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1793
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Привел пример rev_bits использования "короткого" кода вместо "первой пришедшей в голову идеи" (не вдаваясь в ненужную полемику).
Предпочтительнее аппаратные варианты. "Короткие" - тоже.

Код:
uint32_t rev_bits(uint32_t v) {
    uint32_t r = 0;
    for (int i = 0; i < 32; i++) {
        r <<= 1;
        r |= (v & 1);
        v >>= 1;
    }
    return r;
}

и "красивое" (для меня)
Код:
uint32_t rev_bits(uint32_t x) {
    x = ((x >> 1) & 0x55555555) | ((x & 0x55555555) << 1);
    x = ((x >> 2) & 0x33333333) | ((x & 0x33333333) << 2);
    x = ((x >> 4) & 0x0F0F0F0F) | ((x & 0x0F0F0F0F) << 4);
    x = ((x >> 8) & 0x00FF00FF) | ((x & 0x00FF00FF) << 8);
    x = (x >> 16) | (x << 16);
    return x;
}

и примерно 200 инструкции (их не считал) vs напр. 25. (частично пользуюсь переводчиком БГ -> РУ)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Ср окт 29, 2025 17:50:35 
Грызет канифоль
Аватар пользователя

Карма: 1
Рейтинг сообщений: 18
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 273
Рейтинг сообщения: 0
veso74, аж 27 операций!
Если в системе нет инструкции реверса бит, но есть инструкция реверса слов (bswap и т.п.), то быстрей будет в каждом байте по массиву поменять биты и использовать этот bswap, чтобы поменять местами байты.

_________________
Windows must die! And the users of this crap should either become smarter or become janitors.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Ср окт 29, 2025 19:13:15 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19963
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
jcxz, какой, на хрен, 256-байтный массив, чтобы развернуть биты в одном байте?

А что не так, если время критично? Можете предложить более быстрый вариант?

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Ср окт 29, 2025 20:42:52 
Говорящий с текстолитом

Карма: -7
Рейтинг сообщений: 187
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1644
Рейтинг сообщения: 0
jcxz, а если понадобиться развернуть двухбайтовое число, ты предложишь массив из 65536 байт?
Не очень понял что такое "массив из 65536 байт" и зачем я его должен предлагать?

Вроде как очевидно, что можно преобразовать в 2 приёма - побайтно.
Впрочем: если программной памяти лишней много (и если у CPU арифметика с длинными адресами оптимальная), можно и пословно: через 128KB-ный массив. Но вряд-ли такой способ будет оптимальнее на 8-битных ядрах, так как потребуется 16-битная арифметика. И возможно по-байтно будет всё равно быстрее.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Пн дек 08, 2025 20:00:54 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2135
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18446
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Только что посмотрел видосик с канала Di_Halt-а... Вот где хитрые алгоритмы! Пока вы тут думаете, как что-то переложить на аппаратные фичи stm32, кое-кто на древнючем AVR делает такое, что не всякий на i11 повторить сумеет...

https://www.youtube.com/watch?v=n_eyN-tDSlw

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Вт дек 09, 2025 10:39:41 
Прорезались зубы
Аватар пользователя

Карма: 5
Рейтинг сообщений: 25
Зарегистрирован: Ср сен 11, 2024 10:18:53
Сообщений: 237
Рейтинг сообщения: 0
Ну световое перо, и что ? Как говорится - давно забытое старое.
Накидывайте на вентилятор.

_________________
Audiatur et altera pars !


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Вт дек 09, 2025 10:57:30 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 475
Рейтинг сообщения: 0
Пока вы тут думаете, как что-то переложить на аппаратные фичи stm32, кое-кто на древнючем AVR делает такое, что не всякий на i11 повторить сумеет...

Вы RP2040 купили и в ящик стола положили, а кое-кто запустил на нем doom. Почитайте сколько всего автору пришлось преодолеть, там полностью рендеринг переделанный, например, так что впихнуть невпихиваемое - это не прерогатива AVR, таким на чем угодно можно страдать. А у Di-Halta я вообще ничего действительно сложного никогда не видел...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Вт дек 09, 2025 12:52:36 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2135
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18446
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Ну световое перо, и что ? Как говорится - давно забытое старое.
Накидывайте на вентилятор.

Ну, если для вас работа АЦП AVR на частоте семплирования, равной тактовой ядра, давно забытое старое, то я вам завидую. Хотя, пожалуй, сами-то вы ничего и близкого к "световому перу" на AVR не делали...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Вт дек 09, 2025 13:22:53 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 475
Рейтинг сообщения: 0
Ну, если для вас работа АЦП AVR на частоте семплирования, равной тактовой ядра, давно забытое старое, то я вам завидую.

Осциллографы никогда не делали? Любой человек, который делал, естественно будет пробовать разгонять ADC. Обычно в несколько раз можно разогнать без видимым проблем, а дальше по форме сигнал будет похож, но уровень сигнала будет падать, т.к. конденсатор не успевает заряжаться. Di-Halt доразгонялся до того, что пару младших разрядов реагируют на 10MHz меандр... Ну ок, вау эффект то в чем? Или необычный алгоритм тут где?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Вт дек 09, 2025 15:03:19 
Прорезались зубы
Аватар пользователя

Карма: 5
Рейтинг сообщений: 25
Зарегистрирован: Ср сен 11, 2024 10:18:53
Сообщений: 237
Рейтинг сообщения: 0
...Хотя, пожалуй, сами-то вы ничего и близкого к "световому перу" на AVR не делали...

А в чём сакральный смысл делать это именно на AVR? :dont_know:

_________________
Audiatur et altera pars !


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Вт дек 09, 2025 21:33:45 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2926
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18891
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
ARV писал(а):
Ну, если для вас работа АЦП AVR на частоте семплирования, равной тактовой ядра, давно забытое старое
у меня ютуб не работает. можно как-то описать или где-то прочитать, как такой "разгон" делается.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Вт дек 09, 2025 22:06:39 
Грызет канифоль
Аватар пользователя

Карма: 1
Рейтинг сообщений: 18
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 273
Рейтинг сообщения: 0
А в чём сакральный смысл делать это именно на AVR? :dont_know:

Видимо: "смотрите, шо я могу!" ☺
На форумах иной раз на такое наткнешься… Особенно если какой-нибудь ардуинщик начнет свой "код" выкладывать: а там флоаты, аллокаторы, ногодрыг, жесть сплошная!

_________________
Windows must die! And the users of this crap should either become smarter or become janitors.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Ср дек 10, 2025 19:41:08 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2135
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18446
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
...Хотя, пожалуй, сами-то вы ничего и близкого к "световому перу" на AVR не делали...

А в чём сакральный смысл делать это именно на AVR? :dont_know:

Ни в чем, кроме того, что лишь с массой хитростей и особых алгоритмов можно добиться невероятного результата. Знаменитый японец Чен на тиньке сделал ЦОС в звуковом диапазоне - слабо переплюнуть? На 11-ом интеле это можно на циклах Бейсика в реальном времени реализовать, производительности хватит. На стм32 тоже особого ума не надо, и только на системе, в которой ресурсов чуть больше "ничего", проявляются навыки программирования, которым и Кнут мог бы позавидовать. Только вот в этом смысл, ни в чем ином.

Добавлено after 4 minutes 20 seconds:
ARV писал(а):
Ну, если для вас работа АЦП AVR на частоте семплирования, равной тактовой ядра, давно забытое старое
у меня ютуб не работает. можно как-то описать или где-то прочитать, как такой "разгон" делается.
да не слушай этих критиканов, никакой разгон там не делается. Просто стробоскопический метод и неизвестно как реализованная синхронизация запуска АЦП в нужные моменты с точностью до такта ядра. Само АЦП при этом на штатной тактовой работает. В том и хитрость алгоритма!

P.S. подключи впн и посмотри видос, он длинный, но того стоит!

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Ср дек 10, 2025 20:59:33 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 475
Рейтинг сообщения: 0
да не слушай этих критиканов, никакой разгон там не делается. Просто стробоскопический метод и неизвестно как реализованная синхронизация запуска АЦП в нужные моменты с точностью до такта ядра. Само АЦП при этом на штатной тактовой работает. В том и хитрость алгоритма!

ADC требуется 1.5 ADC такта только на sample-and-hold, при этом делители там 2..128 и штатная тактовая для 10-бит ADC - 50..200KHz, т.е. в норме выбирается максимальный делитель 128 и получаем частоту ADC равную 156KHz. Следовательно 1.5 ADC такта - это 192 такта основной частоты мк, которая там 20 MHz. Теперь представьте что у вас меандр 10MHz и вы 192 такта заряжаете конденсатор, что вы там намеряете? ) Потому Di-Halt наверянка выставил минимальный делитель 2 и sample-and-hold занимает всего 3 такта, никаких других вариантов я не вижу. Это безусловно экстремальный разгон и за 3 такта конденсатор успевает зарядиться совсем чуть-чуть. При этом 3 такта все равно много для меандра 10MHz, но что-то похожее может запросто выдавать. А дальше уже идет ваш стробоскопический метод, наверное )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Ср дек 10, 2025 21:51:12 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 24609
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
с массой хитростей и особых алгоритмов можно добиться невероятного результата. Знаменитый японец Чен на тиньке сделал ЦОС в звуковом диапазоне - слабо переплюнуть?

:)))
Это "хитрость" для лохов.
Работа в высших зонах Найквиста, в просторечии именуемой "стробоскопическим преобразованием" на самом деле является достаточно примитивным методом использования АЦП. Только в этой "хитрости" есть одна проблема. Полоса пропускания УВХ должна соответствовать верхней частоте спектра сигнала. Иначе никакой "хитрости" не получится. Ну и антиалиасинговый фильтр на входе АЦП на выбранную зону Найквиста потребуется. Само по себе это не всегда просто реализовать. Требования к фильтру могут оказаться достаточно высокими.

Добавлено after 3 minutes 3 seconds:
Само АЦП при этом

АЦП мужского, а не среднего рода. :)

Добавлено after 4 minutes 48 seconds:
за 3 такта конденсатор успевает зарядиться совсем чуть-чуть.

Это зависит от импеданса мультиплексора на входе УВХ и от внутреннего сопротивления источника сигнала. Все вместе они и образуют апертуру (апертурную задержку) УВХ, которая и определит полосу пропускания УВХ.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Ср дек 10, 2025 22:17:58 
Мучитель микросхем
Аватар пользователя

Карма: 4
Рейтинг сообщений: 44
Зарегистрирован: Вт апр 23, 2013 22:21:18
Сообщений: 440
Откуда: KUBAN, Krasnodar
Рейтинг сообщения: 0
КРАМ, Неистово плюсую :)
Учебник "Радиотехнические цепи и сигналы". Ну, на крайняк Титце&Шенк и "Искусство схемотехники"

_________________
Девице - Device


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Чт дек 11, 2025 00:09:33 
Прорезались зубы
Аватар пользователя

Карма: 5
Рейтинг сообщений: 25
Зарегистрирован: Ср сен 11, 2024 10:18:53
Сообщений: 237
Рейтинг сообщения: 0
...Знаменитый японец Чен на тиньке сделал ЦОС в звуковом диапазоне - слабо переплюнуть?...


На PIC16, в своё время, карточки для VIACCESS делали, и за геройство и необычные алгоритмы не считали.
Хотя пользы от этого было несравнимо больше. А касаемо светового пера, так к РАДИО-86 РК прикручивали,
а там процессор 1,78мГц и вывод на экран в "железе" ВГ75 с задержкой работал, и ничего, "хитрый алгоритм"
применяли и всё ОК. Так что никаких 11-х интелов.
А вы про японцев, про тиньки.. не интересно это всё.
:)

_________________
Audiatur et altera pars !


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Чт дек 11, 2025 07:07:03 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2135
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18446
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Из критиков кто видео смотрел-то? Или всё теоретизируете?
Теоремы Найквиста вспоминаете, полосы, время выборки... А человек взял, и сделал микро-осциллограф, который вполне способен показать сигнал 5 МГц с вполне адекватными фронтами и спадами сигнала. И даже выше 5 МГц.

Судя по тому, что все упорно называют Di_Halt-а автором этого пера, никто видео не смотрел, т.к. дихальт только перепостил его... Эх вы, специалисты по обсеру других...

Кстати, световое перо на Радио-86 делалось аппаратными средствами микросхемы контроллера дисплея, знатоки хреновы.

Добавлено after 7 minutes 31 second:
КРАМ, Неистово плюсую :)
Учебник "Радиотехнические цепи и сигналы". Ну, на крайняк Титце&Шенк и "Искусство схемотехники"

Просто напомню, что по учебникам аэродинамики майский жук летать не должен.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Хитрые, необычные алгоритмы и код
СообщениеДобавлено: Чт дек 11, 2025 08:17:44 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 24609
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Из критиков кто видео смотрел-то?

А зачем? :dont_know:
Что удивительного в стробоскопическом осциллографе? Они существовали еще в середине прошлого века.
У меня есть два старых (17 лет назад разработаны) устройства уже выведенных из серии, где обнаружение сигнала происходит в пятой зоне Найквиста. А все патамушта PIC18 имеет частоту дискретизации АЦП не выше 100К. А нужно 300К.
Правильный усилитель и фильтр на входе АЦП для минимизации апертурной задержки - вот и всё "чудо".
Все очень дешевые китайские осциллографы с широкой полосой выполнены по стробоскопической схеме. Смотреть на них однократные короткие сигналы принципиально невозможно. А так да, - фронты соответствуют полосе...
Такшта, Роман Викторович, теоретег тут только Вы. Поэтому и удивляетесь обычному.


Последний раз редактировалось КРАМ Чт дек 11, 2025 08:21:42, всего редактировалось 1 раз.

Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 414 ]     ... , , , 20,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y