Сигнал периодический, так? Что у нас есть периодического? ну например синус.. отлично, основа есть. Теперь о свойствах. Сигнал квадратный или скважность меняем? Давайте менять, вдруг пригодится. Да и период тоже неплохо бы менять. Ну и фазу тогда уж.. Тогда получим такую функцию:
k1 отвечает за период
k2 отвечает за смещение фазы
k3 отвечает за скважность
{
при sin(x*2pi*k1+k2)>k3, Y=5
при sin(x*2pi*k1+k2)<=k3,Y=0
}
Ну вот можно рисовать квадраты хоть на питоне, хоть на ассемблере. А так еще советую потом как нибудь про Фурье преобразование почитать.
А если захотите в МК пихать квадраты, поищите библиотеки с готовым велосипедом. Ну и можно без синусов через четность/нечетность, остаток или другие аналогичные штуки поиграть