¿Qué es el sobremuestreo en MATLAB?

En este artículo, veremos Upsampling en MATLAB. Como sabemos, el sobremuestreo es el proceso de aumentar la tasa de muestreo, es decir, aumentar el número de muestras. Cuando un muestreo superior funciona en una serie de muestras de una señal u otra función continua, tiene una estimación de la fila que se habría recibido al muestrear la señal a una tasa más alta. Upsampling es el método de poner muestras de valor cero entre muestras reales para aumentar la tasa de muestreo. El número de ceros entre las muestras se decide por el factor de muestreo L, (Número de ceros = L-1).

¿Por qué sobremuestreo?

A menudo, el hardware y el software de audio ofrecen sobremuestreo. Cuando el audio analógico se convierte en digital, es necesario filtrarlo para que no entre ningún audio en el convertidor analógico-digital que sea superior a la mitad de la frecuencia de muestreo. El truco consiste en convertir la señal digital a una frecuencia de muestreo más alta, digamos dos o cuatro veces la frecuencia de muestreo original. Cuando se hace correctamente, la información de audio no ha cambiado y, por lo tanto, no contiene más información, pero dado que la señal ahora tiene una frecuencia de muestreo más alta, el filtro analógico no tiene que trabajar tanto y, por lo tanto, causa menos distorsión.

sobremuestreo()

Tenemos una función de muestreo superior en MATLAB que se utiliza para aumentar la frecuencia de muestreo de cualquier función x[n] mediante el factor de muestreo ‘L’. La sintaxis básica se escribe a continuación.

y = sobremuestrear(a,n)

y = upsample(a,n,fase)

Aquí ,

y = upsample(a,n) es la sintaxis básica de la función de muestreo superior utilizada en MATLAB, donde ‘a’ es la señal de entrada y ‘n’ es el factor de muestreo. Veremos un ejemplo de la función en el siguiente código.

Supongamos que tenemos una función x = [1 2 3 4] que aumenta el muestreo con un factor de muestreo de 3 y luego reduce el muestreo con el mismo factor de muestreo para obtener la señal original.

Ejemplo: 

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)

Producción:

Fig. 1: Sobremuestreo de la función con el factor de muestreo de 3

Explicación del código:

La señal de entrada es x tiene valores discretos [1, 2, 3, 4]. El factor de muestreo de la función upsample es 3. Por lo tanto, la función upsample expande la señal agregando (L-1) ceros entre cada muestra, es decir, n=3, entonces el número de ceros es 3-1 =2. Podemos ver la señal expandida en la siguiente salida. De nuevo, la función sobremuestreada se reduce con el mismo factor de escala para recuperar la señal original. La función ‘tallo (x)’ se utiliza básicamente para trazar la secuencia de los datos. La función subplot(x,y,z) divide la figura actual en un eje x-by-y y construye ejes en la parte definida por z.

Publicación traducida automáticamente

Artículo escrito por ashutoshprakash2455 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *