Нежелательные частоты в пилообразном тоне

Поскольку 440 представляет собой ноту ля, тон 55 Гц также представляет ноту ля, поскольку он составляет 1/8 частоты. Однако, когда я генерирую эту ноту в Audacity , я всегда получаю нежелательные частоты в виде небольших пиков ниже основной частоты и всех гармоник.

Вот пример пилообразной волны 55 Гц, сгенерированной с частотой дискретизации 48000 Гц:введите описание изображения здесь

Вы можете ясно видеть эти небольшие пики, начиная с 5 Гц. Что вызывает появление этих нежелательных частот?

Редактировать: я, наконец, понял, что эти «призрачные» частоты на самом деле являются результатом наложения спектров , потому что пилообразная волна не ограничена полосой пропускания ( т. е. не ограничена ее максимальная частота). Гармоники за пределами частоты Найквиста «отражаются» до частот, герцы которых кратны наибольшему общему делителю между основной частотой и частотой дискретизации. В этом случае НОД между 55 и 48000 равен 5, что объясняет псевдонимы, появляющиеся на частотах, кратных 5 Гц. Другим примером может служить тот факт, что пилообразная волна с частотой 43,75 Гц, генерируемая без ограничения полосы частот на частоте 48000 Гц, будет создавать наложения на частотах, кратных 6,25 Гц.

Просто для ясности, вы знаете, что пилообразная волна не является чистым тоном, верно? Только синусоидальные волны являются чистыми тонами, поэтому любая другая функция, даже если она периодическая на частоте 55 Гц, обязательно будет иметь гармонические пики на частотах, кратных 55 Гц. Тем не менее, субгармоники действительно выглядят как артефакт, но трудно диагностировать дальше, чем замечание Шона Э. Лейка о том, что они, вероятно, связаны с оболочкой без дополнительной информации о том, что именно вы делаете.
Будет ли обработка сигналов или, возможно , электротехника лучшим ответом на этот вопрос?
Но обратите внимание на все пики в 5, 10, 15 и т.д. Герц.
Да, именно это и относится к «субгармоникам». Но не ясен вопрос о том, какова роль пилообразной волны, а также ее гармоник. Почему бы не повторить это с синусоидой и не убрать источник шума и путаницы?
Синусоида показывает только 55 герц. Ни одна из этих паразитных субгармонических и внутригармонических(?) частот...
Я использую пилу. Частота 55 Гц, частота дискретизации 48K, продолжительность 8 секунд.
Можете ли вы опубликовать изображение, где метки осей и метки галочек разборчивы, пожалуйста?
Получил новое изображение с сетками.
Просто SWAG, но 55 Гц (и гармоники), смешанный с 60 Гц (50 Гц) сетевым «гулом» (и гармониками), может дать 5 Гц (и гармоники).
Эта ситуация не имеет ничего общего с шумом в сети.
Если ваша «ситуация» полностью относится к цифровой области, то почему бы не заявить об этом? Я заметил некоторую «лень» с вашей стороны, когда дело доходит до предоставления достаточного контекста. Это по дизайну? Каково ваше намерение?
На самом деле, даже если вы думаете, что это цифровая область, в теории @AlfredCentauri может что-то быть. Потому что многие такие программные пакеты производят некоторые из своих сигналов либо из семплированных звуков инструментов, либо с использованием линейного предиктивного кодирования звуков, не созданных в цифровом виде, или других средств, которые могут и действительно кодируют загрязнение в цифровую модель. Sibelius делает это, например. Как изготавливают зубья пилы? Вам нужно описать весь путь обработки сигнала, который приводит к тому, что у вас есть: у вас почти наверняка там происходит какая-то интермодуляция. Фортепианный синтез..
... модели будут создавать интермодуляцию, поскольку они пытаются в цифровом виде смоделировать интермодуляцию, возникающую от реального инструмента (особенно из-за нелинейного отклика металлического каркаса).
Может быть, это связано с тем, что 48000 (частота дискретизации) не делится на 55 (частота пилообразной волны)?
Нет, хотя это хорошее предположение, частота дискретизации не дает суммы и разности. Это могут сделать только нелинейные процессы. Чтобы получить представление о постулируемом вами эффекте, вычислите дискретное преобразование Фурье { е я , ю к } к "=" 0 н и вы увидите его одинокий пик. Если ю гармонически связана с частотой дискретизации, пик состоит из конечного числа ненулевых точек. Если нет, то пик распространяется на все частоты, но это все равно только один пик.
Преобразование «ответа» @Robert Logozar в комментарий: «Спасибо El Ectric за публикацию этого вопроса. Я заметил те же артефакты при создании сигнала SAW в Steinberg WaveLab 6. Не пытаясь предложить правильный ответ сейчас, я хотел бы пригласить людям, заинтересованным в дальнейшем изучении заявленного явления, возможно, даже в своего рода научной статье. (Конечно, хорошее знание DSP приветствуется). Чтобы связаться со мной, пожалуйста, введите мое имя в Google или найдите мой профиль на ResearchGate. RL"

Ответы (3)

Ваша частота дискретизации составляет 48k при 55 Гц, поэтому каждый период составляет 872,73 выборки. Размер вашего БПФ 65536. Он соответствует периоду сигналов 75,093. Алгоритму требуется 75 периодов для построения графика. Это оставляет 0,093 периода между последовательными преобразованиями БПФ. 0,093 периода при 55 Гц соответствует частоте 5,1 Гц, которая соответствует частоте фантома, которую вы видите в пределах погрешности.

Эта частота или ее гармоники не присутствуют в звуке, а являются математической ошибкой, создаваемой размером преобразования БПФ (2^16), не связанным целым числом с количеством отсчетов в периоде сигнала.

Кроме того, по той же логике, призрак 5,1 Гц создает вторичный артефакт на частоте 0,04 Гц, который вы также видите. В частности, 5,1 Гц — это 9350,6 выборок за период при 48k. Размер БПФ 65536 соответствует 7,0087 периодам. 7 периодов отображаются на частоте около 5 Гц, а ошибка периода 0,0087 на частоте 5 Гц создает ореол 0,04 Гц, который вы видите слева. Приблизительно -80 дБ значения малы и зависят от ошибок округления и других ошибок, точности компьютерных часов и других факторов, поэтому фактические значения, которые вы видите, могут немного отличаться.

Расчет показывает, что артефакты должны уменьшиться, если вы уменьшите генерируемую частоту с 55 Гц примерно до 54,93 Гц. В качестве альтернативы вы можете увеличить частоту дискретизации до 48,06k. Однако вы не можете изменить размер БПФ лишь незначительно, потому что он должен быть степенью двойки.

Однако изменение на 54,93 только увеличивает «ужасность» частот. Я думаю, что это потому, что каждый период не является целым числом выборок (и, следовательно, округлением), что приводит к этим призрачным частотам? Всякий раз, когда частота дискретизации является целым числом, кратным частоте тона, «фантомы» отсутствуют. Но всякий раз, когда частота дискретизации не является целым числом, кратным частоте, эти призраки появляются снова.
Так что я был довольно близок. По сути та же идея, только с частотой дискретизации вместо размера БПФ, кратным частоте. Я рад, что ты это понял :)
Итак, все сводится к тому, что «фантомные частоты будут появляться всякий раз, когда (частота)/(частота дискретизации) не является целым числом»? Но этот «треугольник» в левом нижнем углу спектрограммы появляется все время.
@ElEctric Я думаю, мы точно установили, что призрачные артефакты создаются некачественной обработкой сигналов в программном обеспечении. Хорошее программное обеспечение БПФ сначала интерполирует сигнал в 32-битный формат с плавающей запятой, поэтому все артефакты опускаются ниже уровня разрешения. Этот, очевидно, просто использует сэмплы без интерполяции. На самом деле вы ничего не можете сделать с плохим программным обеспечением, кроме как заменить его лучшим. К счастью, сегодня нет недостатка в программных инструментах. Вы можете получить другую программу FFT или просто использовать другую рабочую станцию ​​вместо Audacity.
Это не некачественная обработка сигнала. Я пришел к выводу, что если длина каждого периода не является целым числом отсчетов, фантомные частоты будут появляться при каждом целом кратном GCF частоты тона и частоты дискретизации при больших размерах БПФ. Единственными исключениями являются «квадратные» формы сигналов (все, что следует за собой, инвертируется, а затем все это повторяется, например, прямоугольная или треугольная волна), где фантомы появляются только на нечетных гармониках GCF, и синусоидальная волна (чистая тон), где призраков нет независимо от делимости.
Re: «Вы не можете немного изменить размер БПФ, потому что он должен быть степенью двойки». Поэтому не используйте БПФ. БПФ — это алгоритм вычисления дискретного преобразования Фурье, который требует числа отсчетов, равного степени двойки, но это не единственный алгоритм. Есть по крайней мере еще один , не такой быстрый, как БПФ, но все же достаточно быстрый, чтобы его можно было использовать, который работает для любого произвольного количества выборок.

Я не могу быть уверен, что это создает ваши пики, но любой тон, который начинается и заканчивается, не будет на 100% чистым; чистый тон не имеет ни начала, ни конца. Рассмотрим тон, который начинается с 0 в т "=" 0 , вибрирует на время т , а затем выключается. В виде уравнения это выглядит так:

у ( т ) "=" грех ( 2 π ф т ) Θ ( т т ) Θ ( т ) ,
где Θ ( Икс ) функция Хевисайда (единичный шаг) . Если мы объединим это с е я ю т ( 2 π ) 1 / 2 , мы получаем:
у ~ ( ю ) грех ( 2 π ф т ) Θ ( т т ) Θ ( т ) е я ю т 2 π д т "=" 0 т ( е я 2 π ф т е я 2 π ф т 2 я ) е я ю т 2 π д т "=" 1 2 я 2 π [ е я 2 π ф т + я ю т я ( 2 π ф + ю ) е я 2 π ф т + я ю т я ( 2 π ф + ю ) ] т "=" 0 т "=" 1 2 2 π [ е я [ 2 π ф + ю ] т ( 2 π ф + ю ) е я [ 2 π ф + ю ] т ( 2 π ф + ю ) 1 ( 2 π ф + ю ) + 1 ( 2 π ф + ю ) ]
Если ф т "=" Н является целым числом, то мы можем упростить вышеизложенное до:
у ~ ( ю ) "=" 2 π ф ю 2 ( 2 π ф ) 2 ( е я ю т 1 ) .

Взяв абсолютный квадрат, чтобы получить что-то пропорциональное выходной мощности:

п у ~ * у ~ "=" ( 2 π ф ) 2 π ( ю 2 ( 2 π ф ) 2 ) 2 ( 1 потому что ( т ю ) ) .

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

Редактировать: я не заметил, что вы говорили о пилообразной волне. Как заметил @EmilioPisanty, зубья пилы — это не синусоидальные волны. Зуб пилы отвечает за доминирующие гармоники в правой части графика. Отбросьте их (чтобы получить чистую синусоиду), и вы получите что-то, что имеет правдоподобную форму Лоренца в квадрате . Кроме того, нежелательные гармоники не начинаются 5 Гц , обратите внимание на край фиолетового лепестка в конце графика. Бьюсь об заклад, первая доля рядом 0 Гц , точно так же, как и следовало бы ожидать, если бы у вас не было целого числа длин волн в вашей волновой форме. 0 Гц представляет собой чистое постоянное смещение сигнала, и такого рода дисбаланс происходит, когда вы не проводите одинаковое время выше и ниже равновесия.

Редактировать: Вдохновленный комментарием @WetSavannaAnimalakaRodVance, я решил написать свой собственный тон-генератор. Пилообразная волна, которую я сгенерировал с помощью Golang, записал в текст и импортировал в Audancity, дает тот же спектр. Как и спектр, сгенерированный Audacity, 5 Гц пик исчезает, когда параметр «Размер» уменьшается до 16384 или ниже. Я думаю, что здесь происходит дополнительное управление окнами, вызванное тем, как генерируется спектр :

Plot Spectrum берет аудио в блоках выборок «Размер», выполняет БПФ и усредняет все блоки вместе.

Окно при генерации спектра, по-видимому, в первую очередь влияет на своего рода минимальный уровень шума, так что это просто маскирует пик. Я не знаю деталей того, что происходит, но есть намек на сравнение прямоугольной волны с «прямоугольной волной, без алиасинга». Судя по увеличенному варианту, где хорошо виден звон, волна "без алиасинга" генерируется с помощью суммы синусоид, в отличие от простого математического алгоритма с резкими срезами.

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

Частота дискретизации OP на уровне 48 кГц мне кажется слишком высокой для появления артефактов дискретизации в этом диапазоне, и это тот же самый цифровой компьютер, подающий сигнал самому себе, поэтому никаких артефактов АЦП быть не может. Но, тем не менее, может быть, есть шум от конечной точности, как «эффективный» эффект АЦП? Если это так, OP, вероятно, может диагностировать это, используя более высокий битрейт.
Обратите внимание, что все пики кратны 5. Может ли это быть связано с тем, что 48000 не делится на 55?
@ElEctric Как долго образец использовался для создания графика?
@Шон Э. Лейк: 8 секунд.
@ElEctric вы пробовали 4 секунды и 16, чтобы увидеть, как это повлияло на вещи?
То же самое. Спектрограмма не изменилась.
С использованием ю и ф в том же уравнении выглядит действительно странно. Я бы рекомендовал выбрать либо угловую, либо нормальную частоту, а затем различить исходную частоту и частоту преобразования Фурье с помощью чего-то вроде ю источник или используя Ом и ю .
@ElEctric Попробуйте поиграть с частотой дискретизации («скорость проекта» в левом нижнем углу) и размером окна («Размер» в инструменте построения спектра). Вы увидите, что они каким-то образом связаны с теми. Вероятно, частота биений среди сигнала, частота дискретизации и размер окна анализа.
Здесь не слышны удары.
@ElEctric Вы понимаете, что тона, о которых вы беспокоитесь, больше, чем 55 дБ с вершины, да? Это более чем в 300 000 раз тише пика. Под «частотой биений» я подразумеваю разницу между частотами, присущими этим процессам. Посмотрите, что происходит, когда вы устанавливаете частоту дискретизации на 352 , 800 Гц , например. На вашем месте я бы экспортировал звуковой файл, а затем БПФ в Octave или Matlab, чтобы получить более точную картину.
Но в этом и смысл не устанавливать такую ​​высокую частоту дискретизации. Это должно показать, как эффект усиливается при низких соотношениях (частота дискретизации)/(частота).
Я не думаю, что это работает как полное объяснение (хотя это определенно правдоподобная линия рассуждений, чтобы попытаться найти объяснение, и ваши экспериментальные предложения хороши): вы описываете спектральную утечку из-за окна; обычно это выглядит как уширение пиков, а то, что мы видим здесь, больше похоже на AM-модуляцию пилообразных основных и высших гармоник. Я предполагаю, что здесь может быть интермодуляция с чем-то еще: возможно, с линейной частотой 50 Гц или 60 Гц. Вы получите суммы и разности с интервалами 5 Гц, как показано: тогда ваш анализ объясняет, почему эти ..
... пики суммы и разности широкие.
@WetSavannaAnimalakaRodVance Ни единого шанса. Это сигнал, созданный в цифровом виде, а затем подвергнутый цифровому анализу в том же программном обеспечении, которое его сгенерировало.
Вы абсолютно в этом уверены (т.е. знаете ли вы конкретно Audacity)? Потому что многие такие программные пакеты производят некоторые из своих сигналов либо из семплированных звуков инструментов, либо с использованием линейного предиктивного кодирования звуков, не созданных в цифровом виде, или других средств, которые могут и действительно кодируют загрязнение в цифровую модель. Sibelius делает это, например. Если вы посмотрите на вертикальную ось, эти артефакты действительно очень обманчивы.
Пилообразный тон не начинается и не прекращается. Однако @Safesphere прибил ответ на этот вопрос. Когда вы вычисляете ДПФ 65536 отсчетов, вы анализируете периодическую функцию, которая дает бесконечное число повторений этих точных 65536 отсчетов. Но в этом случае это не та функция, которую ОП хотел проанализировать, потому что функция, которую ОП хотела проанализировать, не вписывается точно в такое количество выборок. Функция, которую фактически проанализировал OP, была почти пилообразной с частотой 55 Гц, но с небольшим сбоем в ней каждые 1,365 секунды.
PS. Целью применения оконной функции перед вычислением ДПФ является попытка уменьшить видимость тех артефактов, которые создаются, когда сигнал либо не является периодическим, либо содержит частоты, которые не являются точными кратными с а м п л е р а т е / ж я н д о ж С я г е .

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

Обратите внимание, что OP жалуется не на содержание гармоник (при 110 Гц, 165 Гц и т. д.), а вместо этого на содержание субгармоник, которое не является частью ожидаемого пилообразного сигнала. Точно так же это похоже на программное обеспечение Audacity, подающее цифровой сигнал непосредственно на собственный анализатор, поэтому ни артефакты ЦАП, ни АЦП не применимы напрямую.