Перейти к содержанию
    

просьба помочь реализовать идейку на контроллере

3 сложения - фтопку , достаточно одного , Вы зря 3 источника суммировали

Сложить 3 числа - это 2 сложения :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

таак, кто у нас складывать не умеет ? :)

 

Только делить и отнимать ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Можно, я дам? :) Сложите 1MHz, 999kHz и 1001kHz. Спектр любого сигнала состоит из суммы спектральных составляющих.

upd. Не так нужно было сказать - Любой сигнал состоит из суммы его спектральных составляющих.

dimka76 так и сделал, что вы просите, на своих картинках.

А откуда вы взяли 999 кГц? Не было их в задании. Был 1 кГц и 1 МГц.

 

2. Можно считать, что в задании описан выходной результирующий сигнал, а не даны исходные входные частоты.

Это почему это можно так считать? Я вот несколько раз перечитал задание, дословно написано:

 

***

fнесущая = 10 Гц ...20 кГц, или как минимум 100 Гц ...7 кГц.

 

fогиб = 1.3 Гц.

 

fнесущ можно регулировать дискретно (в идеале как можно плавнее)

 

на выходе ШИМ сигнал fнесущей

 

- два режима

- непрерывный

- прерывистый, когда пауза через каждые три импульса fогиб на время трёх импульсов fогиб, т.е. 1/1.3 Гц = 2.3 сек

***

 

Всё! Больше ничего не написано. Диапазон несущих указан. Частота огибающей указана. Какие другие частоты? Чего фантазировать?

 

Господин dxp похоже тему не внимательно читает.

Уже давали http://electronix.ru/forum/index.php?showt...st&p=898182

Да нет, похоже кто-то исходное задание читать не умеет. Зато домысливать - это сколько угодно. Про спектр АМ сигнала мне известно ещё со времён средней школы, только тут это всё совершенно не причём.

 

Покажите мне реальный модулятор радиопередатчика, который не использует операцию умножения (в любом её виде - напрямую, через аппроксимацию нелинейности ВАХ диода и т.д.), а делает всё это на сложении?

 

Когда вы мне тут эти суммы предъявляете, так это суммы уже не тех сигналов, а преобразованных. А преобразование-то частотное как делается? Правильно - с помощью всё того же банального умножителя, aka гетеродин. Ну, и куда без умножителя тут? Если бы можно было, все б так и делали. Но природу не обманешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё! Больше ничего не написано. Чего фантазировать?

Приведу пример для детского сада, ибо не понимаю, чего вы от меня хотите! :)

Если меня попросили 3 умножить на 2, а я сложил 3 и 3, что, результат ни на что не годится? :)

 

Если бы можно было, все б так и делали. Но природу не обманешь.

А как делают цифровую фильтрацию с помощью БПФ, чего-то там... и обратного БПФ?

Слава богу, что у нас есть микроконтроллеры!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приведу пример для детского сада, ибо не понимаю, чего вы от меня хотите! :)

Я хочу лишь подтверждения, что для получения модулированного сигнала без операции умножения не обойтись.

 

Если меня попросили 3 умножить на 2, а я сложил 3 и 3, что, результат ни на что не годится? :)

А если вас попросили умножить 14534 на 746456356? Тоже складывать будете? :) А в реальности вас попросили умножить x на y. Значения которых вы пока не знаете. Но знаете про операцию, которую надо произвести.

 

А как делают цифровую фильтрацию с помощью БПФ, чего-то там... и обратного БПФ?

Слава богу, что у нас есть микроконтроллеры!

И что, там без операций умножения обходятся? :) Обманули-таки природу? :)

 

Ладно. По-моему все всё давно поняли. А суть разногласий ещё на первой странице внятно объяснил Herz. И "революции" в технике модуляции сигналов не произошло. Всем спасибо. И прошу простить, если что не так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приведу пример для детского сада, ибо не понимаю, чего вы от меня хотите! :)

Если меня попросили 3 умножить на 2, а я сложил 3 и 3, что, результат ни на что не годится? :)

Аналогия, имхо, не вполне корректна. Вот Вас попросили умножить 5 на 2. А Вы прибавили к 7 тройку. А что, дескать, результат - тот же!

Ещё нагляднее с делением и вычитанием отниманием получится. :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Аналогия, имхо, не вполне корректна. Вот Вас попросили умножить 5 на 2. А Вы прибавили к 7 тройку.

Нет, вы не поняли. Я бы взял 2 раза по 5. :)

 

А если вас попросили умножить 14534 на 746456356? Тоже складывать будете? :) А в реальности вас попросили умножить x на y. Значения которых вы пока не знаете. Но знаете про операцию, которую надо произвести.

Как оно конкретно делается в ПЛИС, микроконтроллерах? Складывается, сдвигается, и т.п.

Цифра творит чудеса! Если взять балансный модулятор, то там мосты диодные какие-то, транзисторы и т.п. Только по формулам и получается перемножение.

 

И "революции" в технике модуляции сигналов не произошло.

Как сказать. Покопавшись в кишках модема какого-нибудь (если б пустили), кто-знает, какие механизмы бы там обнаружились.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не удержался. :)

Как оно конкретно делается в ПЛИС, микроконтроллерах? Складывается, сдвигается, и т.п. Цифра творит чудеса!

А сдвиг - это что? Не умножение на порядок основания?

 

Если взять балансный модулятор, то там мосты диодные какие-то, транзисторы и т.п. Только по формулам и получается перемножение.

Ага, нелинейные элементы. Вот и умножение. Нету там чудес, чтобы на операции сложения получить преобразование частоты.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо вот что подчеркнуть.

Если модулирующий сигнал нам не известен, например, звук с микрофона, конечно, мы не сможем сделать модуляцию с помощью суммирования, ни АМ, ни балансную. В этом случае dxp, безусловно, прав.

Но в данном конкретном случае сигнал известен, и он описывается простой функцией - синус. Поэтому можно заменить перемножение суммой. Если входной синус должен измениться, и тогда можно будет легко вычислить нужные для суммирования сигналы.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

To dxp

 

Да не предлагает вам никто чудеса.

 

Тут идет речь об элементарных тригонометрических преобразованиях

post-16032-1299820639_thumb.png

 

Гольная математика, которая в микропроцессорной технике реализовывается горздо проще, чем в аналоговой. Поэтому вы в аналоговых смесителях операциий сложения в явном виде и не видите.

 

И никагого искажения условий задачи не происходит. Берутся исходные данные, преобразуются в удобный для целевой платформы вид и используются.

 

Вы ведь ничего против не имеете по отношению к такому тождеству

a*b+a*c = a*(b+c)

 

В этом случе для микроконтроллера проще выполнить одну операцию умножения вместо двух.

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

Никакого искожения условий задачи при этом не происходит!!!!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так какой разрядности то? 16 бит хватит?  :rolleyes:

Не понял, о чем Вы сейчас, но вообще-то операции эти над числами fixed point, отсюда следует, чтобы для целых не выходило за нужную разрядность - надо сдвигать результат умножения на число разрядов сомножителя. Или уж не стесняться форматов 1.15 и тд итп

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сколько точек между соседними элементами таблицы? Какова длина таблицы?

 

Таблица содержит 1/4 периода синуса, всего 257 16-разрядных точек. Как показало моделирование, этого достаточно, чтобы ошибка линейной интерполяции была не более ±1 LSB 16-разрядного ЦАП. А сколько точек интерполируется между соседними элементами - какая разница? Столько, сколько нужно для работы DDS на заданной выходной частоте.

 

А, случаем, если воспользоваться UART в режиме SPI, не разгрузится ли процессор ? Таймером по OC делать кадр, заполнять от SPI. Для DAC с SPI я прикидывал, можно хорошо разгрузить, хватит, чтобы обслуживать его в прерываниях и немножко на сервис останется, может быть, и для I2S получится ?

 

У меня так и есть. Для эмуляции I2S используется аппаратный SPI + OC, который формирует сигнал WS. Этот сигнал формировать нужно хитро, не между передачей слов для каналов, а перед передачей последнего бита. Это требует синхронной работы таймера и SPI. Кроме того, обновление выхода ЦАП происходит синхронно с фронтом BCK, а не по WS, как может показаться. Поэтому для исключения джиттера старт передачи по SPI должен лежать строго в нужной временной сетке. Для этого приходится выравнивать interrupt latency. Заодно и таймер становится синхронным с SPI.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...