interp

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

Синтаксис

y = interp(x,r)
y = interp(x,r,n,cutoff)
[y,b] = interp(x,r,n,cutoff)

Описание

пример

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:0.001:1;
x = sin(2*pi*30*t) + sin(2*pi*60*t);
y = interp(x,4);

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

subplot 211
stem(0:30,x(1:31),'filled','markersize',3)
grid on
xlabel 'Sample number',ylabel Original
subplot 212
stem(0:120,y(1:121),'filled','markersize',3)
grid on
xlabel 'Sample number',ylabel Interpolated

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

свернуть все

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

Типы данных: 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® Transactions на Акустике, Речи и Обработке сигналов. Издание ASSP-23, № 3, июнь 1975, стр 301–309.

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

| | | | | | |

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