- •1. Спектральный анализ
- •Freqz – частотная характеристика цифрового фильтра.
- •Окно Чебышева
- •Окно Ханнинга
- •Свойства цифровых фильтров
- •Представление цифрового фильтра в виде разностного уравнения
- •Бих-фильтры. Методы синтеза
- •Обобщенное окно Хэмминга
- •Проектирование бих-фильтров fir1 – фильтр fir проектируется с использованием метода окна:
- •Filter – цифровой фильтр:
- •3. Генерация входной последовательности сигнала
- •4. Реализация спектрального анализа с использованием бпф
- •5. Проектирование и реализация цф
- •6. Вывод
Задание
Генерация входной последовательности.
Сигнал составленный из подпоследовательностей различной частоты (3, 7, 10, 25Гц)
Равное число периодов задания подпоследовательностей сигнала Рабочий диапазон частот: 0.5-25 Гц;
Частота дискретизации: 128 Гц;
Длина реализации: 512 отсчетов;
Амплитуда сигнала в диапазоне от -500 мкВ до 500 мкВ.
Реальный сигнал
Последовательность 16-разрядных чисел со знаком;
Частота дискретизации 256 Гц;
Амплитуда сигнала +/-50мкВ соответствует +/-400 единицам кода;
Файл с реальным сигналом: Signal.d04.
Реализация спектрального анализа с использованием БПФ
Вычислить прямое и обратное дискретное преобразование Фурье для взвешенной с помощью окна реализации сигнала с использованием функций одномерного преобразования FFTиIFFT, построить график модуля спектральной функции.
Использовать окна, задаваемые функциями CHEBWIN(n,r) иHANNING(n).
Проектирование и реализация цифрового фильтра
Выполнить расчет заданного ЦФ, построить АФЧХ. Фильтрация входного сигнала, построение графика выходного сигнала и модуля спектральной функции.
БИХ фильтр:
фильтр Чебышева 1 рода;
полоса пропускания: 0 – 25 Гц;
затухание в полосе пропускания -3дБ;
затухание вне полосы пропускания не хуже -20дБ.
Теоретическая часть
1. Спектральный анализ
Прямое и обратное ДПФ
Для выполнения прямого и обратного ДПФ в MATLAB служат функции fft и ifft:
у = fft(x) — вычисляет прямое ДПФ для вектора х; если х — матрица, преобразование производится для каждого ее столбца по отдельности;
у = fft(x, N) — предварительно приводит исходные данные к размеру N, урезая их или дополняя нулями;
х = ifft(y) и х = ifft(y, N) — аналогичные варианты вызова для функции обратного ДПФ.
Функции fft и ifft входят в базовую библиотеку MATLAB. Вычисления организованы так, что реализуется максимально возможное для каждой длины исходного вектора ускорение вычислений: длина вектора (число строк в матрице) х раскладывается на простые множители, число этих множителей соответствует количеству ступеней БПФ, а сами множители определяют коэффициенты прореживания на разных ступенях БПФ.
Окна
MATLAB содержит (в пакете Signal Processing) целый ряд стандартных весовых функций. Они возвращают векторы отсчетов, которые могут использоваться в качестве одного из параметров разнообразных функций непараметрического спектрального анализа.
Все рассматриваемые ниже функции принимают в качестве параметра требуемую длину вектора (n), которая должна быть целым положительным числом, и возвращают вектор-столбец w. При n=1 все функции возвращают значение 1.
Амплитудный спектр весовой функции соответствует частотной характеристике нулевого канала ДПФ при использовании данной весовой функции. При рассмотрении конкретных функций графики их амплитудных спектров будут строится в логарифмическом масштабе для n=16. Чтобы обеспечить на нулевой частоте значение спектральной функции, равное единице (0 дБ), перед вычислением спектра весовые функции нормируются – делятся на сумму своих отсчетов.
Графики функций будут строиться функцией freqz.
Freqz – частотная характеристика цифрового фильтра.
Когда N целое, [H,W] = FREQZ(B,A,N) возвращает для вектора частот W в радианах N-точечную комплексную частотную характеристику в векторе H фильтра B/A:
.
Частота отклика оценивается в N точках одинаково расположенных интервалов верхней половины единичной окружности. Если N не определено, то по умолчанию равно 512.
[H,W] = FREQZ(B,A,N,'whole') использует N точек по всей окружности.
H = FREQZ(B,A,W) возвращает частоту отклика на частотах, назначенных в векторе W, в радианах (нормально между 0 и ).
[H,F] = FREQZ(B,A,N,Fs) и [H,F] = FREQZ(B,A,N,'whole',Fs) на заданной частоте дискретизации Fs (в герцах) возвращают вектор частот F (в герцах).
H = FREQZ(B,A,F,Fs) на заданной частоте дискретизации Fs (в герцах) возвращает комплексную частоту ответа на частотах, определенных в векторе F (в герцах).
FREQZ(B,A,...) без выходных аргументов рисует амплитуду и развернутую частоту B/A в текущем графическом окне.
Окно Чебышева
Функция CHEBWIN реализует окно Чебышева:
w = chebwin(n, r).
Отсчеты окна Чебышева рассчитываются по следующей формуле:
Окно Ханнинга
Функция HANNING реализует окно Ханнинга:
w = hanning(n)
Окно Ханнинга может быть применено в частотной области с использованием реккурентной формулы:
Обобщённое окно Ханнинга:
a= 0,54, окно Хэмминга
a= 0,5, окно Ханнинга
Общая характеристика цифровых фильтров
Различают два общих класса сигналов: аналоговые и дискретные. Аналоговым сигналом называется сигнал, определенный для каждого момента времени, дискретным сигналом – сигнал, определенный только в дискретные моменты времени. Как дискретный, так и аналоговый сигналы могут быть однозначно представлены некоторыми функциями частоты, которые называются их частотными спектрами.
Фильтрацией называется процесс изменения частотного спектра сигнала в некотором желаемом направлении. Этот процесс может привести к усилению или ослаблению частотных составляющих в некотором диапазоне частот, к подавлению или выделению какой-нибудь конкретной составляющей и т. п.
Цифровым фильтром называется цифровая система, которую можно использовать для фильтрации дискретных сигналов. Он может быть реализован программным методом или с помощью специальной аппаратуры, и в каждом из этих случаев цифровой фильтр можно применить для фильтрации сигналов как в реальном времени, так и предварительно записанных.
Цифровой фильтр можно представить структурной схемой, изображенной на рис. 1.1. На этой схеме x(n) иy(n) – соответственно, входное воздействие и реакция фильтра на это воздействие. Функционально они связаны соотношением
,
где вид оператора зависит от свойств конкретной системы.
Рис. 1.1
Реакцию цифрового фильтра на произвольное воздействие можно представить с помощью импульсной характеристики фильтра. Допустим, что x(n) – входная, аy(n) – выходная последовательности фильтра и пустьh(n) – отклик на единичный импульс, называемый импульсной характеристикой. Тогда
.
Таким образом, x(n) иy(n) связаны соотношением типа свертки. Частотная характеристика фильтра определяется следующим выражением:
. (1.1)
Поскольку частотная характеристика является периодической функцией частоты , равенство (1.1) можно рассматривать как разложениев ряд Фурье, причем коэффициенты являются одновременно отсчетами импульсной характеристики. Согласно теории рядов Фурье, коэффициентыh(n) могут быть выражены через:
.
Из этого соотношения видно, что h(n) по существу является суперпозицией синусоидс амплитудами, которые можно представить следующим образом:
.
Выражениеназывают амплитудной характеристикой фильтра, а– фазовой характеристикой фильтра.