2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Оптимальный разреженный ранг-ревеалинг на FPGA
Сообщение11.05.2022, 11:24 


11/08/18
363
Добрый день,

Имеется несколько $N$ ($N=5-8$) сигналов $f_{n,k}(t+d_k)$, $n=1,\dots, N$, $k=1,\dots,K$, которые у меня повторяются несколько $K$ раз. $N$ - фиксировано, $K$ - надо взять минимальным.

Когда сигнал во времени повторяется, я не могу очень точно гарантировать начальное время сдвига ($d_k$), хотя сигнал по идее во времени должен быть точно таким же, как и был с точностью до слабо меняющейся константы $\alpha_{k_1,k_2}$:

$f_{n,k_1}(t) = \alpha_{k_1,k_2} f{n,k_2}(t)$


Каждый сигнал $f_{n,k}(t+d_k)$ я могу передать в канал для оцифровки, или передать в канал для оцифровки дифференциальную разницу между двумя сигналами $f_{n_1,k}(t+d_k) - f_{n_2,k}(t-d_k)$.

Одновременно я могу оцифровывать мало каналов, обычно от $2$ до $6$ (всегда четное), это число зависит от скорости семплирования, так, что с каждого канала получается $M$ чисел ($M=1024-4096$, не во всех задачах - степень двойки).

$d_k$ соотносится к скорости оцифровки так, что $d_k$ может составлять до нескольких шагов оцифровки, и, к сожалению, не является точно целым числом.

Еще один очень важный момент.

Все сигналы очень похожи друг на друга с точностью до нормировки, собственно поэтому я заморачиваюсь с их разницей $f_{n_1,1}(t) - f_{n_2,1}(t)$.

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

Мне нужно получить максимально точно оцифрованные $f_{n,1}(t)$, так, чтобы для них же их разница ($f_{n_1,1}(t) - f_{n_2,1}(t)$) тоже была максимально точная.
Также желательно получить коэффициенты $\alpha_{1,k}$.

Возможно правильнее даже сказать, что я хочу получить один нормированный сигнал $f_{1,1}(t)$, и набор нормированных разниц ($f_{1,1}(t) - f_{n_2,1}(t)$).

Из неприятного, у меня очень мало памяти. Если один оцифрованный сигнал занимает примерно $M$ ячеек памяти, то у меня имеется примерно $3MN + 3KN$ свободных ячеек памяти для промежуточных вычислений, и эти вычисления хочется реализовать на FPGA.

Меня также устроит, если я получу один сигнал $f_{1,1}(t)$, "оптимальную" линейную комбинацию из $f_{1,1}(t) - f_{n_2,1}(t)$ (пусть даже большего размера, чем $n$), получу линейную комбинацию из $\alpha_{1,k}$, а уже "досжатие" проведу далее на обычном процессоре, но у меня не хватит пропускной способности процессора стащить все оцифрованные данные на процессор и сделать там аналог сингулярного разложения, да и надо "на лету" выбрать оптимальные комбинации тех сигналов, которые надо оцифровывать.

Мой вариант решения:

(не честный)
Если я бы мог оцифровывать все сигналы и все возможные их пары, я бы каждый раз делал такую оцифровку, потом бы считал бы QR, с оптимизацией по рангу, и оставлял бы только малый ранг.

Недостаток - без полного SVD оптимизация по рангу будет кривой, а SVD на FPGA не сделать, то есть надо пользовать какие-то методы адаптивной кросс-аппроксимации.

Между наборами сигналов - без пробного подбора $d_k$ не обойтись, и это тоже съест уйму вычислительных ресурсов.

Совершенно не понимаю какую стратегию выбрать, для оптимального выбора пар дифференциальных сигналов и самих сигналов во время оцифровки - ведь если у меня 8 сигналов, то всего я могу иметь до $8 + 8 (8-1)/2 = 36$ каналов, а у меня есть возможность оцифровать только $2-6$ каналов и у меня стоит важный вопрос как оптимально выбрать эти каналы?

Пожалуйста, прокомментируйте-посоветуйте по
1. стратегии выбора какой канал или какую дифференциальную пару выбрать,
2. стратегии сжатия этих данных, для получения оптимальных данных.

Спасибо!

 Профиль  
                  
 
 Re: Оптимальный разреженный ранг-ревеалинг на FPGA
Сообщение11.05.2022, 18:13 


28/12/09
8
ilghiz в сообщении #1554374 писал(а):
Нормы сигналов отличаются на плюс-минус проценты, то есть иногда разница дает очень большое преимущество, а иногда почти нивелирована тем, что нормы сигналов уже были сильно отличными.

А если нормировать сигналы перед оцифровкой, а норму обрабатывать отдельно ?

 Профиль  
                  
 
 Re: Оптимальный разреженный ранг-ревеалинг на FPGA
Сообщение11.05.2022, 18:49 


11/08/18
363
ASP в сообщении #1554397 писал(а):
ilghiz в сообщении #1554374 писал(а):
Нормы сигналов отличаются на плюс-минус проценты, то есть иногда разница дает очень большое преимущество, а иногда почти нивелирована тем, что нормы сигналов уже были сильно отличными.

А если нормировать сигналы перед оцифровкой, а норму обрабатывать отдельно ?

Спасибо за комментарий!

Я дифференциальную составляющую в аналоге собирался делать. То есть выбранная пара сигналов будут коммутироваться на вход дифференциального усилителя с разумным коэффициентом усиления (раз так 10-20), и его выход далее будет оцифровываться.

Сами сигналы без дифференциальной составляющей у меня пробно уже оцифрованы. Если их отнормировать и сравнивать, то по $l_2$ норме сами сигналы больше их дифференциальной составляющей примерно в 200-1000 раз. Это довольно много, так как я сейчас ставлю 16 битный оцифровщик, а сам сигнал почти всегда имеет нули в верхних 5-6 битах, то есть разница получается на уровне последних 2-3 битов.

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

 Профиль  
                  
 
 Posted automatically
Сообщение11.05.2022, 18:59 
Заслуженный участник


09/05/12
25179
 i  Тема перемещена из форума «Математика (общие вопросы)» в форум «Computer Science»
Причина переноса: пожалуй, все-таки по тематике это ближе сюда.

 Профиль  
                  
 
 Re: Оптимальный разреженный ранг-ревеалинг на FPGA
Сообщение12.05.2022, 00:59 


11/08/18
363
Спасибо Pphantom за внимание к моему вопросу!

Я правда думаю, что наиболее подходящей темой была бы "Численные и вычислительные методы, оптимизация", а не Computer Science, ведь ключевым тут являются математические методы, а именно

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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

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


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group