Отговори на тема  [ 38 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
2 тона през 1 пин едновременно? 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 4:18 pm
Мнения: 1188
Мнение Re: 2 тона през 1 пин едновременно?
kalata23 написа:
Проблемът е, че като се насложат двата тона, всъщност се получава някакъв осреднен тон. Пробвах да възпроизведа два тона с терца интервал (2 тона и половина), това което излезна е нещо посредата, т.е липсва многогласието. Идеята е да се получи полифония.

Направи си 2 генератора на синусоидален сигнал, първо си направи една матрица с 360 елемента (или някаква кратна стойност, 180, 120 но колкото по-малко елементи имаш, толкова по-ръбеста ще ти е синусоидата), която да съдържа коефициентите на запълване на ШИМ импулса така че да се оформи синусоида при последователно изпълнение. След тоа си правиш 2 таймера, които да зареждат елемнтите на матрицата според честотата, която искаш да генерираш, накрая правиш един суматор на двата сигнала, така че да ги смесиш преди да ги подадеш на ШИМ генератора, преди да ги смесиш им делиш стойностите на 2 така че да не получиш коефициент на запълване на ШИМ-а по-голям от 100%.


Нед Яну 19, 2020 6:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: 2 тона през 1 пин едновременно?
http://web.csulb.edu/~hill/ee470/Lab%20 ... erator.pdf

https://forum.arduino.cc/index.php?topic=457262.0

_________________
main[-1u]={1};


Нед Яну 19, 2020 6:40 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: 2 тона през 1 пин едновременно?
Ами както бай уй го описва, би трябвало да добавиш и фазовата разлика.


Нед Яну 19, 2020 8:31 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: 2 тона през 1 пин едновременно?
Общо взето направих както ме посъветвахте - DDS. Една таблица със стойностите на синусоидата и един таймер, който да прави семплирането. Колкото по-голяма честотата, толкова повече елементи от таблицата се пропускат. За да пусна два гласа, изчислявам стойностите на двете синусоиди и ги осреднявам. Единственото, което не мога да си обясня е, защо с нарастване на честотата намалява амплитудата на синусоидата?


Пет Яну 24, 2020 3:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 1:23 pm
Мнения: 3545
Местоположение: Високо в планината
Мнение Re: 2 тона през 1 пин едновременно?
kalata23 написа:
... защо с нарастване на честотата намалява амплитудата на синусоидата?

А?

_________________
Хайде де!


Пет Яну 24, 2020 4:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 3:11 pm
Мнения: 3742
Местоположение: София
Мнение Re: 2 тона през 1 пин едновременно?
sin(X)/X ?


Пет Яну 24, 2020 4:30 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 10:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение Re: 2 тона през 1 пин едновременно?
А някой да е ръгал странна RC верига в изхода?

Иначе от самото начало се чудих: след като събереш двете стойности що ти требе да ги делиш на две, не може ли в таблицата да са два пъти по-слабички...


Пет Яну 24, 2020 8:05 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: 2 тона през 1 пин едновременно?
Зависи какво разбираш под "странна". Еми, защото ако искам да възпроизведа само един тон, трябва после да ги умножавам по две.
Идеята на проектът беше, софтуерно с помощта на 1 пин да се извади полифоничен звук през говорител. Всякакви варианти с 2 или повече пина отпадат, та накрая стигнахме до DSS.


Вто Яну 28, 2020 3:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 1:23 pm
Мнения: 3545
Местоположение: Високо в планината
Мнение Re: 2 тона през 1 пин едновременно?
С каква стъпка искаш таблиците? Утре ще ти ги дам.
Не забравяй да съобразиш стъпката с по-нискочестотния сигнал по отношение на дължината и с другия по отношение на прецизността.

_________________
Хайде де!


Вто Яну 28, 2020 10:37 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: 2 тона през 1 пин едновременно?
dan написа:
С каква стъпка искаш таблиците? Утре ще ти ги дам.
Не забравяй да съобразиш стъпката с по-нискочестотния сигнал по отношение на дължината и с другия по отношение на прецизността.

За сега полифонията работи с 256 елемента. Проблемът е, че тинито има малко рам и 2 8-битови таймера (единият генерира PWM, a другият прави семплирането). Четенето от flash-а става бавно (в него се съхранява мелодията, докато таблиците са в рама). Общо взето работи пущинакът, ама малко нескопосано.


Сря Яну 29, 2020 1:29 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 10:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение Re: 2 тона през 1 пин едновременно?
Колкото за протокола: на синусоидата и трябва таблица за четвърт период, другото са софтуерни хватки.
А 256 отчета са множко, освен ако не гониш няк'во HiFi. Според мен дори с 32 можеш да минеш. Далеч по-важно е ШИМът да е на висока честота.


Сря Яну 29, 2020 2:12 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: 2 тона през 1 пин едновременно?
Това с таблицата не го схванах много, много. Нали, честотата на синусоидата е пропорционална на броя семпли, които пропускам да чета. При честоти 3-5 KHz няма ли да се за получат триъгълни импулси, ако орежа много таблицата. Иначе да, останалите 3/4 от периода може да се изчисли, но пък излишен брой операции в прекъсването. Аз си мислех за много по-прост вариант, който по-късно видях, че даже са го осъществявали преди. Вместо да си играя с таблици и да хабя два таймера, мога просто да въртя 2-3 тона един след друг за определено време и така пак ще се усеща полифония.


Сря Яну 29, 2020 10:40 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 1:23 pm
Мнения: 3545
Местоположение: Високо в планината
Мнение Re: 2 тона през 1 пин едновременно?
Във файлчето са стойностите за сумата от два тона - единия с честота 1х, другия с честота 5х. 'Х' си го определяш със скоростта, с коята подаваш семпълите към изхода.
Маркерите на графиката са на местата на отчетите.


Прикачени файлове:
kalata23.png
kalata23.png [ 46.5 KiB | Прегледано 2908 пъти ]
TwoSineWavesSum.txt [1.17 KiB]
112 пъти

_________________
Хайде де!
Сря Яну 29, 2020 11:25 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Дек 15, 2014 10:05 pm
Мнения: 324
Мнение Re: 2 тона през 1 пин едновременно?
Благодаря! Довечера ще го пробвам.


Сря Яну 29, 2020 12:56 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 5:20 pm
Мнения: 3212
Мнение Re: 2 тона през 1 пин едновременно?
Бонго имаше предвид че синусоидата е симетричен сигнал. Достатъчно е да знаеш как започва (от 0 до 90 градуса - първи квадрант), после може да се довърши с лека математика. Т.е., ако не ти стига мястото, може да се намали таблицата до 1/4, без загуба на информация. На теория.
За да работи правилно обаче, семплиращата честота трябва да е кратна на честотата на сигнала. Т.е. не е приложимо винаги. Според мен.


Пон Фев 24, 2020 3:52 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 38 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта


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

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни