|
9 / 1 / 1
Регистрация: 27.11.2015
Сообщений: 51
|
|
Определение частоты квазипериодического сигнала30.11.2015, 12:13. Показов 8986. Ответов 98
Метки нет (Все метки)
Здравствуйте, уважаемые форумчане.
Необходимо экспертное мнение касательно следующей задачи: есть сигнал (задан дискретно, весь сигнал в файле data.txt, первый столбец "тики"*), он квазипериодический, т.е. частота сигнала меняется во времени (примем freq(t) = p0 + p1*t). Эту частоту, а точнее закон по которому она меняется необходимо определить. Что было сделано: 1. Сигнал делился на куски, "живой" пример Рис. 1; 2. К данному куску сигнала применялось окно Блэкмана-Наталла, Рис. 2; 3. После применения оконной функции производилось БПФ - Рис. 3 - маркером отмечен максимум, с которым в последствии и работаем, ось Y - дБ; 4. Произведено фитирование параболой полученного максимума, Рис. 4, ось Y - дБ; 5. После получения коэффициентов параболы, вычисляется положение центра и откладывается на отдельном графике, далее линейный фит, Рис. 5; *Оси - X представлены в виде безразмерных "тиков", каждый по 10 нс. Что хотелось бы услышать: Я не являюсь специалистом в области гармонического анализа, поэтому мне нужен совет: улучшение имеющегося алгоритма или вариант применения любого другого. Заранее спасибо!
0
|
|
| 30.11.2015, 12:13 | |
|
Ответы с готовыми решениями:
98
Определение частоты сигнала Различие частоты сигнала и частоты его АКФ Извлечение сигнала заданной частоты из более сложного сигнала |
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 01.02.2016, 13:01 | |
|
Ещё один вариант: рассматривать не сам сигнал, а его гармоники. Если изменение частоты присутствует в исходном сигнале, то будет присутствовать и его гармониках, но df/dt будет гораздо больше.
К сожалению на 64k выборок - у меня проблема с выводом результатов. Я Surfer8 использую... 10-15 мин прорисовка картинки занимает
0
|
|
|
9 / 1 / 1
Регистрация: 27.11.2015
Сообщений: 51
|
|
| 01.02.2016, 16:27 [ТС] | |
|
Я прошу прощения за редкие ответы на возникающие вопросы.
Каждый отсчет соответствует 10 нс. Я постараюсь предоставить файл в 2 раза больше (~128к точек), но это предел. Чтобы не быть голословным, выкладываю результат о котором уже упоминал, в отличие от алгоритма, описанного в первом сообщении данной темы, в этом варианте использовался Quinn's estimator (the second estimator) вместо параболы.
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 01.02.2016, 19:07 | |
|
128к файл не нужен, долго очень придётся считать
![]() Вот не понятно, а что по оси Х отложено на левой картинке? Давайте, еще раз разберёмся... Модулирована (ЛЧМ) оказалась частота 1 МГц, как я понял из картинок. А это не высокочастотка между импульсами! Между импульсами - 15 МГц! А 1 Мгц соответствуют периоду между импульсами (1-2 и 2-3) где 1-самый "высокий" импульс. Я "вручную" прикинул - у меня получилось 1030927Гц в конце и 1086956Гц в начале .... Т.е. наклон совсем в другую сторону...
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 02.02.2016, 02:01 | |
|
...и ещё по выбору целевой частоты. Почему именно 1 МГц?
То что это максимум в спектре - это не совсем логичный критерий. Почему бы не взять локальный максимум (сигнал с частотой 15 МГц)? Поясню свою мысль - эту частоту можно эффективно отфильтровать полосовым фильтром. Чем выше частота, тем точнее её можно вычислить за фиксированное время. Потом выделенную частоту 15 МГц можно коррелировать с ЛЧМ с параметром р0... Правда это долго... Можно, как в вашем методе попытаться - оконное Фурье с уточнением частоты.
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 02.02.2016, 09:23 | |
|
Частоту уточнил 18.753 МГц
Вот понаблюдал за ней - у меня она не ЛЧМ!
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 02.02.2016, 10:09 | |
|
Вот картинка в увеличенном масштабе:
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 02.02.2016, 11:15 | |
|
Убрал логарифмирование амплитуды
Нам же "артефакты" не надо разглядывать...
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
||||||
| 02.02.2016, 11:30 | ||||||
|
Параметры расчёта, пока не забыл
:Данные из файла "data.txt" 64k Центральная частота окна:
0
|
||||||
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 02.02.2016, 11:54 | |
|
Наблюдаем за 2 гармоникой...
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 02.02.2016, 15:19 | |
|
Вернёмся к частоте 1 МГц.
Интересно, а эта частота линейно модулирована... Надо посмотреть 14-ю гармонику. (Там вроде пик на FFT) О, как интересно! Линейная часть - это явно 14 гармоника, а остальной Х - это что???
0
|
|
|
9 / 1 / 1
Регистрация: 27.11.2015
Сообщений: 51
|
||
| 02.02.2016, 16:28 [ТС] | ||
|
Ухх! Не спешите, пож-ста. Я не успеваю за Вами.
Хотелось бы получить тоже самое, но для начала с ЛЧМ сигналом мне нужно разобраться.
2. У меня ЛЧМ 100 - 800 Гц, но FFT дает результат только до 600 Гц. Брал формулу отсюда https://en.wikipedia.org/wiki/Chirp - Рис. 2. Куда подевались 200 Гц? 3. Конечный результат вот такой, учел Ваши замечания: оси поменял местами, отображаю ln(magnitude) - Рис. 3. Смущает размазывание в начале и в конце. P.S. Линейная зависимость частоты от времени была взята в качестве предположения. И полученный результат не является конечным и возможно ошибочен!
0
|
||
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
||||||
| 02.02.2016, 17:14 | ||||||
|
1. Со сглаживанием что-то не так, судя по спектру....
Спектр с нормальным сглаживанием не имеет таких выбросов на вершине. Окно на 100 мс уже должно выходить на 1 и оставаться 1 до времени Т-100мс, и далее плавно спадать! 2. чтобы 100-800 получить формула должна быть sin{2*Pi*(100t+700/(2T)*t^2)}, где Т- длительность 700 - это Конечная частота- Начальная 3. "Размазывание" - это однозначно из-за неправильного сглаживания. Добавлено через 6 минут ЛЧМ со сглаживанием f0 -начальная частота (100),df -приращение частоты (700),T00 - длительность, Tcon время сглаживания (0.1 сек)
P.S. NN,Fd, X(i) - глобальные (число точек, частота дискретизации, рабочий массив)
1
|
||||||
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 02.02.2016, 17:40 | |
|
Вот такое окно должно быть в начале. Аналогично спадающее в конце.
1
|
|
|
9 / 1 / 1
Регистрация: 27.11.2015
Сообщений: 51
|
|
| 03.02.2016, 10:03 [ТС] | |
|
Сглаживание на Рис.1, зеленая кривулина сглаживает красную кривулину до 0.1, сглаженная кривулина изображена синим, в конце аналогично, но зеркально.
Результирующая "сигара" на Рис.2. Мой вопрос насчет частоты разрешился благодаря Вам очень просто - я элементарно забыл про начальную фазу - голова садовая.
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 03.02.2016, 10:20 | |
|
Ну, по крайней мере теперь видно, что это 100-800 Гц
![]() Всплеск почему-то виден на 0.1 и 0.9.... Амплитуда в логарифмическом масштабе? Попробуй без логарифма - основной сигнал будет лучше видно, а гармоник на сигнале нет пока... Кстати, получить гармоники просто - ограничь свой сигнал сверху по уровню 0.9 - появятся и чётные и нечётные гармоники. Потом с параметром dff можно "поиграть" для получения максимального разрешения.
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 03.02.2016, 10:23 | |
|
P.S. И цветовой масштаб можно изменить...
0
|
|
|
9 / 1 / 1
Регистрация: 27.11.2015
Сообщений: 51
|
||
| 03.02.2016, 11:52 [ТС] | ||
0
|
||
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 03.02.2016, 12:04 | |
|
Те выборки, которые > 0.9 приравнять 0.9.
0
|
|
|
9 / 1 / 1
Регистрация: 27.11.2015
Сообщений: 51
|
|
| 04.02.2016, 10:29 [ТС] | |
|
Попытки вменяемую шкалу градиента цвета сделать пока не увенчались успехом.
Сигнал ограничил до 0.9 - Рис.1, результат в этом случае Рис.2.
0
|
|
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 625
|
|
| 04.02.2016, 11:01 | |
|
Вот я вижу, что логарифмирования уже нет. А зря! Т.к. гармоники имеют очень низкую амплитуду, и их без логарифмирования просто не разглядеть! Обычно берут 20*log10(cdabs(FX(i)), чтобы в дБ получать значения.
cdabs - модуль комплексного числа. log10 - десятичный логарифм. При таком несимметричном ограничении конечно же появится постоянная составляющая (частота 0 Гц) Поэтому лучше картинку смотреть с 50 Гц. Можно конечно сделать симметричное ограничение (-0.9), но тогда в сигнале будут присутствовать только нечётные гармоники (3,5,7...) Добавлено через 6 минут P.S. какой-то паразитный выброс разглядел на Т=0.1 - что-то ещё не так со сглаживанием!
1
|
|
| 04.02.2016, 11:01 | |
|
Измерение частоты сигнала
Сдвиг частоты в FFT для сигнала QPSK-4 Датчик пропуска импульсов сигнала переменной частоты БПФ бинарного сигнала, поиск частоты и фазы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|