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

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


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)

__________________________________
ваши ставки, господа-инженеры: будет этот плод изобретательного ума принимать (и понимать) человеческую речь СиБи -диапазона?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
=GM=
сообщение Nov 18 2009, 15:04
Сообщение #2


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 кГц, сделать железный или активный фильтр можно. Ну а с основной фильтрацией проц справится одной левой.

Это вам только наметки, надо аккуратно считать и принимать во внимание все подводные камни. Ну и спецы своё слово скажут, надеюсь.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Doka
сообщение Nov 24 2009, 07:42
Сообщение #3


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

идеи высказаны интересные - беру некоторое время на изучение и осмысление..


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
alexkok
сообщение Nov 24 2009, 17:58
Сообщение #4


Знающий
****

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


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:42
Рейтинг@Mail.ru


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