|
Как сделать digital down conversion I/Q сигнала ? |
|
|
|
Sep 25 2013, 11:19
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(Михаил_K @ Sep 25 2013, 14:59)  Забыли, что помимо этого, и того что центральная частота равна Fs/4, так еще и перед АЦП фильтр ПОЛОСОВОЙ должен быть, чтобы после прореживания фигню не получить. Очень такой частный случай получается. В жизни вот только не бывает таких.... Можете конкретизировать ожидаемую фигню? Upd: Хотя, если речь именно про вариант Corner'а, то да, скользящее среднее на 4 отсчета может и не отфильтровать нормально до прореживания.
Сообщение отредактировал KalashKS - Sep 25 2013, 11:36
|
|
|
|
|
Sep 25 2013, 11:37
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Цитата Михаил_K: Забыли, что помимо этого, и того что центральная частота равна Fs/4, так еще и перед АЦП фильтр ПОЛОСОВОЙ должен быть, чтобы после прореживания фигню не получить. Очень такой частный случай получается. В жизни вот только не бывает таких.... Фильтр перед ацп должен быть в любом случае вне зависимости от частоты несущей. Другое дело, что пч и частота дискретизации могут быть выбраны так, что при оцифровке пч превратится в fd/4...
|
|
|
|
|
Sep 30 2013, 08:25
|
Местный
  
Группа: Участник
Сообщений: 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 дБ).
|
|
|
|
|
Sep 30 2013, 14:56
|

Профессионал
    
Группа: Участник
Сообщений: 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 % - далеко не единицы...
|
|
|
|
|
Sep 30 2013, 16:47
|
Местный
  
Группа: Участник
Сообщений: 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,  ,zeros(256-53,100),x(1:26,  ); %распределение амплитуд по несущим data=ifft(data); data=cat(1,data(end-15:end,  ,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,  ); y=fftshift(y,1); y=y(7:59,  ; %выделение принятых амплитуд plot(-26:26,angle(y(:,1)./x(:,1))) %построение ФЧХ Код генерит OFDM сигнал на несущей 1/4 частоты дискретизации с соотношением параметров, близким к вашему, после чего сбрасывает его в ноль вашим методом. Наложения проявляются в виде рваной ФЧХ полученной системы. Про -4 дБ я, возможно погорячился, а вот указанные -11 дБ вполне себя проявляют. Ну и, как ожидалось, чем ближе к нулевой частоте, тем наложения меньше. Код простой, буду благодарен, если укажете мне мою ошибку.
|
|
|
|
|
Oct 8 2013, 16:20
|

Профессионал
    
Группа: Участник
Сообщений: 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,  ,zeros(256-53,100),x(1:26,  ); %распределение амплитуд по несущим data=ifft(data); data=cat(1,data(end-15:end,  ,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,  ); y=fftshift(y,1); y=y(7:59,  ; %выделение принятых амплитуд plot(-26:26,angle(y(:,1)./x(:,1))) %построение ФЧХ Код генерит OFDM сигнал на несущей 1/4 частоты дискретизации с соотношением параметров, близким к вашему, после чего сбрасывает его в ноль вашим методом. Наложения проявляются в виде рваной ФЧХ полученной системы. Про -4 дБ я, возможно погорячился, а вот указанные -11 дБ вполне себя проявляют. Ну и, как ожидалось, чем ближе к нулевой частоте, тем наложения меньше. Код простой, буду благодарен, если укажете мне мою ошибку. Я не собираюсь искать ошибку ибо -70 дБ намерено на живом устройстве методом пропуска поднесущей: убираем одну поднесущую и смотрим уровень помех в ее полосе. Причем эти -70 дБ рождает аналоговый тракт+АЦП.
|
|
|
|
|
Oct 9 2013, 07:52
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

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