Ключевое слово
26 | 04 | 2024
Новости Библиотеки
Шахматы Онлайн
Welcome, Guest
Username: Password: Remember me

TOPIC: Преобразование Фурье - точное определение частоты сигнала и выделение нот

Преобразование Фурье - точное определение частоты сигнала и выделение нот 05 Июнь 2017 05:04 #181

  • Xardas
  • Xardas's Avatar
  • OFFLINE
  • Дьяк
  • Posts: 177
  • Karma: 0
Vladimirovich wrote:
Викторович wrote:
поскольку и ляпа с оцифровкой более чем достаточно....
Сказано двоичная кодировка цифрового сигнала - значит двоичная кодировка цифрового сигнала, а не почти аналоговый сигнал.
Какой такой ляп с оцифровкой? :O
Викторович wrote:
Потому, что я практик. И это моя работа.

Вот первый шаг оцифровки
201705_cypher.png


Затем каждое значение записывается в двоичной системе.
Была бы троичная, если б наши победили (компьютер Сетунь слышали, или дальше паяльника ничего не видите? :glasses: )
Записали бы в троичной

Как видно сигнал ПОЧТИ АНАЛОГОВЫЙ после оцифровки. Не видно?
Что с ним происходит дальше, уже вопрос следующий, WAV ли не WAV, MP3 или РСМ ....
Там начинаются алгоритмы сжатия. И т.д.

Не надо тут понты разводить, хорошо?
Небось уже в эру цифровой записи родились, и не можете помнить, что

Учитесь отделять мух от котлет

Что в нынешний век известно о фотонно-временной и фононно-временной кодировках ?

Преобразование Фурье - точное определение частоты сигнала и выделение нот 11 Июнь 2017 17:09 #182

  • Paumirovith
  • Paumirovith's Avatar
Очень даже многоничего хотя если записывать спектры в вав формате то и не нужно оправдываться за искажения
А если даже орГОНатор оргонной энергии засунуть в лазер то енто новая 2000$ может стать панацея от всех болезний

Учись мирошниченко как надо бизнес лабать на таких как тЫ

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 10:43 #183

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
вот сонограмма матрицы Гаряева

как видно свист это АМ демодуляция ШИМА блока питания
на графике хорошо виден низкочастотный сигнал который идет сразу с фотодиодов без шим модуляции
его и нужно переносить в музыку
только нет звукового редактора который показывает спектр сигнала в виде комплексных чисел и спектр фаз
придется делать программу и использовать алгоритмы БПФ
Last Edit: 17 Июнь 2017 12:02 by hologrammatrix.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 10:45 #184

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
алгоритм быстрого преобразования Фурье, который минимизирует число математических операций, необходимых для его вычисления. Единственное требование алгоритма состоит в том, чтобы число отсчётов было кратно степени двойки (256, 512, 1024 и так далее).

Ниже его классическая рекурсивная реализация на языке C#.
using System;
using System.Numerics;

namespace Rainbow
{
public static class Butterfly
{
public const double SinglePi = Math.PI;
public const double DoublePi = 2*Math.PI;

public static Complex[] DecimationInTime(Complex[] frame, bool direct)
{
if (frame.Length == 1) return frame;
var frameHalfSize = frame.Length » 1; // frame.Length/2
var frameFullSize = frame.Length;

var frameOdd = new Complex[frameHalfSize];
var frameEven = new Complex[frameHalfSize];
for (var i = 0; i < frameHalfSize; i++)
{
var j = i « 1; // i = 2*j;
frameOdd = frame[j + 1];
frameEven = frame[j];
}

var spectrumOdd = DecimationInTime(frameOdd, direct);
var spectrumEven = DecimationInTime(frameEven, direct);

var arg = direct ? -DoublePi/frameFullSize : DoublePi/frameFullSize;
var omegaPowBase = new Complex(Math.Cos(arg), Math.Sin(arg));
var omega = Complex.One;
var spectrum = new Complex[frameFullSize];

for (var j = 0; j < frameHalfSize; j++)
{
spectrum[j] = spectrumEven[j] + omega*spectrumOdd[j];
spectrum[j + frameHalfSize] = spectrumEven[j] - omega*spectrumOdd[j];
omega *= omegaPowBase;
}

return spectrum;
}

public static Complex[] DecimationInFrequency(Complex[] frame, bool direct)
{
if (frame.Length == 1) return frame;
var halfSampleSize = frame.Length » 1; // frame.Length/2
var fullSampleSize = frame.Length;

var arg = direct ? -DoublePi/fullSampleSize : DoublePi/fullSampleSize;
var omegaPowBase = new Complex(Math.Cos(arg), Math.Sin(arg));
var omega = Complex.One;
var spectrum = new Complex[fullSampleSize];

for (var j = 0; j < halfSampleSize; j++)
{
spectrum[j] = frame[j] + frame[j + halfSampleSize];
spectrum[j + halfSampleSize] = omega*(frame[j] - frame[j + halfSampleSize]);
omega *= omegaPowBase;
}

var yTop = new Complex[halfSampleSize];
var yBottom = new Complex[halfSampleSize];
for (var i = 0; i < halfSampleSize; i++)
{
yTop = spectrum;
yBottom = spectrum;
}

yTop = DecimationInFrequency(yTop, direct);
yBottom = DecimationInFrequency(yBottom, direct);
for (var i = 0; i < halfSampleSize; i++)
{
var j = i « 1; // i = 2*j;
spectrum[j] = yTop;
spectrum[j + 1] = yBottom;
}

return spectrum;
}
}
}

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

magnitude = Math.Sqrt(x.Real*x.Real + x.Imaginary*x.Imaginary)
phase = Math.Atan2(x.Imaginary, x.Real)

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

Также существует разновидность алгоритма БПФ без рекурсии по Кули-Тьюки, которая часто применяется на практике, но она чуть более сложна для восприятия.

Сразу после вычисления преобразования Фурье удобно нормализовать амплитудный спектр:

var spectrum = Butterfly.DecimationInTime(frame, true);
for (var i = 0; i < frameSize; i++)
{
spectrum /= frameSize;
}

Это приведёт к тому, что величина значений амплитуды получится одного порядка не зависимо от размеров сэмпла.

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

4. Точное определение частоты

Дискретное преобразование Фурье даёт нам дискретный спектр, где каждое значение амплитуды отстоит от соседних на равные промежутки по частоте. И если частота в сигнале кратна шагу равному (частота дискретизации)/(количество отсчётов), то мы получим выраженный остроконечный пик, но если частота сигнала лежит где-то между границами шага ближе к середине у нас выйдет пик со «срезанной» вершиной и нам будет затруднительно сказать, что же там за частота. Очень может быть что в сигнале присутствуют две частоты лежащие рядом друг с другом. В этом и заключается ограничение разрешения по частоте. Так же как на фотоснимке с низким разрешением мелкие предметы склеиваются и становятся неразличимы, так же и тонкие детали спектра могут теряться.

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

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 10:59 #185

  • nonlocality
  • nonlocality's Avatar
  • OFFLINE
  • Петрович
  • Posts: 7340
  • Thank you received: 20
  • Karma: -15
Можете дать такой же анализ мШЭИ ДНК?

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 11:40 #186

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
включайте программу Cool Edit 2000 или соунд форж и там есть функция сонограммы


говорят что в пакете адобе премьер и в кьюбейсе есть функции где показывают спектр фаз и спектр в виде комплексных чисел

www.drive2.ru/b/1192647/
habrahabr.ru/post/219337/


Так вот, вектор на комплесной плоскости определяется действительной координатой a1 и мнимой координатой a2. Или длиной (это у нас амплитуда Am) и углом Пси (фаза).
Last Edit: 17 Июнь 2017 11:51 by hologrammatrix.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 11:56 #187

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
если сделать спектр матрицы в виде комплексных чисел это будут точки на круге поделенные на 4 сектора
их можно легко перевести в ноты или кодоны днк
например берется круг делится на 12 секторов и в какой сектор попадает комплексное число частоты такой ноте это и отвечает от 1 до 12, а каждая нота отвечает названию кодона и месту его в аминокислоте
таким образом матрицу можно разложить в текстовый файл и прогнать по базе данных днк проверить на совпадение последовательностей

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 12:18 #188

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 35577
  • Thank you received: 757
  • Karma: 56
hologrammatrix wrote:
Ниже его классическая рекурсивная реализация на языке C#.
Для кода имеет смысл обратить внимание на тэг code - кнопочка возле цитирования- он сохраняет отступы в тексте программы и делает текст более читабельным. :beer:
Свободу Джулиану Ассанжу!

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 12:40 #189

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
вы разбираетесь в программах чтобы их читать?
www.programmersclub.ru/БПФ-Практика-использования/

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 12:41 #190

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106862
  • Thank you received: 2079
  • Karma: 105
hologrammatrix wrote:
вы разбираетесь в программах чтобы их читать?
А Вы что, не разбираетесь? :O
Каждому - своё.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 12:53 #191

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
разбираюсь но средне в классах путаюсь

вот программа переводящая матрицы в текстовые файлы днк

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 12:56 #192

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106862
  • Thank you received: 2079
  • Karma: 105
hologrammatrix wrote:
вот программа переводящая матрицы в текстовые файлы днк
Это не программа. Это какая то приблуда тулзовая.
Каждому - своё.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:01 #193

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
не понял что за тузловая

Last Edit: 17 Июнь 2017 13:03 by hologrammatrix.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:18 #194

  • limarodessa
  • limarodessa's Avatar
  • OFFLINE
  • Доцент
  • Posts: 16793
  • Thank you received: 79
  • Karma: -22
Так я не понял - когда состоится первая прямая межконтинентальная спутниковая трансляция МШЭи-спектра кокаина с плантаций в Колумбии ?
Last Edit: 17 Июнь 2017 13:19 by limarodessa.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:21 #195

  • nonlocality
  • nonlocality's Avatar
  • OFFLINE
  • Петрович
  • Posts: 7340
  • Thank you received: 20
  • Karma: -15
hologrammatrix wrote:
если сделать спектр матрицы в виде комплексных чисел это будут точки на круге поделенные на 4 сектора
их можно легко перевести в ноты или кодоны днк
например берется круг делится на 12 секторов и в какой сектор попадает комплексное число частоты такой ноте это и отвечает от 1 до 12, а каждая нота отвечает названию кодона и месту его в аминокислоте
таким образом матрицу можно разложить в текстовый файл и прогнать по базе данных днк проверить на совпадение последовательностей

Препарат ДНК, при получении мШЭИ ДНК, считывается ЛГН-303 целиком, а не по отдельным нуклеотидам, растянутым в одну цепочку. В частности, поэтому мы не использовали препараты высокополимерной тотальной ДНК. Там хаос фрагментов ДНК разной длины. Брали кроткие отрезки одной длины, например, 547 пар нуклеотидов известной плазмиды. Но и в таких препаратах расположение отрезков хаотично, они не выстраиваются в одну цепочку. И тем не менее мШЭИ таких отрезков ДНК, введенное в воду даёт точные копии вещественных отрезков ДНК в ПЦР системе. Это тоже пока не объяснимо. Как необъяснимо каким образом вообще ДНК записана в мШЭИ. Это, наверное, главная задача.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:24 #196

  • nonlocality
  • nonlocality's Avatar
  • OFFLINE
  • Петрович
  • Posts: 7340
  • Thank you received: 20
  • Karma: -15
limarodessa wrote:
Так я не понял - когда состоится первая прямая межконтинентальная спутниковая трансляция МШЭи-спектра кокаина с плантаций в Колумбии ?
После успеха такой трансляции, траслирующим конец. :lol:
Last Edit: 17 Июнь 2017 13:31 by nonlocality.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:25 #197

nonlocality wrote:
необъяснимо каким образом вообще ДНК записана в мШЭИ.
Да не расстраивайтесь вы так, Пётр Петрович! :beer: Вы же такой выдумщик, что нибудь придумаете!

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:30 #198

  • nonlocality
  • nonlocality's Avatar
  • OFFLINE
  • Петрович
  • Posts: 7340
  • Thank you received: 20
  • Karma: -15
hologrammatrix wrote:
разбираюсь но средне в классах путаюсь
Чтобы не путаться в классах кодонов см. molbiol.ru/forums/index.php?showtopic=57...1671481#entry1671481
пост 460

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:37 #199

И кстати: конкуренты оборзели без меры: vrtest.kiev.ua/pribory-imedis/#
Одна из старейших фирм «Штауфен Фарма» начала выпускать электронные гомеопатические препараты на компакт-дисках.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:42 #200

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106862
  • Thank you received: 2079
  • Karma: 105
hologrammatrix wrote:
не понял что за тузловая
Не тузловая, а тулзовая :figa:

На первой диаграмме не программа, а какая то бня
На второй действительно нечто на Delphi в варианте для лохов. Полный примитив
Каждому - своё.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:44 #201

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
Так я не понял - когда состоится первая прямая межконтинентальная спутниковая трансляция МШЭи-спектра кокаина с плантаций в Колумбии ?

как только агент с Бразилии закинет туда квантово запутанный чип и откроется временно пространственный туннель через который будет все телепортироватся.
Препарат ДНК, при получении мШЭИ ДНК, считывается ЛГН-303 целиком, а не по отдельным нуклеотидам, растянутым в одну цепочку. В частности, поэтому мы не использовали препараты высокополимерной тотальной ДНК. Т

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

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:46 #202

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
Вы же такой выдумщик, что нибудь придумаете!

как вариант выдумки кодирование цепочек фазой различных поляризаций мод

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:52 #203

  • nonlocality
  • nonlocality's Avatar
  • OFFLINE
  • Петрович
  • Posts: 7340
  • Thank you received: 20
  • Karma: -15
hologrammatrix wrote:
биолог сказал что вы использовали немытые пробирки
а что там считывается или нет я сам увижу когда внесу текстовые файлы в поле поиска генома человека
Мало-ли что "биолог" скажет. Для таких существуют положительные, отрицательные и иные контроли, которые у нас безупречны. Протокол экспериментов выкладывал.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:55 #204

  • nonlocality
  • nonlocality's Avatar
  • OFFLINE
  • Петрович
  • Posts: 7340
  • Thank you received: 20
  • Karma: -15
hologrammatrix wrote:
биолог сказал что вы использовали немытые пробирки
а что там считывается или нет я сам увижу когда внесу текстовые файлы в поле поиска генома человека
Только тогда увидишь, когда будут соответствующие контроли, а не грязные лапки человека, далекого от биохимии.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 13:58 #205

  • limarodessa
  • limarodessa's Avatar
  • OFFLINE
  • Доцент
  • Posts: 16793
  • Thank you received: 79
  • Karma: -22
Викторович wrote:
И кстати: конкуренты оборзели без меры:

Одна из старейших фирм «Штауфен Фарма» начала выпускать электронные гомеопатические препараты на компакт-дисках.

Попухли злобники ? :unsure:

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 14:04 #206

  • Хайдук
  • Хайдук's Avatar
  • OFFLINE
  • Наместник
  • Posts: 49379
  • Thank you received: 130
  • Karma: 16
nonlocality wrote:
необъяснимо каким образом вообще ДНК записана в мШЭИ
потому что ... НЕ записана, ясен пень, как с чёрной кошкой в тёмной комнате, которой (кошки) нет :flag:
Last Edit: 17 Июнь 2017 14:05 by Хайдук.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 14:21 #207

  • hologrammatrix
  • hologrammatrix's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 673
  • Thank you received: 4
  • Karma: 1
Только тогда увидишь, когда будут соответствующие контроли, а не грязные лапки человека, далекого от биохимии.

это институт биологии клетки далек от биохимии

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 15:41 #208

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 35577
  • Thank you received: 757
  • Karma: 56
hologrammatrix wrote:
вы разбираетесь в программах чтобы их читать?
www.programmersclub.ru/БПФ-Практика-использования/
Учитывая, что 20 лет зарабатываю на жизнь разработкой программ, думаю, что немножко разбираюсь.
Свободу Джулиану Ассанжу!

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 15:46 #209

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 35577
  • Thank you received: 757
  • Karma: 56
Vladimirovich wrote:
На первой диаграмме не программа, а какая то бня
На второй действительно нечто на Delphi в варианте для лохов. Полный примитив
Это главная форма какой-то проги и скриншот среды разработки с ней же на delphi7. Было бы наверное интересней ее код поглядеть вместо скриншотов.

Кстати я слышал, что delphi7 до сих пор популярен в научных кругах. Вне науки его мало кто использует, т.к. он не работает на операционках после Win XP.
Свободу Джулиану Ассанжу!
Last Edit: 17 Июнь 2017 15:52 by Ruslan73.

Преобразование Фурье - точное определение частоты сигнала и выделение нот 17 Июнь 2017 16:42 #210

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 35577
  • Thank you received: 757
  • Karma: 56
Если хочется писать именно на объектном паскале, стоит посмотреть в сторону www.lazarus-ide.org . Он бесплатен, кроссплатформен и работает под свежими операционками, может импортировать дельфийский код. Есть неплохой обучающий курс www.intuit.ru/studies/courses/13745/1221/lecture/23276
Свободу Джулиану Ассанжу!
Рейтинг@Mail.ru

Научно-шахматный клуб КвантоФорум