upsample

Increase sample rate by integer factor

Description

example

y = upsample(x,n) increases the sample rate of x by inserting n – 1 zeros between samples. If x is a matrix, the function treats each column as a separate sequence.

y = upsample(x,n,phase) specifies the number of samples by which to offset the upsampled sequence.

Examples

collapse all

Increase the sample rate of a sequence by a factor of 3.

x = [1 2 3 4];
y = upsample(x,3)
y = 1×12

1     0     0     2     0     0     3     0     0     4     0     0

Increase the sample rate of the sequence by a factor of 3 and add a phase offset of 2.

x = [1 2 3 4];
y = upsample(x,3,2)
y = 1×12

0     0     1     0     0     2     0     0     3     0     0     4

Increase the sample rate of a matrix by a factor of 3.

x = [1 2;
3 4;
5 6];
y = upsample(x,3)
y = 9×2

1     2
0     0
0     0
3     4
0     0
0     0
5     6
0     0
0     0

Input Arguments

collapse all

Input array, specified as a vector or matrix. If x is a matrix, the function treats the columns as independent channels.

Example: cos(pi/4*(0:159)) + randn(1,160) specifies a sinusoid embedded in white Gaussian noise.

Example: cos(pi./[4;2]*(0:159))' + randn(160,2) specifies a two-channel noisy sinusoid.

Upsampling factor, specified as a positive integer.

Data Types: single | double

Offset, specified as a positive integer from 0 to n – 1.

Data Types: single | double

Output Arguments

collapse all

Upsampled array, returned as a vector or matrix. y has x × n samples.