square function

Square wave

Square wave

Generate a square wave of period 2π2\pi with limits +1 and -1.

square(t, duty = 50)

Arguments

  • t: Time array, specified as a vector.
  • duty: Duty cycle, specified as a real scalar from 0 to 100. Default: 50.

Returns

Square wave, returned as a vector.

Details

y <- square(t) generates a square wave with period 2π2\pi for the elements of the time array t. square is similar to the sine function but creates a square wave with values of –1 and 1.

y <- square(t, duty) generates a square wave with specified duty cycle duty. The duty cycle is the percent of the signal period in which the square wave is positive.

Examples

## Create a vector of 100 equally spaced numbers from 0 to 3pi. ## Generate a square wave with a period of 2pi. t <- seq(0, 3*pi, length.out = 100) y <- square(t) plot(t/pi, y, type="l", xlab = expression(t/pi), ylab = "") lines (t/pi, sin(t), col = "red") ## Generate a 30 Hz square wave sampled at 1 kHz for 70 ms. ## Specify a duty cycle of 37%. ## Add white Gaussian noise with a variance of 1/100. t <- seq(0, 0.07, 1/1e3) y <- square(2 * pi * 30 * t, 37) + rnorm(length(t)) / 10 plot(t, y, type="l", xlab = "", ylab = "")

Author(s)

Paul Kienzle.

Conversion to R by Geert van Boxtel, G.J.M.vanBoxtel@gmail.com .

  • Maintainer: Geert van Boxtel
  • License: GPL-3
  • Last published: 2024-09-11