Сгенерируйте входные сигналы
idinput
команда генерирует входной сигнал с заданными характеристиками для вашей системы. Можно использовать сгенерированный вход и симулировать ответ системы, чтобы изучить поведение системы. Например, можно изучить отклик системы к периодическим входным параметрам. Система может быть фактической физической системой или моделью, такой как модель Simulink®. Можно также спроектировать оптимальные эксперименты. Например, можно определить, какие входные сигналы изолируют отказы или нелинейность в системе. Можно также использовать idinput
спроектировать вход, который имеет достаточную пропускную способность, чтобы взволновать динамический диапазон вашей системы.
Сгенерируйте одноканальный случайный сигнал двоичного входа с 200 выборками.
N = 200; u = idinput(N);
u
вектор-столбец длины 200. Значения в u
или-1 или 1.
Создайте iddata
объект от сгенерированного сигнала. В данном примере задайте шаг расчета как 1 секунду.
u = iddata([],u,1);
Чтобы исследовать сигнал, постройте его.
plot(u)
Сгенерированный сигнал является случайным сигналом двоичного входа со значениями-1 или 1. Можно использовать сгенерированный входной сигнал, чтобы симулировать выход системы с помощью sim
команда.
Сгенерируйте двухканальный случайный сигнал двоичного входа с 200 выборками.
N = 200; u = idinput([N,2]);
u
200 2 матрица со значениями-1 или 1.
Создайте iddata
объект от сгенерированного сигнала. В данном примере задайте шаг расчета как 1 секунду.
u = iddata([],u,1);
Постройте сигналы для двух каналов и исследуйте сигналы.
plot(u)
График показывает два сгенерированных случайных двоичных сигнала со значениями-1 или 1.
Сгенерируйте одноканальный периодический случайный сигнал двоичного входа с периодом 10 выборок и 5 периодами в сигнале.
NumChannel = 1; Period = 10; NumPeriod = 5; u = idinput([Period,NumChannel,NumPeriod]);
u
вектор-столбец длины 50 (= Period*NumPeriod). Значения в u
или-1 или 1.
Создайте iddata
объект от сгенерированного сигнала. Задайте шаг расчета как 1 секунду.
u = iddata([],u,1);
Постройте сигнал.
plot(u)
Как задано, сгенерированный одноканальный периодический случайный сигнал двоичного входа имеет период 10 секунд, и в сигнале существует 5 целых периодов.
Сгенерируйте одноканальный периодический случайный Гауссов входной сигнал с периодом 50 выборок и 5 периодами в сигнале. Сначала сгенерируйте сигнал с помощью целого частотного диапазона, затем задайте полосу пропускания.
NumChannel = 1;
Period = 50;
NumPeriod = 5;
u = idinput([Period,NumChannel,NumPeriod],'rgs');
u
вектор-столбец длины 250 (= Period*NumPeriod).
Создайте iddata
объект от сгенерированного сигнала и график сигнал. В данном примере задайте шаг расчета как 0,01 секунды.
u = iddata([],u,0.01); plot(u)
График показывает тот u
содержит случайный сегмент 50 выборок, повторенных 5 раз. Сигнал является Гауссовым белым шумовым сигналом с нулевым средним значением и отклонением один.
Поскольку шаг расчета составляет 0,01 секунды, сгенерированный сигнал имеет период 0,5 секунд. Содержимое частоты сигнала порождает целую доступную линейную оболочку столбцов (0-50 Гц).
Теперь задайте полосу пропускания между 0 и 25 Гц (= 0.5 раза частота Найквиста).
Band = [0 0.5];
u2 = idinput([Period,NumChannel,NumPeriod],'rgs',Band);
Создайте iddata
объект и график сигнал.
u2 = iddata([],u2,0.01); plot(u2)
Содержимое частоты сгенерированного u2
сигнала ограничивается 0-25 Гц.
Псевдослучайный сигнал двоичного входа (PRBS) является детерминированным сигналом, свойства частоты которого подражают белому шуму. PRBS является по сути периодической длиной периода имеющей , где целое число n является порядком PRBS. Для получения дополнительной информации смотрите Псевдослучайные Двоичные сигналы.
Укажите, что одноканальное значение PRBS переключается между-2 и 2.
Range = [-2,2];
Задайте период часов сигнала как 1 выборка. Таким образом, значение сигналов может измениться на каждом временном шаге. Для сигналов PRBS период часов задан в Band
= [0 B], где B
инверсия необходимого периода часов.
Band = [0 1];
Сгенерируйте апериодический PRBS длины 100 выборок.
u = idinput(100,'prbs',Band,Range);
Warning: The PRBS signal delivered is the 100 first values of a full sequence of length 127.
PRBS является по сути периодическим. Чтобы сгенерировать апериодический сигнал, программное обеспечение генерирует максимальную длину PRBS длины 127, который имеет период, больше, чем необходимое количество выборок, 100. Программное обеспечение возвращает первые 100 выборок сгенерированного PRBS. Это действие гарантирует, что сгенерированный сигнал не является периодическим, как обозначено в сгенерированном предупреждении.
Создайте iddata
объект от сгенерированного сигнала. В данном примере задайте шаг расчета как 1 секунду.
u = iddata([],u,1);
Постройте и исследуйте сгенерированный сигнал.
plot(u);
title('Non-Periodic Signal')
Сгенерированный сигнал является апериодическим PRBS длины 100, который переключается между-2 и 2.
Укажите, что псевдослучайный сигнал двоичного входа (PRBS) переключается между-2 и 2.
Range = [-2,2];
Задайте период часов сигнала как 1 выборка. Таким образом, значение сигналов может измениться на каждом временном шаге. Для сигналов PRBS период часов задан в Band
= [0 B], где B
инверсия необходимого периода часов.
Band = [0 1];
Сгенерируйте одноканальный, периодический PRBS с периодом 100 выборок и 3 периодами в сигнале.
u1 = idinput([100,1,3],'prbs',Band,Range);
Warning: The period of the PRBS signal was changed to 63. Accordingly, the length of the generated signal will be 189.
PRBS является по сути периодической длиной периода имеющей , где целое число n является порядком PRBS. Если период, который вы задаете, не равен максимальной длине PRBS, программное обеспечение настраивает период сгенерированного сигнала получить целое число максимальной длины PRBS и выдает предупреждение. Для получения дополнительной информации о максимальной длине PRBS, смотрите Псевдослучайные Двоичные сигналы. В этом примере желаемый период, 100, не равен максимальной длине PRBS, таким образом программное обеспечение вместо этого генерирует максимальную длину PRBS порядка n = floor(log2(Period)) = 6
. Таким образом период сигнала PRBS равняется 63 (= ), и длина сгенерированного сигнала равняется 189 (= NumPeriod
*63). Этот результат обозначается в сгенерированном предупреждении.
Создайте iddata
объект от сгенерированного сигнала и график сигнал. Задайте период сигнала как 63 выборки.
u1 = iddata([],u1,1,'Period',63); plot(u1) title('Periodic Signal')
Сгенерированный сигнал является периодическим PRBS с тремя периодами.
Сгенерируйте периодические и апериодические псевдослучайные сигналы двоичного входа (PRBS) с заданным периодом часов.
Сгенерируйте одноканальный PRBS, который переключается между-2 и 2. Задайте период часов сигнала как 4 выборки. Таким образом, сигнал должен остаться постоянным по крайней мере для 4 последовательных выборок, прежде чем он сможет измениться. Для сигналов PRBS период часов задан в Band
= [0 B], где B
инверсия необходимого периода часов.
Range = [-2,2]; Band = [0 1/4];
Сначала сгенерируйте апериодический сигнал длины 100.
u1 = idinput(100,'prbs',Band,Range);
Warning: The PRBS signal delivered is the 100 first values of a full sequence of length 124.
Чтобы изучить сгенерированное предупреждение, сначала обратите внимание, что код эквивалентен генерации одноканального PRBS с 100 периодами расчета и 1 периода.
u1 = idinput([100,1,1],'prbs',Band,Range);
Сгенерированный сигнал PRBS должен остаться постоянным по крайней мере для 4 выборок, прежде чем значение сможет измениться. Чтобы удовлетворить этому требованию, программное обеспечение сначала вычисляет порядок наименьшей максимальной длины PRBS как n = floor(log2(Period*B)) = 4
и период . Для получения информации о максимальной длине PRBS смотрите Псевдослучайные Двоичные сигналы. Программное обеспечение затем расширяет этот PRBS, таким образом, что период расширенного сигнала .
Однако, поскольку этот период меньше заданной длины, 100, программное обеспечение вычисляет вместо этого максимальную длину PRBS порядка m = n+1 = 5
. Программное обеспечение затем расширяет этот PRBS, таким образом, что период теперь . Программное обеспечение возвращает первые 100 выборок этого сигнала как u1
. Этот результат гарантирует, что сгенерированный сигнал не является периодическим, но является постоянным для каждых 4 выборок.
Создайте iddata
объект от сгенерированного сигнала. В данном примере задайте шаг расчета как 1 секунду.
u1 = iddata([],u1,1);
Постройте и исследуйте сигнал.
plot(u1);
title('Nonperiodic Signal')
Сгенерированный сигнал является апериодическим PRBS длины 100. Сигнал остается постоянным по крайней мере для 4 выборок перед каждым изменением в значении. Таким образом сигнал удовлетворяет периоду часов, заданному в Band
.
Теперь сгенерируйте периодический сигнал с 100 периодами расчета и 3 периода.
u2 = idinput([100,1,3],'prbs',Band,Range);
Warning: The period of the PRBS signal was changed to 60. Accordingly, the length of the generated signal will be 180.
Чтобы сгенерировать периодический сигнал с заданным периодом часов, программное обеспечение генерирует u2
как 3 повторения исходного расширенного сигнала периода P = 60
. Таким образом, длина u2
P*NumPeriod = 60*3 = 180
. Это изменение в период и длину сгенерированного сигнала обозначается в сгенерированном предупреждении.
Создайте iddata
объект от сгенерированного сигнала и график сигнал. Задайте период сигнала как 60 секунд.
u2 = iddata([],u2,1,'Period',60); plot(u2) title('Periodic Signal')
Сгенерированный сигнал является периодическим PRBS с 60-секундным периодом и 3 периодами. Сигнал остается постоянным по крайней мере для 4 выборок перед каждым изменением в значении. Таким образом сигнал удовлетворяет заданному периоду часов.
Можно сгенерировать сигнал суммы синусоид, использующий характеристики по умолчанию для синусоид. В качестве альтернативы вы конфигурируете количество синусоид, и частоты и фазы синусоид. Этот пример показывает оба подхода.
Укажите, что сигнал имеет 50 выборок в каждый период и 3 периода. Также укажите, что амплитудная область значений сигнала между-1 и 1.
Period = 50; NumPeriod = 3; Range = [-1 1];
Задайте частотный диапазон сигнала. Для сигнала суммы синусоид вы задаете более низкие и верхние частоты полосы пропускания в частях частоты Найквиста. В этом примере используйте целый частотный диапазон между 0 и частота Найквиста.
Band = [0 1];
Сначала сгенерируйте сигнал с помощью характеристик по умолчанию для синусоид. По умолчанию программное обеспечение использует 10 синусоид, чтобы сгенерировать сигнал. Программное обеспечение присваивает случайную фазу каждой синусоиде, и затем изменяет эти фазы 10 раз, чтобы получить самое маленькое распространение сигнала. Распространение сигнала является различием между минимумом и максимальным значением сигнала по всем выборкам.
[u,freq] = idinput([Period 1 NumPeriod],'sine',Band,Range);
Программное обеспечение возвращает сигнал суммы синусоид в u
и частоты синусоид в freq
. Значения в freq
масштабируются, принимая, что шаг расчета является 1 единицей измерения времени. Предположим, что шаг расчета составляет 0,01 часа. Чтобы получить фактические частоты в рад/часы, разделите значения на шаг расчета.
Ts = 0.01; % Sample time in hours
freq = freq/Ts;
freq(1)
ans = 12.5664
freq(1)
частота первой синусоиды. Чтобы видеть, как программное обеспечение выбирает частоты, смотрите SineData
описание аргумента на idinput
страница с описанием.
Чтобы проверить, что 10 синусоид использовались, чтобы сгенерировать сигнал, можно просмотреть содержимое частоты сигнала. Выполните преобразование Фурье сигнала и постройте односторонний амплитудный спектр сигнала.
ufft = fft(u); Fs = 2*pi/Ts; % Sampling frequency in rad/hour L = length(u); w = (0:L-1)*Fs/L; stem(w(1:L/2),abs(ufft(1:L/2))) % Plot until Nyquist frequency title('Single-Sided Amplitude Spectrum of u(t)') xlabel('Frequency (rad/hour)') ylabel('Amplitude')
Сгенерированный график показывает, что частоты этих 10 синусоид раньше генерировали сигнал. Например, график показывает, что первая синусоида имеет частоту 12,57 рад/час, то же самое как freq(1)
.
Преобразуйте сгенерированный сигнал в iddata
объект и график сигнал. Задайте шаг расчета как 0,01 часа.
u = iddata([],u,Ts,'TimeUnit','hours'); plot(u)
u
сигнала сгенерирован с помощью 10 синусоид и имеет период 0,5 часов и 3 периода.
Теперь измените номер, частоту и фазу синусоид, которые используются, чтобы сгенерировать сигнал суммы синусоид. Используйте 12 синусоид и попробуйте 15 различных наборов фаз. Чтобы установить частоты синусоид, задайте GridSkip
= 2. Программное обеспечение выбирает частоты синусоид от пересечения сетки частоты 2*pi*[1:GridSkip:fix(Period/2)]/Period
и полоса пропускания pi*Band
.
NumSinusoids = 12;
NumTrials = 15;
GridSkip = 2;
SineData = [NumSinusoids,NumTrials,GridSkip];
u2 = idinput([Period 1 NumPeriod],'sine',Band,Range,SineData);
Преобразуйте сгенерированный сигнал в iddata
объект и график сигнал.
u2 = iddata([],u2,Ts,'TimeUnit','hours'); plot(u2)
u2
сигнала сгенерирован с помощью 12 синусоид и имеет период 0,5 часов и 3 периода.
N
— Количество сгенерированных выборок входных данныхNu
— Количество входных каналов
(значение по умолчанию) | действительное положительное целое числоКоличество входа образовывает канал в сгенерированном сигнале в виде действительного положительного целого числа.
Period
— Количество выборок в каждый периодКоличество выборок в каждый период сгенерированного сигнала в виде действительного положительного целого числа. Используйте этот вход, чтобы задать периодический сигнал. Также задайте количество периодов в NumPeriod
. Каждый сгенерированный входной сигнал канала имеет NumPeriod*Period
выборки.
NumPeriod
— Количество периодов в сгенерированном сигнале
(значение по умолчанию) | действительное положительное целое числоКоличество периодов в сгенерированном сигнале в виде действительного положительного целого числа. Используйте этот вход, чтобы задать периодический сигнал. Также задайте Period
сигнала. Каждый сгенерированный входной сигнал канала имеет
NumPeriod*Period
выборки.
Type
— Тип сгенерированного сигнала'rbs'
(значение по умолчанию) | 'rgs'
| 'prbs'
| 'sine'
Тип сгенерированного сигнала в виде одного из следующих значений:
'rbs'
— Генерирует случайный двоичный сигнал. Случайный двоичный сигнал является вероятностным процессом, который принимает только два значения. Можно задать эти значения с помощью Range
. Чтобы сгенерировать ограниченный полосой сигнал, задайте полосу пропускания в Band
. Чтобы сгенерировать периодический сигнал, задайте Period
и NumPeriod
.
'rgs'
— Генерирует случайный Гауссов сигнал. Сгенерированный Гауссов сигнал имеет среднее значение μ и стандартное отклонение σ таким образом, который [μ-σ, μ +σ] равняется Range
. Чтобы сгенерировать ограниченный полосой Гауссов сигнал, задайте полосу пропускания в Band
. Сгенерировать периодический Гауссов сигнал с n
демонстрационный период, который повторяется m
времена, задайте Period
как n
и NumPeriod
как m
.
'prbs'
— Генерирует псевдослучайный двоичный сигнал (PRBS). PRBS является периодическим, детерминированным сигналом со свойствами "белый шум как", который переключает между двумя значениями. Можно задать эти два значения с помощью Range
. Можно также задать период часов, минимальное количество интервалов выборки, для которых не изменяется значение сигнала. Вы задаете инверсию периода часов в Band
.
Длина сгенерированного сигнала является не всегда тем же самым как, что вы задаете. Длина зависит от того, требуете ли вы периодического или апериодического сигнала, и также на периоде часов вы задаете. Для получения дополнительной информации смотрите Псевдослучайные Двоичные сигналы.
'sine'
— Генерирует сигнал, который является суммой синусоид. Программное обеспечение выбирает частоты синусоид, которые будут одинаково распространены по выбранной сетке, и присваивает каждую синусоиду случайная фаза. Программное обеспечение затем пробует несколько случайных фаз за каждую синусоиду и выбирает фазы, которые дают самое маленькое распространение сигнала. Распространение сигнала является различием между минимумом и максимальным значением сигнала по всем выборкам. Амплитуда сгенерированного сигнала суммы синусоид масштабируется, чтобы удовлетворить Range
вы задаете.
Можно указать, что характеристики синусоид раньше генерировали сигнал, такой как количество синусоид и их разделения частоты, в SineData
аргумент.
Band
— Частотный диапазон сгенерированного сигнала
(значение по умолчанию) | вектор 1 на 2 строкиЧастотный диапазон сгенерированного сигнала в виде вектора 1 на 2 строки, содержащего минимальные и максимальные значения частоты.
Если Type
'rgs'
, 'rbs'
, или 'sine'
— Задайте Band
как полоса пропускания [wlow whigh]
. Где, wlow
и whigh
более низкие и верхние частоты полосы пропускания, описанной в частях частоты Найквиста. Например, чтобы сгенерировать вход с белыми шумовыми характеристиками, используйте Band = [0 1]
.
Программное обеспечение достигает содержимого частоты для случайного Гауссова сигнала ('rgs'
) использование idfilt
с восьмым порядком Баттерворт, непричинный фильтр. Для генерации случайного двоичного сигнала ('rbs'
), программное обеспечение использует тот же фильтр и затем делает двоичный файл сигнала. Таким образом содержимое частоты в сгенерированном случайном двоичном сигнале не может совпадать с заданной полосой пропускания.
Для 'sine'
сигналы, частоты синусоид выбраны, чтобы быть одинаково распространенными по выбранной сетке в заданной полосе пропускания. Для получения дополнительной информации смотрите SineData
описание аргумента.
Если Type
'prbs'
— Задайте Band
как [0 B]
, где B
инверсия периода часов сигнала. Период часов является минимальным количеством интервалов выборки, для которых не изменяется значение сигнала. Таким образом сгенерированный сигнал является постоянным на интервалах длины 1/B
выборки. Если 1/B
не целое число, программное обеспечение использует floor(1/B)
как период часов.
Range
— Сгенерированная область значений входного сигнала
(значение по умолчанию) | двухэлементный вектор-строкаСгенерированная область значений входного сигнала в виде двухэлементного вектора-строки из формы [umin,umax]
.
Если Type
'rbs'
или 'prbs'
— Сгенерированный u
сигнала имеет значения
umin
или umax
.
Если Type
'sine'
— Сгенерированный u
сигнала имеет значения между
umin
и umax
.
Если Type
'rgs'
— Сгенерированный Гауссов сигнал имеет среднее значение μ и стандартное отклонение σ таким образом что umin
и umax
равны μ-σ и μ +σ, соответственно. Например, Range = [-1,1]
возвращает Гауссов белый шумовой сигнал с нулевым средним значением и отклонением один.
SineData
— Характеристика синусоид
(значение по умолчанию) | трехэлементный вектор-строка [NumSinusoids,NumTrials,GridSkip]
Характеристика синусоид раньше генерировала сигнал суммы синусоид в виде трехэлементного вектора-строки [NumSinusoids,NumTrials,GridSkip]
. Где,
NumSinusoids
количество синусоид, используемых, чтобы сгенерировать сигнал. Значением по умолчанию является 10
.
NumTrials
количество различных случайных относительных фаз синусоид, что программное обеспечение пытается найти самое низкое распространение сигнала. Распространение сигнала является различием между минимумом и максимальным значением сигнала по всем выборкам.
Максимальная амплитуда сигнала суммы синусоид зависит от относительных фаз различных синусоид. Чтобы найти фазы, которые дают самое маленькое распространение сигнала, программное обеспечение пробует NumTrials
различный случайный выбор фаз найти лучшие значения фазы. Например, предположите тот NumSinusoids
20
и NumTrials
5
. Программное обеспечение пробует 5 различных наборов относительных фаз для этих 20 синусоид и выбирает фазы, которые дают самое маленькое распространение сигнала. Значение по умолчанию для NumTrials
10
.
GridSkip
используется, чтобы охарактеризовать частоту синусоид. Программное обеспечение выбирает частоту синусоид от пересечения сетки частоты 2*pi*[1:GridSkip:fix(Period/2)]/Period
и полоса pi*[Band(1) Band(2)]
передачи. Для многоканальных входных сигналов программное обеспечение использует различные частоты от этой сетки частоты, чтобы сгенерировать различные входные каналы. Можно использовать
GridSkip
для управления четными и нечетными множителями частоты, например, чтобы обнаружить нелинейность различных видов.
Извлекать частоты freq
это выбрано программным обеспечением, чтобы сгенерировать сигнал, использовать следующий синтаксис.
[u,freq] = idinput(__)
u
— Сгенерированный входной сигналСгенерированный входной сигнал, возвращенный как вектор-столбец длины N
для одноканального входа или N
- Nu
матрица для Nu
- сигнал канала. Вы используете сгенерированный сигнал симулировать ответ вашего системного использования sim
.
Можно создать iddata
объект от u
путем определения выходных данных как []
.
u = iddata([],u);
В iddata
объект, можно также задать свойства сигнала, такие как шаг расчета, ввести имена и периодичность.
freq
— Частоты синусоидЧастоты синусоид, используемых для сигнала суммы синусоид, возвращенного как вектор-столбец длины, равняются количеству синусоид, NumSinusoids
. Вы задаете NumSinusoids
в SineData
аргумент. Значения частоты масштабируются, принимая, что шаг расчета является 1 единицей измерения времени. Чтобы получить фактические частоты, разделите значения на шаг расчета. Для примера смотрите, Генерируют Сигнал Суммы Синусоид.
Для многоканальных входных сигналов, freq
Nu
- NumSinusoids
матрица, где k th строка содержит частоты, соответствующие k th канал. Для получения информации о том, как программное обеспечение выбирает частоты, смотрите SineData
описание аргумента.
Псевдослучайный двоичный сигнал (PRBS) является периодическим, детерминированным сигналом со свойствами "белый шум как", который переключает между двумя значениями.
PRBS сгенерирован как:
Здесь, вектор из прошлых входных параметров, n является порядком PRBS и rem
обозначает остаток когда разделен на 2. Таким образом PRBS может только принять значения 0 и 1. Программное обеспечение масштабирует эти значения согласно Range
вы задаете. Кроме того, вектор из прошлых входных параметров может только взять 2n
значения. Из этих значений проигнорировано состояние со всеми нулями, потому что оно приведет к будущим равным нулю сигналам. Таким образом PRBS является по сути периодической длиной периода имеющей сигнала 2n-1
. В следующей таблице перечислены максимальную длину, возможную для различных порядков n PRBS.
Закажите n | Максимальная длина PRBS (2n-1 ) |
---|---|
2 | 3 |
3 | 7 |
4 | 15 |
5 | 31 |
6 | 63 |
7 | 127 |
⋮ | ⋮ |
32 | 4294967295 |
Примечание
Программное обеспечение не генерирует сигналы с периодом, больше, чем 232-1
.
Поскольку PRBS являются по сути периодическими, длина и период сгенерированного сигнала зависят от периода часов, который вы задаете и требуете ли вы периодического или апериодического сигнала. Период часов является минимальным количеством интервалов выборки, для которых не изменяется значение сигнала. Вы задаете период часов в Band
.
Синхронизируйте период = 1 выборка (Band = [0 B] = [0 1]
):
Сгенерировать апериодический сигнал длины N
, (NumPeriod
= 1), программное обеспечение сначала вычисляет максимальную длину PRBS с периодом, больше, чем N
. Программное обеспечение затем возвращает первый N
выборки PRBS как u
. Это действие гарантирует тот u
не является периодическим. Например, если N
100, программное обеспечение создает максимальную длину PRBS периода 127 (порядок 7) и возвращает первые 100 выборок как u
.
Для примера смотрите, Генерируют Апериодический Псевдослучайный Сигнал Двоичного входа.
Сгенерировать периодический сигнал (NumPeriod
> 1), программное обеспечение настраивает период сигнала получить целое число максимальной длины PRBS. Для этого программное обеспечение вычисляет PRBS порядка n = floor(log2(Period))
и период P = 2n-1
. u
сигнала затем сгенерирован как
NumPeriod
повторения этого сигнала PRBS периода P
. Таким образом, длина u
P*NumPeriod
.
Для примера смотрите, Генерируют Периодический Псевдослучайный Сигнал Двоичного входа.
В нескольких - входной случай канала, максимально смещены сигналы. Таким образом, перекрытие между различными входными параметрами минимизировано. Это означает Period/NumPeriod
верхняя граница для порядков модели, что можно оценить использование такого сигнала.
Синхронизируйте период> 1 выборка (Band = [0 B], where B<1
):
Сгенерированный сигнал должен остаться постоянным, по крайней мере, для 1/B
выборки. Чтобы удовлетворить этому требованию, программное обеспечение сначала вычисляет порядок наименьшей максимальной длины PRBS как n = floor(log2(Period*B))
и период 2n-1
. Программное обеспечение затем расширяет PRBS, таким образом, что периодом расширенного сигнала является P = B-1(2n-1)
.
Сгенерировать апериодический сигнал длины N
, если период P
из расширенного сигнала больше или равен N
, программное обеспечение возвращает первый N
выборки расширенного сигнала как u
. Это гарантирует тот u
является апериодическим, но постоянным для каждого 1/B
выборки. Обратите внимание на то, что для апериодического сигнала, Period
равно N
.
Если период P
меньше N
, программное обеспечение вычисляет вместо этого максимальную длину PRBS порядка n2 = n+1
. Программное обеспечение затем расширяет этот PRBS, таким образом, что периодом является теперь P2 = B-1(2n2-1)
. Программное обеспечение затем возвращает первый N
выборки этого сигнала как u
.
Чтобы сгенерировать периодический сигнал, программное обеспечение генерирует u
как NumPeriod
повторения расширенного сигнала периода P
. Таким образом, длина u
P*NumPeriod
.
Для примера смотрите, Генерируют Псевдослучайный Сигнал Двоичного входа с Заданным Периодом Часов.
[1] Söderström, T. и П. Стойка., глава C5.3 в System Identification, Prentice Hall, 1989.
[2] Ljung, L., разделите 13.3 в System Identification: теория для пользователя, PTR Prentice Hall, 1999.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.