lowpassResample

Преобразуйте сигнал от одного шага расчета до другого

Описание

пример

[vq,vdq] = lowpassResample(t,v,tq,config) возвращает интерполированный вектор из выборок vq и их производные vdq от входных шагов расчета t, введите демонстрационные значения v, и выходные шаги расчета tq. Процесс интерполяции задан параметрами в config.

Примеры

свернуть все

Произведите синусоиду на выборках пи на цикл.

t = (0:20)*2;
v = sin(t);

Задайте шаги расчета интерполяции.

tq = (0:400)*0.1;

Задайте настройку интерполяции.

config.OutputRiseFall = 2; %Fixed step sample interval
config.NDelay = 5;
config.SampleMode = 'fixed';
config.CausalMode = 'off';

Выполните интерполяцию.

[vq,vdq]=lowpassResample(t,v,tq,config);

График поля точек выборки, отобразите интерполированные данные на графике и постройте исходную синусоиду.

scatter(t,v);
hold on;
plot(tq,vq);
plot(tq,sin(tq));
hold off;
title('Interpolated Data');
legend('samples','interpolated data','original sine wave');

Figure contains an axes object. The axes object with title Interpolated Data contains 3 objects of type scatter, line. These objects represent samples, interpolated data, original sine wave.

Постройте интерполированную производную и исходную производную.

plot(tq,vdq);
hold on;
plot(tq,cos(tq));
hold off;
title('Interpolated Derivative');
legend('interpolated derivative','original derivative');

Figure contains an axes object. The axes object with title Interpolated Derivative contains 2 objects of type line. These objects represent interpolated derivative, original derivative.

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

свернуть все

Введите шаги расчета в виде вектора переменного шага или фиксированного шага.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Введите демонстрационные значения, соответствующие входным шагам расчета, заданным в tВ виде вектора.

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

Выведите шаги расчета в виде вектора переменного шага или фиксированного шага.

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

Параметры интерполяции в виде структуры с полями.

Поле ОписаниеЗначениеЗначение по умолчанию
OutputRiseFall0%-100%-е повышение/время спада интерполированного выхода.Положительный действительный скаляр1e-10
NDelayНомер времен повышения/падения, к которым интерполированный выход будет задержан относительно входа.Положительное действительное целое число1
SampleModeВведите режим выборки, или дискретное время фиксированного шага или дискретное время переменного шага.fixed, variablevariable
CausalModeОпределите, хотите ли вы, чтобы процесс интерполяции ввел задержку. Выберите CausalMode вводить достаточно задержки между выборками ввода и вывода в процессе интерполяции так, чтобы процесс был строго причинным.offonoff

Типы данных: struct

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

свернуть все

Интерполированные выборки, возвращенные как вектор.

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

Производная интерполированных выборок, соответствующих vq, возвращенный как вектор.

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

Больше о

свернуть все

Задержка интерполированного Выхода

Можно задать номер времен повышения/падения, к которым интерполированный выход будет задержан относительно входа с помощью config.NDelay параметр.

Значение по умолчанию config.NDelay из 1 производит интерполяцию, которая не имеет никакого вызова из-за Явления Гиббса и также имеет скромный отклоненный из полосы числовые артефакты.

Установка config.NDelay к 5 вводит достаточно фильтрации сглаживания, чтобы удовлетворить большинству приложений, но вводит вызов из-за Явления Гиббса.

Установка config.NDelay к 10 вводит достаточно фильтрации сглаживания, чтобы удовлетворить требовательным приложениям, но за счет дополнительной задержки и расчета.

Установка config.NDelay к большему, чем 10 поддерживается, но обычно не требуется.

Введите режим выборки

Можно задать входной режим выборки с помощью config.SampleModeпараметр.

Значение по умолчанию config.SampleMode из variable принимает, что входные значения являются результатом нулевого порядка, содержат процесс. В этом случае значение сигналов всегда равно значению новой выборки. Этот выбор подходит для влажных сигналов, для которых время перехода является наиболее важным соображением.

Установка 'config.SampleMode к fixed принимает, что входные значения являются мгновенными выборками математически непрерывного сигнала в однородно расположенных с интервалами шагах расчета. Используйте эту опцию для сигналов, которые подвергаются существенному количеству аналоговой фильтрации.

Причинная связь процесса интерполяции

Можно задать процесс интерполяции как причинный или не использующий config.SampleMode параметр.

Значение по умолчанию config.CausalMode из off выравнивает масштаб времени интерполяции с масштабом времени входа. Это является соответствующим, когда все необходимые входные значения доступны в одном векторе.

Установка config.CausalMode к on вводит достаточно задержки так, чтобы демонстрационные значения были доступны прежде, чем выполнить интерполяцию. Интерполированные шаги расчета поэтому всегда задерживаются постоянным значением относительно входных шагов расчета. Необходимой дополнительной задержкой этого режима является config.OutputRiseFall времена config.NDelay. Это поведение подражает поведению блока Lowpass Resampler.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2021a