Блок Zoom FFT
реализует БПФ изменения масштаба на основе многоскоростного многоступенчатого полосового фильтра, разработанного в Комплексном Проекте Полосового фильтра. Если вы задаете центральную частоту и фактор десятикратного уменьшения, блочные конструкции Zoom FFT
, и применяет фильтр к входному сигналу. Используя БПФ изменения масштаба, можно масштабировать в тоны входной синусоиды.
Вход является шумным синусоидальным сигналом с частотами на уровне 1 кГц и 1,4 кГц. Шум является аддитивным белым Гауссовым шумом с нулевым средним значением и отклонением 1e-2. Входная частота дискретизации, Фс, составляет 44,1 кГц, и входной формат кадра, L, является 440 выборками.
Сконфигурируйте блок Zoom FFT
, чтобы анализировать пропускную способность 800 Гц с центральной частотой на уровне 1 200 Гц. Фактором десятикратного уменьшения, D, является отношение входной частоты дискретизации, 44,1 кГц и пропускной способности интереса, 800 Гц. Длина БПФ является отношением входного формата кадра, 440, и фактор десятикратного уменьшения. БПФ вычислен по частотам, запускающимся на уровне 800 Гц, и расположен с интервалами Гц независимо, который является разрешением или минимальной частотой, которая может быть различена. С вышеупомянутыми значениями разрешение, или приблизительно 100 Гц.
Откройте модель.
model = fullfile(matlabroot,'examples','dsp','zoomfftExample'); open_system(model)
Запустите модель. Вычислите квадрат значения FFT изменения масштаба вывод и просмотрите получившийся спектр в графике массивов.
sim(model)
Спектр показывает частоты в области значений [800 1600] Гц с тонами на уровне 1 кГц и 1,4 кГц. Длина БПФ уменьшала до длины. Это - фундаментальное понятие БПФ изменения масштаба. Путем десятикратного уменьшения исходного сигнала можно сохранить то же разрешение, которого вы достигли бы с БПФ в натуральную величину на вашем исходном сигнале путем вычисления маленького БПФ на более коротком сигнале. Можно альтернативно достигнуть лучшего разрешения при помощи той же длины БПФ.
Если вы вносите какие-либо изменения в модель, сохраняете модель прежде, чем закрыть модель.
close_system(model)
bdclose('all');