Pull to refresh

Comments 83

Ctrl+F «Найквист» — ноль результатов. Что-то тут не так, если вы обсуждаете спектры, получаемые на АЦП, и не говорите про частоту Найквиста.
Найквист ака Котельников, разве нет?
«ака» — не совсем верно
Котельников с Найквистом как Попов с Маркони (а кое где Герц а то и Тесла)
Я применительно к «обсуждению спектров» )
Не совсем.
Наблюдение о необходимости дискретизации с частотой, вдвое превышающей максимальную, сделал Найквист, а вот теоретически обосновал Котельников (и, независимо от него, 16 лет спустя Шеннон).
UFO just landed and posted this here
Кроме Теоремы отсчётов сущесвуют иные применения Фурьеринья — решения дифуров, решение дифуров в частных производных, фильтрование, работа с линейными системами, оптика, кристалография, фильтрование, штуки из Теории Вероятности и связанные с этим, Свёртка и Ша функции. В каждой из этих областей люди делают карьеру.
Напишите, пожалуйста, о вейвлет-преобразовании
Не могу, извините. Этой темой не занимался.
В наших биологических криволинейностях и нелинейных зависимостях за дискретными величинами частенько теряются нужные параметры. Вейвлет решает часть задач анализа непрерывных процессов. Спасибо за ответ!
Вейвлет-преобразования появились сравнительно недавно (по крайней мере относительно классического Фурье-преобразования) и теория их гораздо сложнее. Я бы тоже с удовольствием почитал хороший пост про вейвлеты общего назначения, особенно со ссылками на существующие библиотеки. К сожалению, сейчас подразумевается что вейвлет == анализ и сжатие изображений и только в таком контексте описывается.
Если вас интересует введение, можете попробовать посмотреть здесь.
Анализ и сжатие изображений — лишь один из инструментов общего вейвлет-анализа. Моделирование биологических структур и связанных с ними процессов с помощью преобразования Фурье оказывается слишком огрубленным, «самая жизнь» исчезает. Так что вейвлет интересен, прежде всего, как способ расчёта непрерывной функции. Для многомасштабного моделирования он подходит, как нельзя лучше. Вдруг, как говорится, желание нападет?
Я это и имел ввиду. Когда-то именно биологи поставили передо мной задачу, и я тогда позорно сдался испробовав все известные мне методы (я тогда считал себя крутым специалистом по фурье-анализу).
Сейчас я понимаю что там вейвлеты были бы очень в помощь. К сожалению не знаю ни одной библиотеки общего назначения включающей вейвлет-преобразование, все только про изображения. То же самое с литературой.

Да уж, работы носят преимущественно прикладной характер. С другой стороны очень немного исследователей забирается в дебри биологических симметрий так далеко, но, поскольку без моделей, стремящихся к разрешению «ab initio», биотехнология никуда не сдвинется, то вейвлет, безусловно, достанут, помоют и станут активно применять. Удачи Вам!
Есть еще «модное» преобразование Гильберта-Хуанга. Не знаю, как вы применяете вейвлеты, но если вам нужно вычленить несущие частоты, то HHT (Hilbert Huang Transform) справляется неплохо.
Спасибо! Суть нашего исследования в соотношении метрик анатомической структуры ткани и пороупругих колебаний, развивающихся в них. Это один из ключей к пониманию механизмов наследования. Известно, что и структура и колебания в диапазоне масштаба от молекул до макроорганизма самоподобны, не достаточно изучены параметры этой самоподобности. Есть кое какие подозрения. Метод декомпозиции модов применяется наравне с другими методами частотного анализа в изучении помехоустойчивости генетического кода.
Давайте, я сделаю вид, что понял. Я занимаюсь абсолютно другими приложениями, но тоже сталкиваюсь с «уникальностью» процессов. Для простой классификации использую принцип главных компонент (PCA — principal component analysis) или linear discriminant analysis. Эти методы позволяют проверить уникальность процесса, но не изучить его параметры. Опять же в моих приложениях, параметры (а иногда и природа) проверяются с помощью моделей и коэффициентов подобия, типа коэффициента взаимной информации. Коэффициент подобия рассчитывается между моделью и реальными данными. Не уверен, что вам это поможет, но мало ли.
На особую уникальность мы не претендуем. Работы, изучающие многомасштабную структуру тканей и колебаний различного толка, представлены в достаточном количестве. Алгебраические феномены наследования изучены достаточно подробно. Наша задача прикладная — осуществить сравнение параметров структур, циклических процессов и генетического кода применительно к одному суставу. Вот тут придется приводить имеющийся математический аппарат к единообразию, а как это делать, станет ясно по окончании набора сырых данных в виде пиксельных картинок файлов DICOM. Ваши замечания внимательно изучу, поскольку сопряжение «математики-биологи» выглядит пока весьма гротескно, а это дверь в новую медицину.
Верное замечание. Я писал диплом 11 лет назад, с использованием вейвлет, тогда они были из разряда «модно, молодёжно» (теперь я уже всю тему позабыл, т.к. работаю в другой области). И сейчас я офигеваю каждый раз когда на хабре и гиктайм появляется статья с преобразованием Фурье, где как правило ни слова о новых инструментах анализа (в частности, вейвлетах)
UFO just landed and posted this here
Спасибо, там вообще много чего интересного. Буду не спеша читать.
Вот здесь хорошо описано.
Спектральный анализ на ограниченном интервале времени. Оконные функции

Но, честно говоря, не знаю, как оконные функции использовать в данной ситуации. Можно же просто менять длительность измерения, чтобы укладывалось целое число периодов составляющих сигнала. Зачем оконные функции?
Увы, хорошо оно описано для математика, для человека со стороны есть множество неочевидных моментов. Прочитал, так и не понял что такое окно и на каком этапе преобразования накладывается.

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

А если стоит задача измерить спектральное распределение в шумоподобном сигнале? Где там брать период сигнала?
Оконная функция — некая функция (по ссылке выше они приведены в таблице), на значения которой умножаются значения сигнала. Получившийся результат подвергается Фурье-преобразованию.
Главная особенность этих функций — они плавно уменьшают амплитуду обрабатываемого сигнала в начале и конце до нуля, поэтому краевые эффекты исчезают.

Соответствующая картинка с сайта выше:
image
Чудес не бывает к сожалению. Краевые эффекты не исчезают а уменьшаются, причем за счет размывания основной гармоники. Легко показать что наложение окна на сигнал эквивалентно сверке фурье-образа с образом окна, то есть просто некоторому усреднению.
Не только бытовой сети. Во многих случаях период может быть известен, например тихоходный вал редуктора делает один оборот, и на этом обороте укладывается энное количество оборотов промежуточных звеньев.
Или электродвигатель вращает передаточный механизм с известной скоростью и т.д.
А с какой целью необходимо получить спектральное распределение? Чтобы посмотреть как энергия распределяется по частоте? Так это одна задача. А выделить составляющие сигнала — это другая задача.
У вас отношение периодов синусоид в сигнале равно двум, так что можно подобрать нужную длительность. А вот если бы оно было, например, дробным, то подобрать длительность измерения уже бы не удалось.
Да, это так. Но можно просто увеличить длительность (по возможности), тогда колокольчик станет уже и не будет закрывать соседние мелкие гармоники. А окно запортит и «хорошую» гармонику.
Для примера было бы хорошо заполнить 4.5 секунды не нулями, а сигналом (9 тайлов по 0.5). И посмотреть на спектральную картинку.
Вот, вот…
… а применительно к сигналам из реального мира, само преобразование фурье тривиально, а самые ништяки кроются в особенностях нарезки оных тайлов…

Длительность 4,5 сек


Длительность 1,5 сек


Длительность 11,5 сек

Хм… Интуитивно мне казалось, что амплитуда гармоники 5Гц с увеличением длительности измерения будет стремиться к реальной 0.5 В.
думаю, она стремится по вероятности
По моему мнению для анализа конечного сигнала целесообразно применять разложение в ряд Фурье, а не интеграл Фурье.
«По самому определению дискретного Фурье-преобразования, исходная функция и так предполагается равной
нулю за пределами расчетного интервала». Это для интеграла Фурье.
Для рядов Фурье за пределами интервала измерений исходная функция продлевается периодически, что позволяет найти «неискаженный правильный» спектр, даже если сигнал ограничен.
Собственно пафос данной статьи в этом и заключался ))
Хотя, если в пределах окна уложится целое число периодов сигнала — спектр все равно будет «искаженный»?
1. «Что значит «представить функцию в виде суммы ряда»? Это значит, что, сложив в каждой точке значения гармонических составляющих ряда Фурье, мы получим значение нашей функции в этой точке.»
— не верно Ряд Фурье не сходится поточечно. Здесь более тонкие вещи происходят. (см. эффект Гипса, и определение сходимости функций)

2. «Иногда при работе с рядами Фурье бывает удобнее использовать вместо синусов и косинусов экспоненты мнимого аргумента, то есть использовать преобразование Фурье в комплексной форме. »
— Не иногда, а ВСЕГДА. Очень громоздкая нотация с sin-ми и cos-ми. Вы с этой нотацией далеко не уедете! Преобразование Фурье применяется для очень сложных математических и физических задач. Нечего создавать исскусственную сложность накачивая выражения лишними латинскими буквами.

3. «Преобразование Фурье позволяет представить непрерывную функцию f(x) (сигнал), определенную на отрезке {0, T} в виде суммы бесконечного числа (бесконечного ряда)
тригонометрических функций (синусоид и\или косинусоид) с определёнными амплитудами и фазами, также рассматриваемых на отрезке {0, T}. Такой ряд называется рядом Фурье.»

У вас всё перемешалось в голове или вы описались.
— Преобразование Фурье не определено (в классическом понимании функций) для функции равной константе. Вы не до конца понмиаете ряды Фурье, так что преобразование лучше и не трогайте.
— То что функция определена на периоде [0,T] это не означает, что она периодическая если вы говорите о ряде Фурье.
— Существует ли преобразование Фурье для функции которая определена и непрерывна [0,T] ЗАВИСИТ от поведения на концах этой функции. Для функций некоторых классов это преобразование существует.

Если вы считаете, что вы не описались, тогда — ну не можете Вы комбинирую гармонические функции сложением получить не периодическую функцию.

4. «Преобразование Фурье — операция, сопоставляющая одной функции вещественной переменной другую функцию, также вещественной переменной.»
— Не очень глубокая фраза. И более того, вообще-то преобразование Фурье определено и для функций нескольких аргументов. Это стоит подчеркнуть. Т.к. не все методы обобщаются на R^n (e.g. поиска нуля функции в отрезке [a, b] для f(a)f(b)<0)

Про то что вы писали:
«что математикам бывает удобнее представить спектр в комплексной форме с использованием отрицательных частот не значит, что «так правильно» и «так всегда надо делать.»
— да так надо делать, потому что это единственный способ что-то выводить и писать компактно. Если чувствуете дискомфорт, то вам просто рано трогать эту темы в полной мере. Для математиков ДПФ, Преобр. Фурье, Ряд Фурье — разные вещи для вас — судя по статье одинаковые. Нету никаких математиков! Есть инженеры и всё. Все те люди которые причастны к этому преобразованию Хевисайд, Лауренц Шварц, Фурье — они не только математики.

«ДПФ ограниченного во времени сигнала дает его «настоящий» спектр, в том смысле,...»
— что же такое спектр, и каковы его составляющие вопрос остался открытым…

И на последок от себя:

1. Преобразование Фурье не определено для sin,cos, единицы.

2. Ряд Фурье сходится только для функций которые относятся к класс L2 в смысле что сходится площадь охватываемой изначальной функции и вашим разложением.

Могу посоветовать, не торопится… И когда вы увидите основные Теоремы такие как (Reiz-Fisher Theorem).
Я отдельный тредик создал по поводу этого комментария. Он адресовани не polybook@ а автору статьи изначальной.
1. Ну там же ниже в статье написано, что не поточечно )
2. Это зависит от задачи. С тем же успехом моно сказать, что «не надо забивать себе голову комплексными величинами, когда амплитуды и частоты — реальные»
3.>Если вы считаете, что вы не описались, тогда — ну не можете Вы комбинирую гармонические функции сложением получить не периодическую функцию.
Ну вот из-за подобного я и писал статью. И все равно…
Комбинируя гармонические функции мы получим функцию, совпадающую с нашим измеренным сигналом на отрезке измерения. Это все что надо. А вне этого отрезка функция будет периодически продолжена. Но в нашем конкретном случае это не важно.
И кто тут что не понимает ..))
4. Рассматривалось применение преобразование Фурье в сигналам. Поэтому. А так конечно, математическая теория гораздо шире.
Я в своих ограниченных задачах дискомфорта уже не чувствую. А люди которые, начинают изучать эту тему и у которых в голове смешались ряды Фурье и для периодических функций и преобразование — для непериодических, и много чего еще — конечно чувствуют дискомфорт.
>Преобразование Фурье не определено для sin,cos, единицы.
Ох… Еще раз — пафос статьи был в том, чтобы обратить внимание на ряды Фурье, как способ анализа сигналов.
Зачем сюда притягивать преобразование Фурье? Вот и получается каша ((

Q: Зачем сюда притягивать преобразование Фурье?
A: В статье, как мне показалось очень свободно эти термины меняются местами.

У меня есть вопрос. Т.е. получает так, то что вы предлагаете:

1. Мы берём функцию
2. Умножаем её на прямогольник, который принимает 1 в отрезке [0,T]
3. Периодизруете функцию с шагом T (сворачиваете с Ш шагом в T)
4.a. Делааете разложением в Ряд Фурье.
4.б Умножаете функцию 4.a на коробку с шага 2

И в результате вы получаете, что 4.б есть аппроксимация 2.?
1. Да, тут Вы правы. Надо этот момент в статье отметить отдельно.

По поводу вопроса.
1. Берем непериодическую функцию, определенную на всей оси X, от -беск до +беск.
2. Вырезаем из нее кусок от 0 до Т
3. Разлагаем этот кусок в ряд Фурье — представляем этот кусок в виде суммы ряда Фурье
Да, рядом Фурье будет представлена периодическая(!) ф-ция, представленная повторением вырезанного куска.
4. Если ее рассмотреть только на отрезке 0… Т (умножить на коробку), то, да, 4Б есть аппроксимация 2.
4.
Вы молодец. Всё это прыганье очень похоже в некотором смысле на красивое доказательство красивой Теоремы отсчётов. Правда там рассматривается функция равная нулю не за пространственной области [0,T], а равная нулю за областью в «частотном» пространстве [-p/2, p/2]
Да я-то тут не причем ). Это все прочитано в каком-то учебнике.
Ряд Фурье и преобразование Фурье — это всё-таки одно и то же, если понимать преобразование в смысле обобщённых функций.

За пределами [0,T] можно не «добивать» функцию нулями, а размножить периодически-чётно, и тогда всё хорошо будет, получится дискретный действительнозначный спектр из дельта-функций. А если добивать нулями, то должен получиться гадкий непрерывный, да ещё и с комплексной частью.
>действительнозначный спектр из дельта-функций
Почему из дельта-функций? Просто амплитуды гармоник. Конечные величины.

Потому что $f(x) = \sum{n=-\infty}^{\infty} A(n) e^{2i\pi n x} = \int{-\infty}^{\infty} (\sum_{n=-\infty)^{\infty}\delta( \xi — n)) e^{2i\pi \xi x}d\xi$


Слева у вас стоит ряд Фурье по комплексным экспонентам, а справа — обратное преобразование Фурье по комплексным экспонентам (плюс коэффициент я где-то потерял).


$\delta(\xi — x) = <e^{ix\xi},e^{ix\xi}>$

Функция на картинке «рис.7 Представление непериодической исходной функции рядом Фурье» представляется рядом по формулам 2 или 3.
Приведенная вами формула означает то же самое?

Ну, проинтегрируйте преобразование Фурье, которое у меня справа, то и получите.


Ряд Фурье — это просто частный случай преобразования Фурье, когда функция периодическая и действительнозначная. Тогда преобразование даст гребёнку из дельт, а формула для обратного как раз и даст коэффициенты ряда. А всякие гадкие мнимые части уйдут.

Хорошая и понятная статья, спасибо. Я немного занимался этим, делал сдвиг голоса по частоте. На микроконтроллере. Некоторые моменты оставались туманными. Теперь же стало значительно яснее.
Спасибо, рад, что статья оказалась хоть немного полезной.
А еще можно написать про секвентный анализ и разложение в ряд меандров.
Хармут_Теория секвентного анализа Основы и применения_1980.djvu
Извините, вот это не понял:
«Чтобы увеличить разрешение в 2 раза до 0,5 Гц — надо увеличить длительность измерения в 2 раза — до 2 сек. Сигнал длительностью 10 сек можно разложить на гармонические составляющие (получить спектр) с разрешением по частоте 0,1 Гц. Других способов увеличить разрешение по частоте нет.»

Казалось бы, два Фурье-разложения, полностью сходящихся на интервале, должны сходится всюду? Почему нельзя, достаточно точно измерив сигнал в 1 сек, расширить его на 10 сек?
За одну секунду от составляющей частоты 0.1Гц останется только часть фазы… если мы начнём его расширять на 10сек повторением то это уже будет сигнал с частотой 1Гц и кучей гармоник.
Да, правда. Забыл про то, что у нас фиксирован способ продолжения сигнала. Спасибо!
после оцифровки превращается в сигнал низкой частоты
А какой именно частоты? Правильно ли, что: T_observed = T_sample%T_signal?
10%21=10=-11
10%11=10=-1
10%9=1
график 10%x в wolframalpha
Еще интересно, возникает ли аналогичный эффект, когда сигнал имеет больший период, чем период окна?
Что-то наподобие: T_observed = T_sample%T_signal%T_frame?
И, вообще, должна существовать какая-нибудь алгебра для людей. Например, если freq0 — гармоника frame_rate и субгармоника sample_rate, т.е
frame_rate < freq0 < sample_rate,
где < — отношение делимости,
то разложив размер окна на простые множители, и взяв оригинальные подмножества, получим количество возможных частот без искажений:
window=2*2*2*2*3*5*5*5*11 gives (1+4)*(1+1)*(1+3)*(1+1) frequencies
window=60=2*2*3*5 gives (1+2)*(1+1)*(1+1)*(1+1)=24 frequencies
window=4096=2^12 gives (1+12)=13 frequencies
Не, ну размер окна (длительность измерения сигнала) и sample_rate (частота дискретизации) — это разные вещи с точки зрения получения «правильного спектра». На периоде измерения должно укладываться целое число периодов гармонических составляющих сигнала. Тогда спектр будет представлен отдельными гармониками (см. рис. 2) А некратные составляющие будут размазаны на несколько гармоник в спектре. Размер окна задает шаг гармоник в спектре.
А sample_rate говорит о том, сколько вообще гармоник может быть в спектре, то есть задает их количество.
А разве спектр не размажется, если в периоде сигнала будет укладываться нецелое число отсчетов?
Размажется, но… Некратность получится в пределах одного периода дискретизации, а на практике число отсчетов обычно достаточно велико, поэтому размазывание будет небольшое. Это для первой гармоники.
А для высших гармоник, я так понимаю, играет роль то, что за время измерения уложится много их периодов. Поэтому, хотя на один период ВЧ гармоники придется например 5 точек (некратность может быть в пределах 1\5 периода ВЧ гармоники), но за время измерения произойдет усреднение и размазывание уменьшится. Но это надо смотреть. (Студентам лабораторная работа :-)
А вот с амплитудой все хуже, она сильно уменьшается.
Да, у «фиктивного» будет разностная частота. Если частота дискретизации равна частоте гармонического сигнала, оцифрованный сигнал будет являться постоянной величиной. На каждом периоде выхватывается одна точка. Если частота дискретизации будет в два раза меньше частоты сигнала, то опять же оцифрованный сигнал будет постоянной величиной — выхватывается точка на каждом втором периоде. А если частота дискретизации не кратна периоду сигнала, то начнется «набег фазы». Это как «биения» сигналов близких частот.
1. «Что значит «представить функцию в виде суммы ряда»? Это значит, что, сложив в каждой точке значения гармонических составляющих ряда Фурье, мы получим значение нашей функции в этой точке.»
— не верно Ряд Фурье не сходится поточечно. Здесь более тонкие вещи происходят. (см. эффект Гипса, и определение сходимости функций)

2. «Иногда при работе с рядами Фурье бывает удобнее использовать вместо синусов и косинусов экспоненты мнимого аргумента, то есть использовать преобразование Фурье в комплексной форме. »
— Не иногда, а ВСЕГДА. Очень громоздкая нотация с sin-ми и cos-ми. Вы с этой нотацией далеко не уедете! Преобразование Фурье применяется для очень сложных математических и физических задач. Нечего создавать исскусственную сложность накачивая выражения лишними латинскими буквами.

3. «Преобразование Фурье позволяет представить непрерывную функцию f(x) (сигнал), определенную на отрезке {0, T} в виде суммы бесконечного числа (бесконечного ряда)
тригонометрических функций (синусоид и\или косинусоид) с определёнными амплитудами и фазами, также рассматриваемых на отрезке {0, T}. Такой ряд называется рядом Фурье.»

У вас всё перемешалось в голове или вы описались.
— Преобразование Фурье не определено (в классическом понимании функций) для функции равной константе. Вы не до конца понмиаете ряды Фурье, так что преобразование лучше и не трогайте.
— То что функция определена на периоде [0,T] это не означает, что она периодическая если вы говорите о ряде Фурье.
— Существует ли преобразование Фурье для функции которая определена и непрерывна [0,T] ЗАВИСИТ от поведения на концах этой функции. Для функций некоторых классов это преобразование существует.

Если вы считаете, что вы не описались, тогда — ну не можете Вы комбинирую гармонические функции сложением получить не периодическую функцию.

4. «Преобразование Фурье — операция, сопоставляющая одной функции вещественной переменной другую функцию, также вещественной переменной.»
— Не очень глубокая фраза. И более того, вообще-то преобразование Фурье определено и для функций нескольких аргументов. Это стоит подчеркнуть. Т.к. не все методы обобщаются на R^n (e.g. поиска нуля функции в отрезке [a, b] для f(a)f(b)<0)

Про то что вы писали:
«что математикам бывает удобнее представить спектр в комплексной форме с использованием отрицательных частот не значит, что «так правильно» и «так всегда надо делать.»
— да так надо делать, потому что это единственный способ что-то выводить и писать компактно. Если чувствуете дискомфорт, то вам просто рано трогать эту темы в полной мере. Для математиков ДПФ, Преобр. Фурье, Ряд Фурье — разные вещи для вас — судя по статье одинаковые. Нету никаких математиков! Есть инженеры и всё. Все те люди которые причастны к этому преобразованию Хевисайд, Лауренц Шварц, Фурье — они не только математики.

«ДПФ ограниченного во времени сигнала дает его «настоящий» спектр, в том смысле,...»
— что же такое спектр, и каковы его составляющие вопрос остался открытым…

И на последок от себя:

1. Преобразование Фурье не определено для sin,cos, единицы.

2. Ряд Фурье сходится только для функций которые относятся к класс L2 в смысле что сходится площадь охватываемой изначальной функции и вашим разложением.

Могу посоветовать, не торопится… И когда вы увидите основные Теоремы такие как (Reiz-Fisher Theorem) то уже тогда присутпайте к изучению преобразования Фурье.
Ответил выше. Сорри, что-то пропустил Ваш комментарий раньше.

Преобразование Фурье не определено для sin, cos, единицы

Прекрасно определено и представляет из себя дельта-функции Дирака. Wolfram Alpha в помощь.

Ряд Фурье сходится только для функций которые...

От того, что ряд Фурье не сходится для некоторых функций, он не перестаёт быть рядом Фурье и даже не перестаёт быть однозначно обратимым.

"На рис. 5 красная синусоида высокой частоты" — думаю, здесь по-факту шла речь о рисунке 11 ибо предложение по смыслу и по георафии относится именно к нему :)

Существует ли простой ASIC чип, который с одной стороны получает I2S/PDM интерфейс и аппаратно вычисляет FFT после каждого семпла на линии LR?

То есть вычислять FFT непрерывно в потоковом режиме по скользящему окну.

Чтобы можно было по SPI вычитывать результат работы FFT (массив мощности/ фазы для каждой частоты в спектре входного аудио сигнала).

Скорее всего это какой-то аппаратный аудиокодек с функцией аппаратного FFT. Очень не хотелось бы делать это с нуля на FPGA.

Кто-нибудь сталкивался с подобными микросхемами?

Зачем, какую задачу вы решаете? Скользящее FFT реализуется точно так же, как и скользящее среднее через рекурсивный фильтр, только дополнительно помножается на комплексную синусоиду.

Зачем, какую задачу вы решаете? 

Хочу демодулировать FSK сигнал. И передавать бинарные данные звуком. Обновлять прошивку через микрофон.

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

Если сделать 16 частот, то можно будет передавать log2(16)=4 бита за раз.

Если сделать 32 частоты, то можно будет передавать log2(32)=5 бит за раз.

Если сделать 64 частоты, то можно будет передавать log2(64)=6 бит за раз.

Скорость передачи в любом случае будет ограничена несущей частотой - все эти погони за гигагерцами в сетях WI-FI совсем не случайны. Не получится на частоте в 1Гц передавать данных больше, чем 1 бит в секунду. Близко расположить несущие частоты друг к другу тоже не получится - потому что модуляция расширяет спектр несущей частоты, и чем выше скорость передачи, тем шире полоса. Ну и - при передаче "по воздуху" уровень шума значительно выше, чем по проводам или радиоволнам, прежде всего за счёт акустической реверберации. Фазы будут "уплывать".

таааа ладно? давно уже в эзернет используют 1024 уровневую модуляцию, передавая 10 бит на БОД, конечно же в идеальных условиях. WiFi при этом комбинирует ЧМ и ФМ, получая дополнительные биты на БОД.
Так-то берёте АЦП 4 битное, выдаёте ЦАП-ом на 4 бита напряжение каждую секунду, и получаете скорость передачи 4 бита в секунду, а не ваш 1 максимальный. При этом, конечно в протокол нужно ввести преамбулу, для синхронизации в том числе и по амплитуде.

Что значит "таааа ладно"? Эзернет по проводам передаётся, на чем специально было заострено внимание, и QAM с вариациями - это совсем другие протоколы, чем обсуждаемый здесь FSK.

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

Обычный ШИМ. На 4 или 16 уровней, от помех отстраиваться полюбому придётся за счет алгоритмов коррекции ошибок и избыточности. На радио шума и помех больше, чем на звуковых частотах.

Возможно ли написать на языке программирования Си вычисление быстрого преобразование Фурье FFT без рекурсии и без динамического выделения памяти?

Конечно, основная масса алгоритмов не использут рекурсию, там два вложенных цикла с переменным шагом. Самому алгоритму динамическое выделение памяти тоже не нужно, если вы используюте фиксированный размер массива для преобразования. Рекомендую на эту тему почитать FXT Book, и в ней же про преобразование Хартли.

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

По какой формуле можно вычислить амплитуду для нулевой часты в сигнале?

Нулевая частота это постоянная составляющая. Можно сложить все N отсчетов и поделить на N.
Ну или

Другими словами, периоды гармоник кратны длительности измерения сигнала. Например, период первой гармоники ряда Фурье равен интервалу Т,


Это на самом деле недостаток преобразования Фурье. Частоты гармоник дискретные.

Вот я измерил период солнечного освещения в своей местности.
https://habr.com/ru/articles/687640/

Как известно период сигнала примерно 24 часа.

Однако Земля вращается с непостоянной угловой скоростью. Как мне измерить период фаз освещения с точностью до долей секунд?

Вычисление преобразования Фурье от дневного лога мне тут не поможет.

Так а что хотите от гармоник? Они по определению кратны частоте, от которой являются гармоникой.
Вам не гармоники нужны, а суточная таблица коррекции угловой скорости, тогда что-то можно будет думать.

Sign up to leave a comment.

Articles