Управление фазой сигнала в чистых данных

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

ниже приведена программа, которую я использую до сих пор: введите здесь описание изображения

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

Может ли кто-нибудь помочь мне в этом?

Спасибо.


person KTB    schedule 21.07.2016    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он, похоже, связан с электротехникой/обработкой сигналов, а не с программированием.   -  person Nicolas Miari    schedule 21.07.2016
comment
@NicolasMiari О, пожалуйста ... ОП не спрашивает, что такое фаза сигнала, а как ее обрабатывает язык программирования (Pd).   -  person gilbertohasnofb    schedule 21.07.2016


Ответы (2)


Использование правого входа объекта [osc~] является допустимым способом установки фазы генератора, но это не единственный и даже не самый правильный способ. Правое входное отверстие допускает поплавок только на уровне управления.

Более сложные манипуляции с фазой можно выполнить на уровне сигнала с помощью объектов [phasor~], [cos~], [wrap~] и [+~]. По сути, вы выполняете ту же функцию, что и [osc~], используя метод, называемый поиск в таблице с использованием [phasor~] и [cos~]. Вы также можете прочитать другую таблицу с помощью [tabread4~] вместо [cos~].

Этот метод поддерживает синхронизацию ваших осцилляторов. Вы можете манипулировать фазой ваших осцилляторов с помощью других осцилляторов, поиска в таблице и, конечно же, поплавков (при условии, что значение фазы находится между 0 и 1, следовательно, объект [wrap~]).

фазовая модуляция на уровне сигнала

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

Вот как вы можете сделать то же самое для поиска в пользовательской таблице. Конечно, вы бы заменили sometable на имя своей пользовательской таблицы, а num-samp-in-some-table на количество образцов в вашей таблице.

фазовая модуляция уровня сигнала с пользовательскими таблицами

Надеюсь, поможет!

person taylor vann    schedule 13.01.2017

Чтобы изменить фазу генератора, используйте вход с правой стороны.

Цитирование Йоханнеса Крейдлера Программирование электронной музыки в Pd:

3.1.2.1.3 Фаза

В Pd вы также можете установить положение мембраны для звуковой волны, где она должна начинаться (или куда она должна перейти). Это называется фазой волны. Вы можете установить фазу в Pd в правом входе объекта osc~ с числами от 0 до 1:

введите здесь описание изображения

Весь период волны охватывает диапазон от 0 до 1. Однако о нем часто говорят в градусах, где весь период составляет 360 градусов. Говорят, например, о фазовом сдвиге на 90 градусов. В Pd вход для фазы будет 0,25.

Так, например, если вы хотите наблюдать, как два сигнала могут заглушаться из-за деструктивной интерференции, вы можете попробовать что-то вроде этого:

деструктивное вмешательство

Обратите внимание, что я подключил челку для одновременной настройки фаз обоих сигналов. Это важно, потому что хотя вы можете в любой момент сбросить фазу сигнала на любое значение между 0,0 и 1,0, другой осциллятор не будет сброшен, и поэтому результаты будут совершенно случайными (вы никогда не знаете, при каком значении фазы другой сигнал будет при!). Таким образом, сброс обоих делает свое дело.

person gilbertohasnofb    schedule 21.07.2016
comment
Спасибо @gilberto, это именно мое требование. - person KTB; 22.07.2016