SDR radio
SDR radio
Привет народ !
Решил я на досуге собрать означенный прибор в связке с небольшой плисиной и потихоньку спрограмить себе приёмничек.
Собсно по теме имею следующий вопрос:
1. правильно ли вообще собрана схема, если нет, то как правильно?
2. правомерно ли соединение точек а и b на схеме, если на них показывает разное напряжение?
Спасибо заранее.
ссылки на даташиты тут:
http://cds.linear.com/docs/en/datasheet/640020f.pdf
http://www.ti.com/lit/ds/symlink/ads4245-ep.pdf
Решил я на досуге собрать означенный прибор в связке с небольшой плисиной и потихоньку спрограмить себе приёмничек.
Собсно по теме имею следующий вопрос:
1. правильно ли вообще собрана схема, если нет, то как правильно?
2. правомерно ли соединение точек а и b на схеме, если на них показывает разное напряжение?
Спасибо заранее.
ссылки на даташиты тут:
http://cds.linear.com/docs/en/datasheet/640020f.pdf
http://www.ti.com/lit/ds/symlink/ads4245-ep.pdf
Re: SDR radio
В общих чертах мой приёмник выглядит примерно вот так:
не нарисован ещё ТФТ дисплей и кнопки-нажималки для переключения всяких режимов, об этом позже.
собственно пока главный вопрос, все эти синусы и косинусы должны быть одной частоты, только сдвинутые на 90 градусов или частоты должны быть разными?
коэфициэнты FIR фильтров выдернуты из даташита на АЦП AD9689 https://www.mouser.com/ds/2/609/AD9689-1149165.pdf
там собственно весь СДР на одном кристалле, но цена капец какая кусачая. Оттуда же и квадратурный смеситель
не нарисован ещё ТФТ дисплей и кнопки-нажималки для переключения всяких режимов, об этом позже.
собственно пока главный вопрос, все эти синусы и косинусы должны быть одной частоты, только сдвинутые на 90 градусов или частоты должны быть разными?
коэфициэнты FIR фильтров выдернуты из даташита на АЦП AD9689 https://www.mouser.com/ds/2/609/AD9689-1149165.pdf
там собственно весь СДР на одном кристалле, но цена капец какая кусачая. Оттуда же и квадратурный смеситель
- Бахурин Сергей
- Администратор
- Сообщения: 1119
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: SDR radio
1) синусы и косинусы должны быть одной частоты
2) По поводу напряжений я не совсем понял вопрос. Если точки a и b замкнуть, то напряжение выровняется. Но его величина видимо будет зависеть от сопротивления VCM и Vocm . Вообще в даташите на LTC640 приводится другой ацп LTC2208, который как раз и выдает VCM 1.25В.
2) По поводу напряжений я не совсем понял вопрос. Если точки a и b замкнуть, то напряжение выровняется. Но его величина видимо будет зависеть от сопротивления VCM и Vocm . Вообще в даташите на LTC640 приводится другой ацп LTC2208, который как раз и выдает VCM 1.25В.
Re: SDR radio
спасибо за ответ, уточненние: синусы и косинусы ВСЕ должны быть одной частоты или для гетеродина одна частота , а для квадратурного смесителя - другая?
- Бахурин Сергей
- Администратор
- Сообщения: 1119
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: SDR radio
где написано на схеме "настройка" частота может быть одной, а на выходе HB1 может быть другой
Re: SDR radio
не знаю, насколько это правильно, но я сделал так:
CIC децимация на 32
далее все остальные ФИРы децимация на 2, соответственно параметры Input Sample rate такие:
3.7775
1.88875
0.944375
0.4721875
0.23609375
0.118046875
то есть самый последний ФИР выдаёт поток 118 кГц, который я уже в квадратурном смесителе обрабатываю.
тогда на этот самый квадратурный смеситель какая должна быть частота синусов косинусов? какая то одна фиксированная или нет? Мне кажется, 2 крутилки настройки частоты не совсем как-то правильно....
CIC децимация на 32
далее все остальные ФИРы децимация на 2, соответственно параметры Input Sample rate такие:
3.7775
1.88875
0.944375
0.4721875
0.23609375
0.118046875
то есть самый последний ФИР выдаёт поток 118 кГц, который я уже в квадратурном смесителе обрабатываю.
тогда на этот самый квадратурный смеситель какая должна быть частота синусов косинусов? какая то одна фиксированная или нет? Мне кажется, 2 крутилки настройки частоты не совсем как-то правильно....

- Бахурин Сергей
- Администратор
- Сообщения: 1119
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: SDR radio
Ну почему же это нормальная практика. Первый смеситель работает на 122 МГц 16 бит nco имеет шаг по частоте 1.86 кГц . А такой же 16 битный nco при Fs=118 кГц имеет шаг 1.8 Гц для точной настройки и демодуляции
Re: SDR radio
а если всё же обходиться одной крутилкой с шагом напр.10Гц, и его же можно напр. кнопками с шагом напр. 1 или 2 кГц гонять,или ещё лучще просто переключать сразу на начало диапазона, что в принципе у меня уже реализовано, то тогда какую частоту подавать на квадратурный смеситель?
- Бахурин Сергей
- Администратор
- Сообщения: 1119
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: SDR radio
Ничего не понял из вашего вопроса
Re: SDR radio
сорри, я тут что то затупил.....
можно я другой вопрос задам, про квадратурный преобразователь. я схему подглядел в одной из ваших статей.
вобщем в коде он у меня так выглядит:
и собственно вопрос, битность сигналов и синусов\косинусов должна быть одинаковой ? какие последствия от того, что битность будет разной?
можно я другой вопрос задам, про квадратурный преобразователь. я схему подглядел в одной из ваших статей.
вобщем в коде он у меня так выглядит:
и собственно вопрос, битность сигналов и синусов\косинусов должна быть одинаковой ? какие последствия от того, что битность будет разной?
Код: Выделить всё
//============================================================================
//ФОРМИРОВАТЕЛЬ АНАЛИТИЧЕСКОГО СИГНАЛА НА ОСНОВЕ КВАДРАТУРНОГО ПРЕОБРАЗОВАТЕЛЯ
//============================================================================
wire signed [23:0]DOut_I;
wire signed [23:0]DOut_Q;
QUADRATUR_MIXER DIGITAL (
.clk(clk),
.DATA_I(fir_data_I[23:0]),
.DATA_Q(fir_data_Q[23:0]),
.cosine(ncos[15:0]),
.sine(ncos[15:0]),
.DATA_I_OUT(DOut_I), //25bit
.DATA_Q_OUT(DOut_Q) //
);
Код: Выделить всё
`timescale 1 ns / 1 ns
//============================================================================
//ФОРМИРОВАТЕЛЬ АНАЛИТИЧЕСКОГО СИГНАЛА НА ОСНОВЕ КВАДРАТУРНОГО ПРЕОБРАЗОВАТЕЛЯ
//============================================================================
module QUADRATUR_MIXER(
input wire clk,
input wire signed [22:0]DATA_I,
input wire signed [22:0]DATA_Q,
input wire signed [22:0]cosine,
input wire signed [22:0]sine,
output wire signed [23:0]DATA_I_OUT,
output wire signed [23:0]DATA_Q_OUT
);
//===================================================================
wire signed [22:0]I_cosine;
Mixer #(.WIDTH(23))mix_cos_I( //I * cos
.clk(clk),
.ADC_Data(DATA_I[22:0]),
.DDS_Data(cosine[22:0]), // input signed [WIDTH-1:0]
.OUT_Mixer(I_cosine[22:0]) // output [19:0]
);
wire signed [22:0]Q_sine;
Mixer #(.WIDTH(23))mix_sin_Q(// Q * sin
.clk(clk),
.ADC_Data(DATA_Q[22:0]),
.DDS_Data(sine[22:0]), // input signed [WIDTH-1:0]
.OUT_Mixer(Q_sine[22:0]) // output [19:0]
);
assign DATA_I_OUT = I_cosine + Q_sine;//A
//===================================================================
wire signed [22:0]Q_cosine;
Mixer #(.WIDTH(23))mix_cos_Q(// Q * cos
.clk(clk),
.ADC_Data(DATA_Q[22:0]),
.DDS_Data(cosine[22:0]), // input signed [WIDTH-1:0]
.OUT_Mixer(Q_cosine[22:0]) // output [19:0]
);
wire signed [22:0]M_I_sine;
Mixer #(.WIDTH(23))mix_sin_I( // I * -sin
.clk(clk),
.ADC_Data(DATA_I[22:0]),
.DDS_Data(~sine[22:0]), // input signed [WIDTH-1:0]
.OUT_Mixer(M_I_sine[22:0]) // output [19:0]
);
assign DATA_Q_OUT = Q_cosine + M_I_sine;//B
endmodule