Zoom FFT

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

  • Библиотека:
  • DSP System Toolbox/Преобразования

  • Zoom FFT block

Описание

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

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

Порты

Вход

расширить все

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

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

Этот порт не называется, пока вы не выберете параметр Specify center frequency from input port и не кликнете Apply.

Пример: 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

Когда вы выбираете эту опцию и нажатие кнопки Apply, на значке блока появляется вход Fc порта. Можно передать центральную частоту через этот входной порт в виде скаляра.

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

Пример: 0.5

Пример: 10

Зависимости

Этот параметр применяется при снятии флажка Specify center frequency from input port.

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

Когда вы выбираете эту опцию, длина БПФ является отношением размера входного кадра (количество строк во входе) и Decimation factor.

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

Пример: 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® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска и обеспечивает более медленную скорость симуляции, чем Interpreted execution.

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

Типы данных

double | single

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

No

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

Yes

Алгоритмы

Алгоритм zoom FFT использует полосно-пропускающую фильтрацию перед вычислением БПФ сигнала. Концепция полосовой фильтрации состоит в том, что предположим, что вы заинтересованы в полосе [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)

Комплексный полосовой фильтр получают, сначала разрабатывая прототип lowpass-фильтра, а затем умножая коэффициенты lowpass на комплексную экпоненту. Этот алгоритм использует многократный, многоступенчатый конечная импульсная характеристика в качестве lowpass. Для получения полосно-пропускающего фильтра коэффициенты каждого каскада сдвигаются по частоте. Десятикратное уменьшение является совокупным коэффициентом десятикратного уменьшения каждого этапа. Комплексный полосно-пропускающий фильтр, за которым следует дециматор, реализован с использованием эффективной полифазной структуры. Для получения дополнительной информации о проекте комплексного полосно-пропускающего фильтра из многоступенчатого многоступенчатого прототипа конечной импульсной характеристики фильтра, смотрите БПФ масштабирования и Комплексный полосно-пропускающее Создание фильтра.

Ссылки

[1] Harris, F.J. Multirate Signal Processing for Communication Systems. Prentice Hall, 2004, pp. 208-209.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Введенный в R2017b