Alexey_pashinov 0 12 мая, 2015 Опубликовано 12 мая, 2015 · Жалоба Здравствуйте! Возникли трудности со следующим вопросом. Иммется антенна доплеровского локатора K-MC4, и для вычисления направления движущегося объекта мне необходимо вычислить разность фаз сигналов I и Q, идущих с антенны. Рассчет делаю в частотной области, пользуясь формулой tg(fi) = Im/Re, т.е. fi = atan2f(Im, Re); разница фаз I и Q в моем случае должна быть 90 градусов, но в результате получаю никак не анализируемые данные. Вопрос можно ли таким образом, переводя в частотную область, правильно высчитать фазу? Где то слышал что так не делают, к тому же stm в arm_math.h для построения АЧХ предоставляется функция magnitude, и она в моем случае правильно вычисляет бин и используя его я вычисляю частоту, а для вычисления фаз такой функции нет. Совпадение ли или таким образом в частотной области действительно фазу не получить? Можете тогда подсказать какие есть методы и что предпочтительней будет в моем случае? (Весь цос реализуется в stm32) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
litv 0 12 мая, 2015 Опубликовано 12 мая, 2015 · Жалоба начинать надо с теории http://cyberleninka.ru/article/n/dvuhkanal...skiy-pelengator http://alnam.ru/book_rts.php?id=85 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_pashinov 0 12 мая, 2015 Опубликовано 12 мая, 2015 · Жалоба Теорию изучаю, почитаю что вы скинули, но хотелось бы побольше конкретики по вопросу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 5 12 мая, 2015 Опубликовано 12 мая, 2015 · Жалоба Фазу вычислить в принципе можно, но есть куча проблем. Самое главное - с какой точностью она Вам нужна. Если с небольшой - то реально. Фаза, если частота не попадает точно в бин, может быть вычислена, зная смещение реальной частоты от ближайшего бина, но там сильная зависимость фазы от частоты. Дальше опять вопросы точности и времени измерений. Опять же, если объект движется, то какое время его скорость постоянна? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_pashinov 0 12 мая, 2015 Опубликовано 12 мая, 2015 · Жалоба На данном этапе точность не столь важна, нужно определить направление движения (к нам/от нас). Это определяет знак разница фаз I и Q (должна быть +90 или -90 градусов). Сейчас читаю про эту кучу проблем, в книге Стивена Смита есть глава "проблемы представления в полярных координатах", там описаны и проблемы и решения. Что касается того, что частота может не попадать точно в бин, я же беру частоту конкретно в бине и фазу вычислить нужно в нем, поэтому надеюсь что не нужно лезть в эту тресину с не попаданием в бин и смещением, тем более этот сдиг не должен быть значительным) Еще у меня КИХ фильтр имеется и как понимаю он тоже фазовый сдвиг дает? (предполагаю что он линейный) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 5 13 мая, 2015 Опубликовано 13 мая, 2015 · Жалоба Дело в том, что Вам не нужна частота в бине - это некая абстакция. Вам нужна частота того синуса, который Вы подали на преобразование Фурье. И там была всего одна частота. И именно ее фаза Вам и нужна. Если посмотреть, какая фаза будет в бинах, то увидите, что она поворачивается примерно на 180 градусов в каждом следующем бине. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_pashinov 0 14 мая, 2015 Опубликовано 14 мая, 2015 · Жалоба Смотрите, чтобы вычислить частоту моего синуса, я как раз вычисляю какой частоте соответствует найденный бин (погрешность может быть примерно в 29 Гц, учитывая что Fs = 60 кГц, N = 2048 отсчетов). Таким образом получаю частоту синуса и теперь нужно найти его фазу. Ищется ли фаза этой частоты в том же бине что и частота, если пока не рассматривать, что частота не попадает в бин, т.е. не кратна Fs/N? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 14 мая, 2015 Опубликовано 14 мая, 2015 · Жалоба Смотрите, чтобы вычислить частоту моего синуса, я как раз вычисляю какой частоте соответствует найденный бин (погрешность может быть примерно в 29 Гц, учитывая что Fs = 60 кГц, N = 2048 отсчетов). Таким образом получаю частоту синуса и теперь нужно найти его фазу. Ищется ли фаза этой частоты в том же бине что и частота, если пока не рассматривать, что частота не попадает в бин, т.е. не кратна Fs/N? А вы посмотрите внимательно как вычисляется один бин DFT, это всего лишь выход полосового FIR фильтра с прямоугольной огибающей импульсной характеристики. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_pashinov 0 14 мая, 2015 Опубликовано 14 мая, 2015 (изменено) · Жалоба Вот результаты ачх и фчх, в бине 150 как раз мой синус и фчх там ведет себя немного не так как в шуме, т.е. остальных бинах. Можно какие то выводы сделать из данной фчх? В предыдущем вычислении фазы не учитывал данные условия if Re < 0 && Im < 0 fi = fi - 180; end if Re < 0 && Im >= 0 fi = fi + 180; end Выкладываю результат учитывая это (но тут кажется совсе ничего не понятно) Изменено 14 мая, 2015 пользователем Alexey_pashinov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 8 14 мая, 2015 Опубликовано 14 мая, 2015 · Жалоба Фаза, если частота не попадает точно в бин, может быть вычислена, зная смещение реальной частоты от ближайшего бина, но там сильная зависимость фазы от частоты Простите убогого, а где почитать про эти бины ? Гугль выдает "мистер Бин", и "Бин-банк" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_pashinov 0 14 мая, 2015 Опубликовано 14 мая, 2015 · Жалоба Когда строится ачх то значениям амлитуд присваивается номер, зная номер можно вычислить как раз и частоту, по формуле f = m*(fs/N) (N -отчеты бпф, m как раз и есть номер бина). Просто, например, Лайонс дает этому определение "бин", поэтому я как то привык его использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 5 14 мая, 2015 Опубликовано 14 мая, 2015 · Жалоба Наверно, не АЧХ и ФЧХ, а амплитудный и фазовый спектры сигнала? АЧХ и ФЧХ бывают у устройства, а не сигнала. А третий график - это Ваш сигнал? Если да, то что он у Вас такой обрезанный? По-другому не бывает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_pashinov 0 14 мая, 2015 Опубликовано 14 мая, 2015 (изменено) · Жалоба Вы правы, я имел ввиду амплитудный спектр. Сейчас есть предположение что считается все верно и проблема в том что ищу разницу между не теми каналами (видимо распиновку надо проверять, походу перепутана нумерация каналов), потому что высчитав фазу между независящими каналами, я получил именно ту фазу которую я вижу на осциллографе, к тому же фаза правильно меняет знак в зависимости от направления движения (вряд ли это совпадение). Завтра буду перепроверять это дело и отпишусь о результатах. Мои предположения оказались верны, в общем данным методом фаза расчитывается верно, спасибо за ответы. Полагаю это хорошо, что таким образом создал себе проблему, зато теперь с пониманием разобрался с фазой, а не просто воспользовался формулой) Изменено 15 мая, 2015 пользователем Alexey_pashinov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 18 мая, 2015 Опубликовано 18 мая, 2015 · Жалоба Вам надо измерять разность фаз между двумя комплексными каналами? Или фазу вектора одного комплексного канала? В первом случае разность фаз иногда измеряют как фазу частного от деления каналов друг на друга, этим избегают особых точек у тангенсов-арктангенсов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_pashinov 0 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба Мне нужна именно разность фаз между двумя каналами, спасибо за подсказку, почитаю об этом методе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться