matro 0 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба Надо выделить главную гармонику. В интернете мало информации (или я не правильно ищу). Как я понял надо в каждом окне (как в спектрограмме) искать максимальную частоту. Можете подсказать, где прочитать про это, или рассказать алгоритм выделения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба 13 минут назад, matro сказал: Надо выделить главную гармонику. В интернете мало информации (или я не правильно ищу). Как я понял надо в каждом окне (как в спектрограмме) искать максимальную частоту. Можете подсказать, где прочитать про это, или рассказать алгоритм выделения. Строите амплитудный спектр сигнала, перебираете составляющие спектра и ищете самую большую по амплитуде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
matro 0 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба 2 minutes ago, Lmx2315 said: Строите амплитудный спектр сигнала, перебираете составляющие спектра и ищете самую большую из них. Можете, пожалуйста, немного поподробнее рассказать. Каким образом выделить все оставшиеся гармоники? Надо рассматривать локальные максимумы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба 17 минут назад, matro сказал: Можете, пожалуйста, немного поподробнее рассказать. 1.Записываете блок отсчётов с ацп размером с тот БПФ который вы будете использовать для получения спектра, его размерность зависит от желаемого разрешения по частоте. 2.Умножаете записанный блок отсчётов на выбранное вам окно (от типа окна зависит разрешение по частоте, нужно выбрать окно через компромисс между шириной основного лепестка и динамический диапазоном до боковых лепестков) 3.Делаете БПФ 4.Строите амплитудный спектр через вычисление модуля комплексных отсчётов полученных после БПФ и записываете полученный массив гармоник в память. 5.Перебираете массив гармоник в поиске наибольшей гармоники из всех. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
matro 0 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба 19 minutes ago, Lmx2315 said: Строите амплитудный спектр сигнала, перебираете составляющие спектра и ищете самую большую по амплитуде. Извините что так много вопросов. Каким образом выделяются остальные гармоники? Надо рассматривать локальные максимумы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба 1 минуту назад, matro сказал: Извините что так много вопросов. Каким образом выделяются остальные гармоники? Надо рассматривать локальные максимумы? Я описал способ как найти гармонику с максимальной амплитудой, по моей логике - гармоника с максимальной амплитудой и есть главная гармоника. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
matro 0 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба 1 minute ago, Lmx2315 said: Я описал способ как найти гармонику с максимальной амплитудой, по моей логике - гармоника с максимальной амплитудой и есть главная гармоника. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavia 0 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба 8 minutes ago, matro said: Надо рассматривать локальные максимумы? Глобальная. Только перед БПФ нужно вычесть постоянную составляющую: считаем среднее по окну и вычитаем из всех отсчётов. И усреднить шумы перед поиском максимума. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба Если разрешения БПФ по частоте достаточно, то можно не вычитать предварительно постоянную составляющую, а рассматривать результат БПФ начиная с определенной частоты (определяется шириной окна). Для поиска остальных гармоник (если нужны именно гармоники, а не провсо высокочастотные составляющие спектра), нужно рассматривать амплитуды в точках, кратных основной частоте. Там еще есть тонкости, связанные с окном - будут не точки, а области, ширина которых (по спектру) определяется окном. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gridinp 2 22 июня, 2021 Опубликовано 22 июня, 2021 (изменено) · Жалоба Вы что делаете? Если измеритель КНИ, то желательно выбирать частоту чтобы в кол-во отсчётов БПФ укладывалось целое число периодов, тогда не нужно будет окон. Например для АЦП 1 КГц можно взять частоту 31.25 Гц. Изменено 22 июня, 2021 пользователем gridinp Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
matro 0 23 июня, 2021 Опубликовано 23 июня, 2021 · Жалоба 21 hours ago, Pavia said: Глобальная. Только перед БПФ нужно вычесть постоянную составляющую: считаем среднее по окну и вычитаем из всех отсчётов. И усреднить шумы перед поиском максимума. Какое среднее надо посчитать? Среднее по входному сигналу в каждом окне? И что значит усреднить шумы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 23 июня, 2021 Опубликовано 23 июня, 2021 · Жалоба 40 минут назад, matro сказал: Какое среднее надо посчитать? Среднее по входному сигналу в каждом окне? И что значит усреднить шумы? Среднее считается по входному блоку данных, до наложения окна и до обработки БПФ. Все отсчёты суммируются и сумма делится на количество отсчётов, результат этой операции вычитается из каждого отсчёта входного блока данных. Усреднить шумы БПФ - это значит обработать (наложить окно, рассчитать БПФ, посчитать амплитудный спектр) несколько блоков входных данных. Затем необходимо произвести усреднение значения по каждому выходному бину блока данных, усреднение проводить по одному и тому же бину данных между всеми обработанными блоками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
matro 0 23 июня, 2021 Опубликовано 23 июня, 2021 · Жалоба 10 minutes ago, Lmx2315 said: Среднее считается по входному блоку данных, до наложения окна и до обработки БПФ. Все отсчёты суммируются и сумма делится на количество отсчётов, результат этой операции вычитается из каждого отсчёта входного блока данных. Усреднить шумы БПФ - это значит обработать (наложить окно, рассчитать БПФ, посчитать амплитудный спектр) несколько блоков входных данных. Затем необходимо произвести усреднение значения по каждому выходному бину блока данных, усреднение проводить по одному и тому же бину данных между всеми обработанными блоками. выходному бину блока данных - это значения модулей после БПФ? Не понятно, что значит усреднение проводить по одному и тому же бину данных между всеми обработанными блоками. Можете, пожалуйста, рассказать подробнее? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 23 июня, 2021 Опубликовано 23 июня, 2021 · Жалоба 21 минуту назад, matro сказал: выходному бину блока данных - это значения модулей после БПФ? Не понятно, что значит усреднение проводить по одному и тому же бину данных между всеми обработанными блоками. Можете, пожалуйста, рассказать подробнее? К примеру, у вас БПФ размерностью 128 отсчётов. И вы хотите произвести усреднение по 10 блокам. Обрабатываете 10 таких блоков по 128 отсчётов и запоминаете их, затем суммируете все одни и те же отсчёты десяти блоков между собой и делите каждую сумму на 10. Получаете новый, усреднённый блок из 128 отсчётов - его используете для дальнейшей работы. (тут БПФ = 4096, усреднение 10) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться