Спектр мощности (PS) сигнала временной области является распределением степени, содержавшей в сигнале по частоте, на основе конечного множества данных. Представление частотного диапазона сигнала часто легче анализировать, чем представление временного интервала. Много приложений обработки сигналов, таких как подавление помех и система идентификации, основаны на специфичных для частоты модификациях сигналов. Цель степени спектральная оценка состоит в том, чтобы оценить спектр мощности сигнала от последовательности выборок времени. В зависимости от того, что известно о сигнале, методы оценки могут включить параметрические или непараметрические подходы и могут быть основаны на временном интервале или анализе частотного диапазона. Например, общий параметрический метод включает подбор кривой наблюдениям к авторегрессивной модели. Общий непараметрический метод является периодограммой. Спектр мощности оценивается с помощью методов преобразования Фурье, таких как валлийский метод и метод набора фильтров. Для сигналов с относительно маленькой длиной подход набора фильтров производит спектральную оценку с более высоким разрешением, более точным уровнем шума и peaks, более точным, чем валлийский метод, с низким или никакой спектральной утечкой. Эти преимущества прибывают за счет увеличенного расчета и более медленного отслеживания. Для получения дополнительной информации об этих методах смотрите Спектральный анализ. Можно также использовать другие методы, такие как максимальный энтропийный метод.
В Simulink®, можно выполнить спектральный анализ в реальном времени динамического сигнала с помощью блока Spectrum Analyzer. Можно просмотреть спектральные данные в спектре анализатор. Чтобы получить последние спектральные данные для последующей обработки, создайте SpectrumAnalyzerConfiguration
возразите и запуститесь 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® командная строка.
Вот настройки блоков в модели.
Блок | Изменения параметра | Цель блока |
---|---|---|
Sine Wave 1 |
| Сигнал синусоиды с частотой на уровне 5 000 Гц |
Sine Wave 2 |
| Сигнал синусоиды с частотой на уровне 10 000 Гц |
Random Source |
| Блок Random Source генерирует случайный шумовой сигнал со свойствами, заданными через диалоговое окно блока |
Add | List of signs к +++ . | Блок Add добавляет случайный шум во входной сигнал |
Spectrum Analyzer | Кликните по значку Spectrum Settings. Панель появляется справа.
Кликните по значку Configuration Properties и установите Y-limits (Minimum) как | Блок 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
дают:
Для синусоидального сигнала с амплитудой 1 В, степенью одностороннего спектра в Watts
дают:
В этом примере эта степень равняется 0,5 Вт. Соответствующей степенью в dBm дают:
Здесь, степень равняется 26.9897 dBm. Чтобы подтвердить это значение с пиковым средством поиска, нажмите Tools> Measurements> Peak Finder.
Для сигнала белого шума спектр является плоским для всех частот. Спектр анализатор в этом примере показывает односторонний спектр в области значений [0 Фс/2]. Для сигнала белого шума с отклонением 1e-4 степень на модульную полосу пропускания (Punitbandwidth) является 1e-4. Общей степенью белого шума в ваттах по целому частотному диапазону дают:
Количество интервалов частоты является отношением общей полосы пропускания к RBW. Для одностороннего спектра общая полоса пропускания является половиной частоты дискретизации. RBW в этом примере составляет 21,53 Гц. С этими значениями общая степень белого шума в ваттах составляет 0,1024 Вт. В dBm степень белого шума может быть вычислена с помощью 10*log10 (0.1024/10^-3), который равняется 20.103 dBm.
Если вы устанавливаете спектральные модули на dBFS
и набор полный масштаб (FullScaleSource
) к Auto
, степень в dBFS
вычисляется как:
где:
Pwatts
мощность в ваттах
Для двойных и сигналов плавающих Full_Scale является максимальным значением входного сигнала.
Для фиксированной точки или целочисленных сигналов, Full_Scale является максимальным значением, которое может быть представлено.
Если вы задаете ручной полный масштаб (установите FullScaleSource
к Property
), степень в dBFS
дают:
Где FS
полный масштабный коэффициент, заданный в FullScale
свойство.
Для синусоидального сигнала с амплитудой 1 В, степенью одностороннего спектра в Watts
дают:
В этом примере эта степень равняется 0,5 Вт, и максимальный входной сигнал для синусоиды составляет 1 В. Соответствующей степенью в dBFS дают:
Здесь, степень равняется-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
Степень в dBm
дают:
Напряжением в RMS дают:
От предыдущего примера PdBm равняется 26.9897 dBm. Vrms вычисляется как
который равняется 0.7071.
Подтвердить это значение:
Измените Type в RMS
.
Откройте пиковое средство поиска путем нажатия на Tools> Measurements> Peak Finder.
Альтернативно, можно вычислить спектр мощности сигнала с помощью блока Spectrum Estimator в dspspect3
библиотека. Можно получить выход средства оценки спектра и хранить данные для последующей обработки.
Замените блок Spectrum Analyzer в ex_psd_sa
с блоком Spectrum Estimator, сопровождаемым блоком Array Plot. Чтобы просмотреть модель, введите ex_psd_estimatorblock
в командной строке MATLAB. Кроме того, чтобы получить доступ к спектральным данным об оценке в MATLAB, соедините блок To Workspace (Simulink) с выходом блока Spectrum Estimator. Вот изменения в настройках блока Spectrum Estimator и блока Array Plot.
Блок | Изменения параметра | Цель блока |
---|---|---|
Spectrum Estimator |
| Вычисляет спектр мощности входного сигнала с помощью подхода набора фильтров. |
Array Plot | Нажмите View и
| Отображает данные о спектре мощности. |
Спектр, отображенный в блоке 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
рабочей области.