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

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

Привет всем! Огромная просьба помочь реализовать идейку на контроллере (Attiny2313 или attiny13 или на любом другом). Или просто подскажите на каком контроллере можно сделать.

Спасибо за любую помощь.

 

post-63461-1299577776_thumb.jpg

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


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

Такой сигнал даёт сумма двух синусов sin(W1*t)+sin(W2*t). Я так делал: на тайни2313 реализовал два программных DDS на одном МК и складывал две выборки перед выдачей на ЦАП.

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


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

на каком контроллере можно
Против STM8S105C6T6 я бы не возражал.

за любую помощь
"Таймер", "таблица", ("ШИМ" уже написано в задании), "даташит", "сайт производителя", "микроконтроллер с чего начать".

 

Есть предположение, что:

 

а). более эффективно задача решалась бы через качественный алкоголь или бумажки с портретами,

б). у преподавателя тоже бывает интернет.

 

... DDS...
=> и с гугла вывалился почти готовый ответ. Скучно же.

 

Изменено пользователем нечитатель

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


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

Привет всем! Огромная просьба помочь реализовать идейку на контроллере (Attiny2313 или attiny13 или на любом другом). Или просто подскажите на каком контроллере можно сделать.

Спасибо за любую помощь.

 

post-63461-1299577776_thumb.jpg

http://easyelectronics.ru/parallelnyj-cifr...sxeme-r-2r.html

 

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


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

тыц

Для тех, кому нужен хороший спектр. Тинька вот только может не успеть с двумя умножениями

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


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

тыц

Для тех, кому нужен хороший спектр. Тинька вот только может не успеть с двумя умножениями

Дык вроде тут говорили можно и сложением выкрутиться :)

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


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

Для тех, кому нужен хороший спектр. Тинька вот только может не успеть с двумя умножениями

 

Amar Palacherla, конечно, большой мастер, но 235 тактов (58.75 мкс) на одну выборку это уж слишком. У меня ушло где-то 14 тактов на выборку (0.7 мкс). А частоты можно было устанавливать любые, от 1 мГц до 500 кГц.

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


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

У меня ушло где-то 14 тактов на выборку (0.7 мкс). А частоты можно было устанавливать любые, от 1 мГц до 500 кГц.
С каким шагом можно было устанавливать частоты? Частота жестко вбита или можно менять без перепрошивки? Что еще умел кроме генерации "голого" синуса? Какая частота несущей ШИМ?

 

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


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

Такой сигнал даёт сумма двух синусов sin(W1*t)+sin(W2*t).

Судя по картинке, там АМ сигнал, а это, вроде, не сумма, а произведение двух сигналов (несущей и модулирующего). А сумма двух синусоидальных сигналов выглядит как НЧ синус, только вместо ровной линии у него ВЧ синусоида.

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


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

Судя по картинке, там АМ сигнал, а это, вроде, не сумма, а произведение двух сигналов (несущей и модулирующего). А сумма двух синусоидальных сигналов выглядит как НЧ синус, только вместо ровной линии у него ВЧ синусоида.

Произведение синусов преобразуется в разность косинусов... И, естественно, наоборот..., если читать справа налево.

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


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

Amar Palacherla, конечно, большой мастер, но 235 тактов (58.75 мкс) на одну выборку это уж слишком.

Еще непонятно, какие критерии для выбора разрядности вычислений (всетаки это по сути рекурсивный фильтр). А то глядишь через пару минут генерации синус наберется сил и превратится в меандр :)

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


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

Ну по порядку

 

2 Сергей Борщ

 

1. Аккумулятор фазы был 24-разрядный, отсюда шаг 0.079 Гц. Ошибся немного, требовалось 15 тактов, а не 14. Ещё был вариант с 32-разрядным аккумом, так там требовалось 17 тактов.

 

2. Частоты, естественно, можно менять на ходу, они могут быть любые от 0.079 Гц до частоты Найквиста (вгрубе 600 кГц).

 

3. Шима не было, прямой цифровой синтез двух синусоидальных сигналов. Частота выборок была 20000/15=1333 кГц.

 

4. Не знаю, что вы имеете в виду под словами "что может ещё". Можно много чего придумать. Как пример, посмотрите здесь. Там реализован генератор произвольной формы и генератор качающейся частоты в одном флаконе, надеюсь, ясно, что не сразу два работают. Частота выдачи 2000 квыб/с, 32-битный аккумулятор фазы, генерируемые частоты 1 мГц-1МГц. Особенностью генератора является то, что он принимает по уарту команду на смену частоты, не прерывая генерации. Ну и свип также.

 

2 dxp

 

5. Обижаете :-). Сумма двух синусов это удвоенное произведение синуса полусуммы углов на косинус полуразности углов.

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


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

1. Аккумулятор фазы был 24-разрядный, отсюда шаг 0.079 Гц. Ошибся немного, требовалось 15 тактов, а не 14. Ещё был вариант с 32-разрядным аккумом, так там требовалось 17 тактов.
Что за проц? Неужели PIC17C?

2. Частоты, естественно, можно менять на ходу, они могут быть любые от 0.079 Гц до частоты Найквиста (вгрубе 600 кГц).

3. Шима не было, прямой цифровой синтез двух синусоидальных сигналов. Частота выборок была 20000/15=1333 кГц.

Когда же их менять, если все время занято генерацией? ;)

 

Я к чему спрашиваю - у меня формирование одного отсчета CPFSK с 16-битным аккумулятором фазы классически по таблице на ATmega8 занимает около 90-100 тактов. В целом устраивает, но в фоновом режиме думаю, как бы сделать быстрее.

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


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

1) Вы топчете клаву гораздо быстрее, чем я отвечаю, не успел отредактировать как следует, уже ответ пришёл :-)

 

2) Процессор ATtiny2313, тактовая частота 20 МГц.

 

3) Время не всё занято генерацией, остаётся 2 такта, вот ими и пользуемся. Похоже, с моим подходом у вас проц будет простаивать 90% времени.

 

4) У вас дискретное сообщение или непрерывное? Как вы представляете CPFSK, по классике там должен быть интеграл от сообщения.

 

 

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


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

Произведение синусов преобразуется в разность косинусов... И, естественно, наоборот..., если читать справа налево.

Только вот картинки что-то разные получаются. Сумма синусов даёт:

post-1343-1299673781_thumb.png

А произведение:

post-1343-1299673788_thumb.png

т.е. как в исходном посте. И как меня учили: модуляция - это произведение сигналов. А не сумма.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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