|
Вычислить разницу фазы. |
|
|
|
Jan 7 2017, 03:36
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Дано. Сигнал и его копия, копия задержана 0.1 сек и пришла другим путем. Источник 455 кГц, монохроматичен и стабилен. Fd 10 msps, 8 bit. Пик фактор сигнала <5. Доплера пока нет в принятых. Нужно найти сдвиг фазы поточнее. Сейчас делаю что, просто тупо два Фурье от обоих, смотрю дельту angle на заданном "бине". Вроде получается но есть вопросы. Разрешение по времени значительно выше чем по Найквисту, получаю несколько бинов со значительной амлитудой. Что с ними делать? Может оконная ф-ция навроде хамминга нужна? Но для фазы. Второе - в половине случаев фурье дает угол меньше на 2пи, приходится прибавлять, чядн? unwrap как то совсем ни к месту, тупо if завел. Ну и есть способы лучше? Может xcorr? Сорри я нуб. .. Наверное надо сделать опорный синус и посчитать интеграл от угла с квадратурой опорной.. только не совсем понимаю как
|
|
|
|
|
Jan 7 2017, 10:42
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Цитата(_pv @ Jan 7 2017, 12:52)  просто корреляция для нескольких значений сдвига между двумя сигналами может оказаться быстрее даже чем FFT. а потом какую-нибудь параболу наименьшими квадратами на результат натянуть, чтобы положение максимума найти. да это все замечательно, это будет следующее. Мне сейчас надо вообще как можно качественнее сдвиг этот найти, оптимизации все пока что побоку. Я просто не уверен что делаю все правильно через DFT. Тут эффекты от кратности длины выборки и частоты семплирования вылезают забавные. В общем я похоже просто пока путаюсь при переходе от FTк DFT. Попробую нулей что ли добить. Цитата(_pv @ Jan 7 2017, 12:52)  просто корреляция для нескольких значений сдвига между двумя сигналами может оказаться быстрее даже чем FFT. а потом какую-нибудь параболу наименьшими квадратами на результат натянуть, чтобы положение максимума найти. Так это же можно автокорреляцию сделать. Но я кажется понял, что и в том и другом случае мне надо увеличивать разрешение по частоте, просто "увеличив"выборку добавив нули Вроде как-то так получилось
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 7 2017, 19:43
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(DASM @ Jan 7 2017, 22:16)  У меня не два разных сигнала, а один, пришедший разными путям и, причем его задержка мне известна, я же его и излучаю. Мне неизвестна разность фаз. Вроде бы, уже решали эту задачу: Измерение фазового сдвига Sin..Если сигналов два, вероятно, нужно будет вычислить фазу дважды, для обоих сигналов относительно опорных sin и cos. Искомая фаза будет равна разности измеренных фаз.. ИМХО..
|
|
|
|
|
Jan 7 2017, 21:10
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Цитата(blackfin @ Jan 7 2017, 22:43)  Вроде бы, уже решали эту задачу: Измерение фазового сдвига Sin..Если сигналов два, вероятно, нужно будет вычислить фазу дважды, для обоих сигналов относительно опорных sin и cos. Искомая фаза будет равна разности измеренных фаз.. ИМХО.. Ну так Фурье оно и есть, только оно по всему спектру. Это и сделал и это уже работает. Удручен дрейфом фазы гетеродина, хоть и кварцеванного. Буду думать. Задержка известна примерно, там один и тотже сигнал переключается с фиксированной частотой на две антенны. А на приемной имеем.. ну поняли ? Это я прошелся уже скользящим Фурье по всей большой выборке с перекрывающимся окошком. Видно как плывет фаза  У меня три периода, 1-ый работает одна антенна, второй - вторая, третий - молчание в эфире. Вот и видно их и шум между ними некоррелированный. Везде фаза сравнивается по одной частотной полоске из разложения Фурье и везде сравнение с самым первым "окном" в графике, то есть это long term drift. Код приводить не буду он ужасен. Но в принципе все работает
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 9 2017, 04:47
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Цитата(Artem_Petrik @ Jan 8 2017, 17:28)  Посчитать свертку сигналов друг с другом (ака ВКФ), и найти ближайший максимум - его положение = задержка, если надо, из нее фазу уже вычислить Все немного не так оказалось. У меня по сути своей BPSK, очень низкоскоростной, порядка 50 Гц ключевание на 90 гр. Пока что считаю Фурье по "окнам", которые скользят по сигналу. Проблемы в неопределенности частоты реальной, точно ее можно определить только на бесконечном промежутке времени  Цель конечная на самом деле не получение информации от манипуляции, а вычисление сдвига фазы между битами с максимальной точностью. Как бы по Фурье все работает, ищу максимумы амплитуды и на этой частоте фазу. Но сигнал шум не совсем хорошо исходный, около 0 Дб. Конечно буду улучшать все параметры, но хочется выжать максимум в любом случае. О, вроде же любительская связь есть похожего принципа, надо будет посмотреть
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|