_pv 52 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 36 minutes ago, _sda said: На свежую голову посмотрел ваши графики, вроде всё понятно. Один вопрос - на четвёртом графике истиный максимум находится на бине 1092,5 и соответствующая ему фаза равна 60 градусов. На первом графике у вас синус с нулевой начальной фазой. Отчего возникает такая разница? Вроде же фаза на максимуме должна быть равна нулю. А как можно интерполировать фазу если её значения от бина к бину пляшут на 180 градусов? там частота на первом графике какая попало и фаза совсем не 0. я и спрашивал что за сигнал и что именно вы с ним сделали что фаза так скачет. и почему вообще график выглядит как меандр? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 38 минут назад, _pv сказал: там частота на первом графике какая попало и фаза совсем не 0. я и спрашивал что за сигнал и что именно вы с ним сделали что фаза так скачет. и почему вообще график выглядит как меандр? Виноват, это мой косяк, исправляю. sin_fft_phase.m Если stairs заменить на plot то будет такая картинка, но суть остаётся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 1 hour ago, _sda said: И не зависит от положения максимума между бинами? Зависит, ессно. Фаза зависит от положения максимума между бинами, от временного сдвига радиоимпульса в окне БПФ и от длительности радиоимпульса. А более ни от чего не зависит.. )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 18 минут назад, blackfin сказал: Зависит, ессно. Фаза зависит от положения максимума между бинами, от временного сдвига радиоимпульса в окне БПФ и от длительности радиоимпульса. А более ни от чего не зависит.. )) Это я отвечал Петрову на фразу: Цитата Просто прибавляется соответствующая номеру фильтра фазовая константа после angle. Я так понял что он рассматривал БПФ как группу из N фильтров. Посмотрите,плз, личку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 4 hours ago, _sda said: А как можно интерполировать фазу если её значения от бина к бину пляшут на 180 градусов? максимум между 1092 и 1093 отсчётами, фаза между ними вроде линейна, на других частотах дальше от максимума пусть пляшет как хочет, вам же фаза на этой определённой частоте ~1092.5 нужна. если максимум посередине, то "промазав" на пол отсчёта влево/вправо по частоте (взяв ближайшего соседа), по фазе +-90 градусов и ошибки и получите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 3 минуты назад, _pv сказал: если максимум посередине, то "промазав" на пол отсчёта влево/вправо по частоте (взяв ближайшего соседа), по фазе +-90 градусов ошибки и получите. Т.е. эта ошибка неустранимая? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rudy_b 1 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба Может я чего-то не понимаю, но ваши рассуждения кажутся мне странными. Не существует такого понятия как фаза сигнала, есть только разность фаз, например фазовый сдвиг между излучаемым и принимаемым сигналом, а, именно, бесконечно длительным синусом фиксированной частоты. В вашем случае (не синус) правильно использовать не фазу, а временной сдвиг между передаваемым и принимаемым сигналом, или между двумя принимаемыми разными приемниками сигналами. Это связано с тем, что если использовать понятие разности фаз между передаваемым и принимаемым сигналом, то она будет зависеть от частоты (в пределах спектра сигнала) и для каждой частоты будет свой фазовый сдвиг (расстояние деленное на длину волны). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 20 минут назад, rudy_b сказал: Не существует такого понятия как фаза сигнала, есть только разность фаз, например фазовый сдвиг между излучаемым и принимаемым сигналом, а, именно, бесконечно длительным синусом фиксированной частоты. Такое понятие как фаза принимаемого сигнала относительно старта набора данных для БПФ вас устраивает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rudy_b 1 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба Нет. Время вашего старта и ваша частота оцифровки произвольны по отношению к сигналу и его частотному спектру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 13 минут назад, rudy_b сказал: Нет. Время вашего старта и ваша частота оцифровки произвольны по отношению к сигналу и его частотному спектру. Произвольны они в общем случае. А в моём конкретном случае входной сигнал синхронизирован с стартом набора данных с точностью до фазы. Вот эту самую фазу мне и нужно измерять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 1 hour ago, _sda said: Т.е. эта ошибка неустранимая? надо измерить длину 1м, а нормальной линейки нет, есть две кривые, одна c см делениями на 1% длиннее, другая с делениями на 1% короче, прикладываете вы их поочереди к измеряемому метру и одна показывает 99см, а другая 101см. ошибка в принципе устранимая, но вы при измерении не глядя, случайно выбираете линейку из этих двух и смотрите только на ёё показание и удивляетесь, а почему это оно на +-1см скачет от измерения к измерению. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 17 hours ago, _pv said: максимум между 1092 и 1093 отсчётами, фаза между ними вроде линейна, на других частотах дальше от максимума пусть пляшет как хочет, вам же фаза на этой определённой частоте ~1092.5 нужна. Глупости. )) Вспоминаем свойства преобразования Фурье: Запаздывание То есть, сдвиг радиоимпульса на время "a" приводит к сдвигу фазы спектральной компоненты с частотой "ω" на величину "ωa". Поэтому даже если фаза между 1092 и 1093 отсчётами линейна, всегда можно подобрать такую величину сдвига входного сигнала по времени, что для этого сдвинутого сигнала фаза на этой определённой частоте ~1092.5 будет иметь скачок на 360°. То же самое, очевидно, будет происходить и в случае дискретного преобразования Фурье.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба 39 минут назад, _pv сказал: надо измерить длину 1м, а нормальной линейки нет, есть две кривые, одна c см делениями на 1% длиннее, другая с делениями на 1% короче, прикладываете вы их поочереди к измеряемому метру и одна показывает 99см, а другая 101см. ошибка в принципе устранимая, но вы при измерении не глядя, случайно выбираете линейку из этих двух и смотрите только на ёё показание и удивляетесь, а почему это оно на +-1см скачет от измерения к измерению. У-у-у-у, как всё запущено. Я уже сегодня измеряю фазу с точностью +- 0,2 градуса. Остался ещё один маленький дефект, но думаю что завтра добью. Так что не всё так мрачно как вы описали... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 6 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба _sda https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=23652&page=13&tab=comments#comment-1755048 Посмотрите как фазовая синхронизация в модельке сделана, гармоника выделяется банком фильтров на основе скользящего ДПФ, после вычисления угла прибавляется константа в зависимости от номера максимального фильтра, при переходе от фильтра к фильтру созвездие не скачет, уберёте прибавление, будет поворачиваться скачками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TSW1400EVM 0 28 мая, 2021 Опубликовано 28 мая, 2021 · Жалоба Есть красивое применение метода наименьших квадратов для выделения фазы сигнала в выборке: Предположим, что опорное и принятое колебания описываются некоторой синусоидой на частоте ω и начальными фазами φ: S1=Sin(ω t+φ1); S2=Sin(ω t+φ2). В такой форме метод наименьших квадратов неприменим для поиска фаз φ1 и φ2. Представим синусоиды с некоторыми начальными фазами как сумму синуса и косинуса с нулевыми начальными фазами, но разными амплитудами: S1=A1Sin(ω t)+B1Cos(ω t); S2=A2Sin(ω t)+B2Cos(ω t). В такой форме коэффициенты (A1, B1) и (A2, B2) однозначно задают сигналы S1 и S2. Начальные фазы каждого из сигналов выделяются при помощи следующей формулы: φ1=Arctg(-A1/B1)+(1-Sgn[A1])π/2; φ2=Arctg(-A2/B2)+(1-Sgn[A2])π/2. После выделения начальных фаз обоих сигналов, находится их разность. В конкретно вашем случае опорное колебание можете выбрать самостоятельно. Если вы хотите повысить точность и правильно подобрать частоту опорного колебания я бы вам посоветовал прочитать заметку Преобразование Фурье в действии: точное определение частоты сигнала и выделение нот / Хабр (habr.com). Также, для решения вашей задачи можно применить схему цифрового квадратурного детектора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться