📜  什么是 MATLAB 中的上采样?

📅  最后修改于: 2022-05-13 01:55:04.334000             🧑  作者: Mango

什么是 MATLAB 中的上采样?

在本文中,我们将看到 MATLAB 中的上采样。众所周知,上采样是提高采样率的过程,即增加样本数量。当对信号或其他连续函数的一系列样本进行上采样函数时,它会估计通过以更高速率对信号进行采样而接收到的行。上采样是在实际样本之间放置零值样本以提高采样率的方法。样本之间的零点数由采样因子 L 决定,(零点数 = L-1)。

为什么要上采样?

音频硬件和软件通常会提供上采样。当模拟音频转换为数字时,需要对其进行滤波,以使没有音频进入高于一半采样率的模数转换器。诀窍是将数字信号转换为更高的采样率,例如原始采样率的两到四倍。如果处理得当,音频信息不会改变,因此不包含更多信息,但由于信号现在具有更高的采样率,模拟滤波器不必如此努力地工作,从而减少失真。

上采样()

我们在 MATLAB 中有上采样函数,用于通过采样因子“L”增加任何函数x[n] 的采样率。基本语法写在下面。

在这里

y = upsample(a,n) 是 MATLAB 中使用的上采样函数的基本语法,其中“a”是输入信号,“n”是采样因子。我们将在下面的代码中看到该函数的示例。

假设我们有一个函数x = [1 2 3 4] 以 3 的采样因子进行上采样,然后以相同的采样因子进行下采样以得到原始信号。

例子:

Matlab
% MATLAB Code for upsampling
clc
clear all
  
% Original signal
x = [1 2 3 4] 
  
% Upsampling 
y = upsample(x,3)
  
% plots the data sequence
stem(x)
subplot(4,1,2)
stem(y)
  
% Downsampling
c = downsample(y,3)
subplot(4,1,3)
stem (c)


输出:

图 1:使用 3 的采样因子对函数进行上采样

代码说明:

输入信号 x 具有离散值 [1, 2, 3, 4 ]。上采样函数的采样因子为3。因此上采样函数通过在每个样本之间添加(L-1)个零来扩展信号,即n=3,则零的数量为3-1=2。我们可以在下面的输出中看到扩展的信号。再次使用相同的缩放因子对上采样函数进行下采样以检索原始信号。 'stem (x)'函数基本上用于绘制数据的序列。 subplot(x,y,z)函数将当前图形拆分为 x×y 轴,并在 z 定义的部分中构造轴。