Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 06.10.2020
Сообщений: 8
1

Как получить спектральную оценку не хуже 0.01 Гц?

20.06.2021, 06:58. Показов 496. Ответов 6
Метки нет (Все метки)

Может кто сталкивался с похожей задачей?
Сигнал берется с пианино нажатием одной струны, в течении примерно 1-ой секунды.
Далее через микрофон(т.е. сигнал слегка зашумлен) поступает в программу.
Вопрос - можно ли оценить спектр с точностью не хуже 0.01 Гц за время до 0.1-0.2 сек?
Т.е. для оценки первых пяти гармоник нужно уложиться в 1 сек.
Диапазон частот от 100 до 5000 Гц.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2021, 06:58
Ответы с готовыми решениями:

Получить спектральную плотность по автокорреляционнрй функции
Суть задачи такова Дана автокореляционная функция Kx(\tau )=D*{e}^{-\alpha \left|\tau ...

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

Как получить высокую оценку по информатике за семестр
Как получить 5 по информатике за второй семестр?

Выразить спектральную функцию распределения квадрата эрмитового оператора через спектральную функцию распределения его самого
Помогите решить задание по функциональному анализу.

6
2625 / 1894 / 413
Регистрация: 11.09.2009
Сообщений: 7,049
21.06.2021, 21:31 2
Цитата Сообщение от akmvld Посмотреть сообщение
можно ли оценить спектр с точностью не хуже 0.01 Гц за время до 0.1-0.2 сек?
Нет.
1
0 / 0 / 0
Регистрация: 06.10.2020
Сообщений: 8
22.06.2021, 10:18  [ТС] 3
Недавно появилась программа для настройки пианино - "Pianoscope". Автор Frank Illenberger.
И вот что он пишет в форуме pianowordl, отвечая на один из вопросов.


http://forum.pianoworld.com/ub... 668/2.html
"
... pianoscope uses fast Fourier transformation with peak correction with a precision of better than 0.01 cents across the scale and a sophisticated algorithm to gather the partials from the spectrum.
"

0.01c для частоты 440Гц соответствует примерно 0.002Гц.
Причем на съем сигнала каждой ноты он отводит около 1сек.

Сайт автора https://www.pianoscope.app/en
Руководство https://www.pianoscope.app/man... scope.html

Не верить немцу как-то рука не поднимается, а с другой стороны при использовании только FFT такие результаты невозможны.
Видно все дело в "sophisticated algorithm to gather the partials from the spectrum"
0
Модератор
Эксперт по электронике
8429 / 6266 / 844
Регистрация: 14.02.2011
Сообщений: 21,736
22.06.2021, 23:13 4
Цитата Сообщение от akmvld Посмотреть сообщение
0.01c для частоты 440Гц соответствует примерно 0.002Гц.
переведи
440 Гц - 440 колебаний в секунду
за 0.01 сек происходит 4 колебания
что означает 0.002Гц ?
0
2625 / 1894 / 413
Регистрация: 11.09.2009
Сообщений: 7,049
23.06.2021, 02:21 5
Цитата Сообщение от ValeryS Посмотреть сообщение
что означает 0.002Гц ?
Точность измерения частоты спектральной составляющей.

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

На ваш же вопрос был ответ "нет", потому что вы спрашивали
Цитата Сообщение от akmvld Посмотреть сообщение
...для оценки первых пяти гармоник...
то есть про сигнал со сложным спектром.

Если вы хотите повторить прибор для настройки механического фортепиано, то информация об алгоритмах повышения точности измерения частоты синусоидального сигнала не является секретом, описана во многих книгах. Точность измерения значения частоты основной гармоники будет определяться уровнем остальных гармоник в сигнале, параметрами фильтра, убирающего из сигнала лишние гармоники, точностью измерения амплитуды (разрядностью АЦП) и длительностью измерения. Теоретически, такими способами вполне возможно измерение частоты с точностью до долей цента, имея всего четверть периода основной частоты, но практически дешевле каждый час вызывать настройщика, чем купить кварцевый генератор нужной стабильности, и АЦП требуемой точности.
Да и вообще преимущества таких приборов сомнительны... Крутить колки всё равно надо у каждой из двух с половиной сотен струн, после первого прохода изменится общее натяжение деки, настройка уйдёт и потребуется второй проход... А для настройки октав точность нужна ещё выше, чем в вашем ТЗ, так что такой прибор годится разве что для настройки кварто-квинтовой темперации в пределах первой октавы, а остальные всё равно придётся настраивать на слух... Так что если у настройщика нет абсолютного музыкального слуха, никакая электроника ему не поможет.

И вообще про необходимую точность и сложности в настройке:
Настройка фортепиано.
...Пример. Для настройки квинты между тонами ре и ля необходимо контролировать биения между третьей гармоникой ре и второй гармоникой ля....Необходимая частота биений для указанных гармоник, которую надо достичь, равна −1,00 (то есть ровно одно колебание в секунду; знак минус означает требуемое сужение темперированной квинты относительно чистой). Для кварты ре1 — соль1, частота биений (между четвертой гармоникой ре1 и третьей гармоникой соль1) равна +1,33.
Слишком быстрые или, наоборот, слишком медленные биения контролировать трудно. Практика настройки показывает, что точность счета биений удовлетворительна при частоте биений в пределах от одного биения за 10 секунд, до нескольких биений за 1 секунду. Применяются специальные электронные метрономы с индикацией ритма световыми вспышками. С помощью такого метронома можно синхронизировать частоту вспышек с биениями, а затем по шкале метронома, предварительно отградуированной, получить отсчет числа биений в секунду. При известной тренировке и соответствующем опыте настройщики могут контролировать 5, 10 и даже 20 биений в секунду, но в таком случае требуется знать на слух характер их звучания, то есть ту окраску звука, которую придают интервалу соответствующие биения.
0
0 / 0 / 0
Регистрация: 06.10.2020
Сообщений: 8
23.06.2021, 05:25  [ТС] 6
Зная ноту, несложно выделить нужную гармонику в спектре сложного сигнала(полосовым фильтром)
и тем самым перейти к "одночастотному сигналу". Про пять гармоник написал только потому, что для определения затрат по времени нужно суммировать время определения одной гармоники. Спектральная точность при использовании только FFT,
определяется как известно, частотой дискретизации и длиной снимаемого сигнала. По автору pianoscope -
частота дискретизации 44100 и длина сигнала по времени около 1сек. Такие параметры не дают
спектральную точность 0.01Гц. Да, известно много алгоритмов получения спектральной оценки повышенной точности.
Но это в теории. А на практике в реальных условиях точность падает на пару порядков.
0
2625 / 1894 / 413
Регистрация: 11.09.2009
Сообщений: 7,049
23.06.2021, 12:38 7
Цитата Сообщение от akmvld Посмотреть сообщение
несложно выделить нужную гармонику в спектре сложного сигнала(полосовым фильтром)
Сложности есть и тут. Вы забыли время отклика фильтра.

Цитата Сообщение от akmvld Посмотреть сообщение
По автору pianoscope - ...
Попробуйте поискать оценку настройки фортепиано, настроенного по этой методике, данную профессиональным настройщиком или музыкантом.
Не измерение точности настройки отдельной струны, а именно качества звучания настроенного инструмента.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2021, 12:38

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Структура: Получить получить оценку за экзамен...
Сначала вводим фамилию и дату экзамена. Напр., Иванов - 5. Петров - 10. Затем вводим одну...

С Yandex\'ом все хуже и хуже
Портит жизнь нижеописанный феномен. Когда-то давно вывести в Yandex на первые позиции было...

Моему ПК все хуже и хуже
Здравствуйте! Никогда раньше не искал помощи на форумах, но теперь мне явно нужна помощь. Искал...

Как сделать спектральную обработку изображения?
Приветствую всех! возник такой вопрос как это реализовать ?? Суть вопроса "Спектральная...

Как найти спектральную функцию видео импульса?
задали в универе домашнее задание, найти спектральную функцию видеоимпульса S(jw) И ёще что то,...

Получить отчет и оценку по компьютерам!
Уважаемые программисты!Мне задали снять Получить отчет и оценку с 3 компьютеров!Но у меня только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.