Извлечение необходимых областей сигнала
Рассмотрим двухколоночную матрицу, представляющую возможные необходимые области 45-выборочного случайного сигнала. Извлеките выборки сигнала, соответствующие необходимым областям.
x = randn(45,1); roilims = [5 10; 15 25; 30 35]; sigroi = extractsigroi(x,roilims);
Постройте график сигнала и выделите интересующие вас области.
plot(x) hold on for kj = 1:length(sigroi) plot(roilims(kj,1):roilims(kj,2),sigroi{kj}) end hold off
Рассмотрим набор данных о температуре, собранных термометром в офисном создании в течение примерно четырех месяцев. Устройство делает показания каждые полчаса. Таким образом, скорость дискретизации составляет 48 измерений/день. Преобразуйте температуру в степени Цельсия и постройте график данных.
load officetemp tempC = (temp-32)*5/9; fs = 48; t = (0:length(tempC) - 1)/fs; plot(t,tempC) xlabel('Time (days)') ylabel('Temperature ( {}^\circC )')
Создайте пределы необходимой области, которые разделяют данные о температуре на 29-дневные периоды.
roilims = [1 29; 30 58; 59 87; 88 116];
Извлечение необходимых областей. Вычислите среднюю температуру каждого периода и отобразите значения.
sigroi = extractsigroi(tempC,roilims*fs); cellfun(@mean,sigroi)'
ans = 1×4
22.8819 22.3073 22.7633 23.0066
Рассмотрим двухколоночную матрицу, представляющую возможные необходимые области 45-выборочного случайного сигнала. Извлеките выборки сигнала, соответствующие необходимым областям. Сгруппируйте выборки в один вектор.
x = randn(45,1); roilims = [5 10; 15 25; 30 35]; sigroi = extractsigroi(x,roilims,true);
Постройте график сигнала и выделите интересующие вас области.
plot(x) y = NaN(size(x)); for kj = 1:size(roilims,1) roi = roilims(kj,1):roilims(kj,2); y(roi) = sigroi(1:length(roi)); sigroi(1:length(roi)) = []; end hold on plot(y) hold off
Рассмотрите набор данных о температуре, собранных термометром в офисном создании в течение четырех месяцев. Устройство делает показания каждые полчаса. Таким образом, скорость дискретизации составляет 48 измерений/день. Преобразуйте температуру в степени Цельсия.
load officetemp
tempC = (temp-32)*5/9;
fs = 48;
Создайте пределы видимой области (ROI), которые соответствуют пяти случайным двухнедельным периодам, разделенным по крайней мере на 24 часа. Используйте показания температуры из этих дней для аудита.
r = 5; w = 14*fs; s = 1*fs; hq = histcounts(randi(r+1,1,length(tempC)-r*w-(r-1)*s),(1:r+2)-1/2); t = (1 + (0:r-1)*(w+s) + cumsum(hq(1:r)))'; roilims = [t t+w-1];
Извлечение необходимых областей. Вычислите среднюю температуру каждого проверяемой необходимой области и отобразите значения.
sigroi = extractsigroi(tempC,roilims); cellfun(@mean,sigroi)'
ans = 1×5
22.8075 22.2586 22.4256 22.9018 23.1457
Снова извлеките необходимые области, но теперь объедините выборки в один вектор. Вычислите среднюю температуру по проверяемым областям.
sigroic = extractsigroi(tempC,roilims,true); avgTFc = mean(sigroic)
avgTFc = 22.7078
Преобразуйте пределы информация только для чтения в двоичную последовательность и создайте маску. Срочное время в неделях.
m = sigroi2binmask(roilims,length(tempC)); msk = signalMask(m,'SampleRate',fs*7,'Categories',"Audit");
Постройте график данных и визуализируйте необходимые области с помощью прямоугольных закрашенных фигур.
plotsigroi(msk,tempC,true) xlabel('Time (weeks)') ylabel('Temperature ( {}^\circC )')
x
- Входной сигналВходной сигнал, заданный как вектор.
Пример: chirp(0:1/1e3:1,25,1,50)
задает щебет, дискретизированный с частотой дискретизации 1 кГц.
Типы данных: single
| double
Поддержка комплексного числа: Да
roilims
- Пределы необходимой областиНеобходимые области, заданные как двухколоночная матрица положительных целых чисел. i строка roilims
содержит недекретирующие индексы, соответствующие начальной и конечной выборкам i интересующей области сигнала.
Пример: [5 8; 12 20; 18 25]
задает двухколоночную матрицу необходимых областей с тремя областями.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
concat
- Опция конкатенации извлеченных областей сигналаfalse
(по умолчанию) | true
Опция для конкатенации извлеченных областей сигнала, заданная как логическое значение.
Типы данных: logical
sigroi
- Представляющие интерес сигнальные областиСигнал необходимых областей, возвращенный как массив ячеек или вектор.
Указания и ограничения по применению:
Если поставляется, concat
должно быть константой.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.