Какая должна быть частота дискретизации для генерации приемлемого синуса 300 кГц ?
В общем-то всё это дело довольно легко для АМ можно реализовать на перемножающем ЦАПе. Например даже не "специализированный" типа MAX541 точно потянет сигнальную полосу в 5кГц, если его в референс кормить несущей до 500кГц (со смещением, чтобы модуляция меньше 100% была, кстати, регулируется и глубина модуляции легко) https://www.maximintegrated.com/en/p...ml?intcid=para Частота дискретизации по модулирующему сигналу (т.е. по цифровходу) в принципе ограничена 2Fв<Fs< даташит , т.е. выбирается как практически удобная для связи с компом.
Электричество дисциплинирует
Вполне, а с 2мя каналами отличный SDR SSB трансивер получается
Так перемножающий ЦАП и есть внешний модулятор. Только представление сигналов разное - один аналоговый, второй - цифровой.
Я когда-то пробовал кормить перемножающий ЦАП 100 кГц со смещением - получилось дерьмово.
И остается вопрос фильтрации искажений модулирующего сигнала из-за дискретности по амплитуде. Все равно перестраиваемый полосовой фильтр нужен.
с 14-16-тью битами? Там у ПФ, если выбрать достаточно высокую Fs модулирующего, только верхняя должна перестраиваться, т.е. ПФ рассматривается как каскадное соединение ФВЧ (фикс)+ ФНЧ(вар). И это только в случае очень широкой перестройки частоты несущей. Если менее октавы, то и ФНЧ- фикс.
Электричество дисциплинирует
Прошу прощения за временное выпадение из темы - дети+уроки=выпал из жизни
Постараюсь пояснить суть:
имеется в наличии достаточно древний (10+лет) специализированный девайс который генерит согласно программе некий набор частот - типа
546гц/87.2кгц - 30 секунд
287гц/192кгц - 52 секунды
1.23кгц/8.3кгц - 86 секунд
Возникло желание повторить его на более современной базе, причем сделать его более компактным и желательно использовать готовые железки и только написать программу
Первая мысль (пока не посмотрел в спецификацию по частотам) была вообще генерить смартфоном и усиливать, потом стало понятно что задачка вылезает за возможности смартфона
Сейчас рассматриваю вариант смартфон как носитель программы + внешний ЦАП - пытаюсь понять возможно ли это?
В исходной железке как я понимаю просто стоит 2 перестраиваемых генератора и сигнал одного модулирует сигнал другого.
Главный вопрос - есть ли смысл пытаться генерить перестраиваемую несущую + пересираиваемую модулирующую через бытовой ЦАП с высоким битрейтом или это слишком кривой путь ?
---------- Сообщение добавлено 23:53 ---------- Предыдущее сообщение было 23:26 ----------
Меандр не обязательно, обойдемся без него
А вот если двухканальный DDS - он разве не умеет одним каналом модулировать второй и выдавать на выход одного из каналов модулированный сигнал?
---------- Сообщение добавлено 27.01.2021 в 00:02 ---------- Предыдущее сообщение было 26.01.2021 в 23:53 ----------
Есть ли возможность работы этого генератора под полным внешним управлением компьютера, причем не через родную программу генератора, а через стандартный пакет данных, чтобы из своей программы можно было управлять
Да, именно циклограмма как указал выше - несущая, модулир-я, время генерации - таких установок в пакете до 20
Не будет там 14/16 бит.
Темп приема данных у MAX541 10 МГц.
Надо передать 16 бит.
Темп приема 16 бит будет 10М/16=625 кГц ~ 1,6 мкс.
Период 5 кГц равен 200 мкс. За период 5 кГц получим 125 отсчетов, а это 7 бит.
Так что надо искать что-то более скорострельное по цене в полтроллейбуса.
Вряд-ли темп поступления отсчета можно взвинтить более 1 МГц, упремся в время установления выходного тока. И все равно выше 9 бит не прыгнем.
Ну и для полного понимания ситуации - подскажите пожалуйста - какие максимальные значения несущей и модулирующей можно получить используя ЦАП с усилителем для наушников
1) 384 кГц / 32 бит
2) 192 кГц / 24 бит
Что такое DDS?
Direct Digital Syntesis - прямой цифровой синтез.
Это когда отсчеты из памяти выпуливаются через ЦАП.
Стандартные микросхемы DDS типа AD9850/9851 умеют только синус. Если нужно что-то с модуляцией, то отсчеты этого нужно сначала записать в память.
Для того, чтобы сигналом одной DDS промодулировать сигнал другой нужен внешний модулятор.
---------- Сообщение добавлено 00:34 ---------- Предыдущее сообщение было 00:28 ----------
Соответственно 192 кГц и 96 кГц в пределе.
А выходной фильтр куда выбросишь? Он там на 20 кГц.
---------- Сообщение добавлено 00:39 ---------- Предыдущее сообщение было 00:36 ----------
Наверное такая возможность есть, но нужно знать форматы управляющих слов.
А отключить его программно можно?
Или он в железе и надо перепаять что-то на плате?
---------- Сообщение добавлено 00:45 ---------- Предыдущее сообщение было 00:40 ----------
Если в спецификации двухканального DDS генератора прописано что один канал умеет АМ значит ли это, что в нем две DDS микросхемы и модулятор, и он умеет то что мне нужно?
Параллельное обсуждение с нашими пользователями данного исходного девайса породило ещё один вариант:
они говорят, что если у нас два канала, то можно попробовать генерить в одном канале несущую, в другом модулирующую и суммировать уже за пределами обсуждаемого устройства, причем несущая может точно быть меандром (точнее любой формы), а вот модул-я пока неясно синусоида или можно меандр
Насколько такой вариант упрощает использование стерео-ЦАПа с усилителем для наушников ?
И какую максимальную частоту меандра можно получить в одном канале с ЦАПа 384/32 с отключенным ФНЧ на выходе ?
1) да
3) исходный - да
2) можно подробнее
Это будет не амплитудная модуляция, а амплитудная манипуляция. То есть модуляция прямоугольным сигналом.
Разные вещи.
Как?
И что за ЦАП?
---------- Сообщение добавлено 01:28 ---------- Предыдущее сообщение было 01:23 ----------
Если речь идет о генераторе, предложенном maxssau , то он построен на какой-то ПЛИС, структура которой неизвестна. Поэтому возможен как вариант с модулятором, так и вариант того, что в память ПЛИС загружаются заранее вычисленные отсчеты требуемого сигнала. Но это вряд-ли.
Ну, ты даёшь. Своя арифметика? Т.е. ни вжизь 16-тью битами в R2R цапах не передать синус в 20кГц с точностью до 0,002% на Fs=44,1Кгц?
---------- Сообщение добавлено 03:18 ---------- Предыдущее сообщение было 03:03 ----------
для АМ с синусоидальной несущей Fн и PCM (*) ЦАПов формула отсутствия наложения спектров выглядит так: Fн+Fв<Fs/2, Fв- верхняя частота спектра модулирующего сигнала. Это предел для решения задачи в лоб, без применения управляемого амплитудного модулятора. Но с умножающим ЦАПом - в референсе всегда синус, который можно получить от ГУНа, управляемого другим каналом данных- совсем другой компот. Ведь несущая же не ГКЧ. Иначе это уже не АМ. Т.е. сигнальная, модулирующая полоса ограничена Fs ("по Котельникову"), а несущая только ГУНом, хоть гигагерцы . "Битность" имеет отношение к шумам квантования (шумоподобная нелинейность), т.е. связана с точностью модуляции косвенно - растёт шумовая полка с уменьшением битности.
* то, что вы написали, типа, "384/24" - характерно для DS ЦАПов. Там свои причуды. При решении задачи "в лоб" всё довольно сложно зависит от алгоритма декодирования PCM (входной поток данных) to DS (поток на входе DS демодулятора). Однако, если алгоритм справляется с любым сигналом в полосе до Fs/2, то формула такая же. Поведение жэ шумовой полки очень сложное. Первые DS-ЦАПы вообще слушать не возможно.
---------- Сообщение добавлено 03:23 ---------- Предыдущее сообщение было 03:18 ----------
Если ЦАП удерживает отсчёт до прихода новых данных, то Fs и далее период ступеньками увеличивается на 1/384000 секунды. Между этими значениями - полный бардак
Последний раз редактировалось Игорь Гапонов; 27.01.2021 в 04:23.
Электричество дисциплинирует
Без фильтра - ни в жисть.
А теперь вопрос - куда воткнуть фильтр модулирующей частоты в структуру перемножающего ЦАП при условии несущей в референсе?
Получается не амплитудная модуляция, а многоуровневая амплитудная манипуляция.
Причем высокая - 14...16 разрядов разрешающая способность ЦАП не нужна.
За счет малой частоты сэмплирования разрядность ЦАП может быть 8...9 бит.
Если для несущей 300 кГц и модулирующей 5 кГц выбрать частоту дискретизации 600 кГц, то паразитная составляющая из зеркального спектра будет 600-(300+-5)=295/305 кГц. Если выбрать частоту дискретизации 1200 кГц, то паразитная составляющая из зеркального спектра будет 1200-(300+-5)=895/905 кГц. Ее легко отфильтровать ФНЧ с частотой среза 300 кГц.
Игорь Тихомиров,
Это частный случай.
И все было бы хорошо, если бы ТС не хотел перестраивать несущую в 60 раз, а модулирующую в 50 раз.
И отфильтроваться можно ФНЧ, а лучше ПФ.
Жаль только фильтр должен быть перестраиваемым в широком диапазоне.
Последний раз редактировалось Игорь Тихомиров; 27.01.2021 в 15:37.
А без фильтра ваще никак ни PCM ни DS ни перемножающий ни обычный...
Мне тут почему-то (#внезапно#) оно, сабж, покоя не давало ночью. И придумал три альтернативы "модуляторному решению".
1. Мало практичная. Использовать "нативные зеркалки" на выхлопе в PCM ЦАПах (АИМ же ж). Но алгоритм выделения/генерации довольно запутанный получается. Плюс в идее - то, что синтезируем сразу АМ сигнал и передаём по "стандартному аудио интерфейсу" (юэсби-аудио или спдиф) с двумя сетками 44/48. Эти достоинства использовал в третьей идее, см. ниже.
2. Имеет право. Использует то, что и несущая и модулирующая только синусы. Но контроллер специфический. Сразу дэдээсить или фапчить АМ в виде ПРОСТОЙ суммы двух симметричных боковых и не сущей. Т.е. всего-то нужно передавать довольно медленно (с помощью мыши или клавы) инфу о частоте несущей, частоте модулирующей и соотношении их амплитуд. Т.е. нужно три жёстко зависимых гена/синтезатора и микшер/сумматор. В случае с ФАПЧ обходимся ваще без ЦАПов. Всё аналоговое, кроме управления и дискретности сетки
3. Думаю, самая практичная идея. Сразу синтезировать АМ в вав/писиэм файл с нужной несущей и практически произвольным модулирующим сигналом. Чтобы полоса ца-преобразования соответствовала требованиям сабжа и одновременно укладывалась в "стандартный юэсби-аудио интерфейс" (например в аманерку) используем то, что нам два канала не нужно, а нужен один с удвоенной Fs . Т.е. битрейт 352,8-384/16-24-32 вполне потянет "в лоб" передачу АМ с требованиями ТС - несущая до 300кГц, модулирующая до 5кГц, и даже выше. Конечно, без "расшифровывающей" плиски, удвоителя Fs (очень простой на базе ФАПЧ, есть и доступные микры такие сами знаете) и честного по полосе ЦАПа не обойтись (Fs для ЦАПа должна быть более 705,6кГц, разрядность и 12-ти бит хватит, думаю, микры не проблема, в основном с SPI потоком). Алгоритм декодирования такой: складываем в регистр инфу о двух семплах обоих каналов. Читаем на удвоенной FS, вставляя в зависимости от слота (I2S/RJ и т.д.) нули/паузы или соответственно "растягиваем биты" так, чтобы входной поток заполнил за это время другой регистр с двумя следующими семплами. Всё это делать должна плиска. Латенси ровно два семпла . Восстанавливающий фильтр - "обычный ФНЧ" с фиксированной частотой среза по Шеннону-Найквисту.
PS. Кстати, для DAW-студий есть же стандартные многоканальные потоки, укладывающиеся в I2S (забыл как называются). Например, если поток 192/32, то возможно 16 кратное увеличение Fs 16-ти битных семплов. Т.е. Fs=48*16=768кГц
Последний раз редактировалось Игорь Гапонов; 27.01.2021 в 16:22.
Электричество дисциплинирует
Есть еще способ. Использовать ПЦАП (ЦАП у которого опорное напряжение может быть переменным). На вход данных подавать амплитудные отсчеты несущей (до 300 кГц) с частотой дискретизации более 1 мГц, а на вход опорного напряжение подавать аналоговое модулирующее напряжение (до 5 кГц) со звуковой карты. На выходе ПЦАП нужен ФНЧ с частотой среза 300 кГц.
Социальные закладки