Преобразуйте сигнал от одного шага расчета до другого
Произведите синусоиду на выборках пи на цикл.
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');
Постройте интерполированную производную и исходную производную.
plot(tq,vdq); hold on; plot(tq,cos(tq)); hold off; title('Interpolated Derivative'); legend('interpolated derivative','original derivative');
t
— Введите шаги расчетаВведите шаги расчета в виде вектора переменного шага или фиксированного шага.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
v
— Введите демонстрационные значенияВведите демонстрационные значения, соответствующие входным шагам расчета, заданным в t
В виде вектора.
Типы данных: single
| double
tq
— Выведите шаги расчетаВыведите шаги расчета в виде вектора переменного шага или фиксированного шага.
Типы данных: single
| double
config
— Параметры интерполяцииПараметры интерполяции в виде структуры с полями.
Поле | Описание | Значение | Значение по умолчанию |
---|---|---|---|
OutputRiseFall | 0%-100%-е повышение/время спада интерполированного выхода. | Положительный действительный скаляр | 1e-10 |
NDelay | Номер времен повышения/падения, к которым интерполированный выход будет задержан относительно входа. | Положительное действительное целое число | 1
|
SampleMode | Введите режим выборки, или дискретное время фиксированного шага или дискретное время переменного шага. | fixed , variable | variable |
CausalMode | Определите, хотите ли вы, чтобы процесс интерполяции ввел задержку. Выберите CausalMode вводить достаточно задержки между выборками ввода и вывода в процессе интерполяции так, чтобы процесс был строго причинным. | off on | off |
Типы данных: struct
vq
— Интерполированные выборкиИнтерполированные выборки, возвращенные как вектор.
Типы данных: single
| double
vdq
— Производная интерполированных выборокПроизводная интерполированных выборок, соответствующих 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.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.