реклама на сайте
подробности

 
 
> Как сделать digital down conversion I/Q сигнала ?
iradio
сообщение Aug 4 2013, 20:57
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 4-08-13
Пользователь №: 77 795



Имеется I/Q сигнал полученный с SDR приёмника. Нужно получить сдвинутый по частоте I/Q сигнал. Вопрос как это сделать ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Corner
сообщение Sep 28 2013, 09:34
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Если переда АЦП стоит фильтр, ограничивающий полосу до одной зоны Найквиста (не важно какой, лишь бы АЦП адекватно воспринимал такие частоты), то никакой "фигни" не будет. Просто надо перед вычитанием сделать коррекцию sin(x)/x. А то на краях зоны после вычитания сигнал уйдет в 0. Еще надо учесть что в зонах 2, 4... происходит инверсия боковой полосы, а в 1, 3... не происходит. У меня первый смеситель Flo-Frf поэтому я использую 3*Fs/4 середину ПЧ. Два раза инвертируя боковые полосы.
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Sep 30 2013, 08:25
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Цитата(Corner @ Sep 28 2013, 13:34) *
Если переда АЦП стоит фильтр, ограничивающий полосу до одной зоны Найквиста (не важно какой, лишь бы АЦП адекватно воспринимал такие частоты), то никакой "фигни" не будет. Просто надо перед вычитанием сделать коррекцию sin(x)/x. А то на краях зоны после вычитания сигнал уйдет в 0. Еще надо учесть что в зонах 2, 4... происходит инверсия боковой полосы, а в 1, 3... не происходит. У меня первый смеситель Flo-Frf поэтому я использую 3*Fs/4 середину ПЧ. Два раза инвертируя боковые полосы.

У вас после скользящего среднего на 4 отсчета составляющие спектра давятся не более чем на 10 дБ, а наложение после прореживания происходит вообще на уровне -4 дБ. Ваша схема нормально работает только с очень узкополосными сигналами (полоса порядка пары процентов частоты дискретизации и наложения после прореживания не более -25 дБ).
Go to the top of the page
 
+Quote Post
Corner
сообщение Sep 30 2013, 14:56
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Цитата(KalashKS @ Sep 30 2013, 12:25) *
У вас после скользящего среднего на 4 отсчета составляющие спектра давятся не более чем на 10 дБ, а наложение после прореживания происходит вообще на уровне -4 дБ. Ваша схема нормально работает только с очень узкополосными сигналами (полоса порядка пары процентов частоты дискретизации и наложения после прореживания не более -25 дБ).


Нет у меня скользящего среднего. Только прореживание на 4. При Fs=125 МГц ПЧ=93,75 МГц и цифровой полосе 31,25 МГц (аналоговый фильтр режет ~20 МГЦ полосу). Я получаю 4 фазы относительно частоты оцифровки 31,25: 0, 90, 180 и 270. Делаю коррекцию sin(x)/x и вычитаю 0-180 и 90-270.
Получаю I и Q каждое с полосой 0... 15,625 МГц, но использую только 0... 7,8125 МГц. Остальное дорезаю с помощью БИХ. Общая полоса таким образом 15,625 МГц. Изоляция двух несущих OFDM (любых двух в ортогональной сетке) около 70 дБ. Полоса 12,5 % - далеко не единицы...
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Sep 30 2013, 16:47
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Цитата(Corner @ Sep 30 2013, 18:56) *
Нет у меня скользящего среднего. Только прореживание на 4. При Fs=125 МГц ПЧ=93,75 МГц и цифровой полосе 31,25 МГц (аналоговый фильтр режет ~20 МГЦ полосу). Я получаю 4 фазы относительно частоты оцифровки 31,25: 0, 90, 180 и 270. Делаю коррекцию sin(x)/x и вычитаю 0-180 и 90-270.
Получаю I и Q каждое с полосой 0... 15,625 МГц, но использую только 0... 7,8125 МГц. Остальное дорезаю с помощью БИХ. Общая полоса таким образом 15,625 МГц. Изоляция двух несущих OFDM (любых двух в ортогональной сетке) около 70 дБ. Полоса 12,5 % - далеко не единицы...

Ваши 0-180 и 90-270 математически эквивалентны домножению на комплексную экспоненту и последующему скользящему среднему на 4 отсчета.
Набросал тут код в матлабе:
CODE
x=exp(1i*pi*(random('unid',2,53,100)-1));
data=cat(1,x(27:end,sm.gif,zeros(256-53,100),x(1:26,sm.gif); %распределение амплитуд по несущим
data=ifft(data);
data=cat(1,data(end-15:end,sm.gif,data); %защитный интервал
data=reshape(data,1,numel(data)); %реорганизация массива в последовательность отсчетов
data=real(data.*exp(1i*pi/2*(0:length(data)-1))); %перенос на ПЧ
y=data(1:4:end)-data(3:4:end)-1i*(data(2:4:end)-data(4:4:end)); %сброс на нулевую частоту
y=(buffer(y,68)); %разделение на символы
y=fft(y(5:end,sm.gif);
y=fftshift(y,1);
y=y(7:59,sm.gif; %выделение принятых амплитуд
plot(-26:26,angle(y(:,1)./x(:,1))) %построение ФЧХ

Код генерит OFDM сигнал на несущей 1/4 частоты дискретизации с соотношением параметров, близким к вашему, после чего сбрасывает его в ноль вашим методом. Наложения проявляются в виде рваной ФЧХ полученной системы. Про -4 дБ я, возможно погорячился, а вот указанные -11 дБ вполне себя проявляют. Ну и, как ожидалось, чем ближе к нулевой частоте, тем наложения меньше.
Код простой, буду благодарен, если укажете мне мою ошибку.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- iradio   Как сделать digital down conversion I/Q сигнала ?   Aug 4 2013, 20:57
- - Dr.Alex   Очевидно, умножить на комплексную экспоненту.... :...   Aug 4 2013, 21:19
- - BooZe   Если конкретнее, то умножить на сигнал вида cos(2*...   Aug 14 2013, 08:12
- - Corner   Я так понимаю, под I/Q имеются в виду отсчеты АЦП ...   Aug 17 2013, 17:39
|- - Михаил_K   Цитата(Corner @ Aug 17 2013, 21:39) Я так...   Sep 16 2013, 13:25
|- - Corner   Цитата(Михаил_K @ Sep 16 2013, 17:25) Неп...   Sep 18 2013, 17:03
- - Михаил_K   Гхм.... Ну в принципе, если использовать такие отс...   Sep 20 2013, 12:29
|- - Corner   Цитата(Михаил_K @ Sep 20 2013, 16:29) Гхм...   Sep 20 2013, 18:13
|- - Михаил_K   Цитата(Corner @ Sep 20 2013, 22:13) Если ...   Sep 23 2013, 08:33
- - thermit   Если f0=fd/4 вполне можно и 1 ацп обойтись. Для сн...   Sep 23 2013, 10:53
|- - Corner   Цитата(thermit @ Sep 23 2013, 14:53) Если...   Sep 23 2013, 14:58
|- - Михаил_K   Цитата(thermit @ Sep 23 2013, 14:53) Если...   Sep 24 2013, 09:37
|- - KalashKS   Цитата(Михаил_K @ Sep 24 2013, 13:37) Сам...   Sep 24 2013, 10:37
|- - Михаил_K   Цитата(KalashKS @ Sep 24 2013, 14:37) Это...   Sep 25 2013, 10:59
|- - KalashKS   Цитата(Михаил_K @ Sep 25 2013, 14:59) Заб...   Sep 25 2013, 11:19
- - Corner   KalashKS, thermit   Sep 24 2013, 16:21
|- - KalashKS   Цитата(Corner @ Sep 24 2013, 20:21) Kalas...   Sep 25 2013, 07:47
- - thermit   ЦитатаМихаил_K: Забыли, что помимо этого, и того ч...   Sep 25 2013, 11:37
- - Corner   Цитата(KalashKS @ Sep 30 2013, 20:47) Ваш...   Oct 8 2013, 16:20
- - KalashKS   Цитата(Corner @ Oct 8 2013, 20:20) Я не с...   Oct 9 2013, 07:52


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 21:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016