Корректирующий фильтр IQ imbalance
Re: Корректирующий фильтр IQ imbalance
Сейчас переделываю ваш скрипт под свои реалии, что-то не очень получается... -350дБ!!!
Основная цель переделки - перейти к реальным значениям частоты дискретизации и частот пилотов.
Основная цель переделки - перейти к реальным значениям частоты дискретизации и частот пилотов.
Re: Корректирующий фильтр IQ imbalance
Разобрался и с этим. В модели переделанный скрипт ведёт себя адекватно, вопросов больше не возникает. Через пару дней мне обещают захватить реальные пилоты из изделия, попробую откорректировать imbalance реального тракта.
Re: Корректирующий фильтр IQ imbalance
Пока нет файлов с реальными сигналами продолжаю мучить скрипт. Отказался от псевдослучайной ошибки, на мой взгляд такие ошибки далеки от реальности. Амплитудные и фазовые ошибки квадратур формирую с помощью linspace в полосе 0...Fs. И вот что обнаружил: если между квадратурами задать изменение фазы 0...3 градуса, а разброс амплитуд квадратур установить в диапазоне 0...6дБ то почему-то происходит недопустимо большой подъём мощности шума на низких частотах и вблизи частоты Найквиста. На картинках несколько разных ситуаций. Нет ли у вас мыслей по этому поводу?
- Бахурин Сергей
- Администратор
- Сообщения: 1119
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Корректирующий фильтр IQ imbalance
Скрипт приложите я посмотрю. Вообще это возможно ввиду деления спектров и решения задачи перехода из частотной области во временную. Можно попробовать альтернативный подход без деления спектров.
Re: Корректирующий фильтр IQ imbalance
Гляньте, пожалуйста, может я чего накосячил.
Чтобы совпало с моей вчерашней картинкой заремарьте строчку
Чтобы совпало с моей вчерашней картинкой заремарьте строчку
Код: Выделить всё
y = filter(channel, 1, y);
- Вложения
-
- iq_imbalance.rar
- (1.68 КБ) 315 скачиваний
- Бахурин Сергей
- Администратор
- Сообщения: 1119
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Корректирующий фильтр IQ imbalance
Не смог посмотреть не находит функцию
error: 'calc_phase2sin' undefined near line 108, column 108
error: 'calc_phase2sin' undefined near line 108, column 108
Re: Корректирующий фильтр IQ imbalance
Извиняюсь, закомментируйте строки с этой функцией.
Re: Корректирующий фильтр IQ imbalance
Подогнали мне реальные сигналы с генератора захваченные из блока,подаю 31 пилот на частотах кратных бинам БПФ - полёт нормальный. Образы остаются в шумах. Если же подать 2 сигнала не в сетке частот калибровки то образы немного появляются из шума, видимо нужно увеличивать количество пилотов. Хотя в понедельник спрошу у радистов, может и этого хватит. Кстати, не подскажете ли как правильно измерить величину реального разбаланса амплитуд и фаз квадратур в полосе 0...Fs? Просто хочу узнать сколько у меня реального запаса по качеству, если запас достаточный возможно и не нужно будет бороться с подниманием шумовой дорожки.
- Бахурин Сергей
- Администратор
- Сообщения: 1119
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Корректирующий фильтр IQ imbalance
Я бы прогнал одну несущую во всем диапазоне частот. Если зеркально не возникнет имаджа то все ок. Причём его быть не должно и для частот не попадающих на бины fft.
Re: Корректирующий фильтр IQ imbalance
На последней картинке как раз случай когда частоты не попадают в бины(вне сетки частот бинов). Я ещё попробовал вариант когда частоты сигналов равны частотам образов друг друга - полёт нормальный.Бахурин Сергей писал(а): ↑24 апр 2021, 21:36Я бы прогнал одну несущую во всем диапазоне частот. Если зеркально не возникнет имаджа то все ок. Причём его быть не должно и для частот не попадающих на бины fft.
Одну несущую я конечно прогоню, но это я смогу сделать только когда опишу корректор на HDL и встрою в проект FPGA. Тогда можно будет работать в реал-тайме.
А насчёт моего вопроса в предыдущем посте не сможете подсказать?