interp

Интерполяция — увеличивает частоту дискретизации на целочисленный коэффициент

Описание

пример

y = interp(x,r) увеличивает частоту дискретизации x, входной сигнал, на коэффициент r.

y = interp(x,r,n,cutoff) задает два дополнительных значения:

  • n половина количества исходных демонстрационных значений, используемых, чтобы интерполировать расширенный сигнал.

  • cutoff нормированная частота среза входного сигнала в виде части частоты Найквиста.

[y,b] = interp(x,r,n,cutoff) также возвращает вектор, b, с коэффициентами фильтра, используемыми для интерполяции.

Примеры

свернуть все

Создайте синусоидальный сигнал, произведенный на уровне 1 кГц. Интерполируйте его на коэффициент четыре.

t = 0:1/1e3:1;
x = sin(2*pi*30*t) + sin(2*pi*60*t);
y = interp(x,4);

Постройте исходные и интерполированные сигналы.

subplot(2,1,1)
stem(0:30,x(1:31),'filled','MarkerSize',3)
grid on
xlabel('Sample Number')
ylabel('Original')

subplot(2,1,2)
stem(0:120,y(1:121),'filled','MarkerSize',3)
grid on
xlabel('Sample Number')
ylabel('Interpolated')

Figure contains 2 axes objects. Axes object 1 contains an object of type stem. Axes object 2 contains an object of type stem.

Входные параметры

свернуть все

Входной сигнал в виде вектора.

Типы данных: double | single

Коэффициент интерполяции в виде положительного целого числа.

Типы данных: double | single

Половина количества входных выборок используется для интерполяции в виде положительного целого числа. Для лучших результатов используйте n не больше, чем 10. Фильтр интерполяции lowpass имеет длину 2 × n × r + 1.

Типы данных: double | single

Нормированная частота среза входного сигнала в виде положительного действительного скаляра, не больше, чем 1, который представляет часть частоты Найквиста. Значение 1 среднего значения, что сигнал занимает полный интервал Найквиста.

Типы данных: double | single

Выходные аргументы

свернуть все

Интерполированный сигнал, возвращенный как вектор. y r времена пока исходный вход, x.

Типы данных: double | single

Интерполяция lowpass фильтрует коэффициенты, возвращенные как вектор-столбец.

Типы данных: double | single

Алгоритмы

Интерполяция увеличивает исходную частоту дискретизации последовательности к более высокому уровню. Это - противоположность децимации. interp вставляет нули в исходный сигнал и затем применяет фильтр интерполяции lowpass к расширенной последовательности. Функция использует алгоритм интерполяции lowpass 8,1 описанных в [1]:

  1. Расширьте входной вектор до правильной длины путем вставки 0s между исходными значениями данных.

  2. Спроектируйте специальный симметричный КИХ-фильтр, который позволяет исходным данным проходить неизменный и интерполирует, чтобы минимизировать среднеквадратичную погрешность между интерполированными точками и их идеальными значениями. Фильтр, используемый interp совпадает с фильтром, возвращенным intfilt.

  3. Примените фильтр к расширенному входному вектору, чтобы произвести выход.

Ссылки

[1] Комитет по Цифровой обработке сигналов Акустики IEEE, Речи, и Общества Обработки сигналов, программ редакторов для Цифровой обработки сигналов. Нью-Йорк: Нажатие IEEE, 1979.

[2] Oetken, G., Томас В. Парки и Х. В. Шюсслер. “Новые результаты в проекте цифровых интерполяторов”. IEEE® Транзакции на Акустике, Речи и Обработке сигналов. Издание ASSP-23, № 3, июнь 1975, стр 301–309.

Смотрите также

| | | | | | |

Представлено до R2006a