Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые по ЦОС / Kurs / Отчет_Св.doc
Скачиваний:
83
Добавлен:
01.05.2014
Размер:
966.14 Кб
Скачать

Обобщенное окно Хэмминга

Формула обобщенного окна Ханнинга имеет вид

причем, лежит в пределах 0£a£1. Случай= 0.5 соответствует окну Ханнинга.

Проектирование бих-фильтров fir1 – фильтр fir проектируется с использованием метода окна:

B = FIR1(N,Wn) проектирует НЧ цифровой фильтр FIR N-го порядка и возвращает коэффициенты в векторе B длиной N + 1. Частота среза Wn должна быть между 0 < Wn < 1.0, с 1.0 соответствует половине частоты дискретизации.

Если Wn – двухэлементный вектор, Wn = [W1 W2], FIR1 возвращает полосовой фильтр порядка N с полосой W1 < W < W2. B = FIR1(N,Wn,'high') проектирует ВЧ-фильтр. B=FIR1(N,Wn,'stop') проектирует фильтр с полосой задержки, если Wn = [W1 W2]. Для высокочастотных и фильтров с полосой задержки N должно быть четным.

По умолчанию FIR1 использует окно Хэмминга. Другие представленные окна, включая прямоугольное (Boxcar), Хэмминга, Бартлетта, Блэкмана, Кайзера и Чебышева (Chebwin), могут быть определены с помощью необязательных аргументов. Например, B=FIR1(N,Wn,bartlett(N+1)) использует окно Бартлетта. B=FIR1(N,Wn,'high',chebwin(N+1,R)) использует окно Чебышева.

Filter – цифровой фильтр:

Y = FILTER(B, A, X) фильтрует данные вектора X с фильтром, описанным векторами A и B для создания фильтрованных данных Y. Фильтр – реализация прямой формы 2 стандартного разностного уравнения

y(n) = b(1)*x(n) + b(2)*x(n–1) + ... + b(nb+1)*x(n–nb)

– a(2)*y(n–1) – ... – a(na+1)*y(n–na);

[Y, Zf] = FILTER(B,A,X,Zi) дает доступ к начальному и конечному состояниям задержек Zi и Zf.

3. Генерация входной последовательности сигнала

1. Сигнал составленный из подпоследовательностей различной частоты (3, 7, 10, 25Гц) с равным числом периодов задания подпоследовательностей сигнала

Сгенерируем сигнал составленный из подпоследовательностей различной частоты (3, 7, 10, 25Гц) с равным числом периодов задания подпоследовательностей сигнала с помощью средств программы MatLab и построим график полученного сигнала:

Fs=128; % частота дискретизации

T=4; % время реализации

n=512; % длина реализации

indx=(0:n-1); % вектор целых чисел от 0 до 511

% генерация входной последовательности сигнала

A=500; % амплитуда

t1=(0:127)/Fs; % интервал реализации для 1 подпоследовательности

t2=(128:255)/Fs; % интервал реализации для 2 подпоследовательности

t3=(255:384)/Fs; % интервал реализации для 3 подпоследовательности

t4=(385:511)/Fs; % интервал реализации для 4 подпоследовательности

y1=A*sin(3*t1*2*pi); % 1 подпоследовательность

y2=A*sin(7*t2*2*pi); % 2 подпоследовательность

y3=A*sin(10*t3*2*pi); % 3 подпоследовательность

y4=A*sin(25*t4*2*pi); % 4 подпоследовательность

t=[t1 t2 t3 t4]; % шаг дискретизации

y=[y1 y2 y3 y4]; % входной сигнал

figure(1);

clf, plot(t,y);

grid on;

ylabel('Amplitude (mkV)');

xlabel('Time');

title('Input signal');

  1. Реальный сигнал

Введем реальный сигнал из файла. Но в связи с тем, что реальный сигнал в файле записан с частотой 256Гц (а это в два раза больше используемой нами частотой), то значения будут считываться из файла через одно.

% реальный сигнал

fid=fopen('C:\Documents and Settings\Dinara\Рабочий стол\ЦОС\kursov\Signal.D05','r');

yf=fread(fid,n,'bit16',16);

fclose(fid);

figure(2);

clf,plot(t,yf);

grid on;

ylabel('Amplitude (mkV)');

xlabel('Time');

title('Real signal');

Соседние файлы в папке Kurs