Открыть список
Как стать автором
Обновить

Комментарии 38

Занимательная статья. Интересно было пробежаться по основам теории сигналов (или как её сейчас называют!?!), которую изучал давным давно. Согласен с автором. Но если частоту дискретизации выбрать большей чем частота Найквиста, то возможно создать цифровой БИХ фильтр или воспользоваться свойством автокорреляции белого шума (на подобном трюке строились гребенчатые фильтры для аналогового телевидения). Но это выходит за рамки исходной задачи.

это довольно классическая история. Если есть априорные данные о входном сигнале (в их
«работе» синус), то можно придумать какие-то варианты обработки (на практике, например, бывает, что скорость изменения сигнала ограничена — это поможет избавиться от шума). Есть еще забавная довольно история, что зная одну производную от сигнала, можно использовать половину полосы. А так, автор еще статьи по «сеточкам нейронным» не читывал. Там по итогу больше половины статей ни на чем не основаны, кроме экспериментов на датасете. А на другом датасете уже и не будет работать
Блин, теорема Котельникова ж математически доказывается. Она фундаментальна и проста, там нет физических допущений и даже вероятностей там нет. Как вообще может придти в голову идея о возможности «обхода» этой теоремы в случае алиасинга?!
Понятно, если есть априорные знания о шуме и/или сигнале — то появляются некоторые варианты, позволяющие использовать эту информацию для улучшения характеристик системы обработки, но теорема Котельникова никуда не девается и не нарушается.
У меня ощущение, что авторы просто попали в процессе исследования после этой математической ошибки на целую пачку убедительных когнитивных искажений, непонимание чего в итоге привело к «сенсации». Потому что я не хочу думать, что это просто компания безграмотных товарищей, не учивших теорию информации в университете…

Если изложить это в понятиях криптографии, то обладая некоторыми сведениями об открытом тексте зашифрованного сообщения (форме сигнала) и имея шифрограммы (сигнал, скрытый в шуме), мы можем провести атаку на шифр на основе открытого текста и с хорошей вероятностью расшифровать сообщения (удалить шум). Так была взломана Энигма. Только это абсолютно не означает, что зная, о чем возможно было сообщение, мы можем расшифровать одноразовый блокнот — шум все равно останется шумом, просто с меньшим пространством вариантов исходного текста (полосой пропускания). А авторы исходной статьи, условно говоря, зашифровали сообщение о погоде одноразовым блокнотом, на основе этого сделали расшифровку и получили другое сообщение о погоде, после чего заявляют, что они произвели взлом века — сообщение-то реально оказалось о погоде! Что там написано про дождь вместо урагана — неважно.
Хотя с одноразовым блокнотом я загнул немного. С учетом изложенного — они «взломали» поточный шифр, аналогичный блокноту, но статистические особенности которого позволяют выдавать тему открытого текста (скрытая шумом синусоида, по форме которой можно все-таки догадаться, что там примерно синусоида, черт его знает, правда, какая). Удаляя шум, «попадаем в тему» и на основе этого делаем вывод, что так можно ломать все поточные шифры, включая блокнот. В примере с блокнотом синусоиду надо было бы выделять на графике не из зашумленного сигнала, а вообще из равномерно закрашенного поля.
Поточный шифр перестает быть шифром после взлома одной из фаз. Требуется смена ключа. В требованиях регулятора всегда стоит ограничение по времени и объему шифруемого на одном ключе. Но до Энигмы тогда регуляторы еще не добрались :)
Не все понимают, что математику не обмануть.
Некоторые думают, что вся наука — не более чем чья-то изощренная фантазия. Математика, соответственно, самая извращенная, как не имеющая пересечений с реальностью.
ДИСКАМИР: это не моё мнение, я с ним кардинально несогласен
Слишком много букв для доказательства того, что «вечный двигатель не работает». Хотя искать ошибки в логике изобретателей вечного двигателя гораздо интересней и полезней, чем отвечать на «актуальные вопросы и задачи от ведущих компаний». Респект и уважуха!

Почему бы не использовать простейший фильтр первого порядка из конденсатора и гораздо большую частоту дискретизации(на порядок/порядки), потом в цифре отфильтровать частоты выше необходимой и уменьшить частоту дискретизации до необходимой?

Так тоже можно, только это очень сильно дороже обычных фильтров.

В данном случае — не сказал бы. Там по условию задачи требуется полоса всего 5 кГц, при этом даже встроенные АЦП в популярных микроконтроллерах сегодня могут работать на скоростях до 1 MSPS. Тут не то что просто упростить аналоговую часть за счет увеличения частоты дискретизации, тут можно и передискретизацию устроить, чтобы поднять разрешение бита на два-три, а то и больше.

Обошли не значит отменили. Теорема отсчетов сама по себе является идеальной, потому что сигналы с ограниченным спектром бывают только в воображении… А что бывает в реальности — об этом говорить можно лишь с приближениями, ведь и сигнал на осциллографе и спектр на анализаторе являются лишь проекциями чего-то нам неведомого, и наши глаза, кстати, дают нам для анализа также лишь проекцию… А так, я считаю, что белый шум при "алиасинге" переходит в белый же шум — такой он, ...., хитрый. Такой штуковиной мы только лишь ухудшаем условия для работы, например, фильтра Винера.

белый шум при «алиасинге» переходит в белый же шум
А как тогда работает noise shaping?

Не знаю как он работает, но тут вы залезли в вопросы квантования… Теорема отсчетов здесь ни при чём, потому что она оперирует точными отсчетами.

Noise Shaping работает в процессе квантования и связан с передискретизацией. По простому: если на более высокой частоте дискретизации отфильтровать шум, а после снизить частоту дискретизации (проредив данные), то можно получить увеличение разрядности за счет увеличения соотношения сигнал/шум. Так работают сигма-дельта АЦП.
Если обработать сигнал несколькими ЦАП и некратной дискртизацией, и если известна амплитуда шума, то можно построить «коридор» в котором будет находится сигнал. За него можно принять среднюю линию (или мат.ождание). И сработает это толко если сигнал значительно больше шума.

А что произойдёт с зашумлённым сигналом, если обработать его рекурсивным фильтром, по типу Калмана?
Фильтру Калмана нужна модель процесса, а для недетерминированных сигналов с этим туго. :)
Да, странное утверждение о том, что шум можно восстановить и потом вычесть. Шум же случаен. Да, мы получим шум, который по средним показателям даст там круг или чего-то там, но это будет не такой же самый шум, чтобы его можно было бы вычесть.
Может быть у них там был в тестах какой-то псевдо шум, который по формуле генерился, и они его «угадали» и вычли… но это как-то очень странно.
Теорема Котельникова говорит об условиях, при которых аналоговый сигнал может быть взаимнооднозначно представлен дискретной выборкой. В приложении к данной работе под «аналоговым сигналом» следует понимать шум+синусоиду. Если вы хотите точно воспроизвести шум+синусоиду, деваться некуда, берите 2 МГц частоту семплирования.

Но дальше происходит подмена понятий. Полезной нарекается только синусоида. А для её отображения вообще достаточна нулевая частота дискретизации (запишите на бумажке амплитуду и фазу и не мучайте АЦП). Да, когда мы вместо 2 МГц взяли частоту 10 кГц, шумы многократно наложились, мы не выжали потенциальный SNR. Но при расчете отношения сигнал/шум надо рассматривать шум не в полосе 5 кГц, а только в бине самой синусоиды. А там SNR может быть уже вполне достаточный (не максимальный, а достаточный!).

Иными словами, если ваш полезный сигнал — синусоида, то поставьте фильтр на выходе процедуры дискретизации, а не на входе.

Такие мысли возникли у меня при прочтении статьи по диагонали. Кто выиграет $1000, все деньги можете оставить себе, я не претендую ;-)
Если наш полезный сигнал — синусоида, а шум — другая синусоида высокой частоты, то может получиться так, что при недостаточной частоте дискретизации ВЧ синусоида шума превратится в синусоиду той же частоты, что и наша и сложится\вычтется с ней в зависимости от соотношения фаз. И мы никак не узнаем, какой же сигнал был на самом деле.
Мы сейчас начнем спорить о терминах, что малоприятно, но моя позиция такая: шум (noise) не может быть синусоидой, синусоида — это уже помеха (interference).

Под шумом обычно понимают слабокоррелированный (широкополосный) случайный процесс, как правило тепловой природы. В контексте этой задачи это дает то, что в отдельном бине этого шума мало мощности.
Мало-то мало, но в реальности спектр шума может выглядеть так (картинка с интернета)
image

и составляющей от нашего гармонического сигнала там не разглядеть. Но в этом случае и антиалиасинговый фильтр не спасет. Другое дело что белый шум имеет бесконечный спектр и без такого фильтра отношение сигнал-шум будет стремиться к 0 (а не уменьшится в 2 раза, как я писал выше), потому что весь ВЧ шум в полосе (fдискр\2...fбеск) отзеркалится в НЧ область ниже половины частоты дискретизации. Вроде так.
Разумеется, все гораздо проще, если им известны параметры исходного сигнала — фактически, они говорят о пост-фильтрации, а не о предварительной фильтрации. К тому же, в теореме Котельникова нет ни слова о шуме и форме сигнала, а лишь об адекватном дискретном представлении аналогового сигнала. Не говорится ничего о полезном сигнале, SNR и других параметрах. Более того, теорема доказана математически, там вообще нет никакой физики. Интересно, какое у Цая базовое образование, если он не понимает этих весьма базовых вещей (я все же надеюсь, что это добросовестное заблуждение).
PS: увидел, что мое мнение уже выразили в комментариях выше, так что присоединяюсь.
И это прошло в Nat. Comm. :facepalm:
Как выиграть $1000
Сначала вы отправляете мне $10

Где-то я это уже видел)
Вы забыли сказать еще кое о чём: теорема Котельникова будет применима только в том случае если вы имеете АЦП бесконечной разрядности. Для реальных АЦП частота дискритезации должна быть выше чем удвоенная частота Найквиста.
Не только бесконечной разрядности, а ещё и с мгновенным семплингом.
кто-то её пересчитывал под sample and hold или интегратор по времени?
Какое вообще отношение имеет белый шум к антиалиасингу? Ну в смысле… Антиалиасинговый фильтр конечно увеличит отношение сигнал\шум в 2 раза( или в корень из 2?) за счет того, что предотвратит отзеркаливание ВЧ области спектра шума в НЧ область, где находится и спектр сигнала. Но не более того. Если полезный сигнал периодический и мы знаем его частоту, надо уж применять синхронное накопление. Это действительно даст эффект.
А что мешает для борьбы с алиасингом проводить дискретизацию изначально на удвоенной/учетверённой/(и т.д.) частоте, сохраняя потом лишь те высокочастотные участки, где встретился алиасинг и получая тем самым на выходе некое подобие VBR у MP3, только здесь будет VDR (что незначительно скажется на увеличении битрейта от базового низкочастотного варианта оцифровки)?
Более чем здравая мысль.
Дискретизацию делать не единожды, а многократно. Используя каждый раз промежуточные результаты.
Это, кстати, не отменяет тоерему Котельникова, а просто открывает ЕЩЕ ОДИН путь.
Пока, впрочем, далекий от совершенства.
Можно делать единожды, но отбрасывая после промежуточные результаты и помечая блок, на какую частоту он «пере аттестован». Или делать оцифровки на разных частотах параллельно (не экономично, зато алгоритмически крайне просто и задержка вход-выход минимальная), оставляя потом нужный вариант исходя установленного настройками качества оцифровки числа встреченных в блоке алиасингов. С автоматической же подстройкой длины оцифровываемого блока — вообще будет красота. Добавить к какому-нибудь формату (flac, например) пару служебных байт на блок: 8 бит на указание частоты и по 4 на указание битности (ДД) и размера блока. Нужный размер буфера для воспроизведения без заикания легко вычисляется и по-хорошему, кладётся сразу в инфо.
Да, все можно сделать в один присест. Но плодотворность вашей идеи заключается именно в многократной дискретизации. Походе, что Топикстартеру придется раскошелиться.
Тем более, что Вы представили свою идею в достаточно развернутом виде.

Спросил у автора оригинального поста, получил ли он хотя бы 20-30 долларов...

Можно ли эти сложные математические выкладки сформулировать «на пальцах» как обработку сигналов на повышенной временной экспозиции, как применяется в GPS и радиоастрономии (пеленгация планет).
Полагаясь на гипотезу о многократной повторяемости исходного сигнала (синусоида в эксперименте, многократная посылка одной и той же пачки данных в GPS и астропеленгации) его можно восстановить даже если SNR на входе <<1
Для неповторяемого сигнала всё написанное в работе Шепарда — неприменимо?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.