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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Как сделать digital down conversion I/Q сигнала ?
Михаил_K
сообщение Sep 25 2013, 10:59
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(KalashKS @ Sep 24 2013, 14:37) *
Это еще более частный случай. С уже примененным скользящим средним на 4 отсчета и прореживанием в 4 раза. sm.gif

Забыли, что помимо этого, и того что центральная частота равна Fs/4, так еще и перед АЦП фильтр ПОЛОСОВОЙ должен быть, чтобы после прореживания фигню не получить.
Очень такой частный случай получается. В жизни вот только не бывает таких....
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Sep 25 2013, 11:19
Сообщение #17


Местный
***

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



Цитата(Михаил_K @ Sep 25 2013, 14:59) *
Забыли, что помимо этого, и того что центральная частота равна Fs/4, так еще и перед АЦП фильтр ПОЛОСОВОЙ должен быть, чтобы после прореживания фигню не получить.
Очень такой частный случай получается. В жизни вот только не бывает таких....

Можете конкретизировать ожидаемую фигню?
Upd: Хотя, если речь именно про вариант Corner'а, то да, скользящее среднее на 4 отсчета может и не отфильтровать нормально до прореживания.

Сообщение отредактировал KalashKS - Sep 25 2013, 11:36
Go to the top of the page
 
+Quote Post
thermit
сообщение Sep 25 2013, 11:37
Сообщение #18


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
Михаил_K:
Забыли, что помимо этого, и того что центральная частота равна Fs/4, так еще и перед АЦП фильтр ПОЛОСОВОЙ должен быть, чтобы после прореживания фигню не получить.
Очень такой частный случай получается. В жизни вот только не бывает таких....



Фильтр перед ацп должен быть в любом случае вне зависимости от частоты несущей. Другое дело, что пч и частота дискретизации могут быть выбраны так, что при оцифровке пч превратится в fd/4...
Go to the top of the page
 
+Quote Post
Corner
сообщение Sep 28 2013, 09:34
Сообщение #19


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

Группа: Участник
Сообщений: 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
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 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
Сообщение #21


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

Группа: Участник
Сообщений: 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
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 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
Corner
сообщение Oct 8 2013, 16:20
Сообщение #23


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

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



Цитата(KalashKS @ Sep 30 2013, 20:47) *
Ваши 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 дБ вполне себя проявляют. Ну и, как ожидалось, чем ближе к нулевой частоте, тем наложения меньше.
Код простой, буду благодарен, если укажете мне мою ошибку.

Я не собираюсь искать ошибку ибо -70 дБ намерено на живом устройстве методом пропуска поднесущей: убираем одну поднесущую и смотрим уровень помех в ее полосе. Причем эти -70 дБ рождает аналоговый тракт+АЦП.
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Oct 9 2013, 07:52
Сообщение #24


Местный
***

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



Цитата(Corner @ Oct 8 2013, 20:20) *
Я не собираюсь искать ошибку ибо -70 дБ намерено на живом устройстве методом пропуска поднесущей: убираем одну поднесущую и смотрим уровень помех в ее полосе. Причем эти -70 дБ рождает аналоговый тракт+АЦП.

Дело ваше.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th June 2025 - 17:38
Рейтинг@Mail.ru


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