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

 
 
 
Reply to this topicStart new topic
> Реализация двухчастотной модуляции
varvar
сообщение Mar 16 2013, 20:14
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 93
Регистрация: 5-01-05
Из: Оулу
Пользователь №: 1 811



Не знаю, куда и податься с вопросом - в математику - так засмеют.
Цель выглядит просто - нужно передатчик промодулировать сигналом - просто ряд частот, 8 штук. А принимается сигнал на обычную радиостанцию на слух. До сего вечера эти приемники-передатчики даже в руках не держал. А тут вдруг выясняется, что для работы системы шумопонижения/ разделения пользователей сигнал должен быть дополнительно промодулирован низкочастотным CTCSS сигналом - номером канала, частота от 67 до 250 герц. Идея использовать сермяжный таймер как-то сразу испарилась. Надо как-то цифровым методом замешать две частоты - просто смешать два сигнала нельзя, они идут на SI4432 логическим уровнем.

Подскажите, люди добрые sm.gif , слово волшебное, которое погуглить надо, как эти частоты, будь они неладны, замешать?
А если еще бы как-то это на аппаратном уровне 430-го сделать (типа один таймер переключает режим другого) !

Что-то видел какой-то звон с реализацией DTMF - суть та же, но как-то ничего путнего не находится.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 16 2013, 21:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(varvar @ Mar 16 2013, 23:14) *
Что-то видел какой-то звон с реализацией DTMF - суть та же, но как-то ничего путнего не находится.

У Atmel'а есть апп. ноут про "DTMF generator". Там как раз этот самый DTMF генерируется в виде сигнала с ШИМ, который затем подается на ФНЧ (вам-то ФНЧ не нужен):
http://www.atmel.com/Images/doc1982.pdf

А у TI был апп.ноут про FSK modulation/demodulation. Но я не знаю, или он вам подойдет ...
Go to the top of the page
 
+Quote Post
varvar
сообщение Mar 16 2013, 21:40
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 93
Регистрация: 5-01-05
Из: Оулу
Пользователь №: 1 811



Цитата(kovigor @ Mar 17 2013, 00:34) *
У Atmel'а есть апп. ноут про "DTMF generator". Там как раз этот самый DTMF генерируется в виде сигнала с ШИМ, который затем подается на ФНЧ (вам-то ФНЧ не нужен) ...

К сожалению, не совсем то - я бы хотел просто два меандра сложить, ШИМ - слишком высокочастотный для SI4432.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 16 2013, 21:47
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(varvar @ Mar 17 2013, 00:40) *
К сожалению, не совсем то - я бы хотел просто два меандра сложить, ШИМ - слишком высокочастотный для SI4432.

Может, я чего не понимаю, но обычный элемент "Исключающее ИЛИ" даст вам именно сумму без учета переполнения. Если нужен также и бит переполнения, то такая схема будет называться полусумматором. См., например, Титце и Шенка. Кстати, вы уверены, что вам нужна именно сумма (обратите внимание на спектральный состав результирующего сигнала) ?
http://oldskola1.narod.ru/trigF37.htm
Go to the top of the page
 
+Quote Post
ut1wpr
сообщение Mar 16 2013, 22:44
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 98
Регистрация: 20-06-05
Пользователь №: 6 150



Никак не пойму, зачем надо что-то с чем-то складывать? При чем тут DTMF, если упомянут CTCSS? Это же совершенно разные вещи? Что нужно ТС-у? Похоже, он сам не знает. Почитайте для образования:
http://www.sagatelecom.ru/encyclopedia/pro...ID=26&ID=20
Go to the top of the page
 
+Quote Post
varvar
сообщение Mar 17 2013, 05:59
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 93
Регистрация: 5-01-05
Из: Оулу
Пользователь №: 1 811



Цитата(ut1wpr @ Mar 17 2013, 01:44) *
Никак не пойму, зачем надо что-то с чем-то складывать? При чем тут DTMF, если упомянут CTCSS? Это же совершенно разные вещи? Что нужно ТС-у? Похоже, он сам не знает.

Спасибо за ответ.

Вы знаете, я все-таки кое о чем догадываюсь sm.gif

Может, просто плохо изложил. Мое устройство - простейший маячок. Выдает пачку сигналов, 8 тонов, с понижающейся мощностью. Каждый тон - 1...3 секунды. Радиостанция настроена на определение этого самого кода CTCSS. Этот самый CTCSS - это просто низкочастотный сигнал замешанный с полезным, в общем случае это речь, в моем - одночастотный тон. Приемник включает УНЧ, когда обнаруживает свой код CTCSS в сигнале. Ну и теперь при чем тут DTMF - там две частоты замешаны, и я поверх своей частоты хочу замешать CTCSS. Те же две частоты. Соотношение разное. Частота тонов не догма - можно как-то поиграть с ней, чтобы упростить алгоритм.

Понятно, что самый простой выход - отключить CTCSS в радиостанции и все будет работать и так. Но хочется, чтобы все было красиво. И приемник включался когда он обнаружит свою посылку.
В аналоговом виде это выглядит так (не мой случай, просто картинка откуда-то):


Прикрепленное изображение


А вот что сделать, чтобы это работало в чисто цифровом виде - в этом и вопрос. И крайне желательно, чтобы без внешних компонентов - только микропроцессор.

Сообщение отредактировал varvar - Mar 17 2013, 06:18
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 17 2013, 10:44
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Можно попробовать через коррекцию смещения частоты, если это можно делать "на ходу" при передаче. Дискретность там вроде достаточно мала, так что необходимый уровень девиации может быть и удастся получить (я с этими чипами дела не имел, вникать в формулы лениво).
Go to the top of the page
 
+Quote Post
varvar
сообщение Mar 17 2013, 11:18
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 93
Регистрация: 5-01-05
Из: Оулу
Пользователь №: 1 811



Цитата(rx3apf @ Mar 17 2013, 13:44) *
Можно попробовать через коррекцию смещения частоты, если это можно делать "на ходу" при передаче. Дискретность там вроде достаточно мала, так что необходимый уровень девиации может быть и удастся получить (я с этими чипами дела не имел, вникать в формулы лениво).

К сожалению, тут у меня тоже засада, хотя мысль хорошая. Одна и та же нога используется для непосредственной модуляции, и эта же нога данные SPI, которым можно поменять частоту. Либо-либо.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 17 2013, 11:51
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Смешайте их программно, вычисляя для каждой точки нужную девиацию. Не утверждаю, что получится, но попробовать можно.
Go to the top of the page
 
+Quote Post
varvar
сообщение Mar 17 2013, 12:03
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 93
Регистрация: 5-01-05
Из: Оулу
Пользователь №: 1 811



Цитата(rx3apf @ Mar 17 2013, 15:51) *
Смешайте их программно, вычисляя для каждой точки нужную девиацию. Не утверждаю, что получится, но попробовать можно.

это мысль, спасибо, буду ее думать - ведь можно заранее все вычислить повторяющийся кусок, положить в память, а потом DMA все выплевывать в SPI. Если SI4432 поддержит такой тип издевательства (тоже не уверен, все-таки PLL и прочее не рассчитаны на такое).
Go to the top of the page
 
+Quote Post
ut1wpr
сообщение Mar 17 2013, 17:52
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 98
Регистрация: 20-06-05
Пользователь №: 6 150



Цитата(varvar @ Mar 17 2013, 09:59) *
Спасибо за ответ.

Вы знаете, я все-таки кое о чем догадываюсь sm.gif

Может, просто плохо изложил. Мое устройство - простейший маячок. Выдает пачку сигналов, 8 тонов, с понижающейся мощностью. Каждый тон - 1...3 секунды. Радиостанция настроена на определение этого самого кода CTCSS. Этот самый CTCSS - это просто низкочастотный сигнал замешанный с полезным, в общем случае это речь, в моем - одночастотный тон. Приемник включает УНЧ, когда обнаруживает свой код CTCSS в сигнале. Ну и теперь при чем тут DTMF - там две частоты замешаны, и я поверх своей частоты хочу замешать CTCSS. Те же две частоты. Соотношение разное. Частота тонов не догма - можно как-то поиграть с ней, чтобы упростить алгоритм.

Понятно, что самый простой выход - отключить CTCSS в радиостанции и все будет работать и так. Но хочется, чтобы все было красиво. И приемник включался когда он обнаружит свою посылку.
В аналоговом виде это выглядит так (не мой случай, просто картинка откуда-то):


Прикрепленное изображение


А вот что сделать, чтобы это работало в чисто цифровом виде - в этом и вопрос. И крайне желательно, чтобы без внешних компонентов - только микропроцессор.
В простейшем варианте смешивают речевой сигнал с кодовым CTCSS на обычном резистивном сумматоре. Потом результат подают на модулятор. Ваш вариант еще проще. Тон в звуковом диапазоне надо замешать с одной из частот CTCSS. Я правильно понял? Т.е. фактически надо просто сгенерировать два тона одновременно? Я делал подобное с табличной генерацией синусов эмуляцией DDS на МК. Работая одновременно с двумя FTW получал сумму синусов. STM32F100C4T6 - вполне достаточно. Диапазон частот для каждого из сигналов 1 Гц - 20 КГц. Без ухищрений с ассемблером, чистый нативный Си.

Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 17 2013, 18:22
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Проблема в том, что используемый трансивер не имеет аудиовхода. Все только "в цифре".
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 12:56
Рейтинг@Mail.ru


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