Возвратите гармонические порядки, величины и основную частоту
[
вычисляет гармонические порядки, величины и основную частоту harmonicOrder
,harmonicMagnitude
,fundamentalFrequency
]
=...
ee_getHarmonics(loggingNode
)simscape.logging.Node
из AC или периодической переменной.
Функция находит точки в ith сигнал (valueIdx), где журнал Simscape™ пересекает порог (offsetOfInterest). Это использует точки пересечения, чтобы найти необходимое количество периодов (nPeriodOfInterest) предшествованием требуемому времени (tOfInterest). Затем это вводит вниз выбранные данные к алгоритму Goertzel, который вычисляет гармонические величины до и включая необходимое количество гармоник (nHarmonic).
Вы вводите входные параметры в определенный порядок. Simscape, регистрирующий входной параметр узла, требуется. Все другие входные параметры являются дополнительными и имеют значения по умолчанию. Если вы задаете значение для последующего дополнительного входного параметра, введите []
использовать значение по умолчанию для дополнительного входного параметра.
Можно использовать ee_plotHarmonics
функция, чтобы получить столбчатую диаграмму из тех же входных параметров. Можно использовать выходные параметры этой функции как входные параметры к ee_calculateThdPercent
функция, чтобы вычислить процент общего гармонического искажения (THD).
[
использует индекс в данные о значении.harmonicOrder
,harmonicMagnitude
,fundamentalFrequency
]
=...
ee_getHarmonics(loggingNode
,valueIdx
)
[
использует время симуляции.harmonicOrder
,harmonicMagnitude
,fundamentalFrequency
]
=...
ee_getHarmonics(loggingNode
,valueIdx
,tOfInterest
)
[
использует количество периодов основной частоты.harmonicOrder
,harmonicMagnitude
,fundamentalFrequency
]
=...
ee_getHarmonics(loggingNode
,valueIdx
,tOfInterest
,nPeriodOfInterest
)
[
использует смещение DC.harmonicOrder
,harmonicMagnitude
,fundamentalFrequency
]
=...
ee_getHarmonics(loggingNode
,valueIdx
,tOfInterest
,nPeriodOfInterest
,...
offsetOfInterest
)
[
использует количество гармоник.harmonicOrder
,harmonicMagnitude
,fundamentalFrequency
]
=...
ee_getHarmonics(loggingNode
,valueIdx
,tOfInterest
,nPeriodOfInterest
,...
offsetOfInterest
,nHarmonic
)
Этот набор аргументов функции использует Simscape, регистрирующий узел simlog_ee_harmonics_rectifier.Sensing_current.Current_Sensor.I
, который содержит данные из трехфазного тока. Функция анализирует сигнал по умолчанию, который является первым, или фаза, сигнал в итоговом времени симуляции. Функция использует значения по умолчанию 12 для количества периодов сигнала, 0V для смещения сигнала, и 30 для количества гармоник.
open_system('ee_harmonics_rectifier') sim('ee_harmonics_rectifier') [~,harmonicMagnitude,~]= ee_getHarmonics(simlog_ee_harmonics_rectifier.Sensing_current.Current_Sensor.I); %harmonicMagnitude stores the peak values of the harmonics. To get the RMS values, divide by sqrt(2) harmonicMagnitude./sqrt(2)
ans = 1.0e+03 * Columns 1 through 14 0.0000 1.3759 0.0000 0.0000 0.0000 0.1548 0.0000 0.0748 0.0000 0.0000 0.0000 0.0602 0.0000 0.0407 Columns 15 through 28 0.0000 0.0000 0.0000 0.0357 0.0000 0.0266 0.0000 0.0000 0.0000 0.0239 0.0000 0.0187 0.0000 0.0000 Columns 29 through 31 0.0000 0.0170 0.0000
Этот набор аргументов функции использует Simscape, регистрирующий узел simlog_ee_harmonics_rectifier.Sensing_current.Current_Sensor.I
, который содержит данные из трехфазного тока. Функция анализирует второе, или b-фаза, сигнал во времени симуляции 0.5
s. Функция использует 10
периоды сигнала, принимая смещение 1
V. Функция анализирует 15
гармоники.
open_system('ee_harmonics_rectifier') sim('ee_harmonics_rectifier') [~,harmonicMagnitude,~]= ee_getHarmonics(simlog_ee_harmonics_rectifier.Sensing_current.Current_Sensor.I,2,0.5,10,1,15); %harmonicMagnitude stores the peak values of the harmonics. To get the RMS values, divide by sqrt(2) harmonicMagnitude./sqrt(2)
ans = 1.0e+03 * Columns 1 through 15 0.0000 1.3761 0.0008 0.0005 0.0006 0.1544 0.0000 0.0748 0.0003 0.0002 0.0003 0.0599 0.0001 0.0407 0.0004 Column 16 0.0003
Этот набор аргументов функции использует Simscape, регистрирующий узел simlog_ee_harmonics_rectifier.Sensing_current.Current_Sensor.I
, который содержит данные из трехфазного тока. Функция анализирует первое, или фаза, сигнал во времени симуляции 0.5
s. Функция использует 12
периоды сигнала, принимая смещение 1
V. Функция анализирует номер по умолчанию, 30
, из гармоник.
open_system('ee_harmonics_rectifier') sim('ee_harmonics_rectifier') [~,harmonicMagnitude,~]= ee_getHarmonics(simlog_ee_harmonics_rectifier.Sensing_current.Current_Sensor.I,[],0.5,[],1); %harmonicMagnitude stores the peak values of the harmonics. To get the RMS values, divide by sqrt(2) harmonicMagnitude./sqrt(2)
ans = 1.0e+03 * Columns 1 through 15 0.0000 1.3759 0.0000 0.0000 0.0000 0.1548 0.0000 0.0748 0.0000 0.0000 0.0000 0.0602 0.0000 0.0407 0.0000 Columns 16 through 30 0.0000 0.0000 0.0357 0.0000 0.0266 0.0000 0.0000 0.0000 0.0239 0.0000 0.0187 0.0000 0.0000 0.0000 0.0170 Column 31 0.0000
Эта функция требует, чтобы вы использовали решатель фиксированного шага для сети Simscape Electrical™ Power Systems, которую вы анализируете. Чтобы задать решатель фиксированного шага для физической сети, используйте одну из комбинаций настройки в таблице.
Комбинация настройки | Глобальная настройка решателя | Локальная настройка решателя |
---|---|---|
Шаг глобальной переменной с локальным фиксированным шагом | Установите Type на Variable-step | Включите опции к Use local solver и Use fixed-cost runtime consistency iterations |
Глобальный и локальный фиксированный шаг | Установите Type на Fixed-step | Включите опции к Use local solver и Use fixed-cost runtime consistency iterations |
Глобальный фиксированный шаг | Установите Type на Fixed-step | Очистите опцию к Use local solver |
Эта функция использует пороговые точки пересечения, чтобы определить основную частоту данных. Если ваши входные данные являются шумными или пересекают порог более часто, чем половина основного периода, отфильтруйте его, прежде чем вы будете использовать эту функцию, чтобы анализировать его.
Эта функция требует минимального количества периодов. Если минимальному номеру не соответствуют, функция генерирует предупреждающее сообщение. Чтобы увеличить число периодов, используйте один или оба из этих методов:
Увеличьте время симуляции.
Увеличьте переключающуюся частоту.