Повышение дискретизации в MATLAB

Опубликовано: 2 Марта, 2022

Интерполяция или повышающая дискретизация - это специфическая инверсия прореживания. Это операция сохранения данных, поскольку все примеры x [n] доступны в расширенном сигнале y [n]. Интерполяция работает путем добавления (L – 1) примеров с нулевым значением для каждой входной выборки.

Мы будем использовать функцию interp () для интерполяции сигнала. Он используется для увеличения частоты дискретизации сигнала на целочисленный коэффициент.

Syntax: a = interp(x, r) 
Parameter:  

  • x: input signal
  • r: interpolation factor

Return Value: Returns interpolated signal 
 

Код MATLAB для интерполяции сигнала:

MATLAB

% time vector
t = 0 : .00025 : 1;
  
# input signal
x = sin(2 * pi * 50 * t) + sin(2 * pi * 100 * t);
  
% increase the sample rate of i/p signal by factor of 4
y = interp(x, 4); 
  
subplot(2, 2, 1);
  
% plot few samples of the Original signal
stem(x(1 : 75)) 
title("Original Signal");
  
subplot(2, 2, 2);
  
% plots few samples of the up-sampled signal
stem(y(1 : 75)); 
title("Interpolated Signal");

Выход: