-
27.02.2008, 11:49 #1
- Регистрация
- 21.01.2007
- Адрес
- Москва
- Возраст
- 71
- Сообщений
- 812
- Поблагодарили
- 56
- Поблагодарил
- 11
Прямой синтез SSB на DDS
Я не являюсь специалистом по DSP, поэтому обращаюсь ко всем за советом и помощью. Недавно я реализовал программно-управляемую звуковую АМ и ЧМ на DDS синтезаторе AD9952YSVZ. Результаты вполне обнадеживающие. При прослушивании на контрольном приемнике сигнал (звук, речь) ни чем не отличается от такого же, но идущего от обычных фирменных трансиверов КВ и УКВ. Если получается с этими видами модуляции, то здесь всего один шаг до получения SSB сигнала прямо на рабочей частоте, сформированного непосредственно на выходе чипа, без фильтров и смесителей, в диапазоне перестройки от нуля до, примерно, 400 МГц (для нового DDS AD9912) Встает задача выработки управляющего сигнала для цифровой модуляции амплитуды, частоты и фазы ВЧ сигнала синтезатора в соответствии с мгновенными значениями этих параметров исходного НЧ напряжения. ВОПРОС: Кто может помочь с разработкой такого DSP? Или хотя бы помочь советом. Надеюсь, что эта тема будет интересно не только мне.
73. Сергей (RX3AKT)
-
27.02.2008, 15:12 #2
Разрешите предложение?
Есть способ формирования SSB-сигнала на высокой частоте, при котором используется знание мгновенной амплитуды и мгновенной частоты звукового сигнала. В случае использования DDS значения этой мгновенной амплитуды и и мгновенной частоты вводятся напрямую в его регистры.
Как получить эти значения? Например, перенести звуковой сигнал на вспомогательную ПЧ, а затем пропустить через амплитудный и частотный детекторы. Но это в передатчике на аналоговых элементах. Нечто подобное используется в американском запатентованном передатчике (Polar loop transmitter, патент N 4618999).
DSP-процессор позволяет достаточно простым способом выделить их из входного сигнала (низкочастотного или перенесенного на вспомогательную ПЧ), представленного в виде сдвинутых на 90 градусов сигналов, I и Q. При этом мгновенная амплитуда A=корень(I*I+Q*Q), а мгновенная частота F=Ф2-Ф1, где Ф1 и Ф2 - фазы сигнала в "соседние" моменты времени (определяемые частотой дискретизации). Здесь Ф=арктангенс(I/Q).
Осталось получить эти самые I и Q, которые затем будут подаваться на вычислитель мгновенной частоты и мгновенной амплитуды. Для этого можно воспользоваться преобразователем Гильберта для получения сдвинутого на 90 градусов звукового сигнала, или же перемножить этот звуковой сигнал на сигналы гетеродина с частотой 1.5 кГц, сдвинутые на 90 градусов. Разумеется, и тот и другой способ реализуется программно.
Осталось ввести звук с микрофона через АЦП.
Естественно, квадратный корень и арктангенс не обязательно вычислять "в лоб" - нужно экономить ресурсы процессора. Возможно, все это даже получится сделать на простеньком микроконтроллере.
А может быть, есть и другие, более простые способы.
-
27.02.2008, 15:47 #3
- Регистрация
- 30.09.2007
- Сообщений
- 211
- Поблагодарили
- 61
- Поблагодарил
- 5
Ну если вы любите решения от Аналоговых девайсов, то может эта статья вам в чём-то поможет. Благо нет необходимости с программированием DSP заморачиваться.
http://www.analog.com.ru/Public/DDS.pdf
-
27.02.2008, 20:46 #4
- Регистрация
- 17.12.2005
- Адрес
- Москва
- Возраст
- 79
- Сообщений
- 406
- Поблагодарили
- 59
- Поблагодарил
- 5
RX3AKT, ещё один способ формирования SSB на рабочей частоте требует от генератора не одного, а два выхода рабочей частоты, сдвинутых на 90 градусов (или учетверённой рабочей частоты из которой формируются эти выходы) которые модулируются отдельно (если опустить несложную математику) комбинацией коэффициентов разложения Фурье, и суммируются - требует меньших вычислительных ресурсов и вполне могут быть выполнены на ПК с выходом модулирующих сигналов через звуковую карту.
Если Вы заинтересуетесь этим методом, могу сделать программку.
-
01.03.2008, 14:49 #5
- Регистрация
- 21.01.2007
- Адрес
- Москва
- Возраст
- 71
- Сообщений
- 812
- Поблагодарили
- 56
- Поблагодарил
- 11
Спасибо всем, кто откликнулся. Но, по порядку...
В этом, давно известном файле говорится СОВЕРШЕННО НЕ О ТОМ, о чем в этой теме. Здесь поднимается вопрос формирования SSB речевого сигнала, который всем нам, радиолюбителям-эфирникам, хорошо знаком. В упомянутой статье говорится о способе переноса сигнала с выхода DDS на более высокие частоты, на которых этот DDS работать не способен. Нам же сперва хотя бы на мегагерце сформировать ЗВУКОВУЮ SSB.
Спасибо за предложение помощи. Подробности можно обсудить, например по телефону. Помимо всего данная задача просто очень любопытна для экспериментальной реализации. Это и привлекает… Для более ПОЛНОГО ПОНИМАНИЯ ЗАДАЧИ я повторю суть идеи: Необходим "ЧЕРНЫЙ ЯЩИК" на вход которого подается аналоговый НЧ сигнал, например от микрофона, а на выходе должны получить ДВА высокоскоростных цифровых потока, которые несут информацию о мгновенном (за малый период времени) значении частоты и амплитуде входного НЧ сигнала. Первый поток управляет частотой синтезатора, смещая ее вверх (USB) или вниз (LSB) относительно некоторой виртуальной константы - подавленной несущей. Второй поток управляет амплитудой на выходе чипа DDS. По мнению В.Т. Полякова (RA3AAE) фазовой составляющей можно пренебречь. Объединение обоих потоков в единый управляющий для интерфейса с чипом DDS – дело техники. Таким образом, можно получить однополосный сигнал, исходящий непосредственно с ножки микросхемы синтезатора, без дополнительных промежуточных I и Q сигналов, требующих применения, как минимум, дополнительных смесителей. Конечно, в качестве ЧЕРНОГО ЯЩИКА необходимо использовать DSP. Конкретный тип DSP, алгоритм и принцип его программы – это другой вопрос. Здесь, я думаю, о таких специфических вещах говорить не стоит…
Проверить качество сформированного таким способом сигнала ОЧЕНЬ ПРОСТО. Достаточно взять упомянутую виртуальную несущую равной НУЛЮ. При этом синтезатор сформирует сигнал непосредственно на исходной НИЗКОЙ ЧАСТОТЕ и, прослушав его через динамик можно на слух определить получившееся качество. Для DDS, как принципа, совершенно безразлично на какой частоте формировать сигнал - на высокой или низкой. Микросхема справится с задачей в обоих случаях одинаково...
Кто поможет в создании ЧЕРНОГО ЯЩИКА (ЧЯ) - быстрого спектроанализатора? Вопросы, связанные с DDS и интерфейсом с ЧЯ, я беру на себя.Последний раз редактировалось RX3AKT; 02.03.2008 в 16:17.
73. Сергей (RX3AKT)
-
02.03.2008, 23:27 #6
- Регистрация
- 17.12.2005
- Адрес
- Москва
- Возраст
- 79
- Сообщений
- 406
- Поблагодарили
- 59
- Поблагодарил
- 5
Сергей, ещё один метод получения мгновенных значений частоты и амплитуды, как нельзя более подходящий для Вашей цели: основан на том, что через три точки можно провести только одну синусоиду. Формулы в картинке.
N-1, N0, N+1 три подряд значения звука;
t- время (сек) между двумя значениями (обратно-пропорционально частоте дискретизации);
фи - мгновенная фаза;
А-мгновенная амплитуда;
F-мгновенная частота.
Как и всем дискретным вычислениям, методу присуще уменьшение точности при малых значениях сигнала, поэтому в этих случаях и при нулевых знаменателях надо переходить на вычисления по производным. Предлагаемые формулы проверил в Excel (200 кБ), при желании могу выслать.
-
02.03.2008, 23:55 #7
- Регистрация
- 21.01.2007
- Адрес
- Москва
- Возраст
- 71
- Сообщений
- 812
- Поблагодарили
- 56
- Поблагодарил
- 11
Леонид! Идея для меня новая и очень оригинальная. Я так понимаю, что это задача не совсем для DSP. Здесь нужен ADUC (АЦП) и хороший скоростной микропроцессор. Правда алгоритм я пока себе не представляю, но со временем, после размышлений, может быть все придет. Еще, кажется, что через три отсчета амплитуды можно "проложить" зачастую неполный период синусоиды. Или это не так? Или речь идет о полупериоде, а не периоде? Я на бумажке порисовл тут и пока не "въехал" слегка.
PS: Посмотрел на формулы - кажется речь идет о периоде с некоей начальной фазой. Но, что с "хвостиком" конца периода после третьей точки? Выходит, что фазовая составляющая тоже нужна. Тогда где для нее формула? Или фазу все же игнорировать.
И как, вобще, сама идея?
PPS: Денис! Огромное спасибо за НАПРАВЛЕНИЕ размышлений в нужное русло. Думаю, что мысль о прямом синтезе SSB с помощью DDS уже пришла еще кому то в голову кроме меня. Если встречали такие разговоры в нете, то ссылочку плыз...Последний раз редактировалось RX3AKT; 03.03.2008 в 00:28.
73. Сергей (RX3AKT)
-
03.03.2008, 00:53 #8
- Регистрация
- 17.12.2005
- Адрес
- Москва
- Возраст
- 79
- Сообщений
- 406
- Поблагодарили
- 59
- Поблагодарил
- 5
Сергей , синусоида отображается формулой: F(x)=A*sin(6.28*F*x+фи), где всего три параметра Амплитуда, Частота и Фаза, поэтому через три точки можно провести синусоиду и причём только одну из первого квадранта :-)
Посмотрите на приложенные результирующие формулы, они крайне просты для вычислений, результат выдаётся с задержкой не более двух периодов дискретизации и в виде двух потоков цифровых данных - мгновенных амплитуды и частоты. Имеются всегодва циклических вычисления - корень квадратный (он быстро сходится) и арккосинус, причём его можно заменить таблицей заранее вычисленных значений, например через 0,01 градуса, всего 9000 значений.
Если для Вашей цели использовать преобразования Фурье, или Гильберта - они работают на массивах, соответственно нужны входной и выходной буферы - появляется задержка между входом и выходом, бесчисленные сложения-умножения, т. е. требуют гораздо большего быстродействия и объёма памяти.
Полагаю, что внимательно посмотря на приложенные формулы, Вы и сами придёте к такому выводу.Последний раз редактировалось Леонид3; 03.03.2008 в 09:18.
-
03.03.2008, 02:29 #9
Сергей, спасибо.
К сожалению, я не встречал конструкций, где у обычного DDS изменяется амплитуда и частота для получения SSB. Возможно, причины этого - в скрытых проблемах, которые обнаруживаются, если взглянуть на задачу поближе. Например, сложность может быть в чрезмерно высоком уровне побочных сигналов, возникающих из-за изменения частоты/фазы не непрерывно, а дискретно (при управлении DDS-ом от микроконтроллера).
Например, в итальянском передатчике - http://www.microtelecom.it/digimit/index.htm - изменение частоты и фазы происходит с частотой тактового генератора DDS-а.
-
03.03.2008, 09:18 #10
- Регистрация
- 21.01.2007
- Адрес
- Москва
- Возраст
- 71
- Сообщений
- 812
- Поблагодарили
- 56
- Поблагодарил
- 11
Да, Леонид! Все понятно! До меня доходит обычно на третий день Первый день - "ничего не понимаю". Второй день - "дай ка попробую". Третий день - "Как все просто!". Главное - было бы время. А то мои домашние производственные проблемы с синтезатором уже немного задолбали. Скоро прекращу производство (к осени) и переключусь на другое...
Я уже писал, что у меня ЖИВЬЕМ работает ЧМ и АМ со звуком. Оцифратор на AVR-ке ATtiny26 - десятиразрядный с Fквант.~22KHz). Он же и чипом DDS (AD9952YSVZ) управляет через SPI (примерно 15 м-бит/c). Вобщем - все "поет и пляшет" на слух вполне нормально. И тут появляется некая уверенность в успехе с SSB. Хотя подход несколько другой, более сложный. Вобщем, время покажет что к чему. Если кто то опередит меня, то только буду рад этому. А, может быть, мы, как всегда, ВПЕРЕДИ ПЛАНЕТЫ ВСЕЙ, но "в единственном и неповторимом экземпляре" по причине ненужности ни кому этого "экземпляра" )
Денис! Мне не понятно, как такое может быть? Если даже использовать старые чипы AD98хх с параллельной загрузкой, то и там для вступления в действие очередного воздействия должно пройти несколько циклов. Да и циклы по длительности гораздо длиннее периода тактового генератора самого DDS (100...300 МГц). А в AD99хх (кроме AD9910) только последовательный интерфейс с макс. скоростью 25 м-бит/c, да и "засунуть" надо не один десяток этих битов...
Грязи при прямом синтезе на DDS ожидается конечно больше, чем при традиционных методах формирования, но прелесть всей проблемы может все перевесить. Например формирование сигнала SSB прямо на 400-х мегагерцах - "сладкая" задачка! (На AD9912)
PS: Молодцы ребята! Творят же люди на программируемой логике! На счет скорости - у них там только оцифровка AF идет на макс. скорости 6 м-сэмплов/c, а управление на гораздо меньшей скорости... Синтезатор комбинированый DDS-PLL. Наверняка лезут в петлю, а не в управление DDS, как мы хотим, хотя - кто их знает! DDS у них не AD-шный...Последний раз редактировалось RX3AKT; 03.03.2008 в 09:44.
73. Сергей (RX3AKT)
-
03.03.2008, 16:29 #11
- Регистрация
- 21.01.2007
- Адрес
- Москва
- Возраст
- 71
- Сообщений
- 812
- Поблагодарили
- 56
- Поблагодарил
- 11
Может кому интересно будет. Встретимся...
Получил письмо прямо по теме...
РНТОРЭС им. А.С.Попова, Институт Проблем Управления РАН и компания АВТЭКС
приглашают Вас посетить юбилейную конференцию "Цифровая обработка сигналов и ее применение".
Место проведения: г.Москва,ул.Профсоюзная,65,ИПУ РАН.
Время проведения: 26-28 Марта 2008 г.
Вход свободный.
В рамках конференции проводится выставка.
Для желающих участвовать со стендом информация на сайте
www.autex.ru
----------------------------
По всем вопросам обращайтесь
Хмелевая Ольга
olgah@autex.ru
--
С уважением,
Оргкомитет DSPA-2008
т.: (495) 334-77-41, 334-91-51 http://www.autex.ru
ф. (495) 234-99-91, 334-87-29 e-mail: info@autex-dsp.ru73. Сергей (RX3AKT)
-
03.03.2008, 16:52 #12
- Регистрация
- 14.02.2005
- Адрес
- Санкт-Петербург
- Возраст
- 60
- Сообщений
- 484
- Поблагодарили
- 43
- Поблагодарил
- 11
Сергей, в показанном по ссылке устройстве нет "петли". ЦАП сразу формирует сигнал. Перенос спектра на рабочую частоту, DDS, - все сделано внутри программируемого чипа аппаратно. Это устройство - развитие ранее опубликованного тем же автором 9-МГц формирователя SSB (с промежуточной частотой 1.5 кГц и так далее).
A 9 MHz Digital SSB Modulator
Хотя сразу скажу - я не смог разобраться с этих 8 с лишним мегабайтах исходников проекта. Опять же, не понятно, что с XILIX тащить, какую среду разработки. Отложил на потом.Последний раз редактировалось UA1ARN; 03.03.2008 в 16:57. Причина: добавлена ссылка
... Я там сам глубину промерял! :: Геннадий Завидовский (Санкт-Петербург)
-
03.03.2008, 17:38 #13
- Регистрация
- 21.01.2007
- Адрес
- Москва
- Возраст
- 71
- Сообщений
- 812
- Поблагодарили
- 56
- Поблагодарил
- 11
Спасибо, Геннадий!
Гляжу, тема вызывает интерес...73. Сергей (RX3AKT)
-
03.03.2008, 18:38 #14
Сергей, вот пример:
Предположим, что звуковой сигнал постоянной амплитуды линейно меняет частоту от 300 Гц до 3 кГц.
Результирующий ВЧ-сигнал при этом меняет частоту, к примеру, от 14100.3 дл 14103 кГц. Но меняет не непрерывно, а небольшими скачками.
При этом, разумеется, "вокруг" основной частоты появляются дополнительные помехи. На прием основного сигнала они не влияют, но могут распространяться (с достаточно большим уровнем) в полосе плюс-минус несколько килогерц (десятков? сотен килогерц?) от него. Уровень и характер помех мне сейчас сложно представить - но они обязательно будут.
У итальянцев сделано вот как (по крайней мере, в их девятимегагерцовой конструкции): звуковой сигнал обрабатывается с тактовой частотой в несколько килогерц. В результате получаются значения мгновенной частоты и мгновенной амплитуды. Эти значения интерполируются (не помню, вроде бы - линейным алгоритмом), получая новые значения уже с тактовой частотой 30 МГц, которые используются в каждом такте синтеза синусоиды.
В любом случае, имея записанный звуковой сигнал, можно (на компьютере) заранее просчитать значения регистров DDS-а, отвечающих за частоту и амплитуду, и записать их в какую-нибудь микросхему Flash-памяти. После этого заставить микроконтроллер управлять синтезатором, пользуясь этими значениями. На выходе - послушать сигнал и померять его характеристики.
-
03.03.2008, 20:02 #15
- Регистрация
- 14.02.2005
- Адрес
- Санкт-Петербург
- Возраст
- 60
- Сообщений
- 484
- Поблагодарили
- 43
- Поблагодарил
- 11
Нет. Года два назад вызывала (во времера появления SDR и красивых транссиверов прямого преобразования - US5MSQ и Пилигрим). Примерно тогда же я общался с Nico. Сейчас уже тема интереса не вызывает (после того, как приоткроешь крышку этого ящика и поймешь, как далеко до дна). Просто мне не хватит денег и времени на все макеты и программирование с той интенсивностью, что требуется для получения качественного результата. Пока мой выбор - аналоговые тракты, кварцевые фильтры и высокоуровневые тракты - HI-FI в HAM RADIO, если хотите.
Последний раз редактировалось UA1ARN; 03.03.2008 в 20:08.
... Я там сам глубину промерял! :: Геннадий Завидовский (Санкт-Петербург)
|
Социальные закладки