Перейти к содержанию
    

Здравствуйте! Возникли трудности со следующим вопросом.

 

Иммется антенна доплеровского локатора K-MC4, и для вычисления направления движущегося объекта мне необходимо вычислить разность фаз сигналов I и Q, идущих с антенны. Рассчет делаю в частотной области, пользуясь формулой tg(fi) = Im/Re, т.е. fi = atan2f(Im, Re); разница фаз I и Q в моем случае должна быть 90 градусов, но в результате получаю никак не анализируемые данные. Вопрос можно ли таким образом, переводя в частотную область, правильно высчитать фазу? Где то слышал что так не делают, к тому же stm в arm_math.h для построения АЧХ предоставляется функция magnitude, и она в моем случае правильно вычисляет бин и используя его я вычисляю частоту, а для вычисления фаз такой функции нет. Совпадение ли или таким образом в частотной области действительно фазу не получить? Можете тогда подсказать какие есть методы и что предпочтительней будет в моем случае? (Весь цос реализуется в stm32)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теорию изучаю, почитаю что вы скинули, но хотелось бы побольше конкретики по вопросу

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Фазу вычислить в принципе можно, но есть куча проблем. Самое главное - с какой точностью она Вам нужна. Если с небольшой - то реально. Фаза, если частота не попадает точно в бин, может быть вычислена, зная смещение реальной частоты от ближайшего бина, но там сильная зависимость фазы от частоты. Дальше опять вопросы точности и времени измерений. Опять же, если объект движется, то какое время его скорость постоянна?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На данном этапе точность не столь важна, нужно определить направление движения (к нам/от нас). Это определяет знак разница фаз I и Q (должна быть +90 или -90 градусов). Сейчас читаю про эту кучу проблем, в книге Стивена Смита есть глава "проблемы представления в полярных координатах", там описаны и проблемы и решения. Что касается того, что частота может не попадать точно в бин, я же беру частоту конкретно в бине и фазу вычислить нужно в нем, поэтому надеюсь что не нужно лезть в эту тресину с не попаданием в бин и смещением, тем более этот сдиг не должен быть значительным) Еще у меня КИХ фильтр имеется и как понимаю он тоже фазовый сдвиг дает? (предполагаю что он линейный)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дело в том, что Вам не нужна частота в бине - это некая абстакция. Вам нужна частота того синуса, который Вы подали на преобразование Фурье. И там была всего одна частота. И именно ее фаза Вам и нужна. Если посмотреть, какая фаза будет в бинах, то увидите, что она поворачивается примерно на 180 градусов в каждом следующем бине.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотрите, чтобы вычислить частоту моего синуса, я как раз вычисляю какой частоте соответствует найденный бин (погрешность может быть примерно в 29 Гц, учитывая что Fs = 60 кГц, N = 2048 отсчетов). Таким образом получаю частоту синуса и теперь нужно найти его фазу. Ищется ли фаза этой частоты в том же бине что и частота, если пока не рассматривать, что частота не попадает в бин, т.е. не кратна Fs/N?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотрите, чтобы вычислить частоту моего синуса, я как раз вычисляю какой частоте соответствует найденный бин (погрешность может быть примерно в 29 Гц, учитывая что Fs = 60 кГц, N = 2048 отсчетов). Таким образом получаю частоту синуса и теперь нужно найти его фазу. Ищется ли фаза этой частоты в том же бине что и частота, если пока не рассматривать, что частота не попадает в бин, т.е. не кратна Fs/N?

 

А вы посмотрите внимательно как вычисляется один бин DFT, это всего лишь выход полосового FIR фильтра с прямоугольной огибающей импульсной характеристики.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот результаты ачх и фчх, в бине 150 как раз мой синус и фчх там ведет себя немного не так как в шуме, т.е. остальных бинах. Можно какие то выводы сделать из данной фчх?

 

 

В предыдущем вычислении фазы не учитывал данные условия

if Re < 0 && Im < 0

fi = fi - 180;

end

if Re < 0 && Im >= 0

fi = fi + 180;

end

 

Выкладываю результат учитывая это (но тут кажется совсе ничего не понятно)

post-80823-1431592606_thumb.jpg

post-80823-1431592612_thumb.jpg

post-80823-1431592645_thumb.jpg

Изменено пользователем Alexey_pashinov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Фаза, если частота не попадает точно в бин, может быть вычислена, зная смещение реальной частоты от ближайшего бина, но там сильная зависимость фазы от частоты

 

Простите убогого, а где почитать про эти бины ? Гугль выдает "мистер Бин", и "Бин-банк"

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда строится ачх то значениям амлитуд присваивается номер, зная номер можно вычислить как раз и частоту, по формуле f = m*(fs/N) (N -отчеты бпф, m как раз и есть номер бина). Просто, например, Лайонс дает этому определение "бин", поэтому я как то привык его использовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверно, не АЧХ и ФЧХ, а амплитудный и фазовый спектры сигнала? АЧХ и ФЧХ бывают у устройства, а не сигнала.

А третий график - это Ваш сигнал? Если да, то что он у Вас такой обрезанный? По-другому не бывает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы правы, я имел ввиду амплитудный спектр. Сейчас есть предположение что считается все верно и проблема в том что ищу разницу между не теми каналами (видимо распиновку надо проверять, походу перепутана нумерация каналов), потому что высчитав фазу между независящими каналами, я получил именно ту фазу которую я вижу на осциллографе, к тому же фаза правильно меняет знак в зависимости от направления движения (вряд ли это совпадение). Завтра буду перепроверять это дело и отпишусь о результатах.

 

 

Мои предположения оказались верны, в общем данным методом фаза расчитывается верно, спасибо за ответы. Полагаю это хорошо, что таким образом создал себе проблему, зато теперь с пониманием разобрался с фазой, а не просто воспользовался формулой)

Изменено пользователем Alexey_pashinov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам надо измерять разность фаз между двумя комплексными каналами? Или фазу вектора одного комплексного канала?

В первом случае разность фаз иногда измеряют как фазу частного от деления каналов друг на друга, этим избегают особых точек у тангенсов-арктангенсов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне нужна именно разность фаз между двумя каналами, спасибо за подсказку, почитаю об этом методе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...