Простой цифровой радиоприёмник

Решил-таки и я разразиться статьей на тему, которая интересна мне. Тема: цифровое радио, причем это не то псевдо радио, которое передается по сети интернет или вещание в цифровом формате, а нормальное (тру) коротковолновое радио (хотя ничто не мешает работать и с УКВ), только вот весь тракт самого радиоприемника реализован математическим путем.

Весь принцип в нескольких словах чтобы было понятнее: взяли антенну и подключили ее к АЦП, а дальше преобразование, детектирование, усиление, фильтрацию выполнили математическим путем и с помощью ЦАП-а или ШИМ вывели сигнал на динамик… и… слушали и радовались: о).

Зачем вообще это надо, паяли бы себе все как раньше аналоговым способом и не парили бы мозг? Ну, во-первых, это круто, во вторых за этим будущее (и даже уже давно настоящее). Ну а в третьих, как бы ни казалось странным, это схемотехническая простота, возможность нахерачить таких приемников внутри хоть десятки и с одной антенны принимать все сразу одновременно, видеть спектр, как участка, так и всего принимаемого диапазона в реальном времени. Фильтровать и декодировать сигналы, так, как аналоговым способом никогда не получиться и прочее, прочее, прочее… Ну что? Интересно? Если да, то поехали дальше…

Собственно говоря, тема сложная, как среди радиолюбителей, так и среди профессионалов. В принципе то, что я буду рассказывать ниже, это самый примитив, да и так никто в реальности не делает: о), однако примитив позволяет хотя бы по минимуму въехать в тему и получить первые положительные результаты с относительно дешевым железом. Т.е. смысл этой писанины не в самой писанине, а в том возникнет ли интерес у местных обитателей творить в данном направлении. Если интерес будет, то возможно, если меня не одолеет мегалень, я напишу продолжение…

Дискламер

Я не являюсь специалистом в области ЦОС и ПЛИС. И я не несу никакой ответственности за потраченное вами время, деньги, испорченные детали, и/или разрыв шаблона, ниасилил, что это было, и других батхёртов – нужное подчеркнуть, вызванных этой статьёй.

TTX приемника

Тип приемника: связной
Диапазон принимаемых частот: 0.1 – 30Мгц
Тип принимаемой модуляции: SSB, DSB
Полоса пропускания: 200 – 3000 Гц
На этом собсно, и все… для начала хватит, думаю и этого.: о)

Структура

Итак, структура нашего радиоприемника будет такая:


Это гетеродинный приемник, по сути, приемник прямого преобразования. Преимущество такой структуры это ее простота. Дальше преимущества все заканчиваются: о), но это вас не должно пугать т.к. это работает …

Что тут есть: Z1 – это входной полосовой фильтр увеличивающий селективность приемника; G1 – гетеродин приемника, перестраивая частоту которого мы можем настраиваться на радиостанции; Z2 – НЧ фильтр основной селекции; U1 – смеситель, в нем переносится спектр сигнала на нулевую частоту. (это так называемый Digital down converter) Т.е. на выходе смесителя образуется частота fсм = fвх – fгет, а так же будет приниматься fсм = fгет – fвх, и прием станции возможен, если частота fсм попадает в полосу пропускания фильтра основной селекции Z2. Где, fгет – частота колебаний гетеродина, fвх – частота принимаемой радиостанции.

Принцип работы в картинках



Подробнее о работе приемника прямого преобразования читайте в [1], переписывать книжки мне лень…

Но это структура аналогового приемника, а нам надо родить структуру цифрового, что делать? Ну что поделать, придется рожать… При этом мы родим тоже самое, только исходя из цифровых реалий.



Фильтр Z1 хоть и полезен, но на первых парах мы ограничимся онтиалиазинговым фильтром. Я думаю все догадались для чего он нужен. Далее нам понадобиться входной усилитель и одновременно он будет драйвером АЦП. В принципе можно и без усилителя обойтись, однако, это относительно актуально при АЦП начиная от 14 бит. Но они довольно дороги и ради эксперимента мало кто осилит, поэтому придется ставить усилитель.

АЦП – понятное дело что высокоскоростной, конвейерный с параллельным интерфейсом, про конкретные модели я напишу позднее, для начала пусть будет 12 бит 80 Msps. С такими харками используя первую зону Найквиста мы сможем принимать сигналы этим приемником от 100 Кгц (теоретически можно от 1 Гц и даже меньше) до 40Мгц в теории, в реальности сделаем небольшой запас, например до 30 Мгц.

Далее идут уже цифровые блоки
G1 – гетеродин. В данном случае нам нужен цифровой синусоидальный генератор, а именно генератор с потоком данных формирующим колебания по синусоидальному закону. Для этой цели нам подойдет DDS генератор прямого цифрового синтеза, нам надо будет его реализовать программно. Чтобы настраиваться на станции он должен быть перестраиваемый.

U1 – смеситель. Ммм, а что такое смеситель с математической точки зрения? Это обычный знаковый умножитель, в данном случае двух дискретных потоков данных. На один из его входов поступает поток данных 960 Мбит/c (12*80М) от АЦП включающий в себя всю информацию, творящуюся на диапазоне от 100 КГц до 30МГц. На другой вход смесителя подается поток данных с гетеродина. Смеситель производит знаковое перемножение этих двух потоков, в результате на выходе имеются данные с той же скоростью 80М слов в секунду но уже с большей разрядностью. При этом фазы колебаний складываются, а амплитуды перемножаются. В результате спектр принимаемого сигнала переноситься на нулевую частоту.

Так, после смесителя у нас поток данных с бешеным оверсеплингом (80Msps), а по условию нам надо всего то полосу пропускания до 3КГц. Очевидно, что никаких ресурсов не хватит, чтобы с ходу такой поток данных сразу отфильтровать до 3Кгц. Поэтому нам нужно выполнить децимацию (уменьшение частоты дискретизации), до приемлемого уровня, например до 78125 Гц. Почему до такой частоты? Да в принципе можно до любой, просто 80 000 000/1024 = 78125. До любой, это я конечно погорячился, но про это как-нибудь в другой раз: о). Эту функцию у нас выполняет некий CIC фильтр, он же дециматор и по совместительству фильтр. Почему какой то еще фильтр в дециматоре, почитайте например, тут.

Кроме того, CIC фильтр увеличивает разрядность и тем самым увеличивает динамический диапазон нашего приемника, но для наших целей, это пока не особо актуально, про это как-нибудь тоже в другой раз…

Теперь у нас на выходе CIC фильтра имеет место поток данных с частотой следования 78.125 КГц. Этот поток мы уже без всяких проблем можем фильтровать обычными цифровыми фильтрами.

Далее у нас по списку FIR фильтр основной селекции. Это обычный КИХ фильтр с полосой пропускания 200 – 3000Гц. В данном случае полосовой фильтр. Порядок фильтра и коэффициенты посчитаем чуть позже. Почему от 200 Гц? Да можно и от нуля, однако, в этом случае может появляться от наводок сети фон переменного тока, что не очень приятно. Поэтому мы заранее его обрежем, на качестве сигнала это сильно не отразится, так как приемник у нас связной, а не радиовещательный.

Усилитель, здесь я думаю, вопросов не возникнет, это обычная функция умножения на коэффициент или сложение сигнала с самим собой.

Далее сигнал подается на ЦАП, ну или на ШИМ формирователь НЧ сигнала. Тут думаю понятно.

Железо

Пунктирной линией на структурной схеме выделена та часть, которую мы должны реализовать программно. Теперь давайте подумаем, что в состоянии в реальном времени пережевывать поток данных 960 Мбит/c? Очевидно, что только ПЛИС. Какая-нибудь FPGA – шка, в принципе для наших целей пойдет почти любая мелкая, например спартанец XC6SLX9. Сейчас демки с такими плисками довольно дешевы. Я буду использовать XC6SLX9.

АЦП – для экспериментов рекомендую смотреть на какие-нибудь 12 битники, типа AD9236, AD9235 или аналогичные, можно применить и менее скоростные версии этих АЦП, они дешевле (если повезет, может даже семпл дадут; о) ), однако не забываем менять проект под характеристики АЦП. Про динамический диапазон и остальные критерии выбора АЦП как-нибудь в другой раз…

Тактовый генератор для АЦП и плис, тут в принципе можно на первых парах использовать любой с прямоугольными импульсами на выходе. Для серьезных целей конечно подобный ширпотреб не применим по фазовым шумам, но об этом тоже как-нибудь в другой раз: о)

Остальные детальки, посмотрите в схеме моего макета, иначе эта статья никогда не закончиться.
Не забываем про то, что интерфейс у АЦП – параллельный LVCMOS, что накладывает некоторые ограничения на способ монтажа. Если будете лепить АЦП на отдельной платке и приклеивать ее к демке с плисиной, постарайтесь выбрать линии минимальной длинны. Тоже касается и к цепям тактирования АЦП и плис.

Программная реализация

Ну что? Если с плисиной определились, запускаем Xilinx ISE и создаем новый проект. Я не буду описывать полностью весь процесс создания проекта, а расскажу только о тех его частях, которые непосредственно относятся к структуре приемника. С остальным думаю, разберетесь сами, не маленькие: о).

Начнем с гетеродина, т.е. с DDS генератора. Для его реализации удобно воспользоваться уже готовым логическим ядром от Xilinx. Там уже за нас все придумали, и изобретать велосипеды смысла не вижу.
Тут в принципе все просто, задаем системную частоту 80 МГц, 12 битный выход. Разрешение 10Гц, один выход типа SIN, установим возможность программировать аккумулятор фазы, что позволит перестраивать его по частоте. Режим выхода по амплитуде – полный диапазон. Установим начальную выходную частоту 7.030 МГц.
Выглядит это примерно так:







Такс, собственно гетеродин у нас теперь есть.
Идем дальше, смеситель. В качестве смесителя можно воспользоваться готовым умножителем, но я для разнообразия набросал его на Verilog-е.



module Mixer(

    input signed [11:0] ADC_Data,
    input signed [11:0] DDS_Data,
	 input clk,

    output [19:0] OUT_Mixer
	 
    );

reg signed [23:0] Pdat;

always @(posedge clk) begin
Pdat = ADC_Data * DDS_Data;
end

assign OUT_Mixer = Pdat [23:4];

endmodule



Как видно приходится выходную амплитуду ограничивать, иначе на выходе будет чрезмерно большая разрядность. CIC фильтр может пережевать только 20 бит, поэтому последние 4 бита отбрасываем. Это равносильно делению на 16.

Далее у нас на очереди создание дециматора – CIC фильтра. Тут тоже нас спасет логическое ядро от Xilinx. Коэффициент децимации 1024, частота 80 Мгц, вход 20 бит, выход 24.





Дальше по списку у нас FIR фильтр основной селекции. Как вы уже наверное догадались, опять воспользуемся логическим ядром от Xilinx, но для начала рассчитаем коэффициенты фильтра.

Расчет коэффициентов фильтра основной селекции.

Для расчета воспользуемся простой бесплатной програмулькой WinFilter. Устанавливаем фильтр FIR, тип Band Pass (полосовой фильтр). Модель Raised Cosine (косинусоидальный – обеспечивает наилучшие характеристики фильтра при малых количествах коэффициентов). Частоты среза по уровню -3дб, 200Гц и 3000Гц. Фактор скатов фильтра Roll off Factor устанавливаем самый крутой 0.1, чем больше это число, тем более пологий скат фильтра. Порядок фильтра – кол-во коэффициентов 151, разрядность 16 бит.

АЧХ фильтра



Сохраняем все в C коде, затем из получившегося файла копируем коэффициенты в соответствующую строку логического ядра при синтезе FIR фильтра.
Он же, но подробнее в логическом ядре FIR фильтра.



В настройках устанавливаем частоту семплов 78.125 Кгц, клок 80Мгц. Разрядность коэффициентов 16 бит, знаковые целые, квантизованные. Вход 24 бит, выход 16 бит. Выглядит это так.






Остальные вспомогательные блоки посмотрите в проекте. В принципе все достаточно просто. Очень многого конечно я не рассказал, но и так уже портянка получилась страшная… Возможно, как-нибудь в другой раз.

Что может приемник. При включении частота приема 7.030 Мгц (любительский диапазон 40 м), с помощью энекодера частоту можно крутить туда-сюда, шаг 10Гц. Энкодер висит на разъеме J3, пины 5 и 7. Светодиодик D4 сигнализирует о том, что сигнал на входе АЦП занимает весь диапазон, т.е. типа клиппирование.

А это мой макетик



Видос, качество хреновое конечно… что поделать. Так как я в последнее время радиосвязью занимаюсь по стольку по скольку, в основном конструированием, а антенну оторвали товарищи прокладывающие кабельное ТВ, прием велся на кусок провода 5М, да и прохождение в этот вечер было не ахти, выловил только пендоса в контесте орущего…: о).



Ну вот собственно и все, теперь у вас в руках полностью цифровой радиоприемник. Собирайте, пробуйте, эксперимиентируйте. Надеюсь было интересно.: о) Спасибо за внимание!

В архиве найдете: Схему, проект в Xilinx ISE.

Для общего развития:

1. В.Т. Поляков. Радиолюбителям о технике прямого преобразования.
2. www.xilinx.com/support/documentation/application_notes/xapp1113.pdf

Т.к. файлы не загружаются, качаем тут
  • +27
  • 26 января 2013, 23:22
  • RezonanS

Комментарии (155)

RSS свернуть / развернуть
Давно тут не было статей, которые действительно интересно читать.
0
  • avatar
  • PRC
  • 27 января 2013, 01:28
А разве SDR сделать было не проще?
0
смотря с какой точки зрения смотреть и как делать
даже на х86 платформе не так-то просто запилить годный софт
вон сейчас используют двт-т усб приемники за 10 баксов, а написать драйвер нормально не могут
это с виду оно просто кажется
0
Так это SDR и есть вроде, только софт крутится на ПЛИСине.
0
это совсем не sdr.
Sdr подразумевает железный балансный смеситель, два выхода i q фнч и только после этого оцифровка и обработка квадратур софтом
Математика существенно сложнее конечно, компы тяжело жуют
-1
там не балансный а квадратурный DDC. Разницы с тем что в статье никакой просто их два а не один как тут. У меня множится на синус, а там на синус и косинус. Основная сложность БПФ, фильтр, ОБПФ в остальном все тоже самое.
0
Насколько я знаю, в тех же реалтековских свистках оцифровывается непосредственно радиосигнал, сдвинутый в область частот АЦП.
0
Нет, можно сдвинуть, проблем нет. Если требуется сохранить динамический диапазон АЦП или если АЦП низкочастотная то сдвигаете сигнал с помощью обычного смесителя с внешним генератором а дальше уже АЦП работает типа на промежуточной частоте. Подходы просто немного разные, это не меняет сути :)
0
Подходы просто немного разные, это не меняет сути :)
Вот-вот, я о том же.
0
Ну и согласно вики (да и самому названию), SDR — любое радио, где выделение и демодулация сигнала выполняются программными средствами. Предварительное выделение квадратурных сигналов, предварительное преобразование частоты — всего лишь варианты SDR.
0
Скажем так, не привычного вида sdr )
0
Это тоже в какой то мере SDR. Только там квадратурный сигнал, а тут нет. Заниматься написанием ПО под винду никакого желания, да и не осилить, тем более таких решений уже море. И не кашерно это: о), вся обработка внутри ПЛИС — это наше фсие!
0
Все дело в личных пристрастиях) Понимаю.
Мне тоже иногда хочется сделать что-нибудь такое, не самое простое, не популярное. Ради интереса, выяснить тонкости
0
Да нет, это именно приемник с прямым преобразованием.
SDR в понятиях статьи — приемник с двойным преобразованием частоты:
— первый преобразователь сбрасывает сигнал в диапазон от 0 до частоты дискретизации АЦП (48 КГц или 96 КГц при использовании звуковой карты компьютера, 3 МГц — при использовании DVB-свистка).
Второй преобразователь — программный, на компьютере — переносит спектр в область НЧ.
0
  • avatar
  • mzw
  • 27 января 2013, 11:01
Насколько я знаю, SDR — Software Defined Radio, т.е. радио, где основная обработка сигнала выполняется программно. Предварительное преобразование нужно из-за ограничений АЦП, его вполне можно и с сабжем из статьи использовать, чтобы сместить диапазон частот вверх. С теми же DVB свистками в принципе можно принимать сигналы до 3МГц (ДВ/СВ, например) без предварительного преобразования.
Разве что, быть может, SDR считается только радио с внешней программной обработкой, на компе, но ЕМНИП это не так.
0
В принципе, это так, но, по факту, нынешние SDR приемники — это приемники с двойным преобразованием частоты. Кроме того, модуляция бывает не только амплитудная, но еще и частотная, фазовая и прочее, и прочее…
0
SDR на то и SDR, чтобы демодулировать (и модулировать, кстати, тоже) любую модуляцию. Достаточно допилить ПО. Ну и к этому приемнику можно прикрутить предварительное преобразование, тогда можно будет и УКВ принимать.
Но это больше свистоперделки, а основа SDR — оцифровать модулированный радиосигнал и дальше выполнять селекцию и демодуляцию программно.
А звуковуха и реалтековские свистки — это скорее SDR для бедных/начинающих. Просто и дешево.
0
Можно принимать и УКВ. При этом дополнительных преобразований не требуется. Надо только отключить антиалиасинговый фильтр на входе, да предварительный усилитель поменять, он не заточен под УКВ. Раскрою страшную тайну :), можно принимать сигналы в 2,3,4 и тд. зонах Найквиста. Сигнал просто переноситься в область низких частот самим АЦП, т.е. алиасинг не всегда есть плохо :). Единственное то, что характеристики АЦП в этих зонах несколько хуже. В 3,4 зоне можно ожидать на вскидку сигнал шум АЦП в районе 60 дб, 5,6 в районе 40 дб… В принципе для укв это нормально.
0
АЦП ж вроде сам в некоторой степени антиалиасинг вносит, время сэмплирования ненулевое.
0
Для этого производителем указывается высокочастотный предел АЦП, например у AD9236 предел 500 Мгц, максимальный клок 80Мгц, вот и считайте сколько там зон: о)
0
Ну в принципе да. Вообще любопытный вариант. Хотя какие-то минусы видимо есть, раз обычно все же используется преобразование частот.
Основной из них наверное то, что при алиасинге не удастся разделить сигналы на Fr, Fd+Fr, 2Fd+Fr, 3Fd+Fr… (Fr — принимаемая частота, Fd — частота дискретизации), их можно отсечь только предварительной фильтрацией.
Ну и параметры с ростом частоты падают. Относительный джиттер больше и все такое.
0
Нюансов там вагон и маленькая тележка, начиная с того что не нужные зоны как ты сказал нужно фильтровать, кончая проблемами согласования входа АЦП и предварительного усилителя. Дело в том что производителем не всегда указываются хар-ки входа небуфиоизованных АЦП (к ним относятся почти все старые модели высокоскоростных АЦП в т.ч. и AD9236) на высоких частотах и к тому же их сопротивление разное зависящее не только от входной частоты но и от состояния АЦП, т.е. режим хранения или выборки. Проблемы пролезания помехи клока во время выборки на вход АЦП и т.д.

Однако нас спасут буферизированные АЦП, с ними жизнь намного проще, правда цена хм… Этот метод переноса спектра используется довольно часто, в тех же сетях GSM например.
0
Продолжите пожалуйста статью -очень интересно! Расскажите про выбор частоты децимации, расширьте статью применительно к УКВ приему и другим видам модуляции, например частотной. Это потребует расширения полосы пропускания приемника. Интересно сделать цифровой приемник на основе вашей конструкции для вещательного диапазона например для приема DRM.
Сколько cells у вас занимает вся обработка в FPGA?
Интересно было бы еще добавить интерфейс HMI — индикации частота, станция и т.д. и управления выбор частот, настройка во внешний контроллер чтобы не отнимать ресурсы у FPGA
0
Спасибо!

Этот проект занимает в ПЛИС:
Slice Registers — 5%
Slice LUTs — 6%
used as Memory — 4%
Number of DSP48A1s — 68%

Я не занимался в этом учебном проекте оптимизацией, и натыкал почти в каждом логическом ядре использовать аппаратные умножители DSP48A1s, поэтому слайсов занято так мало. Эта плисина маловата для серьезных вещей, умножителей всего 16, фазофильтровой полноценный SSB приемник я запихивал в нее с трудом, и то ценой снижения разрядности на каждом шагу…

Для УКВ надо менять входные цепи, плата приемника разрабатывалсь под КВ. В процессе разработка более совершенного на LTM9001 вот там УКВ будет, но еще не скоро. Теорию конечно написать можно, но без эксперимента не особо интересно, но подумаю…

Для других видов модуляции без квадратурного DDC не обойтись, и придется переходить на полярные координаты, про это возможно напишу… посмотрим. :)

Полоса пропускания не проблема. По поводу DRM, пока нет желания заниматься кодеками, на плис это не очень приятно делать :) проще на С :) и на каком нить МК.

По поводу HMI, как наверно заметили по видео у приемника есть дисплей. Он цветной с тачскрином. Но для этого учебного примера он не использован. Если надо схему и тп по дисплею могу выслать, приклеите сами, основа там PIC32.
0
Спасибо за ответ, я тут стал прикидывать на свой альтеровский цмклон EP4CE6E22C8N, но похоже его мало под этот проект. Во сколько вам обошлась платка с XC6SLX9? Следующая вроде XC6SLX16 будет еще более подороже. А умножитель иультиплексировать нельзя или там параллельно в несколько потоков умножение выполняется, а то сильно умножитель ресурсы жрет. Про DRM вы правильно пишите — кодек нужно ставить внешний. Вообщем жду или точнее ждем продолжения статьи.
0
Цену посмотрел на эту игрушку LTM9001IV-GA — умереть не встать цена то… :( HiFi комплекс за эти деньги купить можно
0
Ну да, тут уже все по взрослому… что поделать, зато на нее лицензии не надо 16 бит 160MSPS буферизированный вход, с антиалиасинговым фильтром и усилителем все в 1 чипе. Вы на LTM9001IV-BA смотрите, у меня такая :)
Ну, есть это сладкое слово семплы :)
Дешевые АЦП я озвучивал в статье… А еще попугать? Малошумящие стабилизаторы например LT1764AEQ-3.3#PBF — 9.35 евро :)
0
лицензию америкосы нынче требуют с какой разрядности и частоты семплирования?
0
www.icgamma.ru/news1/ltc_new_rules/
но LTM9001 позиционируется не как ацп и не попадает под закон… Linear, не дураки и тоже кушать хотять :)
0
Ну из шумящих малошумящие можно сделать и за значительно меньшие деньги. Пойду бaнк грабить…
0
Ммм, если мне не изменяет память сама плата на заводе т.к. это прототип стоила в районе 3000р… детали… ну гдето в районе 6000 все вместе. Смотря где заказывать, если за бугром дешевле будет. Многое можно семплами навыпрашивать :) если повезет.

В новом радио у меня потолще XC6SLX100T :), всетаки жизнь кажется проще когда не приходится заниматься мелочами днями на пролет :)

Умножитель жрет ресурсы? а у вас нет аппаратных видимо… надо ПЛИС с аппаратными умножителями брать, в ЦОС без них делать нечего…
Циклон 2 осилит без особых проблем подобное…
0
При таких ценах практического применения не ждать, только ради спортивного интереса. Хотя если все это в китайский БМК запихать, то может и практический интерес появится.
0
Хз, каждому свое… я же не описывал приемник на LTM9001, знаю что это мало кто осилит… конструкция проста и дешева… можно еще попроще сделать и сэкономить, но аппетит как правило, сами знаете… захочется большего.
Почему не жать практического применения? У меня на очереди трансивер… да и SDR довольно популярен среди радиолюбителей, так что… как знать :). Тем более полную обработку без компа пока никто не осилил…

А статья для развития интереса к теме, не более…
0
Богатый у вас завод…
0
спасибо, интересно
0
  • avatar
  • Muzl
  • 27 января 2013, 11:29
Да это просто охренительная статья!
И охренительна она реализацией!
Я в восторге!
0
на таких бы статьях учебный курс по связи от основ до профессиональных тонкостей… как по микроконтроллерам, но по связи
0
Согласен, это как слон в лавку зашел… старого еврея-старьевщика, полную безделушек ))) Только где схема?

P.S. Уже мелькало здесь: SDR радиоприемник на номомодном PSoC чипе.

Я, как пикейный жилет, все это софт-радио понял так:
в нем вся фича в Quadrature Sampling Detector-е, который выделяет I и Q составляющие, определяющие изменение сигнала по частоте/амплитуде/фазе, которые являются по сути НЧ, независимо от частоты радио-сигнала(передается то музыка/голос, т.е. НЧ). Ну и сливает этот стафф(I и Q) для оцифровки в НЧ АЦП (32-64K сэмплов), ну а далее обработка этого цифрового образа НЧ сигнала и на ЦАП аудиовыхода.
0
Только не понял зачем дорогой скоростной АЦП и ПЛИС у ТС-а, обработать НЧ цифру может и простой ARM. Или я что-то не понял?
0
Если честно, то Вы все не поняли :)
Темы разные, хотя определение одно SDR.
0
Так все-таки, зачем цеплять дорогущий АЦП «на антенну», в чем выгода?
0
Выгода описана в первых строчках поста =)
Если хотим построить панораму полосы в обычном приемнике, то нужно сканировать диапазон, а это не быстро, особенно если синтез на ФАПЧ, с DDS вроде картина получше, но всеравно…
А в данной реализации имея неплохой вычислительный потенциал можно крутануть какое-нибудь БПФ и вот он спектр, как на ладони…
0
Очень хорошая статья, но хочется больше деталей! Я как раз интересуюсь этой темой и очень хотел бы увидеть продолжение
0
Спасибо, очень итересная статья, даже руки зачесались чего нибудь такого сделать
Кстати по поводу альтер. Генератор КИХ фильтра там точно есть( в смысле мегафункция квартуса), а вот есть ли там генераторы dds и cic или надо писать самому?
0
assign OUT_Mixer = Pdat [23:4];
CIC фильтр может пережевать только 20 бит, поэтому последние 4 бита отбрасываем.
Вот так просто взяли и округлили? Нельзя так!
Правильно будет так "assign OUT_Mixer = Pdat [23:4]+Pdat [3]"
0
с добавлением старшего отбрасываемого разряда не спорю
Но для учебного примера это особого значения не имеет…
0
Вот так просто взяли и округлили? Нельзя так!
Правильно будет так «assign OUT_Mixer = Pdat [23:4]+Pdat [3]»
а что при етом происходит куда деваються ети 4 бита
0
Запись
assign OUT_Mixer = Pdat [23:4];
это усечение
а запись
assign OUT_Mixer = Pdat [23:4]+Pdat [3]
округление
0
рисунок в принципе у вас неправильный. спектр не смещается в 0. Из него вычитается частота гетеродина. Потом проходит через фильтр и остаётся частота фильтра. Т.о. смещение происходит в частоту фильтра F_f. Затем детектируется например мостовым детектором на полевиках и всё. Т.е., если вам надо принять сигнал на частоте F, то гетеродин надо настроить на частоту F+F_f.
0
Рисунок поправил. Край спектра смещается в 0, фильтр не является узлом смесителя в смещении не участвует… Причем тут детектирование на полевиках, не осилил… детектирование в таком приемнике не требуется по определению.
0
Я тоже чутка придерусь к картинке. Спектр АМ сигнала должен быть симметричным (опционально с провалом и несущей в центре). Нарисованный спектр больше на ССБ походит, но оно не серединой спектра в ноль сносится, а началом.
0
Нарисовано схематически.
0
а всё, понял.
0
но проект классный!
0
Первая мысль:
Зачем надо создавать искусственного человека, когда любая баба может родить его когда захочет?
Ибо для радиовещательного приема аналоговый приемник намного проще, дешевле, экономичнее и прочее, и прочее…
SDR с аналоговым входом — пока тоже экономически эффективнее. И динамический диапазон входных сигналов у него пока шире.
Но техника не стоит на месте и, лет через 10, такие приемники, скорее всего, станут обыденным явлением.
Поэтому хочется процитировать предыдущий комментарий
но проект классный!
0
  • avatar
  • mzw
  • 28 января 2013, 12:04
SDR с аналоговым входом — пока тоже экономически эффективнее.
Экономически — согласен, но есть ряд минусов в плане спуров от DDS, хотя современные ддс-ки от AD успешно со спурами борются… кривости аналоговых или основанных на логическим микросхемах смесителей и формируемых ими квадратур и т.п.

динамический диапазон входных сигналов у него пока шире.
А вот это ООЧЕЕНЬ спорный вопрос, попробуте такое сказать на тематических форумах на cqham :), я же не буду спорить просто просмотрите хотя бы современные АЦП и их хар-ки. Не говоря уже о таком явлении как системное усиление, усреднение, повышение разрядности…
0
А что такое «спур»?
0
Это побочные излучения. включает гармонические излучения, паразитные излучения, интермодуляционные продукты и продукты преобразования частот
mwrf.com/Files/30/8836/Figure_01.gif
0
AD9851 отличный спектр.
0
AD9851 старенькая
Есть более современные AD9858, или с системой спуркиллер AD9911
0
Статья великолепная!!! Thanks a lot!!!
Даже на cqham.ru не найти подобного.
Меня данная тема очень сильно интересует. Есть огромное желание повторить конструкцию, уже начал искать комплектующие.
Было-бы здорво, если можно, увидеть хотя-бы фотки печатки крупным планом.
0
  • avatar
  • ikSS
  • 29 января 2013, 00:00
Могу выслать файл ПП в DipTrace, пишите в личку ваше мыло, вышлю каждому отдельно кому надо. Никаких секретов, обязательств и т.п, просто интересно если кто будет повторять, личная статистика не более…
0
Отличный проект! Интересны получившиеся параметры, 12 бит все-таки маловато, динамика чуть более 60дб. Хотя ведь принимают радиолюбителей на usb-тюнеры, там вообще 8бит.
0
Хотя ведь принимают радиолюбителей на usb-тюнеры
Ну так и результат приема на такой тюнер — дрянь.
0
Откуда такая цифра 60дб, поясните? В реальности динамика на 12 битнике может быть не хуже 100 — 110 дб.
0
Ну как, как-то так: свмый слабый сигнал-1 самый мощный 2047, отношение значит 2047, логарифмуем по основанию 10 и умножаем на 20, получаем — 66.2дб, там еще по теории несколько децебел добавляется, но по практике наоборот немного меньше, вот и выходит 60дб.
0
Это не правильно :) Вы забываите о том что полоса приемника пропускания всего 3 Кгц, а частота семплов 80Мгц, откуда:
10*log(40МГц/3КГц) = 41.2 дБ
AD9236 SNR = 70.4
Откуда для всего приемника 70.4 + 41.2 = 111.6 дб
0
ДД не зависит от полосы пропускания РП, а зависит от линейности тракта, в данном случаи в первую очередь от разрядности АЦП.
0
Вы не правы. Вы пытаитесь применить понятия аналогового приемника к цифровому, тут немного разные вещи. SNR зависит от полосы пропускания.
Если вы имеете ввиду SFDR то, вы видимо не смотрели на хар-ки АЦП SFDR 87.8 dBc. В реальности в зависимости от разрядности гетеродина эта цифра для приемника может быть как выше так и ниже.
Динамика же предварительного усилителя OPA847 не хуже 100 дб, сейчас на вскидку не помню.
0
0
Это мне извесно, но это правильно только в чистом виде. Шум распределен по всей зоне Найквиста равномерно, поэтому сужая полосу пропускания увеличивается SNR. Это так на пальцах… если вы не верите расчету… Блин, об этом уже сколько раз спорилось на caham, зайдите в любой тематический форум там, посвященный цифровым приемникам, трансиверам и спросите разработчиков об этом…
0
Про сужение это конечно, но ведь в данном случае АЦП это широкополосная часть РП (хавает весь спектр в антенне), и ее динамика задает ДД для всего РП.
На cqham тусуюсь давно, выкладывал там свои разработки, но в дискуссиях редко там участвую, т.к. много безграмотных участников. Интересно, а где конкретно приведен такой расчет ДД как Вы указали выше?
0
Дело в том что шум квантования АЦП из-за усреднения в цифровых фильтрах уходит ниже. И динамика всего РП определяется не только АЦП. Вом известен такое понятие как дизеринг? Каждое АЦП имеет некоторый шум, свое рода дизеринг… и если выходные данные усреднять то в реальности битность увеличивается.
Почитать про это можно напрмиер в книжке: Применение высокоскоростных систем.
www.ozon.ru/context/detail/id/4303740/
0
вернее не битность, а точность
0
Эта методика еще известна как oversampling для увеличения точности преобразования АЦП
0
Причем для увеличения точности обязательно должен присутствовать шум на входе АЦП
0
Интересно, а какие искажения (шумы) будут, если на вход такого приемника на вход подать вещательный АМ-сигнал?
Как скажется разрядность АЦП? Получим ли мы на выходе сигнал по 1 классу?
0
Насколько известно, при амплитудной модуляции полезный сигнал маскирует сигнал шума, а вот при слабых сигналах и в звуковых паузах должен быть небольшой выигрыш в отн. сигнал/шум.
0
А какая разница какой сигнал? если SNR = 100 дб (в полосе 3кгц) то это примерно соответствует 16 битному АЦП. Хуже мы его можем сделать только уменьшением разрядности уже в самом алгоритме, и ошибках округления.

Единственное за что остается биться это за SFDR мы его никакими усреднениями и оверсеплингами не улучшим.
0
Я спросил потому, что, как я понимаю, оцифровка синусоидального сигнала частотой 1 КГц и амплитудно промодулированного им сигнала с частотой 1 МГц (при 100% модуляции) с последующей демодуляцией должна дать разницу в 1 разряд. То есть в описанном приемнике выходной синусоидальный сигнал будет оцифрован с точностью 11 бит.
Если это так, то причем тут соотношение полосы пропускания и частоты сэмплов?
0
Второй вопрос — смогу ли я с нормальным качеством принять сигнал с частотой 30,1 МГц и уровнем 10 мкВ, если рядом, на 30,0 МГц будет мешающий сигнал 10 мВ? Речь об АМ или SSB сигналах.
0
Дак это двухсигнальная избирательность на краю зоны Найквиста?
Характеристики на краю я полагаю будут такими же, т.к. оверсеплинг модулирующих сигналов будет такой же, как и НЧ сигналов. Принять сможете с нормальным качеством
0
А почему она должна дать разницу в 1 разряд? Не уловил ход мысли. 1 кгц даже промодулировав 1мгц будет иметь такой же овересеплинг как и просто 1кгц…
0
Разницу в 1 разряд лучше всего пояснить на рисунке. Верхняя и нижняя полуволны АМ-сигнала одинаковые, поэтому рабочий диапазон входных напряжений АЦП как бы уменьшается в 2 раза, то есть на 1 бит.
0
ммм, если даже и так… на 6 дб снизится SNR, был 100 дб станет 94. Так? Это сильно что-то изменит?
0
Не верится мне в 94 дБ при 12 битах…
Кстати, а что теория говорит о работе при 1 бите? (крайний случай)
0
Кстати, а что теория говорит о работе при 1 бите?
Если честно, то не занимался таким вопросом, однако можно предположить что система с 1 битным АЦП будет иметь сходство с импульсно кодовой модуляцией. Предполагаю, что при напряжении близком к 1, частота появления кода 1 на выходе такого АЦП будет выше чем при напряжении близким к 0… т.е. получим импульсно — кодовую модуляцией… :) Это в чистом виде. А в нашем случае полагаю что сигнал с размахом в 1 бит будет слышен вполне отчетливо и разборчиво…
ru.wikipedia.org/wiki/DSD
0
Ну так может быть попробовать сделать такой? Должен получиться простым.
0
Вот вы этим и займитесь :), написали бы потом статью :)
0
Я специализируюсь на аналоговой приемо-передающей и усилительной технике. Цифровой обработкой сигналов не занимался и, наверное, уже не займусь (хотя, чем черт не шутит).
0
>система с 1 битным АЦП будет иметь сходство с импульсно кодовой модуляцией

Вы, наверное, имели ввиду сигма-дельта-модуляцию. Да, так и будет. Как я это вижу — за счёт оверсемплинга можно для низкочастотных сигналов делать сколь угодно низкую погрешность дискретизации, чем ниже частота, тем ниже погрешность, в пределе — нулевая погрешность дискретизации для нулевой частоты (постоянного тока).

Из этого можно было бы сделать интересный АЦП для плис или микроконтроллеров (в большей степени для плис), но точность будет сильно зависеть от точности порогового напряжения между «0» и «1». Либо можно для повышения точности этого порога городить компаратор, а если уж всё равно что-то городить — лучше сразу городить нормальный АЦП.
0
>>> сколь угодно низкую погрешность дискретизации>>>>
Примеры можно? Не такое простое это дело — для оверсемплинга требуется подмешивать на вход шум или пилу, потом фильтровать и т.д.
0
Практически непростое, но теоретически ничто не запрещает. Шум генерировать на той же ПЛИС — элементарно, программными методами, на любое число бит (покуда ресурсов плисины хватит), переводить в аналог ЦАПом R-2R, примешивать, подавать на компаратор, оцифровывать 1бит. Оцифрованное — фильтровать и децимировать, в цифре можно сделать сколь угодно идеальный ФНЧ, знай себе наращивай биты и порядок фильтра, пока ресурсов плисины хватает. Я в этом смысле имел ввиду «сколь угодно высокую точность». Есть ещё погрешности в аналоговой части, про них я умолчал, хотя если с практической точки зрения говорить, то точность преобразователя будет ограничиваться точностью компаратора (в неё мы упрёмся намного быстрее, чем в нехватку ресурсов у современных плис).
0
Ну компаратор всегда можно сделать на скоростном операционнике с цепями различных коррекций
0
Можно, но предел всё равно рано или поздно будет. Это не цифра, где нужна точность повыше — поставил разрядность побольше. Не хватило ресурсов — взял плисину пожирнее.
0
Шум генерировать на той же ПЛИС — элементарно, программными методами, на любое число бит

Это так называемый RND имеете в виду? Из той же оперы что и CRC чисто аппаратно — регистр сдвига(с предварит.загрузкой) с закольцованными обратн.связями через XOR вентили на вход. Но вроде бы это не источник шума/случайных чисел, а ФУФЛО.

Нужен источник более-менее настоящего «белого шума», брать который надо «из природы», т.е. нужен еще 1 хороший/дорогой АЦП. Или большой кусок в ROM для уже записанного туда «белого шума».
0
Я имею ввиду алгоритмы криптографических сертифицированных генераторов псевдослучайных чисел, которые такие проверки на коррелированность, равномерность, длину последовательности и т.п. проходят, что ни один природный шум не пройдёт.

В криптографии требования к ГПСЧ гораздо жёсче, чем для какого-то там дитеринга, для которого даже пилообразный сигнал прокатит.
0
В качестве источника энтропии там как раз природный шум используется, той или иной природы.
Но такие извраты нужны только для криптографии, большинству остальных задач требуется только равномерность распределения.
0
Но вроде бы это не источник шума/случайных чисел, а ФУФЛО.
Вполне нормальный источник. Не годится он только для криптографии. Здесь же требуется только равномерное распределение, которое от PRNG получить легко.
Нужен источник более-менее настоящего «белого шума», брать который надо «из природы», т.е. нужен еще 1 хороший/дорогой АЦП.
Цифровик… Стабилитрон воткни — будет тебе натуральный белый шум за 50 копеек.
0
«Цифровик» — это презрительное прозвище (типа «кодер») у НАСТОЯЩИХ электронщиков.

ТС тоже «цифровик» — повесить дорогой (очень быстрый и многоразрядный) АЦП на антенну. Хотя выуживать ему надо звуковой или даже телефонный диапазон частот. Все делают это в SDR (Software Defined Radio) на QSD (Quadrature Sampling Detector) и хорошем DDS генераторе (что бы меняя его частоту сканировать эфир). И потом обрабатывают низкочастотные I и Q выборки на МК без всяких ПЛИС.
0
ххе, начинается опять.
Вы видимо так и не осилили преимуществ такого метода, которых никогда не достичь на ддс + квадратурный смеситель на рассыпухе.
Впрочем, заблуждения — личный удел каждого :)
0
Он хотя бы не предлагает взять аналоговый шум, оцифровать его дорогим АЦП и затем подать его, даже не обрабатывая, на ЦАП)
И все это, гм, для того, чтобы не ставить дорогой АЦП)
0
Он хотя бы не предлагает взять аналоговый шум, оцифровать его дорогим АЦП


Ну это если следовать курсу топика на сверхдорогой true digital only фен-шуй.
0
Ну, нищеброд технолоджи к этой теме не относится, да.
0
Ну, нищеброд технолоджи к этой теме не относится

Дело не в нищебродстве, а в том, что многие просто скупы, как церковные крысы. MCU мощнее/богаче, но на 100-150 руб дороже(2-3 банки пива или кусок пиццы в харчевне около офиса) — уже проблема, уже он не подходит. Я понимаю, если это наши сверхжадные и убогие барыги и фирмешки, но это любители. Менталитет-с.

Дело еще и в том, что сейчас ВСЕ есть. Нет проблемы зайти на сайт Analog Device, TI, Терраэлектронии или какой китайский и т.д. и заказать у них отладочную плату или demo board, спроектированную по всем правилам и уже распаянную с отличными АЦП или ПЛИС или же АЦП+ПЛИС, детали и компоненты любые. Я думаю что отдать $50, $100 или даже $350 за платку такую, это не проблема для нормального и сильножаждущего человека. Платы заказать в китайских pcb service можно за копейки сейчас.

Второе, сейчас есть ЛЮБАЯ инфа не отрывая зада от экрана (в т.ч. по SDR, ADC, DSP). Если интересно — почитал месяц/два/три, потупил — и ты уже «спец». Через год ты уже «супер-спец» и гуру. Такова реальность современной жизни.

Но зачем? Если человек зарабатывает себе на харчи/хату работает сисОдмином, проггером или менеджером в торговом офисе, зкскаваторщиком или электриком. И живет в 3-е сортной стране, с электроникой, как отраслью пр-ти, в зачаточном/полувымершем состоянии. Зачем это ему на будущее, зачем?

Потратить до $500-1000 может быть совсем не проблема, что бы извратится ТАК по true digital фен-шую. Вся инфа любая сейчас тоже есть.

Плюс к тому, китайцы выпустят через год(если уже не выпустили) USB-свисток за $10 с чипом в котором это все есть(QSD смеситель/демодулятор + DDS генератор + НЧ АЦП + MCU).

Скука-с, а от нее и лень в последнее время.
0
Зачем это ему на будущее, зачем?
Just for fun. Это же хобби, не так ли?
+1
За $100-200 я бы купил платку или наборчик какой SDR с QSD попаять на досуге от делать нечего. И сделать себе универсальное радио для дома. Хотя там антенну захочется хорошую/настоящую, а это геморой — лучше полежу на диване или понахожусь под гипнозом инета (4pda/mysku/china-phone и т.п.) и подожду поделий китайцев. И вообще, зачем мне радио?! У меня есть экран, диван и шланг для подсоса в СЕТЬ B)
0
я бы купил
Ключевые слова. Кому-то нравится так, кому-то иначе. Это ведь хобби, каждый делает так, как ему нравится, что бы получать от хобби максимум удовольствия.
0
Хобби без материальной/чсвморальной отдачи в итоге — это удел лузеров. Так вам скажет любой из английских джентельменов, которые и придумали это слово. Хотя явление довольно широко распространено. Ньютон, Максвелл, сэр Синклер, Форд, Циолковский, Тесла, Эдисон, Билл Гейтс и т.д. — это все «любители», а не профессионалы.
0
Хобби без материальной/чсвморальной отдачи в итоге — это удел лузеров.
Моральная отдача это и есть «fun». Что касается материальной, то при появлении материальной отдачи хобби превращается в работу. Возможно интересную и любимую, но работу. А значит любитель автоматически попадает в разряд профессионалов, с вытекающими отсюда последствиями.

P.S. так сложилось, что в юности у меня было два хобби — радиолюбительство и программирование. Одно из них стало работой, второе осталось хобби. так что обо всех этих процессах я знаю отнюдь не понаслышке.
0
Моральная отдача «just 4 fun» — это одна из разновидностей ЧСВ в лучшем/честно заработанном/заслуженном значении этого слова. Но на таком ЧСВ других людей, которые БЕСПЛАТНО генерят контент, как раз многие(Google, livejournal, Хабр, youtube и многие-многие тысячи других) зарабатывают деньги, как и на open source.

Настоящая «моральная отдача» все-равно ДОЛЖНА выражатся в каких-то преференциях, не обязательно чисто материальных. Например, в более высоком статусе в обществе, в конкретной общественной, профессиональной, социальной прослойке и т.п. Можно это измерить в деньгах? Материализуется это(возмжно частично) или должно материализоватся(если конечно, этот человек не совсем полный лох) в какие-то материальные блага для этого человека в капиталистическом об-ве? Конечно!
0
Но на таком ЧСВ других людей, которые БЕСПЛАТНО генерят контент, как раз многие(Google, livejournal, Хабр, youtube и многие-многие тысячи других) зарабатывают деньги, как и на open source.
Мне это все равно.
Настоящая «моральная отдача» все-равно ДОЛЖНА выражатся в каких-то преференциях, не обязательно чисто материальных. Например, в более высоком статусе в обществе, в конкретной общественной, профессиональной, социальной прослойке и т.п. Можно это измерить в деньгах? Материализуется это(возмжно частично) или должно материализоватся(если конечно, этот человек не совсем полный лох) в какие-то материальные блага для этого человека в капиталистическом об-ве? Конечно!
Тогда запишите меня в «полные лохи», я не занимаюсь «материализацией» «статуса» в хобби. И даже сознательно отказываюсь, когда мне предлагают это сделать.
+1
Это я к тому, что ЗА ВСЕ надо платить при капитализме. Даже за любую мелочь, например за то, что кто-то спросил тебя на улице как пройти куда-то. Это конечно смешно и я утрирую, тем более трудно просить 10-20 руб за такое, ЯКОБЫ БЕСПЛАТНОЕ (совковое воспитание). Поэтому, надо просто ответить: Я не знаю. Или просто быстро пройти мимо не замечая.

Это кажется парадоксальным и ужасным, но на самом деле — это так и есть, если доводить эту мысль (что при капитализме нет ничего бесплатного) до чистого абстрактного абсолюта.

P.S. Про open source (который только некоторые пишут just 4 fun или ради ЧСВ): это явление свидетельствует о полном затоваривании на рынке ПО. Т.е. другим способом как-то попытатся выйти на рынок и хоть как-то материализовать разработку просто нет возможности. С другой стороны, некоторые (весьма далекие от альтруизма и от самого участия в open source) успешно зарабатывают на нем деньги. Парадокс?
0
Это я к тому, что ЗА ВСЕ надо платить при капитализме. Даже за любую мелочь, например за то, что кто-то спросил тебя на улице как пройти куда-то

Удачи Вам, с таким отношением к окружающим …
И я искренне рад, что большинство людей не разделяют Вашу точку зрения.
+1
Осуждать за такое можно только людей, у которых такова сущность(эгоизм) с детства и которые сами этого не понимают — такова их натура. Я же это понимаю, и хочу довести эту парадоксальную на первый взгляд мысль до теоретической логической обоснованности. Вне зависимости от воспитания, принятых формальных приличий в об-ве.

И да, если же опять доводить эту мысль до абсолюта, но с другой, противоположной стороны, т.е. как бы с противоположным знаком (или инверсией): Подойдя к любому, например, так называемому «барыге»(человеку, извлекающему пользу себе из других за счет чего-то) можно просто спросить у него все его контакты/бизнес-планы/поставщиков/покупателей, т.е. всю «информацию не для всех». И он вам все честно расскажет — ведь коммунизм же, надо помогать близким и всем людям, надо быть альтруистом и т.п.
0
Кстати, ничего похожего на «за все надо платить» я ни в одной стране мира не встречал (из тех, в которых побывал, естественно). Даже в «оплоте мирового капитализма» — США. Да, есть вещи, за которые у них принято платить, при том, что у нас не принято (скажем, если на улице попросили закурить, то за сигарету обязательно предлагают деньги), но это единичные вещи (собственно, на вскидку я ничего другого не припоминаю), да и те вовсе не факт, что объясняются капитализмом (а не, скажем, культурными традициями в комбинации с отношением к табаку и курению как таковому).

P.S. люди везде люди. со своими тараканами и особенностями, естественно, но в целом везде люди ведут себя примерно похоже. и нигде не видать следов «доведенного до абсолюта капитализма», даже там, кто ничего другого и не знал.
0
И да, если же опять доводить эту мысль до абсолюта

А зачем доводить эту мысль до абсолюта? Есть товарно-денежные отношения, есть простые человеческие, социальные отношения. И то т то нормально, и эти вещи запросто существуют параллельно.

А Вы все сводите исключительно к деньгам. И куда приведет Вас Ваша идеология?
0
Удачи Вам, с таким отношением к окружающим …
И я искренне рад, что большинство людей не разделяют Вашу точку зрения.

… Просыпаюсь — часов нет, пальто спиздили! Драповое! Во сюжет, а ты говоришь люди!
0
Про open source (который только некоторые пишут just 4 fun или ради ЧСВ): это явление свидетельствует о полном затоваривании на рынке ПО.
Нет, не свидетельствует. На самом деле для многих опенсорс это, как раз, способ заработать себе репутацию в профессиональной среде. Другой (не менее распространенный) вариант это когда программист считает своим моральным долгом улучшить или расширить продукт, который сообщество дало ему возможность использовать в своих проектах (в том числе тех, за которые платят деньги). Наконец, многие программы появляются из чистой любви к исскуству или как часть исследовательских проектов.

P.S. опенсорс массово стал появляться задолго до того, как вообще можно было бы подозревать «затоваривание». впрочем, сейчас до «затоваривания» тоже очень далеко. имей «затоваривание» место, спрос на программистов не был бы так высок. а пока (из относительно свежего) даже в кризисном 2008-м году местные конторы все как одна отчитались об «отсутствии роста прибыли». об убытках или сокращении даже речи не шло.
+2
как раз, способ заработать себе репутацию в профессиональной среде
Вот! О чем я и говорю: Должна быть какая-то частичная материализация и преференции.
0
Извиняюсь за столь деликатный вопрос, но семейные отношения, или отношения с друзьями Вы тоже строите на «частичная материализация и преференции»?
0
Нет, конечно же (вы же самому себе не продаете что-то и не покупаете сам у себя).

А с друзьями обычно дела не ведут или какие денежные отношения типа: Займи мне 50 тыр. на 2 мес? Во избежание порчи дружеских отношений, ну и нормальные друзья обычно не переводят их в такую плоскость. Я знакомым могу занять 500 или даже 2000 руб, но только тем, про которых я знаю, что они порядочные и вовремя отдадут. Или же я знаю, что я у них сам могу занять не надолго сумму до 2000 руб. Большие суммы я никогда не занимаю. Т.е. «поезд должен ездить в обе стороны, а не в одну».
0
Т.е. «поезд должен ездить в обе стороны, а не в одну».
У меня по жизни беда с этими поездами. Одалживаю и забываю. Зато приятно, когда возвращают (при том, что я только когда возвращают, я вспоминаю как давал) :)
0
Вот! О чем я и говорю: Должна быть какая-то частичная материализация и преференции.
Для начинающих программистов это вполне себе хороший способ продемонстрировать свой уровень и набраться опыта. Молодых ребят не очень охотно берут на работу, поскольку опыта маловато, а такие проекты позволяют им этот опыт получить. Сколько тут монетаризации — я не знаю.
0
Все-то бы вам деньги да статус, а. Хобби на то и хобби, чтобы заниматься им в свое удовольствие, а не стремиться из всего деньги выжать.
+1
Нельзя пофилософствовать, потеоретезировать и попытатся докопатся до сути вещей?
0
Считай это выражением моей точки зрения на «суть вещей».
+1
людей, которые БЕСПЛАТНО генерят контент, как раз многие(Google, livejournal, Хабр, youtube и многие-многие тысячи других) зарабатывают деньги

Тут я конечно не совсем точен. На Западе честнее намного бизнес. И youtube, например, (он вроде Гуглу принадлежит?) оплачивает контент авторам, естественно, если сам контент чего стоит.
монетизация контента в youtube
Что опять же говорит о том, что все можно монетезировать при кап-ме.
0
В связи с этим, интересно еще вот что: некого полунищего гастарбайтера таджика Джимми года 4-5 назад кто-то снял на видео и выложил в сеть. Сколько тогда зарабатывал таджик Джимми в Москве? 10 максимум 15 тыр. Сейчас его уже сняли в 1-м кинофильме в эпизоде, я редко очень смотою дебильник, но по-моему его уже пригласили и показали во всех передачах на ТВ. И возможно таскают по ночным клубам.

Таджик Джимми заработал, даже сам не желая этого, больше, чем за 2-3 года вкалывания на стройке.
0
И что? Это обычный процесс, когда хобби превращается в работу.
0
Это обычный процесс, когда хобби превращается в работу.

Правильно! Только надо заменить слово РАБОТУ (От работы кони дохнут, Работа не волк — в лес не убежит, Пусть работает железная пила — не для того меня мама родила, Пусть трактор работает — железный он) на ДЕНЬГИ (или хотя бы преференции).

Не надо превращать хобби в работу, пусть хобби останется любимым делом, но приносит деньги.
0
Что бы можно было бы не работать из-за денег.
0
Что бы можно было бы не работать из-за денег.
Не даром все новомодные варианты организации работы в IT построены вокруг того, что бы сохранить в работе «состояние хобби» как можно дольше. А денег платят просто достаточно, что бы они не создавали проблем по жизни. Как показывает опыт таких контор, это вовсе не значит, что зарплата должна быть очень высокой. Тем не менее состояние получается очень похожее — люди не беспокоятся о деньгах и просто получают удовольствие от работы, да еще и пишут что-то свое в свободное время. Тот же гугль, например, совершенно официально разрешает сотрудникам день в неделю заниматься своими проектами. Любыми. На оборудовании компании. Такие «свободные» проекты по частоте «выстреливания» легко тягаются с тем, что компания делает в обычном порядке. Кстати, гуглопочта была когда-то одним из таких проектов (это из того, что на вскидку помню).
+1
Правильно! Только надо заменить слово РАБОТУ (От работы кони дохнут, Работа не волк — в лес не убежит, Пусть работает железная пила — не для того меня мама родила, Пусть трактор работает — железный он) на ДЕНЬГИ (или хотя бы преференции).
Тут уже как не называй, но хобби это быть перестает.
Не надо превращать хобби в работу, пусть хобби останется любимым делом, но приносит деньги.
Ну у меня их было два, мог себе позволить поэкспериментировать. И да, все именно так, как я говорю — хобби перестало быть хобби. Мне нравится моя работа, но со временем (не сразу) программы чисто в виде хобби писать я перестал, разве что для МК, но это часть другого хобби.
+1
Тут уже как не называй, но хобби это быть перестает.

Не знаю, я не хочу «работать на дядю», но и хобби превращать в just 4 fun не хочу. И мне нужен...
0
Не знаю, я не хочу «работать на дядю», но и хобби превращать в just 4 fun не хочу.
Чудес не бывает. Собственный бизнес это работа, причем даже если бизнес полностью совпадает с хобби, административная часть добавляет столько головняка, что на хобби это уже похоже мало. Даже если оформлять все в самом удобном и простом варианте (типа СПД на едином).
0
Собственный бизнес ... административная часть добавляет столько головняка ... Даже если оформлять все в самом удобном и простом варианте


Не совсем согласен, поскольку ИП можно иметь просто на всякий удобный случай и даже «работая на дядю» одновременно, хотя если иметь договоров за год не более 30 тыр — это видимо почти бессмысленно. Административки, если все ИП состоит из тебя одного — практически никакой, 1-3 бумажки в квартал в соотв.органы.
0
Вот пока «на всякий случай» — проблем действительно никаких.
0
Наболело чтоли? :)
ело не в нищебродстве, а в том, что многие просто скупы, как церковные крысы.
Ну, это уже личные проблемы каждого. Жалко, денег, не хотите — никого не заставляю.
Второе, сейчас есть ЛЮБАЯ инфа не отрывая зада от экрана (в т.ч. по SDR, ADC, DSP). Если интересно — почитал месяц/два/три, потупил — и ты уже «спец». Через год ты уже «супер-спец» и гуру.
Инфа то есть, но зачастую размазана так, что реально структурировать и понять ее, а потом поняв реализовать что-то работающее на практике весьма сложно, и на это уйти может не 1 год. Зависит от сложности задачи.
Зачем это ему на будущее, зачем?
Чтобы постучать себя пяткой в грудь, и сказать я могу проектировать электронные системы на мировом уровне. Чем плох ЧСВ? Если этот ЧСВ позволяет тебе делать какие то вещи которые могут реально делать в мире десятки сотни человек от силы? Конечно проще лежать на диване, жрать тупо пиво, смотреть телик — но удел быдла это не моё.

Плюс к тому, китайцы выпустят через год(если уже не выпустили) USB-свисток за $10 с чипом в котором это все есть(QSD смеситель/демодулятор + DDS генератор + НЧ АЦП + MCU).
Реально радио с прямой оцифровкой (любительское)существует примерно с 2007 г., однако пока ни 1 китаец ниасилил. Хотя клонов уже море, но все они по 1 принципу построены и пора сделать разрыв шаблона. А USB свисток от реалтека, это хрень с 8 битным АЦП и ничего общего к радио с реально высокими параметрами не имеет!

Так, что — каждому свое… Впрочем это уже к теме не относится.
+3
Не год — максимум 3 мес. И людей таких не 10-ки/100-ни, а под 10/50 тыс. наверное. И 1 мил., которые это изучали в университете и достаточно хорошо это понимают, кроме что не паяли и не кодировали этого просто за ненадобностью + радиолюбители(от слово РАДИО), которые об SDR уже давно прекрасно осведомлены.

Про этот реалтек чип — через год уже будет 10/12 разрядный. Тут проблемы особой нет. Тем более можно сделать на Cypress PSoC, который и сейчас не дорог и дальше только дешеветь будет.
0
Не год — максимум 3 мес.
Да ну? Трансивер осилишь цифровой? нюню… не более чем треп. Особенно человека который так и не понял разницы прямой оцифровки и обычного SDR.

которые это изучали в университете и достаточно хорошо это понимают
Теория и практика немного разные вещи, толку от знаний которых ты не можешь применить в реальности?
Тем более можно сделать на Cypress PSoC, который и сейчас не дорог и дальше только дешеветь будет.
Может родите нам рабочий пример? я бы с удовольствием посмотрел :) Только с DDC а не очередной поделки со смесителем на логике и оцифровки на НЧ.

Решили потроллить тему? а смысл? Лулзов особых не будет.
0
а не очередной поделки со смесителем на логике и оцифровки на НЧ.
А мне и этого как раз и хватит вполне, если захочу — все готовое есть в сети. Вот только лень…
Я вспомнил, что учась в институте я изучал QAM и какое-то время сам с интересом дополнительно изучал эту тему, но тогда было столько инфы по этому вопросу, ну и с деталями, чипами и платами разумеется.

После Вашей статьи я потупил в инет дня 3-4 с интересом. И «вспомнил все», ну или почти все. Т.е. за 3-4 дня, я (человек весьма посредственного ума) вкурил эту тему до уровня этого мелкого знаточка. Но потом дела, туда-сюда, и интерес что-то резко спал у меня… Вот собственно, так и было.
0
После Вашей статьи я потупил в инет дня 3-4 с интересом. И «вспомнил все», ну или почти все.
Ну, именно что вспомнил. Повторное изучение изученного, но забытого идет гораздо быстрее, чем изучение нового.
0
Что-то в последнее время в Сообществе стало модно учить других «как правильно заниматься хобби». Вот и Вы тут философствуете: как правильно получать от хобби удовольствие, сколько на это тратить денег, как «монетизировать» хобби… К чему все это? Как уже много раз говорили – люли занимаются этим исключительно ради удовольствия, их интересы (как и денежные ресурсы, которые они на это готовы затратить) разные.

Если человеку нравиться экспериментировать с цифровым радиоприемом – какая ему разница, когда китайцы заинтересуются данной тематикой и выпустят что-то подобное. Для заинтересованного человека, зачастую, более интересен процесс создания устройства, чем результат (законченное устройство).
+1
Что-то помнится еще 15/20 лет назад появились модемы V.32/V.34 с QAM (Quadrature Amplitude Modulation) с похожим принципом работы и с такими же низкими требованиями (по современным маркам) к вычислит.ресурсам чипа.
0
Цифровик… Стабилитрон воткни — будет тебе натуральный белый шум за 50 копеек.

Зачем, можно обойтись обычным резистором B)
0
Стабилитрон — классика жанра для генераторов белого шума.
0
Белый шум для дизеринга в чистом виде лучше не применять.
0
Это для аудиофилов — заменяют белый шум на какой-нибудь более ламповый, чтобы меньше раздражал. Но с технической точки зрения честный белый шум с равномерным распределением даст наиболее адекватный результат
0
Ну, речь велась о практической задаче. В приемнике белый шум как раз и будет раздражать. Кому это надо, не понятно…
0
Неверно. В данном случае задача — повышение SNR АЦП при оверсемплинге. После фильтрации и децимации никакого шума дитеринга не останется, во время фильтрации он весь пойдёт на уточнение младших разрядов квантованного сигнала (кстати, запас по разрядности сделан? я не посмотрел) и на выход не попадёт. Уточнение результата АЦП — это чисто техническая задача, там никакой аудиофилии не требуется, а требуется реальная точность.
0
После фильтрации и децимации никакого шума дитеринга не останется, во время фильтрации он весь пойдёт на уточнение младших разрядов квантованного сигнала
Хм. Так не бывает, шум на выходе если он широкополосный все равно будет.
0
Хорошо, скажем так, белый шум — это действенный способ перенести большую часть шума квантования в те области спектра, которые будут отброшены при фильтрации+децимации. У «аудиофильских» шумов другая задача — им некуда перенести погрешность квантования (спектр полезного сигнала равен полосе пропускания аудиосистемы), у них другая задача — перераспределить шум так, чтобы это субъективно лучше звучало в рамках имеющейся полосы. Но нам-то это зачем, если у нас есть возможность перенести побольше погрешности квантования в неслышимые частоты и отфильтровать их? Это будет лучше звучать в итоге.

В идеале — можно перенести весь шум в ВЧ вообще, но это сигма-дельта-модуляция нужна.
0
Не совсем понимаю ваши мысли, про то что шум надо делать вне полосным я говорил в 3 части. Конкретно к моей схеме, делается рандомный ногодрыг, спектр обрезается обычным фильтром и подмешивается на вход.

Зачем там сигма дельта не понял. Да и есть ли смысл, на столько усложнять эту задачу, ради в принципе сомнительных характеристик. Т.к. рассчитать работу дизеринга т.е. насколько это даст положительный эффект весьма проблематично. ИМХО лучше применить АЦП с большей разрядностью и линейностью.
0
Так, нашёл, где я ошибся — рассуждал, как будто шум дитеринга подмешан после гетеродинирования, ха-ха. Естественно, он подмешан до и вместе с сигналом попадает в смеситель. Тут о спектре шума вообще рассуждать не приходится, чтобы получить распределение кроме равномерного (белого), надо генератор для каждого канала перенастраивать.

Но мысль всё-таки поясню — дитеринг позволяет таскать спектр шума погрешности квантования туда-сюда, в этом его смысл (он утаскивает спектральную мощность у гармоник), это называется noise shaping. Благодаря этому его проще фильтровать, если перетащить большую часть энергии шума в неиспользуемую полосу (актульно там, где нельзя просто обрезать гармоники, потому что они, например, находятся в одной полосе с полезным сигналом). Дитеринг в этом не сравнится с сигма-дельтой, которая позволяет перетаскивать шум квантования в самый верх полосы (благодаря чему отфильтровать его вообще детская задача), но сигма дельта это сложно. Я её привёл просто как пример правильного подхода к noise shaping'у.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.