Представьте в виде степени произведение b3x3

Кажется, ты используешь AdBlock. Хабрахабр развивается и существует за счет доходов от рекламы. Добавь нас в исключения. На хабре было несколько статей по преобразованию Фурье и о всяких красивостях типа Цифровой Обработки Сигналов ЦОСно неискушённому пользователю совершенно не понятно, зачем всё это нужно и где, а главное как это применить. Лично мне после прочтения этих статей например, не стало понятно, что это и зачем оно нужно в реальной жизни, хотя было интересно и красиво. Хочется не просто поглядеть красивые картинки, а так сказать, ощутить нутром, что и как работает. И я приведу конкретный пример с генерацией и обработкой звуковых файлов. Можно будет и послушать звук, и поглядеть его спектр, и понять, почему это. Статья не будет интересна тем, кто владеет теорией функций комплексной переменной, ЦОС и прочими страшными темами. Она скорее для любопытствующих, школьников, студентов им сочувствующих :. Сразу оговорюсь, я не математик, и многие вещи могу даже сказать неправильно поправляйте личным сообщениеми данную статью пишу, опираясь на собственный опыт и собственное понимание текущих процессов. Если вы готовы, то поехали. Пару слов о матчасти Если мы вспомним школьный курс математики, то для построения графика синуса мы использовали круг. В общем-то так и получается, что вращательное движение можно превратить в синусоиду как и любое гармоническое колебание. Самое лучшая иллюстрация этого процесса приведена в Гармонические колебания Как мы видим, что зная частоту сигнала, амплитуду и угол, мы можем построить гармонический сигнал. Магия начинается тогда, когда оказывается, что представление абсолютно любого сигнала можно представить в виде суммы зачастую бесконечной различных синусоид. Иначе говоря, в виде ряда Фурье. Я приведу пример из английской. Для примера возьмём пилообразный сигнал. Выше уже говорилось, что график синуса является проекцией вращающегося вектора, а как же быть в случае более сложных сигналов? Это, как ни странно, проекция множества вращающихся векторов, а точнее их суммы, и выглядит это всё так: Вектора рисуют пилу. Вообще рекомендую сходить самим по и попробовать самим поиграться с параметрами, и посмотреть как меняется сигнал. ИМХО более наглядной игрушки для понимания я ещё не встречал. Ещё следует заметить, что есть обратная процедура, позволяющая получить из данного сигнала частоту, амплитуду и начальную фазу уголкоторое называется Преобразование Фурье. Разложение в ряд Фурье некоторых известных периодических функций Я детально на нём останавливаться не буду, но покажу, как это можно применить по жизни. В списке литературы порекомендую то, где можно почитать подробнее о матчасти. Переходим к практическим упражнениям! Мне кажется, что каждый студент задаётся вопросом, сидя на лекции, например по матану: зачем мне весь этот бред? И как правило, не найдя ответа в обозримом будущем, к сожалению, теряет интерес к предмету. Поэтому я сразу покажу практическое применение данных знаний, а вы эти знания уже будете осваивать сами :. Всё дальнейшее я буду реализовывать на сях. Делал всё, конечно, под Linux, но никакой специфики не использовал, по идее программа будет компилироваться и работать под другими платформами. Для начала напишем программу для формирования звукового файла. Был взят wav-файл, как самый простой. Прочитать про его структуру. Для формирования звукового файла был взят пример. Я его немного модифицировал, исправил ошибки, и окончательная версия с моими правками теперь лежит на гитхабе тут Сгенерируем двухсекундный звуковой файл с чистым синусом частотой 100 Гц. Амплитуда 32000 можно было взять 32767 соответствует значению, которое может принимать 16-ти битное число от минус 32767 до плюс 32767. В результате получаем следующий можно его даже послушать любой звуковоспроизводящей программой. Существует ещё фазочастотная характеристика. Если помните, выше я говорил, что для построения сигнала надо знать его частоту, амплитуду и фазу? Так вот, можно из сигнала получить эти параметры. В данном случае у нас график соответствий частот амплитуде, при чём амплитуда у нас не в реальных единицах, а в Децибелах. Величина, выраженная вчисленно равна десятичному логарифму безразмерного отношения физической величины к одноимённой физической величине, принимаемой за исходную, умноженному на десять. В данном случае просто логарифм амплитуды, умноженный на 10. Логарифмический масштаб удобно использовать при работе с сигналами. Мне, честно говоря, не очень нравится анализатор спектра в этой программе, поэтому я решил написать свой с блекджеком и шлюхами, тем более, что это несложно. Пишем свой анализатор спектра Здесь может быть скучно, поэтому можете перейти сразу к следующей главе. Поскольку я прекрасно понимаю, что тут портянки кода размещать нет смысла, те, кому реально интересно — сами найдут и поковыряют, а тем, кому это неинтересно, будут скучать, то я остановлюсь только на основных моментах написания анализатора спектра wav-файла. Во-первых, нам wav-файл необходимо читать. Там необходимо прочитать заголовок, чтобы понять, что содержит данный файл. Я не стал реализовывать море вариантов чтения данного файла, а остановился только на одном. Пример чтения файла был взят практически без изменений, ИМХО — отличный пример. Там же есть реализация на питоне. Следующее, что нам нужно, это быстрое преобразование Фурье. Это то самое преобразование, которое позволяет получить из конечного набора точек вектор а исходных сигналов. Пусть вас пока это не пугает, дальше я объясню. Опять же, велосипед изобретать не стал, а взял готовый пример. Я понимаю, что чтобы объяснить, как работает программа, надо объяснить, что такое быстрое преобразование Фурье, а это как минимум ещё на одну некислую статью. Объясняю нормальным языком: это массив комплексных чисел. Я даже боюсь представить, где используется комплексное преобразование Фурье, но в нашем случае мнимая часть у нас равна нулю, а действительная равна значению каждой точке масива. Ещё одна особенность именно быстрого преобразования Фурье, что оно обсчитывает массивы, кратные только степени двойки. Для тех, кто не знает, что такое комплексное число, поясню. Я не зря начал эту статью с кучи вращающихся векторов и кучи гифок. Так вот, вектор на комплесной плоскости определяется действительной координатой a1 и мнимой координатой a2. Или длиной это у нас амплитуда Am и углом Пси фаза. Первая точка массива соответствует частоте 0 Гц постояннаяпоследняя точка соответствует частоте дискретизации, а именно 44100 Гц. А у нас есть его проекции на действительную и мнимую ось. Окончательная версия программы обитает на гитхабе вот тут: Пробуем! Теперь скармливаем получившейся программе тот звуковой файл синуса. Строим его график с помощью гнуплота Скрипт для построения:! Частота дискретизации у нас 44100, а если вспомнить теорему Котельникова, то частота сигнала не может быть выше половины частоты дискретизации, следовательно сигнал выше 22050 Гц нас не интересует. Почему так, советую прочитать в специальной литературе. Итак барабанная дробьзапускаем скрипт и лицезреем: Спектр нашего сигнала Обратите внимание на резкий пик на частоте 100 Гц. Не забывайте, что по осям — логарифмический масштаб! Шерсть справа, как я думаю, ошибки преобразования Фурье тут на память приходят окна. Давайте поглядим спектры других сигналов! Вокруг шум… Для начала построим спектр шума. Тема про шумы, случайные сигналы и т. Но мы её коснёмся слегка. Поглядим его в audacity. Сигнал в audacity Поглядим спектр в программе audacity. Спектр И поглядим спектр с помощью нашей программы: Наш спектр Хочу обратить внимание на очень интересный факт и особенность шума — он содержит в себе спектры всех гармоник. Как видно из графика, спектр вполне себе ровный. Как правило, используется для частотного анализа пропускной способности, например, аудиоаппаратуры. Существуют и другие виды шумов: розовый, синий и. Домашнее задание — узнать, чем они отличаются. А теперь давайте посмотрим другой интереснейший сигнал — меандр. Я там выше приводил табличку разложений различных сигналов в ряды Фурье, вы поглядите как раскладывается меандр, выпишите на бумажку, и мы продолжим. Смотрите-ка, у нас есть только 1, 3, 5 и т. Мы так и видим, что у нас первая гармоника 25 Гц, следующая третья 75 Гц, затем 125 Гц и т. Теория сошлась с практикой! В реальной жизни сигнал меандра у нас имеет бесконечную сумму гармоник всё более и более высокой частоты, но как правило, реальные электрические цепи не могут пропускать частоты выше какой-то частоты в силу индуктивности и ёмкости дорожек. В результате на экране осциллографа можно часто увидеть вот такой сигнал: Меандр курильщика Эта картинка прям как картинка изгде для примера меандра берутся не все частоты, а только первые. Сумма первых гармоник, и как меняется сигнал Меандр так же активно используется в радиотехнике надо сказать, что — это основа всей цифровой техникии стоит понимать что при длинных цепях его может отфильтровать так, что, родная мама не узнает. Его так же используют для проверки АЧХ различных приборов. Ещё интересный факт, что глушилки телевизоров работали именно по принципу высших гармоник, когда сама микросхема генерировала меандр десятки МГц, а его высшие гармоники могли иметь частоты сотни МГц, как раз на частоте работы телевизора, и высшие гармоники успешно глушили сигнал вещания телевизора. Вообще тема подобных экспериментов бесконечная, и вы можете теперь сами её продолжить. Рекомендации по прочтению Книга Для тех, кто нифига не понял, что мы тут делаем, или наоборот, для тех, кто понял, но хочет разобраться ещё лучше, а так же для студентам, изучающим ЦОС, крайне рекомендую эту книгу. Это ЦОС для чайников, которым является автор данного поста. Там доступным даже для ребёнка языком рассказываются сложнейшие понятия. Заключение В заключении хочу сказать, что математика — царица наук, но без реального применения многие люди теряют к ней интерес. Надеюсь, данный пост подстегнёт вас к изучению такого замечательного предмета, как обработка сигналов, и вообще аналоговой схемотехнике затыкайте уши, чтобы не вытекали мозги! Преобразование Фурье конечной выборки эквивалентно оконному преобразованию с прямоугольным окном. То есть мы взяли бесконечную синусоиду и умножили ее на прямоугольную функцию. Преобразование Фурье произведения равно свертке преобразований каждой. На графике именно она дает такой вклад. А если на пальцах — это из-за не кратных периодов анализируемой функции и гармоник преобразования Фурье. «Шерсть» у автора, видимо, тоже оттуда же, где-то лучше совпадение, где-то не. Вероятно, там для получения спектра используется не просто преобразование Фурье от всего файла, а что-нибудь типа. Грубо говоря, сигнал бьется на куски, от каждого из них вычисляется квадрат модуля от БПФ, полученные результаты усредняются. При таком подходе реально видно, что спектр шума стремится к сплошному, а не гуляет туда-сюда. Я правильно понял, если сложить синусы 25, 75, 125 и так далее до частоты дискретизации, при этом амплитуда обратно пропорциональна частоте, то мы получим на выходе меандр? Для идеального меандра потребуется бесконечность синусоид. А чтобы получить дискретизированный меандр, нужно складывать синусоиды заметно превышающих частоту дискретизации, хотя бы раз в 8. Впрочем, если точно известно, что исходный непрерывный сигнал прямоугольный, то можно восстановить его и по гармоникам с меньшей частотой. Дошел до Меандр курильщика и сразу проскролил ставить плюс :- Вы хорошо пишите, с юмором и. И все-же проскакивают фразочки, которые внезапно заставляют вернуться из мира пушистых математических котиков в суровый реальный мир и напрячь корку, как то: Величина, выраженная в децибелах, численно равна десятичному логарифму безразмерного отношения физической величины к одноимённой физической величине, принимаемой за исходную, умноженному на десять Забавно: И все-же проскакивают фразочки, которые внезапно заставляют вернуться из мира пушистых математических котиков в суровый реальный мир и напрячь корку. И у вас в профиле: Защитил диссертацию в аспирантуре на мат-мехе. Нестыковочка'с : Почему же нестыковочка? Но это не значит, что его читать легче, чем что-то научно-популярное. В той же Википедии ниже идёт объяснение разницы между 10 и 20. В итоге нам без разницы: по мощности ли, по напряжению — децибел он и есть децибел. Видимо децибелы были придуманы для мощностей, а для амплитуд — это уже следствие. Большое спасибо за статью! Буду с радостью ожидать продолжение! Могу порекомендовать для тех, кто больше заинтересовался компьютерной музыкой и её оцифровкой книгу Curtis Roads — The Computer Music Tutorial. В интернете есть в не очень хорошем качестве, но читать можно и. Пусть слово «Tutorial» не вводит в заблуждение — это талмуд размером в 1200 страниц, в котором очень подробно объясняются все алгоритмы генерации, параметры звука, а в конце есть дополнения, в которых подробно рассматривается математическя сторона преобразований Фурье и прочих особенностях цифрового звука. Большое спасибо за статью! Буду с радостью ожидать продолжение! Спасибо за спасибо : А вот продолжения не предвидится. Я надеюсь, что люди сами по теме накопают. Может разве что перевести статью по обработке изображений. Сергиенко, кстати, вполне понятно пишет по обработке сигналов. В данном случае спектрограммы красивее смотрелись бы в линейном масштабе по оси А то в логарифмическом вылезает всякая дрянь. Так это как раз хорошо. Слабые сигналы видны на фоне сильных. И где дрянь — тоже. А спектрограммы часто нужны именно для того, чтобы увидеть, где и сколько дряни имеется. Пост годный, но надо в него добавить как можно больше примеров восхитительной фильтрации! Фильтрация изображений, коммуникационных сигналов, сигналов радаров и т. Так слепой, а так всевидящий! Ну тогда больше развеселых методов частотного анализа, а не только Фурье - Или же по фурье ТОП5 наикрутейших алгоритмов. Тут гораздо интереснее «приземлить» математику на реальную жизнь. Например: говорят, что «тёплый ламповый звук» обусловлен тем, что ламповые усилители вносят искажения в чётных гармониках, в отличие от полупроводниковых, которые гадят на нечётных. Что это значит для художников? Да вот то, что ламповый усилитель «сглаживает» и «скругляет» форму сигнала. А полупроводниковый наоборот, делает её более «угловатой», похожей на меандр. А что то же самое значит для музыкантов? Ещё интересно: на очень высоких нотах сложно различить тембры различных инструментов. А это на самом деле прямое следствие теоремы Котельникова. Тембр — это смесь разных гармоник у подавляющего большинства инструментов наиболее выражен основной тон, т. Если взять на любом инструменте, скажем, «ля» шестой октавы — это частота 14080 герц в первой гармонике. А если возможность человеческого слуха ограничена, скажем 30кГц — это значит, что фактически для звуков с частотой от 15кГц до 30кГц он услышит только первую гармонику. А все остальные, которые как раз и передают тембр, окажутся отрезанными естественным фильтром ВЧ. Мне кажется, что это тянет на отдельный пост. Я даже для вас готов отфотографировать старые книжки по ламповой технике, которые показывают как они искажают звук. Почему-то который раз не раскрывается зачем вообще это все в простым смертным программистам. А смысл довольно прост простите дилетанта если что : Очень много нужных и полезных преобразований сводится к свертке. Грубо говоря для blur-а 3x3 пикселя еще терпимо, а при 100x100 будет уже печально. Чтобы стало побыстрее, используют немного матана: Во-первых свертка преобразованного в фурье фильтра с преобразованным в фурье сигналом — это перемножение каждого с каждым элементов входного массива и фильтра. Это как ручки на эквалайзере примерно — умножаем ручку для определенный частоты, на частоту входа. Скажем blur-у после такого становится все равно какого он радиуса — будет считаться с одинаковой скоростью. Но не все так гладко: фурье-преобразование математически правильно делать только на бесконечном периодическом сигнале. Поэтому сверху надо еще немного матана в виде оконных функций — это уберет всякий совсем уж мусор, но совсем честно оно работать не станет все равно. Совсем честно работать не станет, но вроде как можно его делать сколь угодно точным, чтобы ошибок не было даже во младших битах получаемых данных. Я даже боюсь представить, где используется комплексное преобразование Фурье Странно видеть такую фразу в статье, где в первом предложении фигурирует аббревиатура «ЦОС». Вот в этой самой ЦОС используется, направо и налево, причем как прямое, так и обратное. Почитайте пропро представление сигналов. Как правило, цифровая обработка радиосигнала производится на «нулевой частоте» в квадратурном представлении. Вообще говоря, в общем случае нельзя напрямую брать БПФ случайного сигнала. Согласно для оценки спектральной плотности мощности случайного сигнала, надо взять БПФ от автокорреляционной функции. Или, если избегать наукообразности, просто усреднить пару десятков спектров мощности, посчитанных для кусков сигнала, взятых со сдвигом, равным половине длины куска — если уж ссылаетесь на теорему, которая как раз об. При измерении напряжений и токов для децибелов берут множитель 20, а АЦП и ЦАПы я так понимаю регистрируют напряжение, а не мощность, тут точно должно быть 10? Как мне кажется, каждый для себя сможет найти что-то полезное. Кто-то картинки, кто-то создание звукового файла, а кто-то даже алгоритм преобразования Фурье. Не в обиду — статья действительно хорошая, но иллюстрации в таких статьях обычно не. В большинстве статей о ЦОС или прикладных статьях яркие и нестандартные иллюстрации найти сложно. Мне часто не хватает ярких и понятных иллюстраций для объяснения таких вещей — потому и отмечаю именно это Спасибо за статью, мне тоже нравится эта тема. За примерами применения далеко ходить не надо, это ближе чем. Даже балансировка колёс без этого не обходится Когда-то проходил курс Он скоро опять начнётся, в конце апреля. Мне понравилось то, как они подходят к сути Преобразования Фурье. Не так как сам Фурье, а через линейную алгебру. Мне это здорово сэкономило усилия, т. Эта тема особенная, потому что как только основные вещи становятся понятными, тут же появляется множество вопросов о границах применимости и разных инженерных трюках. Применение этого инструмента сродни маленькой науке внутри науки математики. Только зарегистрированные пользователи могут оставлять комментарии. Пометьте топик понятными вам метками, если хотите Метки лучше разделять запятой.



COPYRIGHT © 2010-2016 dagcsm.ru