Преобразование сигнала из одного времени выборки в другое
Выборка синусоидальной волны при pi выборок за цикл.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.