exponenta event banner

Увеличение БПФ

БПФ высокого разрешения части спектра

  • Библиотека:
  • Панель инструментов/преобразования системы DSP

  • Zoom FFT block

Описание

Блок зумирования БПФ вычисляет быстрое преобразование Фурье (БПФ) сигнала на части частот в интервале Найквиста. Путем установки соответствующего коэффициента прореживания D и частоты дискретизации Fs можно выбрать полосу частот для анализа BW, где BW = Fs/D. Можно также выбрать определенный диапазон частот для анализа в интервале Найквиста, выбрав центральную частоту нужного диапазона.

Разрешающей способностью сигнала является отношение Fs и длины БПФ (L). С помощью масштабирования БПФ можно сохранить то же разрешение, что и при полноразмерном БПФ исходного сигнала, вычисляя небольшой БПФ для более короткого сигнала. Более короткий сигнал исходит от прореживания исходного сигнала. Экономия достигается за счет возможности вычисления гораздо более короткого БПФ при достижении того же разрешения. Для коэффициента прореживания D новая частота дискретизации Fsd равна Fs/D, а новый размер кадра (и длина FFT) равна Ld = L/D. Разрешение прореженного сигнала Fsd/Ld = Fs/L. Для достижения более высокого разрешения более короткой полосы используется исходная длина БПФ L вместо прореженной длины БПФ Ld.

Порты

Вход

развернуть все

Вход данных, масштаб БПФ которого вычисляет блок, заданный как вектор или матрица. Число входных строк должно быть кратным коэффициенту прореживания.

Этот блок поддерживает входные сигналы переменного размера, если размер входного кадра кратен коэффициенту прореживания. То есть во время моделирования можно изменить размер входного кадра (количество строк). Однако количество каналов (количество столбцов) должно оставаться постоянным.

Этот порт не называется до тех пор, пока не будет выбран параметр Указать центральную частоту из входного порта (Specify center frequency from input port) и не будет нажата кнопка Применить (appl

Пример: randn(22,2)

Типы данных: single | double
Поддержка комплексного номера: Да

Центральная частота требуемого диапазона в Гц, проходящая через этот входной порт как действительный скаляр в диапазоне (- SampleRate/2, SampleRate/2). SampleRate - это частота входных выборок, унаследованная из входного сигнала или заданная параметром Input sample rate (Hz). Этот порт появляется только при установке флажка Указать центральную частоту из входного порта (Specify center frequency from input port).

Этот порт появляется только при установке флажка Указать центральную частоту из входного порта (Specify center frequency from input port) и нажатии кнопки Применить (Apply).

Пример: 0

Пример: 1200

Типы данных: single | double

Выходные аргументы

развернуть все

Увеличение выхода БПФ, возвращаемого в виде вектора или матрицы. Если установлен флажок Наследовать длину БПФ из входных размеров (Inherit FFT Length from input dimensions), размер выходного кадра равен размеру входного кадра, деленному на коэффициент прореживания. Если снять флажок Наследовать длину БПФ из входных размеров (Inherit FFT Length from input dimensions) и указать длину БПФ, размер выходного кадра будет равен указанной длине БПФ. Тип выходных данных соответствует типу входных данных.

Пример: randn (11,2)

Типы данных: single | double
Поддержка комплексного номера: Да

Параметры

развернуть все

Коэффициент прореживания, заданный как положительное целое число. Это значение определяет коэффициент, на который блок уменьшает полосу пропускания входного сигнала. Число строк во входном сигнале должно быть кратным коэффициенту прореживания.

Пример: 4

Пример: 8

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

При выборе этой опции и нажатии кнопки «Применить» на значке блока появляется входной порт Fc. Центральную частоту можно передать через этот входной порт в виде скаляра.

Центральная частота требуемого диапазона в Гц, заданная как действительный скаляр в диапазоне (- SampleRate/2, SampleRate/2). SampleRate - это входная частота дискретизации, унаследованная от входного значения или заданная параметром Input sample rate (Hz).

Пример: 0.5

Пример: 10

Зависимости

Этот параметр применяется при снятии флажка Указать центральную частоту из входного порта (Specify center frequency from input port).

Типы данных: single | double

При выборе этой опции длина БПФ представляет собой отношение размера входного кадра (количество строк на входе) и коэффициента прореживания.

Длина БПФ, заданная как положительное целое число. Длина БПФ должна быть больше или равна отношению размера кадра (количества входных строк) и коэффициента прореживания.

Пример: 24

Пример: 52

Зависимости

Этот параметр применяется при снятии флажка Наследовать длину БПФ из входных размеров (Inherit FFT Length from input dimensions).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

При снятии этого флажка блок наследует частоту дискретизации из входного сигнала.

Частота входных выборок в Гц, заданная как положительный действительный скаляр.

Пример: 44100

Пример: 48000

  • Interpreted execution - Моделирование модели с помощью  интерпретатора MATLAB ®. Этот параметр сокращает время запуска и имеет более высокую скорость моделирования, чем Code generation.

  • Code generation - Моделирование модели с использованием сгенерированного кода C. При первом запуске моделирования Simulink ® генерирует код C для блока. Код C используется повторно для последующего моделирования, если модель не изменяется. Этот параметр требует дополнительного времени запуска и обеспечивает более низкую скорость моделирования,  чемInterpreted execution.

Характеристики блока

Типы данных

double | single

Многомерные сигналы

No

Сигналы переменного размера

Yes

Алгоритмы

Алгоритм масштабирования БПФ использует полосовую фильтрацию перед вычислением БПФ сигнала. Концепция полосовой фильтрации заключается в том, что предполагается, что вы заинтересованы в полосе [F1, F2] исходного входного сигнала, дискретизированного со скоростью Fs Гц. Если пройти этот сигнал через комплексный (односторонний) полосовой фильтр, центрированный на Fc = (F1 + F2 )/2, с полосой пропускания BW = F2 - F1, а затем понизить оценку сигнала на коэффициент D = floor (Fs/BW), требуемая полоса падает до основной полосы.

Если Fc не может быть выражена в виде k × Fs/D, где k - целое число, то сдвинутый, прореженный спектр не центрируется при DC. В этом случае центральная частота преобразуется в Fd.

Fd = Fc (Fs/D) × floor ((D × Fc + Fs/2 )/Fs)

Комплексный полосовой фильтр получают, сначала проектируя прототип фильтра нижних частот, а затем умножая коэффициенты нижних частот на комплексный экспоненциальный. Этот алгоритм использует многоступенчатый фильтр FIR в качестве прототипа фильтра нижних частот. Для получения полосового фильтра коэффициенты каждого каскада сдвигаются по частоте. Коэффициент прореживания является кумулятивным коэффициентом прореживания каждого этапа. Сложные полосовые фильтры, за которыми следует прореживатель, реализуются с использованием эффективной полифазной структуры. Для получения дополнительной информации о конструкции сложного полосового фильтра из многоступенчатого многоступенчатого фильтра FIR см. Zoom FFT и Complex Bandpass Filter Design.

Ссылки

[1] Харрис, F.J. Многоскоростная обработка сигналов для систем связи. Prentice Hall, 2004, стр. 208-209.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2017b