upsample
Increase sample rate by integer factor collapse all in page
Syntax
y = upsample(x,n)
y = upsample(x,n,phase)
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 Sample Rates
Open Live Script
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
x1= [1 2 3 4];
y = upsample(x,3,1)
y = 1×12
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
x — Input array
vector | matrix
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.
Data Types: single | double
Complex Number Support: Yes
n — Upsampling factor
positive integer
Upsampling factor, specified as a positive integer.
Data Types: single | double
phase — Offset
0 (default) | positive integer
Offset, specified as a positive integer from 0 to n – 1.
Data Types: single | double
Output Arguments
collapse all
y — Upsampled array
vector | matrix
Upsampled array, returned as a vector or matrix. y has x × n samples.