# interp: Interpolate / Increase the sample rate In signal: Signal Processing

## Description

Upsample a signal by a constant factor by using an FIR filter to interpolate between points.

## Usage

 `1` ```interp(x, q, n = 4, Wc = 0.5) ```

## Arguments

 `x` the signal to be upsampled. `q` the integer factor to increase the sampling rate by. `n` the FIR filter length. `Wc` the FIR filter cutoff frequency.

## Details

It uses an order `2*q*n+1` FIR filter to interpolate between samples.

## Value

The upsampled signal, an array of length `q * length(x)`.

## Author(s)

Original Octave version by Paul Kienzle pkienzle@user.sf.net. Conversion to R by Tom Short.

## References

Octave Forge https://octave.sourceforge.io/

`fir1`, `resample`, `interp1`, `decimate`

## Examples

 ```1 2 3 4 5 6 7 8 9``` ```# The graph shows interpolated signal following through the # sample points of the original signal. t <- seq(0, 2, by = 0.01) x <- chirp(t, 2, 0.5, 10, 'quadratic') + sin(2*pi*t*0.4) y <- interp(x[seq(1, length(x), by = 4)], 4, 4, 1) # interpolate a sub-sample plot(t, x, type = "l") idx <- seq(1,length(t),by = 4) lines(t, y[1:length(t)], col = "blue") points(t[idx], y[idx], col = "blue", pch = 19) ```

### Example output

```Attaching package: 'signal'

The following objects are masked from 'package:stats':

filter, poly
```

signal documentation built on May 25, 2021, 9:06 a.m.