2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 16:17 


23/02/23
183
Alex Krylov в сообщении #1682685 писал(а):
А фильтровой вариант решения проблемы вами не рассматривался?

ihq.pl в сообщении #1682688 писал(а):
Видимо, сигнал очень большой и отсюда идея разделить его на части.

Я же писал, у меня нет доступа к самому сигналу, он возникает на микроконтроллере (МК) у которого не на столько быстрый интерфейс, по которому сам сигнал можно наружу вытащить и обработать. Грубо говоря, сигнал семплируется 1MS/s на 12 битах, а у меня есть возможность общаться на 3МБита/с. Из-за этого мне надо его сжимать. МК поменять не могу. У МК не так много ресурсов для сжатия, поэтому алгоритмы на вейвлетах или на алгоритмах из серии компрессед-сенсинг к сожалению в реальном времени не смогли поехать. Как я понимаю, они могли бы практически без потерь вытащить сигнал наружу.

B@R5uk в сообщении #1682641 писал(а):
Не, эти частоты зашиты в нулевой элемент спектра окна — константную добавку, — ну, и в несколько первых гармоник в значительно меньшей степени (по энергии). Так что без удаления константы эти частоты вполне себе сохраняются. Можете трактовать это как фильтрующую функцию (не помню как она точно называется) для вейвлета Хаара: на отрезках длиной K сигнал аппроксимируется средним, а высшие компоненты убиваются. Это сохраняет низкие частоты. Фактически это и есть наивный подход к редескритизации сигнала с уменьшением частоты в K раз.

да верно, самая первая гармоника БПФ - это умножение на константу. Ее я конечно передаю, и по ней я могу восстановить все сигналы из низкочастотного спектра. Я бы просто сглаживал бы сам сигнал, но так тоже не получается. При 1MS/s у меня есть гармоника на 150КГц, а это около 6-7 отсчетов на период. Причем я не могу гарантировать, что у меня только 150КГц есть, и, более того, там обычно в сигнале чирпы или вообще одиночные дельтафункции на частотах 10-150КГц. Их немного, но мне надо точно знать все их характеристики.

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

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 16:45 
Аватара пользователя


26/05/12
1857
приходит весна?
zgemm в сообщении #1682705 писал(а):
Их немного, но мне надо точно знать все их характеристики.
Выход я вижу такой:
1. Упаковать с помощью фильтрации и ресемплинга все стационарные сигналы (те, что лежат в фиксированной полосе частот каждый) так, чтобы после их отсылки в канале связи осталось приличное место. Цифровые фильтры считаются ну просто безобразно быстро (особенно по сравнению со всякими фурье).
2. Наладить детектирование ограниченных по времени особенностей сигнала (например, вычитать фильтрованные сигналы из основного и смотреть, не превысит ли результат некий порог. Это можно делать даже через каждые L сэмплов в зависимости от продолжительности особенностей).
3. Слать участки сигнала с особенностями "как есть" без всякой упаковки в оставшемся свободным месте канала связи. Делать это асинхронно, предавая временные штампы привязки фрагментов.
4. Надеяться, что все временные особенности достаточно короткие и не навалятся кучей, переполнив тем самым буфер асинхронной передачи (память в МК ограниченная всё-таки).
5. Если же это всё-таки случилось, то слать уведомление, и обслуживать коллизии наиболее рациональным способом исходя из поставленной задачи.
6. Если буфер асинхронной передачи опустеет, можно просто слать куски текущего сигнала для контроля.
7. ПРОФИТ!

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 17:04 


23/02/23
183
B@R5uk в сообщении #1682719 писал(а):
zgemm в сообщении #1682705 писал(а):
Их немного, но мне надо точно знать все их характеристики.
Выход я вижу такой:
1. Упаковать с помощью фильтрации и ресемплинга все стационарные сигналы (те, что лежат в фиксированной полосе частот) так, чтобы после их отсылки в канале связи осталось приличное место. Цифровые фильтры считаются ну просто безобразно быстро (особенно по сравнению со всякими фурье).

спасибо! Можно пожалуйста, отсюда поподробнее. У меня в среднем сигнал с одного семпла на другой меняется на 9-10 бит при том, что сам семпл - это положительное 12битное число. Я не сильно большой специалист в фильтрации и ресемплинге, но чутье мне подсказывает, что тут можно упаковать на проценты, но не в 4 раза, которые мне надо.

В то же время, если делать оконной БПФ как я делаю, с размером окна 64, сохраняя первый действительный в 16 битах и еще 7 комплексных членов в 12 битах, то при таком сжатии в 4 раза невязка по $l_2$-норме получается практически всегда меньше 1%, но есть щемящее чувство, что я может что-то важное теряю.

То есть я предполагаю, что я не понимаю каких-то основ фильтрации и что-то тут можно сделать существенно проще. Вдруг Вам будет не сложно на пальцах объяснить какой "безобразно быстрый алгоритм" можно применить тут, чтобы сжимать в 4+ раз мой сигнал, покажите что он из себя представляет, пожалуйста!

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 17:20 


18/05/15
781
zgemm в сообщении #1682705 писал(а):
Я же писал, у меня нет доступа к самому сигналу, он возникает на микроконтроллере (МК)

Прочитал только первое сообщение. А в нём сигнал делится на части. Когда речь идет о преобразовании Фурье, так делать, вообще говоря, нельзя. Преобразование Фурье - глобальная процедура. Например, свободный член тригонометрического многочлена (усеченный ряд Фурье) - это среднее всего сигнала. Свободный член многочлена, полученного преобразованием отрезка сигнала, - среднее сигнала на этом отрезке и т.д... скорее всего, говорю банальные вещи :D

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 17:43 


20/01/12
210
zgemm в сообщении #1682725 писал(а):
Вдруг Вам будет не сложно на пальцах объяснить какой "безобразно быстрый алгоритм" можно применить тут, чтобы сжимать в 4+ раз мой сигнал, покажите что он из себя представляет, пожалуйста!
Учебники не читаете принципиально? Доверяете исключительно чужим пальцам? А если пальцы кривые? :mrgreen:

КИХ фильтр с децимацией на 4 решит проблему сжатия. Но для проектирования фильтра нужны параметры подавления вне ПП и затухания в ПП.

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 17:46 
Аватара пользователя


26/05/12
1857
приходит весна?
zgemm в сообщении #1682725 писал(а):
но чутье мне подсказывает, что тут можно упаковать на проценты, но не в 4 раза, которые мне надо
Всё дело в частотной локализации сигнала. Если у вас есть узкая частотная полоса с полезной нагрузкой, то её можно отфильтровать (занулить частотные компоненты вне этой частотной полосы), а затем пересэмплировать с понижением частоты дискретизации в K раз: $$K\le\frac{f}{2\Delta f}$$ Здесь в числителе стоит частота дискретизации, а в знаменателе — частотная ширина полосы с полезным сигналом (частотная ширина полосы со всем исходным сигналом — половина частоты дискретизации). Поток информации при этом уменьшится в K раз, а сигнал можно будет восстановить без потерь (теорема Котельникова-Найквиста-Шеннона).

Вас смущает тот факт, что частота полезного сигнала больше новой частоты дискретизации. Не переживайте. Дело в том, что сигналы высоких частот при ресэмплинге все спроектируются на один и тот же частотный диапазон: частоты, меньшие частоты Найквиста. Это зовётся алиасингом. По этой причине в обработке звука при ресэмплинге с понижением частоты сначала отфильтровываются высокочастотные гармоники. В противном случае они все отобразятся на низкочастотный сигнал и получится невразумительное месиво. В вашем же случае это наоборот хорошо: ресэмплинг отобразит высокочастотный сигнал с полезной нагрузкой на низкие частоты, и информация сохранится. Тут главное, чтобы ничего больше на этот полезный сигнал не накладывалось — по этой причине полосовые фильтры.

Здесь есть одна тонкость, заключающаяся в том, что частота Найквиста при ресэмплинге — это на самом деле гребёнка частот. Они режут спектр исходного сигнала на части, которые проектируются на самый нижний участок таким образом, что каждые два соседних окна с общей границей после проектирования эту границу сохраняют как общую. То есть если смотреть во времени на спектр пересэмплированного сигнала с линейно растущей частотой, то мы увидим, как его частота сначала линейно растёт до нового потолка, потом вместо скачка в нуль, линейно падает до нуля, потом снова линейно растёт, потом линейно падает и так далее. По этой причине обратное восстановление высокочастотного сигнала после ресэмплинга — задача нетривиальная. (По этой же причине в радиосвязи при однополосой модуляции получаются смешные голоса, если частота приёма оказалась не с той стороны от полосы с сигналом). Так же надо ещё подобрать шаг ресэмплинга и положение граничных частот оконного фильтра так, чтобы ни одна из частот гребёнки частот Найквиста не попала внутрь частотного окна с полезным сигналом — иначе будут проблемы. Это может заметно снизить эффективность сжатия данных, так как шаг ресэмплинга дискретный (берём каждый K-ый семпл, иначе его будет непомерно сложно рассчитать) и полосу сигнала надо уместить между двумя зубьями гребёнки.

Можно подойти к этому немного иначе. Умножить ваш сигнал на мнимую экспоненту с частотой в точности равной середине частотного окна с полезным сигналом. Это перенесёт спектр с полезным сигналом в близь нуля (на самом деле там произойдёт раздвоение из-за плюс-минуса, но сейчас это не важно), а все остальные компоненты — куда-нибудь ещё. Затем вы просто фильтруете цифровым фильтром низкой частоты с граничной частотой, равной половине ширины исходного окна. Достоинство такого подхода в том, что фильтр с одной частотой среза разработать, отладить и вычислять легче, чем оконный фильтр с двумя частотами среза. Недостаток — вам придётся фильтровать два сигнала: для действительной и мнимой компонент. Они обе будут нужны для восстановления исходного сигнала на нужной частоте. Возможно, здесь есть некий компромисс, но я в вопрос глубоко не вникал, поэтому даже не возьмусь казать, как будет делать лучше.

Я так понимаю, вы с цифровыми фильтрами раньше не сталкивались. Тогда вам придётся освоивать приличное количество материала, эдак две-три книжки как минимум.

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 18:12 


23/02/23
183
=SSN= в сообщении #1682736 писал(а):
Учебники не читаете принципиально? Доверяете исключительно чужим пальцам? А если пальцы кривые? :mrgreen:

учебники читаю, но все прочитать - не смог, я же не ЧатГПТ или ДипСик какой-нибудь, поэтому задал вопрос - на пальцах, так как на моих пальцах у меня что-то тут не сходится.

=SSN= в сообщении #1682736 писал(а):
КИХ фильтр с децимацией на 4 решит проблему сжатия. Но для проектирования фильтра нужны параметры подавления вне ПП и затухания в ПП.

Я же писал, сигнал при размахе его дискретизации в 12 бит при измерении от одного семпла до следующего меняется обычно на на 9-10 бит. Это происходит от того, что первая несущая, которая там регулярно встречается, только в 20/3 раз меньше, чем частота дискретизации. КИХ фильтр с любыми параметрами просто ее убьет от слова совсем. Я разве не прав?

Я собственно поэтому и задал вопрос какими "Цифровыми фильтрами, которые считаются ну просто безобразно быстро" можно вот так взять и закомпремировать в 4 раза то, что я описываю.

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 18:13 
Аватара пользователя


26/05/12
1857
приходит весна?
=SSN= в сообщении #1682736 писал(а):
КИХ фильтр с децимацией на 4 решит проблему сжатия.
КИХ-фильтр с хорошим обрезанием спектра вне целевого диапазона будет длинным, соответственно, будет считаться сложнее. БИХ-фильтр будет куда эффективней в вычислительном плане. Человеку вон нужно ещё кучу всего сделать с сигналом.

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 18:18 


20/01/12
210
zgemm в сообщении #1682746 писал(а):
КИХ фильтр с любыми параметрами просто ее убьет от слова совсем. Я разве не прав?

Не правы.
КИХ фильтр "убьет" только сигналы в полосе от 120 кГц до 880 кГц.
Амплитуда всех сигналов в полосе от 0 кГц до 120 кГц не изменится.
Частота семплирования после децимации на 4-е будет равна 250 кГц.
Именно за счет уменьшения частоты дискретизации достигается сжатие в 4 раза.

-- 17.04.2025, 18:20 --

B@R5uk в сообщении #1682747 писал(а):
=SSN= в сообщении #1682736 писал(а):
КИХ фильтр с децимацией на 4 решит проблему сжатия.
КИХ-фильтр с хорошим обрезанием спектра вне целевого диапазона будет длинным, соответственно, будет считаться сложнее. БИХ-фильтр будет куда эффективней в вычислительном плане. Человеку вон нужно ещё кучу всего сделать с сигналом.
Длинным он будет или нет зависит от переходной полосы фильтра и нужного затухания в полосе заграждения.
Эти параметры нам неизвестны, поэтому не нужно фантазировать.. :mrgreen:

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 18:25 
Аватара пользователя


26/05/12
1857
приходит весна?
=SSN=, ну хорошо, уговорили. Достоинство КИХ-фильтра ещё и в том, будет очень легко "починить" внесённые фильтром амплитудные и фазовые искажения. С БИХ-фильтрами в этом плане не всё так просто. Хотя, опять же, я занимался этими вопросами давно и глубоко не вникал.

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 18:28 


23/02/23
183
B@R5uk в сообщении #1682737 писал(а):
Можно подойти к этому немного иначе. Умножить ваш сигнал на мнимую экспоненту с частотой в точности равной середине частотного окна с полезным сигналом. Это перенесёт спектр с полезным сигналом в близь нуля (на самом деле там произойдёт раздвоение из-за плюс-минуса, но сейчас это не важно), а все остальные компоненты — куда-нибудь ещё. Затем вы просто фильтруете цифровым фильтром низкой частоты с граничной частотой, равной половине ширины исходного окна. Достоинство такого подхода, в том, что фильтр с одной частотой среза разработать, отладить и вычислять легче, чем оконный фильтр с двумя частотами среза. Недостаток — вам придётся фильтровать два сигнала: для действительной и мнимой компонент. Они обе будут нужны для восстановления исходного сигнала на нужной частоте. Возможно, здесь есть некий компромисс, но я в вопрос глубоко не вникал, поэтому даже не возьмусь казать, как будет делать лучше.

я так понимаю, что выбрав как раз первые 7-8 нижних гармоник в БПФ я как раз ими охватил ту полосу, что у меня есть в сигнале. Так как гармоники комплексные, восстанавливая я не теряю фазу. А вот выше у меня ничего полезного не должно быть и оно автоматически фильтруется.

То есть я понимаю, что идеально для меня применить к исходному сигналу такой фильтр, который бы порезал полосу от $f/7$ и выше, пересемплировать все это как-то в 4 раза, и не напороться на тот факт, что сигнал может представлять почти дельта функцию с центральной несущей не больше $f/7$ , но момент старта которой должен быть определен довольно точно, желательно с частотой дискретизации исходного сигнала.

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 18:29 


20/01/12
210
B@R5uk в сообщении #1682756 писал(а):
Достоинство КИХ-фильтра ещё в том, что после восстановления будет очень легко "починить" внесённые им амплитудные и фазовые искажения.

Достоинство КИХ фильтра (с симметричной ИХ) еще и в том, что у него линейная ФЧХ. Поэтому фазовые искажения в КИХ фильтре вообще отсутствуют.

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 18:34 
Аватара пользователя


26/05/12
1857
приходит весна?
=SSN= в сообщении #1682758 писал(а):
вообще отсутствуют
Кроме сдвига во времени. :wink:

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 18:36 


20/01/12
210
B@R5uk в сообщении #1682760 писал(а):
=SSN= в сообщении #1682758 писал(а):
вообще отсутствуют
Кроме сдвига во времени. :wink:

Ну, и фаза в математике определена с точностью до произвольной постоянной. 8-)

 Профиль  
                  
 
 Re: Свойства оконного Фурье
Сообщение17.04.2025, 19:00 
Аватара пользователя


26/05/12
1857
приходит весна?
=SSN= в сообщении #1682762 писал(а):
с точностью до произвольной постоянной
Которая для временного сдвига будет пропорциональна частоте и величине сдвига. Если сдвиг равен целому числу плюс половина дискрета (и это вполне себе случается для БИХ с чётным числом элементов и симметричной импульсной характеристикой), то сигнал нельзя скорректировать просто сдвигом назад во времени на заданное число дискретов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Модераторы Математики, Супермодераторы



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

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


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

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