Оптимальное извлечение признаков частоты сигнала
Использование signalFrequencyFeatureExtractor
извлекать функции частотного диапазона из сигнала. Можно использовать извлеченные функции, чтобы обучить модель машинного обучения или нейронную сеть для глубокого обучения.
создает sFE
= signalFrequencyFeatureExtractorsignalFrequencyFeatureExtractor
объект со значениями свойств по умолчанию.
задает значения свойств не по умолчанию sFE
= signalFrequencyFeatureExtractor(Name,Value
)signalFrequencyFeatureExtractor
объект. Например, signalFrequencyFeatureExtractor(FrameSize=30,FrameOverlapLength=6)
делит сигнал на наложение систем координат с 30 выборками и извлекает функции из каждой системы координат.
FrameSize
— Количество отсчетов в системе координатКоличество отсчетов в системе координат в виде положительного целого числа. Объект делит сигнал на системы координат заданной длины и извлекает функции каждой системы координат. Если вы не задаете FrameSize
, или если вы задаете FrameSize
как пустой, объект извлекает функции целого сигнала.
Типы данных: single
| double
FrameRate
— Количество отсчетов между запуском систем координатКоличество отсчетов между запуском систем координат в виде положительного целого числа. Частота кадров определяет расстояние в выборках между начальными точками систем координат. Если вы задаете FrameRate
, затем необходимо также задать FrameSize
. Если вы не задаете FrameRate
или FrameOverlapLength
, затем FrameRate
принят, чтобы быть равным FrameSize
. Вы не можете задать FrameRate
и FrameOverlapLength
одновременно.
Типы данных: single
| double
FrameOverlapLength
— Количество перекрывающихся выборок между последовательными системами координатКоличество перекрывающихся выборок между последовательными системами координат в виде положительного целого числа. FrameOverlapLength
должно быть меньше чем или равно формату кадра. Если вы задаете FrameOverlapLength
, затем необходимо также задать FrameSize
. Вы не можете задать FrameOverlapLength
и FrameRate
одновременно.
Типы данных: single
| double
SampleRate
— Частота дискретизации[]
(значение по умолчанию) | положительная скалярная величинаВведите частоту дискретизации в виде положительной скалярной величины в герц.
Типы данных: single
| double
FeatureFormat
— Формат генерированных признаков"matrix"
(значение по умолчанию) | "table"
Формат генерированных признаков в виде "matrix"
или "table"
. extract
функция возвращает функции как один из них:
matrix
— Матрица со столбцами, соответствующими, чтобы показать значения.
table
— Таблица с каждой табличной переменной, соответствующей значению функции.
Типы данных: char |
string
IncompleteFrameRule
— Управляйте, чтобы обработать неполные системы координат"drop"
(значение по умолчанию) | "zeropad"
Управляйте, чтобы обработать неполные системы координат в виде "drop"
или "zeropad"
. Это правило применяется, когда текущий формат кадра меньше заданного FrameSize
свойство.
drop
— Пропустите неполную систему координат и не используйте ее, чтобы вычислить функции.
zeropad
— Нулевая клавиатура неполная система координат и использование это, чтобы вычислить функции.
Типы данных: char |
string
MeanFrequency
— Опция, чтобы извлечь среднюю частотуfalse
(значение по умолчанию) | true
Опция, чтобы извлечь среднюю частоту спектра мощности в виде true
или false
. Если вы задаете MeanFrequency
как верный, объект извлекает среднюю частоту спектра мощности и добавляет его к функциям, возвращенным extract
функция.
Типы данных: логический
MedianFrequency
— Опция, чтобы извлечь медианную частотуfalse
(значение по умолчанию) | true
Опция, чтобы извлечь медианную частоту спектра мощности в виде true
или false
. Если вы задаете MedianFrequency
как верный, объект извлекает медианную частоту спектра мощности и добавляет его к функциям, возвращенным extract
функция.
Типы данных: логический
BandPower
— Опция, чтобы извлечь среднюю мощность полосыfalse
(значение по умолчанию) | true
Опция, чтобы извлечь среднюю мощность полосы в виде true
или false
. Если вы задаете BandPower
как верный, объект извлекает мощность полосы и добавляет ее к функциям, возвращенным extract
функция.
Типы данных: логический
OccupiedBandwidth
— Опция, чтобы извлечь занимаемую полосуfalse
(значение по умолчанию) | true
Опция, чтобы извлечь 99%-ю занимаемую полосу в виде true
или false
. Если вы задаете OccupiedBandwidth
как верный, объект извлекает 99%-ю занимаемую полосу и добавляет ее к функциям, возвращенным extract
функция.
Чтобы установить параметры экстракции занимаемой полосы, использовать setExtractorParameters
.
setExtractorParameters(sFE,"OccupiedBandwidth",Name=Value)
Устанавливаемые параметры для экстракции занимаемой полосы:
Percentage
— Процент степени в виде положительного целого числа между 0
и 100
.
Типы данных: логический
PowerBandwidth
— Опция, чтобы извлечь полосу пропускания на уровне половинной мощностиfalse
(значение по умолчанию) | true
Опция, чтобы извлечь полосу пропускания (на уровне половинной мощности) на 3 дБ в виде true
или false
. Если вы задаете PowerBanwidth
как верный, объект извлекает значение полосы пропускания на 3 дБ и добавляет его к функциям, возвращенным extract
функция.
Чтобы установить параметры экстракции полосы пропускания на уровне половинной мощности, использовать setExtractorParameters
.
setExtractorParameters(sFE,"PowerBandwidth",Name=Value)
Устанавливаемые параметры для экстракции полосы пропускания на уровне половинной мощности:
RelativeAmplitude
— Относительная амплитуда в виде целого числа.
Типы данных: логический
WelchPSD
— Опция, чтобы извлечь оценку спектральной плотности мощностиfalse
(значение по умолчанию) | true
Опция, чтобы извлечь оценку спектральной плотности мощности (PSD) в виде true
или false
. Если вы задаете WelchPSD
как верный, объект извлекает оценку PSD с помощью метода валлийцев и добавляет его к функциям, возвращенным extract
функция.
Чтобы установить параметры оценки PSD валлийцев, использовать setExtractorParameters
.
setExtractorParameters(sFE,"WelchPSD",Name=Value)
Устанавливаемые параметры для оценочной экстракции PSD валлийцев:
FFTLength
— Количество ДПФ указывает в виде положительного целого числа.
FrequencyVector
— Частоты, на которых PSD оценивается в виде вектора по крайней мере с двумя элементами. Можно задать FrequencyVector
только, когда FFTLength
не задан.
OverlapLength
— Количество перекрывающихся выборок в виде положительного целого числа.
Window
— Окно в виде скаляра или вектора.
Типы данных: логический
PeakAmplitude
— Опция, чтобы извлечь пиковую амплитудуfalse
(значение по умолчанию) | true
Опция, чтобы извлечь пиковые спектральные амплитуды в виде true
или false
. Если вы задаете PeakAmplitude
как верный, объект извлекает пиковые амплитуды вычисленной валлийской оценки PSD и добавляет их к функциям, возвращенным extract
функция.
Чтобы установить параметры пиковой амплитудной экстракции, использовать setExtractorParameters
.
setExtractorParameters(sFE,"PeakAmplitude",Name=Value)
Устанавливаемые параметры для пиковой амплитудной экстракции:
PeakType
— Тип пика в виде "minima"
или "maxima"
.
MaxNumExtrema
— Максимальное количество peaks в виде положительного целочисленного скаляра.
MinProminence
— Минимальное выдающееся положение в виде положительной скалярной величины. Объект возвращает только peaks, выдающееся положение которого является, по крайней мере, заданным значением.
MinSeparation
— Минимальное разделение между peaks в виде положительной скалярной величины.
FlatSelection
— Плоский индикатор области в виде одного из них:
"center"
— Укажите только на центральный элемент плоской области как пик.
"first"
— Укажите только на первый элемент плоской области как пик.
"last"
— Укажите только на последний элемент плоской области как пик.
"all"
— Укажите на все элементы плоской области как пик.
Типы данных: логический
PeakLocation
— Опция, чтобы извлечь пиковое местоположениеfalse
(значение по умолчанию) | true
Опция, чтобы извлечь спектральные пиковые местоположения в виде true
или false
. Если вы задаете PeakLocation
как верный, объект извлекает пиковые местоположения вычисленной валлийской оценки PSD и добавляет их к функциям, возвращенным extract
функция.
Чтобы установить параметры пиковой экстракции местоположения, использовать setExtractorParameters
.
setExtractorParameters(sFE,"PeakLocation",Name=Value)
Устанавливаемые параметры для пиковой экстракции местоположения:
PeakType
— Тип пика в виде "minima"
или "maxima"
.
MaxNumExtrema
— Максимальное количество peaks в виде положительного целочисленного скаляра.
MinProminence
— Минимальное выдающееся положение в виде положительной скалярной величины. setExtractorParameters
функция возвращает только peaks, выдающееся положение которого является, по крайней мере, заданным значением.
MinSeparation
— Минимальное разделение между peaks в виде положительной скалярной величины.
FlatSelection
— Плоский индикатор области в виде одного из них:
"center"
— Укажите только на центральный элемент плоской области как пик.
"first"
— Укажите только на первый элемент плоской области как пик.
"last"
— Укажите только на последний элемент плоской области как пик.
"all"
— Укажите на все элементы плоской области как пик.
Типы данных: логический
Примечание
Вычислить функции частоты, signalFrequencyFeatureExtractor
первые оценки PSD входного сигнала временной области с помощью метода валлийцев. Объект использует вычисленный валлийский PSD и соответствующий вектор частоты, чтобы вычислить заданные функции. Можно сконфигурировать вычисленную валлийскую оценку PSD с помощью setExtractorParameters
функция.
extract | Извлеките функции частотного диапазона или временной интервал |
generateMATLABFunction | Создайте функцию MATLAB, совместимую с генерацией кода C/C++ |
getExtractorParameters | Получите текущие значения параметров объекта экстрактора функции |
setExtractorParameters | Установите значения не по умолчанию для объекта экстрактора функции |
Сгенерируйте 1 024 выборки щебета, произведенного на уровне 1 024 кГц. Щебет имеет начальную частоту 50 кГц и достигает 100 кГц в конце выборки. Добавьте белый Гауссов шум, таким образом, что отношение сигнал-шум составляет 40 дБ. Постройте спектральную плотность мощности (PSD) и аннотируйте среднюю частоту.
nSamp = 1024; Fs = 1024e3; SNR = 40; t = (0:nSamp-1)'/Fs; x = chirp(t,50e3,nSamp/Fs,100e3); x = x+randn(size(x))*std(x)/db2mag(SNR); meanfreq(x,Fs)
ans = 7.5032e+04
Создайте signalFrequencyFeatureExtractor
возразите, чтобы извлечь среднюю частоту, 99%-ю занимаемую полосу и полосу пропускания на 3 дБ сигнала.
sFE = signalFrequencyFeatureExtractor(SampleRate=Fs,MeanFrequency=true,OccupiedBandwidth=true,PowerBandwidth=true)
sFE = signalFrequencyFeatureExtractor with properties: Properties FrameSize: [] FrameRate: [] SampleRate: 1024000 IncompleteFrameRule: "drop" FeatureFormat: "matrix" Enabled Features MeanFrequency, OccupiedBandwidth, PowerBandwidth Disabled Features MedianFrequency, BandPower, WelchPSD, PeakAmplitude, PeakLocation
Вызовите extract
функционируйте, чтобы извлечь заданные функции.
[features,info] = extract(sFE,x)
features = 1×3
104 ×
7.2252 4.3783 3.7773
info = struct with fields:
MeanFrequency: 1
OccupiedBandwidth: 2
PowerBandwidth: 3
Чтобы просмотреть извлеченные функции в таблице, измените FeatureFormat
свойство объекта.
sFE.FeatureFormat = "table";
features = extract(sFE,x)
features=1×5 table
FrameStartTime FrameEndTime MeanFrequency OccupiedBandwidth PowerBandwidth
______________ ____________ _____________ _________________ ______________
1 1024 72252 43783 37773
Можно использовать getExtractorParameters
функционируйте, чтобы просмотреть параметры, использовался для расчета заданной функции. Занимаемая полоса измеряет полосу пропускания, содержащую 99% общей степени для входного сигнала по умолчанию. Используйте setExtractorParameters
функционируйте, чтобы изменить процент в 95% и извлечь заданные функции снова.
params = getExtractorParameters(sFE,'OccupiedBandwidth')
params = struct with fields:
Percentage: []
params.Percentage = 95;
setExtractorParameters(sFE,'OccupiedBandwidth',params)
features2 = extract(sFE,x)
features2=1×5 table
FrameStartTime FrameEndTime MeanFrequency OccupiedBandwidth PowerBandwidth
______________ ____________ _____________ _________________ ______________
1 1024 72252 39840 37773
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.