# decimate: Decrease sample rate In gsignal: Signal Processing

 decimate R Documentation

## Decrease sample rate

### Description

Downsample a signal by an integer factor.

### Usage

```decimate(x, q, n = ifelse(ftype == "iir", 8, 30), ftype = c("iir", "fir"))
```

### Arguments

 `x` input data, specified as a numeric vector or matrix. In case of a vector it represents a single signal; in case of a matrix each column is a signal. `q` decimation factor, specified as a positive integer. `n` Order of the filter used prior to the downsampling, specified as a positive integer. Default: 8 if `ftype` equals `"iir"`; 30 of `ftype` equals `"fir"`. `ftype` filter type; either `"fir"`, specifying a FIR filter of length `n` designed with the function `fir1`, or `"iir"` (default), specifying an IIR Chebyshev filter of order 8 using the function `cheby1`.

### Value

downsampled signal, returned as a vector or matrix.

### Author(s)

Paul Kienzle, pkienzle@users.sf.net.
Conversion to R by Geert van Boxtel, G.J.M.vanBoxtel@gmail.com.

`cheby1`, `fir1`

### Examples

```t <- seq(0, 2, 0.01)
x <- chirp(t, 2, .5, 10, 'quadratic') + sin(2 * pi * t * 0.4)
w <- 1:121
plot(t[w] * 1000, x[w], type = "h", col = "green")
points(t[w] * 1000, x[w], col = "green")
y = decimate(x, 4)
lines(t[seq(1, 121, 4)] * 1000, y[1:31], type = "h", col = "red")
points(t[seq(1, 121, 4)] * 1000, y[1:31], col = "red")

```

gsignal documentation built on May 15, 2022, 5:05 p.m.