|
low-cost приёмник прямого преобразования (27MHz), критика, альтернативы, мозговой штурм |
|
|
|
Nov 16 2009, 20:54
|

Electrical Engineer
     
Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778

|
постановка задачи: создание встраиваемого в аудиооборудование приёмника СиБи диапазона 27МГц (АМ/ЧМ) для интеграции в существующее оборудование приёмник должен обладать неким user API - это касается управления частотой приёма, порогом шумодава, видом модуляции, сканированием по сетке. выходной аудиосигнал скорее всего д.б. цифровым (I2S) PS: приёмник потребительского класса (не для радиолюбителей (тех что с 11-метровыми антеннами) обзор существующих реализаций: что-то как-то после гугления грустно и уныло стало... доморощенные решения на МС3361 и иже с нею.. да и каких-то бородатых годов всё... нетехнологичное в изготовлении и требующее настройки (катушки, контуры, проч) про диапазон этот видимо давно забыли и нету изящных в своей простоте решений стиля si47xx.. как я вижу решение: уж коль скоро надо соблюсть присутствие user API, т.е. будет микроконтроллер и синтезатор, да еще и некая штуковина, переводящая в цифровой формат выходной аудиосигнал, то почему бы не решить задачу напрямик: взять пятибаксовый (в российской рознице) TMS320VC5501-300МГц и реализовать весь функционал на нём: 1) входной LC-контур + однотранзисторный МШУ 2) смеситель 3) ФНЧ (тут вопросов больше всего) + АЦП (например, TLV320AIC23B) 4) TMS320VC5501 в качестве демодулятора/постобкатчика сигнала, он же - программный DDS для смесителя =================================== программный DDS, как я себе его вижу: для сигнала в 30МГц нужна как минимум в 4 раза большая тактовая (120МГц) DSP работает максимум на 300МГц, конечно на GPIO он её врядли выдаёт (к сожалению, в документации (Table 5−23. GPIO Pins Configured as Outputs Switching Characteristics) приведена только задержка между клоком и появлению сигнала на выходе: 0...8нс - ну, в общем-то, на 120МГц, как минимум сможет пахать) на GPIO через DMA выводим сами значения для DDS, рассчитанные на лету для конкретной частоты приёма т.е. имея таблицу значений синуса 0...2pi и возможность "немного подвигать" частоту приёма, подбираем такую частоту, чтобы в неё уложить минимальное число целых периодов, которые и будем выводить на GPIO. предварительно записав в DMA число семплов (в которые умещается целое число периодов) для данной конкретной частоты приёма. подключив к ножкам DSP "прецизионные" резистора получаем подобие ЦАПа, после него ФНЧ и на смеситель.. конечно хотелось бы до сборки макета понять какую картинку на спектроанализаторе можно увидеть (фазовые шумы, вносимые PLL процессора и разбросом времени переключения GPIO и значительной нелинейностью характеристики "ЦАП"), и вынести вердикт - годен/не_годен данный способ для приёма узкополосного сигнала.. ну и вопросы конечно по фильтру (фактически - основной селекции) перед АЦП: в целом, как я понимаю, именно он вносит основной вклад в избирательность по соседнему каналу, но, хотелось бы сэкономить и тут, использовав внутренний ФНЧ в TLV320AIC23B, пропорционально снизив частоту её тактирования (думаю фильтры на переключаемых конденсаторах меня поймут..) - в даташите на неё довольно красивые картинки для этого ФНЧ + для неё заявлен достаточно хороший динамический диапазон - хоть у неё и есть возможность управлять усилением, всёже хотелось не охватывать её петлёй АРУ.. (хотя, на худой конец, зная качество самого СиБи сигнала, сгодится и такое управление усилением через саму TLV320AIC23B) __________________________________ ваши ставки, господа-инженеры: будет этот плод изобретательного ума принимать (и понимать) человеческую речь СиБи -диапазона?
|
|
|
|
|
 |
Ответов
|
Nov 18 2009, 15:04
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Внесу свои 5 пенсов критики и предложений.
1) Программный DDS на 120 МГц это круто, но проц не потянет программно и физически. Каждые 2-3 МЦ надо выдавать значение, а там минимальный бранч 3 МЦ. Даже если успеет, каким-то чудом, будет занят только этим, кто сигнал будет обрабатывать, Пушкин (:-)?
2) Тексасы, кстати, очень интересно представляют спеки на свои чипы. Информацию дают, но так закамуфлируют, что без поллитра не разберёшься. Задержку дают на тогл вывода - 8 нс макс, значит мин. период 16 нс, но поди, догадайся. Но даже это много. Для F2812 - 20 МГц, для F2808 - 25 МГц, а они из более молодого поколения. Для С5402 я программно выдавал 20 МГц, больше не получалось, там команда перехода 4 МЦ.
3) ЦАП на резисторах на 120 МГц, ну, даже не смешно...
4) TLV320AIC23B немного избыточна, ровно в 2 раза, ну только если есть под рукой, да и вроде старовата, нет? Альтернатив много, посмотрите на AD73311, одноканальный кодек, АЦП и ЦАП 16-битные, легко подключается к McBSP. Я его выковырял из цифрового ф/а кодак. Есть AD73322, двухканальный кодек.
Критика закончилась, теперь предложения.
5) Приёмник прямого преобразования хорошая штука, много преимуществ, есть книга В.Полякова, и сам он присутствует на про-радио, всегда можно проконсультироваться. Для цифры нужны квадратуры, увы. Структура может быть такая, входной СБ-фильтр, мшу, два буфера, два смесителя на встречных диодах, два гетеродина, два фильтра, два УНЧ, два АЦП. Для такой схемы нужны квадратурные гетеродины на Fвх/2, т.е. на 15 МГц, что радует. Но два.
6) Можно обойтись одним генератором, скажем, меандр на 60 МГц, поделить на 4 и выделить квадратуры. Можно поставить внешний железный DDS, хотя возможно, будет дороже для бюджета. Можно поставить VCO и управлять напрямую от проца, с помощью ШИМа. Проц будет подстраивать, если надо. Вариантов масса, выбирайте.
7) Теперь НЧ-фильтры. Должны выполнять сразу 2 функции, антиалиасинг, и селекция соседних каналов. Предлагаю выбрать макс.частоту дискретизации, 96 кГц, и оставить функцию антиалиасинга, а основную фильтрацию делать программно. Как правило, для антиалиасинга надо подавить все частоты выше 48 кГц до уровня меньшего одного LSB АЦП, т.е. на 90 дБ, тут у вас полный карт-блаш, поскольку переходная полоса широкая 4-48 кГц, сделать железный или активный фильтр можно. Ну а с основной фильтрацией проц справится одной левой.
Это вам только наметки, надо аккуратно считать и принимать во внимание все подводные камни. Ну и спецы своё слово скажут, надеюсь.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Nov 24 2009, 07:42
|

Electrical Engineer
     
Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778

|
Цитата(=GM= @ Nov 18 2009, 18:04)  1) Программный DDS на 120 МГц это круто, но проц не потянет программно и физически. Каждые 2-3 МЦ надо выдавать значение, а там минимальный бранч 3 МЦ. Даже если успеет, каким-то чудом, будет занят только этим, кто сигнал будет обрабатывать, Пушкин (:-)? да нет.. тут как раз всё гладко, конкретный алгоритм я описал в начальном посте - данные на GPIO будет гнать контроллер DMA, из "налету посчитанной таблицы" для конкретной частоты приёма Цитата(=GM= @ Nov 18 2009, 18:04)  5) Приёмник прямого преобразования хорошая штука, много преимуществ, есть книга В.Полякова, и сам он присутствует на про-радио, всегда можно проконсультироваться. Для цифры нужны квадратуры, увы. Структура может быть такая, входной СБ-фильтр, мшу, два буфера, два смесителя на встречных диодах, два гетеродина, два фильтра, два УНЧ, два АЦП. Для такой схемы нужны квадратурные гетеродины на Fвх/2, т.е. на 15 МГц, что радует. Но два. уже что-то... требования к частоте телепания ножек GPIO уже падают в два раза =) Цитата(=GM= @ Nov 18 2009, 18:04)  6) Можно обойтись одним генератором, скажем, меандр на 60 МГц, поделить на 4 и выделить квадратуры. Можно поставить внешний железный DDS, хотя возможно, будет дороже для бюджета. Можно поставить VCO и управлять напрямую от проца, с помощью ШИМа. Проц будет подстраивать, если надо. Вариантов масса, выбирайте. если рулить внешним ГУНом от процессора, то на процессор надо каким-то образом завести измерение частоты ГУНа, использовать таймер как счётчик импульсов за какой-то период времени и вычислять частоту? Цитата(=GM= @ Nov 18 2009, 18:04)  7) Теперь НЧ-фильтры. Должны выполнять сразу 2 функции, антиалиасинг, и селекция соседних каналов. Предлагаю выбрать макс.частоту дискретизации, 96 кГц, и оставить функцию антиалиасинга, а основную фильтрацию делать программно. Как правило, для антиалиасинга надо подавить все частоты выше 48 кГц до уровня меньшего одного LSB АЦП, т.е. на 90 дБ, тут у вас полный карт-блаш, поскольку переходная полоса широкая 4-48 кГц, сделать железный или активный фильтр можно. Ну а с основной фильтрацией проц справится одной левой. тут во мне борятся скряга и рационализатор: хочется пропорциональным снижением частоты тактирования кодека понизить и частоту дискретизации, чтобы Fсреза встроенных ФНЧ на переключаемых конденсаторах тоже понизилась - т.о. возложить на этот фильтр фильтрацию соседнего канала (не хотелось бы переносить это в программную часть, был опыт работы с приёмом узкополосных сигналов - в связи с этих хотелось бы отрезать "соседей" до АЦП).. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++Цитата(sup-sup @ Nov 21 2009, 20:49)  DSP потребляет 200 мА + обвес. Как автономный приемник - не годится. Лучше взять DE1102 или сделать SDR для ноута. задачи уложиться в какое-то ограниченное потребление не стоит - приёмник будет запитан от бортовой сети.. и потом - посмотрел я этот DE1102 - к готовому потребительскому изделию сложно будет прикрутить свой "API" управления и снять с него аудиосигнал в цифровом виде.. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++Цитата(alexkok @ Nov 19 2009, 10:43)  Это приемник с "прямым" цифровым преобразованием. Фактически это слегка модифицированный SDR. На входе пара каскадов УВЧ, затем дешёвый АЦП, например ADC10065 (4уе), предложенный процессор (5уе) и синтезатор ADF4360-9 (3уе). Отличие от обычного SDR в том, что частота дискретизации Fs переменная и равна Fs = 4 / (1 + 2*N) * Fsign Частоту выбирать с учетом зеркальных каналов АЦП. Эта же частота идет на процессор для полной синхронности. При таком соотношении программный преобразователь частоты упрощается до предела, DDS внутри процессора не нужен и даже более слабый ДСП должен справиться. надо признать идея действительно (по кр.мере - для меня) оригинальная.. но..... 1) тут опять же непонятно что из 3кГц-полосы уцелеет после АЦП (в этой идее ведь по самому принципу "переноса в ноль" мы должны подавать на АЦП мегагерц спектра, и я так понимаю ДД не тот для таких соотношений полос) 2) переменная частота дискретизации когда дело касается практики может стать источником неожиданных сюрпризов, например если на небольшой pitch-shift (в пределах 1/30части), если не предпринимать никаких доп. мер по передискретизации, можно закрыть глаза - разборчивость речи будет сохранена, то, например PLL процессора может плохо отнестись к подобному изменению "на лету" источника его тактовой частоты... +++++++++++++++++++++++++++++++++++++++++++++++++++++++++Цитата(VladimirB @ Nov 22 2009, 21:49)  Полоса я так понимаю узкая, поэтому АЦП не обязательно на 120МГц, можно и 10-20МГц взять, лишь бы выделенный аналоговым фильтром входной диапазон в окрестности 27МГц попадал во входую полосу АЦП и не попадал на границу зон Найквиста. да вот как раз-таки, поскольку полоса узкая, есть опасения по практическому функционированию такого приёма: всёже селективность - это ахиллесова пята приёмников с прямым преобразованием (с оговоркою), а 27МГц - увы, достаточно загаженный диапазон, чтобы можно было уповать на то, что на соседнем канале не будет присутствовать сигнал на несколько порядков сильнее основного....... Цитата(VladimirB @ Nov 22 2009, 21:49)  А собственно цифровую часть можно сделать на маленькой ПЛИСке типа Spartan3 XC3S50A или XC3S200A в корпусе tqfp100. Тогда в ПЛИС можно реализовать DDS, квадртурный демодулятор и детектор (выделяющий из синфазной и квадратурной компонет звуковой сигнал), а также любой интерфейс управления и передачи данных. По сравнению с готовыми SDR от АналоговыхДевиц такое решение получается более гибкое и можно реализовать любой тип модуляции.
Полоса сигнала маленькая, поэтому умножителей потребуется немного (2 умножителя на двухканальный ФНЧ после квадратурника и 1 на детектор на Cordic). я по такой схеме когда-то хотел построить приёмник для DRM.. (но у работы приоритет оказался выше, чем у хобби) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++Цитата(ledum @ Nov 22 2009, 20:09)  Все-таки, может, оптимальнее старый вариант с двумя преобразованиями на NE602 (в 10.7МГц) и TDA1572T с выходом по 12 ножке (без Т - 10-я ножка, но она, ИМХО, снята с производства), далее 455 кГц на АЦП. Стандартные частоты, стандартные керамические/кварцевые фильтры, простой входной фильтр. NE-шка децибелл 70 динам диапазона может и вытянет. NE602 - это я так понимаю аналог SA602 от филипса? посмотрел TDA1572T - что-то какие-то совсем дремучие микросхемы... мало того что керам.фильтры появляются, так еще ВОМ раздувается всякими стабилизаторами на 8,5В (утрирую, конечно, но мне кажется этот вариант годится только если уж совсем иначе "никак"..) и я так понимаю ничего современнее в элем. базе для работы с узкой полосой (AD9864 не для узкой и слишком уж "наворочен" и "некопеечен") с тех самых пор, увы, не появилось....... +++++++++++++++++++++++++++++++++++++++++++++++++++++++++to DRUID3идеи высказаны интересные - беру некоторое время на изучение и осмысление.. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--------------------
|
|
|
|
|
Nov 24 2009, 17:58
|
Знающий
   
Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837

|
Цитата(Doka @ Nov 24 2009, 10:42)  надо признать идея действительно (по кр.мере - для меня) оригинальная.. Я уже писал, что для выбранного процессора такие извращения не нужны, он и обычный SDR потянет. Цитата но..... 1) тут опять же непонятно что из 3кГц-полосы уцелеет после АЦП (в этой идее ведь по самому принципу "переноса в ноль" мы должны подавать на АЦП мегагерц спектра, и я так понимаю ДД не тот для таких соотношений полос) Не думаю, что у CB радиостанций ДД выше. И потом всяких ДД полно, надо уточнять какой имеется ввиду. Цитата 2) переменная частота дискретизации когда дело касается практики может стать источником неожиданных сюрпризов, например если на небольшой pitch-shift (в пределах 1/30части), если не предпринимать никаких доп. мер по передискретизации, можно закрыть глаза - разборчивость речи будет сохранена, Не понял. Вроде не должно никак влиять. PS: дошло, это вполне можно поправить поскольку процессор знает текущую частоту и может подправить выходную. С дополнительными затратами времени конечно. Цитата то, например PLL процессора может плохо отнестись к подобному изменению "на лету" источника его тактовой частоты... Изменять можно плавно, мелкими шагами, чтобы ФАПЧ синхронизацию не потеряла, но проверить конечно надо.
Сообщение отредактировал alexkok - Nov 24 2009, 18:31
--------------------
|
|
|
|
Сообщений в этой теме
Doka low-cost приёмник прямого преобразования (27MHz) Nov 16 2009, 20:54 ledum А как Вы относитесь к такому http://www.analog.com... Nov 16 2009, 21:18 alex_os Цитата(ledum @ Nov 17 2009, 00:18) А как ... Nov 19 2009, 06:31  alexkok Похоже топикстартер уже похоронил свою идею.
Не ув... Nov 19 2009, 07:43 Doka 1) квадратуры не требуются (принимать такой изврат... Nov 16 2009, 21:29 proxi Цитатапринимать такой изврат как SSB в планы не вх... Nov 22 2009, 12:51  ledum Цитата(proxi @ Nov 22 2009, 16:51) все же... Nov 22 2009, 17:09   =GM= Слушайте, откуда зеркальный канал возьмётся для АМ... Nov 22 2009, 17:20   DRUID3 Цитата(ledum @ Nov 22 2009, 19:09) (это н... Nov 22 2009, 17:38 V_G Интересная задумка, как сделаете, отпишитесь про д... Nov 16 2009, 23:35 proxi вообще то прямое преобразование подразумевает нуле... Nov 17 2009, 00:14 Doka proxi
ну так я как раз и сношу в ноль. и в качеств... Nov 17 2009, 06:49 proxi Цитата(Doka @ Nov 17 2009, 08:49) proxi
н... Nov 17 2009, 11:38 Rst7 Цитата1) квадратуры не требуются (принимать такой ... Nov 17 2009, 06:53 ledum О квадратурах я писал именно для того, чтобы задав... Nov 17 2009, 09:14 alexkok Цитата(Doka @ Nov 16 2009, 23:54) ваши ст... Nov 17 2009, 20:42 Doka Цитата(alexkok @ Nov 17 2009, 23:42) Вы с... Nov 19 2009, 10:53 DRUID3 Цитата(Doka @ Nov 16 2009, 23:29) 1) квад... Nov 21 2009, 08:39  alexkok Цитата(DRUID3 @ Nov 21 2009, 11:39) По су... Nov 22 2009, 06:31   DRUID3 Цитата(alexkok @ Nov 22 2009, 08:31) Вам ... Nov 22 2009, 11:32    alexkok Цитата(DRUID3 @ Nov 22 2009, 15:32) ??? Э... Nov 22 2009, 21:51     ledum Цитата(alexkok @ Nov 23 2009, 00:51) Счит... Nov 23 2009, 07:57      =GM= 0FF>>2. druid этот, целые портянки шлёт, всё... Nov 23 2009, 11:43      alexkok Цитата(ledum @ Nov 23 2009, 10:57) Соглас... Nov 23 2009, 17:44  alex_os Про программный DDS
Цитата(Doka @ Nov 24 2009... Nov 24 2009, 20:03   DRUID3 Цитата(alex_os @ Nov 24 2009, 22:03) Про ... Nov 24 2009, 20:11    alex_os Цитата(DRUID3 @ Nov 24 2009, 23:11) Да по... Nov 24 2009, 20:30     Doka Цитата(alex_os @ Nov 24 2009, 23:30) Я та... Nov 25 2009, 07:12 uriy Цитата4) TLV320AIC23B немного избыточна, ровно в 2... Nov 19 2009, 05:18 sup-sup Цитата(Doka @ Nov 17 2009, 00:54) 1) вход... Nov 21 2009, 17:49 ledum Черт, я тоже по привычке думаю о SSB . Но с необхо... Nov 22 2009, 18:11 VladimirB Цитата(Doka @ Nov 16 2009, 23:54) постано... Nov 22 2009, 18:49 proxi ЦитатаДа нет же!!! SSB нельзя синхронн... Nov 22 2009, 19:14 DRUID3 Цитата(proxi @ Nov 22 2009, 21:14) ...
Ер... Nov 22 2009, 19:34 proxi так вопрос остался, чем детектируют SSB как не син... Nov 22 2009, 20:31 DRUID3 2=GM=:
Я же привел название книги, страницы и даж... Nov 23 2009, 13:25 =GM= Цитата(DRUID3 @ Nov 23 2009, 13:25) 2=GM=... Nov 23 2009, 15:41  DRUID3 Цитата(=GM= @ Nov 23 2009, 17:41) друид, ... Nov 23 2009, 16:59 alexkok Цитата(DRUID3 @ Nov 23 2009, 16:25) Ха...... Nov 23 2009, 18:05  alexkok Цитата(alexkok @ Nov 23 2009, 22:05) Не о... Nov 23 2009, 20:40 proxi друидам друидово
ЦитатаАсинхронным сдвигом спектра... Nov 23 2009, 17:52 DRUID3 Цитата(proxi @ Nov 23 2009, 19:52) Цитата... Nov 23 2009, 18:06  ledum Цитата(DRUID3 @ Nov 23 2009, 22:06) Перес... Nov 24 2009, 07:47 DRUID3 Пока как повод для размышлений.
Нашел великолепны... Nov 24 2009, 16:05 proxi Цитата(DRUID3 @ Nov 24 2009, 18:05) Пока ... Nov 24 2009, 20:37  DRUID3 Цитата(proxi @ Nov 24 2009, 22:37) bla-bl... Nov 24 2009, 20:43   proxi Цитата(DRUID3 @ Nov 24 2009, 22:43) А по-... Nov 24 2009, 21:10    DRUID3 Цитата(proxi @ Nov 24 2009, 23:10) синхро... Nov 24 2009, 21:23 Doka всёже хотелось бы вернуться к теме темы...
(а т... Nov 24 2009, 19:37 ledum Цитата(Doka @ Nov 24 2009, 23:37) всёже х... Nov 25 2009, 09:06 RadioJunior Здраствуйте!
Возможно не очень в тему вопрос. ... Nov 26 2009, 09:14 DRUID3 Цитата(RadioJunior @ Nov 26 2009, 11:14) ... Dec 21 2009, 04:32 Doka пока что пришёл к выводу, что один из вариантов по... Dec 24 2009, 18:38
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|