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