upsample - Increase sample rate by integer factor - MATLAB (original) (raw)
Main Content
Increase sample rate by integer factor
Syntax
Description
[y](#d126e290798) = upsample([x](#d126e290710),[n](#d126e290740))
increases the sample rate of x
by insertingn
– 1 zeros between samples. If x
is a matrix, the function treats each column as a separate sequence.
[y](#d126e290798) = upsample([x](#d126e290710),[n](#d126e290740),[phase](#d126e290764))
specifies the number of samples by which to offset the upsampled sequence.
Examples
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
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
Upsampled array, returned as a vector or matrix. y
has x × n samples.
Extended Capabilities
Version History
Introduced before R2006a
The upsample
function supports code generation for graphical processing units (GPUs). You must have MATLAB® Coder™ and GPU Coder™ to generate CUDA® code.