square

Квадратная волна

Описание

пример

x = square(t) генерирует квадратную волну с 2 π периода для элементов временного массива t. square подобен функции синуса, но создает квадратную волну со значениями -1 и 1.

пример

x = square(t,duty) генерирует квадратную волну с заданным коэффициентом заполнения duty. Коэффициент заполнения - это процент периода сигнала, в котором квадратная волна положительна.

Примеры

свернуть все

Создайте вектор со 100 равными интервалами чисел 0 кому 3π. Сгенерируйте квадратную волну с периодом 2π.

t = linspace(0,3*pi)';
x = square(t);

Постройте график квадратной волны и наложите синус. Нормализуйте ось X π. Сгенерированная квадратная волна имеет значение 1 для интервалов [nπ,(n+1)π) с четными n и значение -1 для интервалов [nπ,(n+1)π) с нечетным n. Волна никогда не имеет значения 0.

plot(t/pi,x,'.-',t/pi,sin(t))
xlabel('t / \pi')
grid on

Figure contains an axes. The axes contains 2 objects of type line.

Повторите расчет, но теперь вычислите square(2*t) на 121 с равными интервалами между номерами -π и 2π. Измените амплитуду на 1.15. Постройте график волны и наложите синус с теми же параметрами. Эта новая волна отрицательна t=0 и положительный на конечных точках, -π и 2π.

t = linspace(-pi,2*pi,121);
x = 1.15*square(2*t);

plot(t/pi,x,'.-',t/pi,1.15*sin(2*t))
xlabel('t / \pi')
grid on

Figure contains an axes. The axes contains 2 objects of type line.

Сгенерируйте квадратную волну 30 Гц, отобранную с частотой дискретизации 1 кГц в течение 70 мс. Задайте коэффициент заполнения 37%. Добавьте белый Гауссов шум с отклонением 1/100.

t = 0:1/1e3:0.07;
y = square(2*pi*30*t,37)+randn(size(t))/10;

Вычислите коэффициент заполнения волны. Постройте график формы волны и аннотируйте коэффициент заполнения.

dutycycle(y,t)

Figure Duty Cycle Plot contains an axes. The axes contains 9 objects of type line. These objects represent signal, mid cross, upper boundary, upper state, lower boundary, mid reference, lower state.

ans = 0.3639

Входные параметры

свернуть все

Временной массив, заданный как вектор, матрица или N -D массив .square действует вдоль первого измерения массива t с размером больше 1.

Типы данных: single | double

Коэффициент заполнения, заданный как действительный скаляр от 0 до 100.

Типы данных: single | double

Выходные аргументы

свернуть все

Квадратная волна, возвращенная в виде вектора, матрицы или N массива -D.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

| | | | | | | |

Представлено до R2006a