Оцените спектр мощности в Simulink

Спектр мощности (PS) сигнала временного интервала является распределением степени, содержавшей в сигнале по частоте, на основе конечного множества данных. Представление частотного диапазона сигнала часто легче анализировать, чем представление временного интервала. Много приложений обработки сигналов, таких как подавление помех и система идентификации, основаны на специфичных для частоты модификациях сигналов. Цель степени спектральная оценка состоит в том, чтобы оценить спектр мощности сигнала от последовательности выборок времени. В зависимости от того, что известно о сигнале, методы оценки могут включить параметрические или непараметрические подходы и могут быть основаны на временном интервале или анализе частотного диапазона. Например, общий параметрический метод включает подбор кривой наблюдениям к авторегрессивной модели. Общий непараметрический метод является периодограммой. Спектр мощности оценивается с помощью методов преобразования Фурье, таких как валлийский метод и метод набора фильтров. Для сигналов с относительно маленькой длиной подход набора фильтров производит спектральную оценку с более высоким разрешением, более точным уровнем шума и peaks, более точным, чем валлийский метод, с низким или никакой спектральной утечкой. Эти преимущества прибывают за счет увеличенного вычисления и более медленного отслеживания. Для получения дополнительной информации на этих методах, смотрите Спектральный анализ. Можно также использовать другие методы, такие как максимальный энтропийный метод.

В Simulink® можно выполнить спектральный анализ в реальном времени динамического сигнала с помощью блока Spectrum Analyzer. Можно просмотреть спектральные данные в спектре анализатор. Чтобы получить последние спектральные данные для последующей обработки, создайте объект Spectrum Analyzer Configuration и запустите функцию getSpectrumData на этом объекте. Поочередно, можно использовать блок Spectrum Estimator от библиотеки dspspect3, чтобы вычислить спектр мощности и блок Array Plot, чтобы просмотреть спектр.

Оцените спектр мощности Используя спектр Анализатор

Можно просмотреть спектр мощности (PS) сигнала с помощью блока Spectrum Analyzer. PS вычисляется в режиме реального времени и меняется в зависимости от входного сигнала, и с изменениями в свойствах блока Spectrum Analyzer. Можно изменить динамику входного сигнала и видеть то, что вызывает те изменения, имеют на спектре сигнала в режиме реального времени.

Модель ex_psd_sa кормит шумным синусоидальным сигналом блок Spectrum Analyzer. Синусоидальный сигнал является суммой двух синусоид: один на частоте 5 000 Гц и другом на частоте 10 000 Гц. Шум во входе является Гауссовым с нулевым средним значением и стандартным отклонением 0,01.

Откройте и осмотрите модель

Чтобы открыть модель, введите ex_psd_sa в командную строку MATLAB®.

Вот настройки блоков в модели.

БлокИзменения параметраЦель блока
Синусоида 1
  • Frequency к 5 000

  • Sample time к 1/44100

  • Samples per frame к 1 024

Сигнал синусоиды с частотой на уровне 5 000 Гц

Синусоида 2
  • Frequency к 10 000

  • Phase offset (rad) к 10

  • Sample time к 1/44100

  • Samples per frame к 1 024

Сигнал синусоиды с частотой на уровне 10 000 Гц

Случайный источник
  • Source type к Gaussian

  • Variance к 1e-4

  • Sample time к 1/44100

  • Samples per frame к 1 024

Случайный Исходный блок генерирует случайный шумовой сигнал со свойствами, заданными через диалоговое окно блока
ДобавлениеList of signs к +++.Добавьте, что блок добавляет случайный шум во входной сигнал
Спектр Анализатор

Кликните по значку Spectrum Settings. Панель появляется справа.

  • В панели Main options, под Type, выбирают Power. Под Method выберите Filter bank.

  • В панели Trace options снимите флажок Two-sided spectrum. Это показывает только действительную половину спектра.

  • В случае необходимости установите флажки Max-hold trace и Min-hold trace.

Кликните по значку Configuration Properties и установите Y-limits (Minimum) как -100 и Y-limits (Maximum) как 40.

Блок Spectrum Analyzer показывает Плотность Спектра мощности сигнала

Проигрывайте модель. Откройте блок Spectrum Analyzer, чтобы просмотреть спектр мощности синусоидального сигнала. Существует два тона на частотах 5 000 Гц и 10 000 Гц, которые соответствуют этим двум частотам во входе.

RBW, пропускная способность разрешения является минимальной пропускной способностью частоты, которая может быть разрешена спектром анализатор. По умолчанию RBW (Hz) установлен в Auto. В режиме Auto RBW является отношением промежутка частоты к 1 024. В двухстороннем спектре этим значением является Фс/1024, в то время как в одностороннем спектре, это (Фс/2)/1024. Спектр анализатор в ex_psd_sa сконфигурирован, чтобы показать односторонний спектр. Следовательно, RBW (44100/2)/1024 или 21,53 Гц.

Используя это значение RBW, количество входных выборок, используемых, чтобы вычислить одно спектральное обновление, дано Nsamples = Fs/RBW, который является 44100/21.53 или 2048.

RBW, вычисленный в этом режиме, дает хорошее разрешение частоты.

Чтобы различать две частоты в отображении, расстоянием между этими двумя частотами должен быть, по крайней мере, RBW. В этом примере расстояние между двумя peaks составляет 5 000 Гц, который больше, чем RBW. Следовательно, вы видите peaks отчетливо. Измените частоту второй синусоиды с 10 000 Гц до 5 015 Гц. Различием между этими двумя частотами являются меньше, чем RBW.

На изменении масштаба вы видите, что peaks не различим.

Чтобы увеличить разрешение частоты, уменьшите RBW до 1 Гц и запустите симуляцию.

На изменении масштаба два peaks, которые на расстоянии в 15 Гц, теперь различимы

Когда вы увеличиваете разрешение частоты, уменьшения разрешения времени. Чтобы сохранить хорошее равновесие между разрешением частоты и разрешением времени, измените RBW (Hz) на Auto.

Измените входной сигнал

Когда вы изменяете динамику входного сигнала во время симуляции, спектр мощности сигнала также изменяется в режиме реального времени. В то время как симуляция запускается, измените Frequency блока Sine Wave 1 к 8000 и нажмите Apply. Второй тон в спектральном анализаторе вывел сдвиги на 8 000 Гц, и вы видите изменение в режиме реального времени.

Измените спектр настройки анализатора

Когда вы изменяете настройки в блоке Spectrum Analyzer, эффект виден на спектральных данных в режиме реального времени.

Когда модель запустится в панели опций Trace блока Spectrum Analyzer, измените Scale на Log. PS теперь отображена на логарифмической шкале.

Для получения дополнительной информации о том, как настройки Spectrum Analyzer влияют на данные о спектре мощности, видят раздел 'Algorithms' страницы с описанием блока Spectrum Analyzer.

Преобразуйте степень между модулями

Спектр анализатор обеспечивает три модуля, чтобы задать степень спектральная плотность: Watts/Hz, dBm/Hz и dBW/Hz. Соответствующими модулями степени является Watts, dBm и dBW. Для электротехнических приложений можно также просмотреть RMS сигнала в Vrms или dBV. Типом спектра по умолчанию является Power в dBm.

Преобразуйте Мощность в ваттах в dBW и dBm

Степенью в dBW дают:

PdBW=10журнал10(powerinwatt/1 watt)

Степенью в dBm дают:

PdBm=10журнал10(powerinwatt/1 milliwatt)

Для синусоидального сигнала с амплитудой 1 В степенью одностороннего спектра в Watts дают:

PWatts=A2/2PWatts=1/2

В этом примере эта степень равняется 0,5 Вт. Соответствующей степенью в dBm дают:

PdBm=10журнал10(powerinwatt/1 milliwatt)PdBm=10журнал10(0.5/103)

Здесь, степень равняется 26.9897 dBm. Чтобы подтвердить это значение с пиковым средством поиска, нажмите Tools> Measurements> Peak Finder.

Для белого шумового сигнала спектр является плоским для всех частот. Спектр анализатор в этом примере показывает односторонний спектр в области значений [0 Фс/2]. Для белого шумового сигнала с отклонением 1e-4 степень на модульную пропускную способность (Punitbandwidth) является 1e-4. Общей степенью белого шума в ваттах по целому частотному диапазону дают:

Pwhitenoise=Punitbandwidth*numberoffrequencybins,Pwhitenoise=(104)*(Fs/2RBW),Pwhitenoise=(104)*(2205021.53)

Количество интервалов частоты является отношением общей пропускной способности к RBW. Для одностороннего спектра общая пропускная способность является половиной уровня выборки. RBW в этом примере составляет 21,53 Гц. С этими значениями общая степень белого шума в ваттах составляет 0,1024 Вт. В dBm степень белого шума может быть вычислена с помощью 10*log10 (0.1024/10^-3), который равняется 20.103 dBm.

Преобразуйте Мощность в ваттах в dBFS

Если вы устанавливаете спектральные модули на dBFS и устанавливаете полный масштаб (FullScaleSource) на Auto, степень в dBFS вычисляется как:

PdBFS=20журнал10(Pwatts/Full_Scale)

где:

  • Pwatts является мощностью в ваттах

  • Для двойных и сигналов плавающих Full_Scale является максимальным значением входного сигнала.

  • Для фиксированной точки или целочисленных сигналов, Full_Scale является максимальным значением, которое может быть представлено.

Если вы задаете ручной полный масштаб (установите FullScaleSource на Property), степенью в dBFS дают:

PFS=20журнал10(Pwatts/FS)

Где FS является полным масштабным коэффициентом, заданным в свойстве FullScale.

Для синусоидального сигнала с амплитудой 1 В степенью одностороннего спектра в Watts дают:

PWatts=A2/2PWatts=1/2

В этом примере эта степень равняется 0,5 Вт, и максимальный входной сигнал для синусоиды составляет 1 В. Соответствующей степенью в dBFS дают:

PFS=20журнал10(1/2/1)

Здесь, степень равняется-3.0103. Чтобы подтвердить это значение в спектре анализатор, запустите эти команды:

Fs = 1000;  % Sampling frequency
sinef = dsp.SineWave('SampleRate',Fs,'SamplesPerFrame',100);
scope = dsp.SpectrumAnalyzer('SampleRate',Fs,...
   'SpectrumUnits','dBFS','PlotAsTwoSidedSpectrum',false)
%%
for ii = 1:100000
xsine = sinef();
scope(xsine)
end
Затем нажмите Tools> Measurements> Peak Finder.

Преобразуйте Степень в dBm к RMS в Vrms

Степенью в dBm дают:

PdBm=10журнал10(powerinwatt/1 milliwatt)

Напряжением в RMS дают:

Vrms=10PdBm/20103

От предыдущего примера PdBm равняется 26.9897 dBm. Vrms вычисляется как

Vrms=1026.9897/200.001

который равняется 0.7071.

Подтвердить это значение:

  1. Измените Type на RMS.

  2. Откройте пиковое средство поиска путем нажатия на Tools> Measurements> Peak Finder.

Оцените спектр мощности Используя блок средства оценки спектра

Поочередно, можно вычислить спектр мощности сигнала с помощью блока Spectrum Estimator в библиотеке dspspect3. Можно получить вывод средства оценки спектра и хранить данные для последующей обработки.

Замените блок Spectrum Analyzer в ex_psd_sa с блоком Spectrum Estimator, сопровождаемым блоком Array Plot. Чтобы просмотреть модель, введите ex_psd_estimatorblock в подсказку команды MATLAB. Кроме того, чтобы получить доступ к спектральным данным об оценке в MATLAB, соедините блок To Workspace с выводом блока Spectrum Estimator. Вот изменения в настройках блока Spectrum Estimator и блока Array Plot.

БлокИзменения параметраЦель блока
Средство оценки спектра

  • Frequency resolution method к Number of frequency bands.

  • Frequency range к One-sided.

Вычисляет спектр мощности входного сигнала с помощью подхода набора фильтров.
График массивов

Нажмите View и

  • выберите Style. В окне Style выберите Plot type как Stairs.

  • выберите Configuration Properties. В Окне свойств Настройки, на вкладке Main, устанавливает Sample increment как 44.1/1024. На вкладке Display измените X-label на Frequency (kHz), Y-label к Power (dBm). Для получения дополнительной информации смотрите раздел 'Convert x-axis to Represent Frequency'. Кроме того, установите Y-limits (Minimum) на -100 и Y-limits (Maximum) к 40.

Отображает данные о спектре мощности.

Спектр, отображенный в блоке Array Plot, подобен спектру, замеченному в блоке Spectrum Analyzer в ex_psd_sa.

Подход набора фильтров производит peaks, который имеет очень минимальную спектральную утечку.

Преобразуйте x - ось, чтобы представлять частоту

По умолчанию блок Array Plot отображает данные о PS на графике относительно количества выборок на кадр. Число точек на оси X равняется длине входного кадра. Спектр анализатор отображает данные о PS на графике относительно частоты. Для одностороннего спектра частота отличается по области значений [0 Фс/2]. Для двухстороннего спектра частота отличается по области значений [-Fs/2 Фс/2]. Чтобы преобразовать x - ось графика массивов от основанного на выборке до основанного на частоте, сделайте следующее:

  • Нажмите на значок Configuration Properties. На вкладке Main, набор Sample increment к Fs/FrameLength.

  • Для одностороннего спектра, набор X-offset к 0.

  • Для двухстороннего спектра, набор X-offset к -Fs/2.

В этом примере спектр является односторонним и следовательно, Sample increment и X-offset установлены в 44100/1024 и 0, соответственно. Чтобы задать частоту в kHz, установите Sample increment на 44.1/1024.

Живая обработка

Вывод блока Spectrum Estimator содержит спектральные данные и доступен для последующей обработки. Данные могут быть обработаны в режиме реального времени, или они могут храниться в рабочей области с помощью блока To Workspace. Этот пример пишет спектральные данные в переменную Estimate рабочей области.

Похожие темы