Автор работы: Пользователь скрыл имя, 22 Марта 2012 в 19:04, контрольная работа
График передаточной функции(амплитудного спектра) и отношение гильберт-огибающей выхода к амплитуде входной косинусоиды в зависимости от частоты:
Тверской государственный университет
Факультет прикладной математики и кибернетики
Специальность “Информационные технологии”
Семестровая работа по дисциплине
Обработка цифровых сигналов
Выполнил: студенты 46 группы
Субботин А.А., Юрков Б.В.
Тверь 2011
Выполненная работа
Пик на пьедестале.
;
f = ();
g = ();
Выражаем
Реализация:
clear all; clear clc;
figure(1);clf(1);
Fi = pi / 2;
e = 0.02;
k = 10;
n = 300;
coord = 1:n;
for indexSin = 1:n
x = sin( (2 * pi * coord / n ) * (indexSin - n/2 ) );
y(1) = (1+e*k)^2*x(1)/(1+e)^2;
y(2) = (1+e*k)^2*x(2)/(1+e)^2+2*cos(
for j=3:n
y(j) = (1+e*k)^2*x(j)/(1+e)^2+2*cos(
end;
%plot( coord, y, 'r' );
f(1) = (1+e*k)^2;
f(2) = -2*(1+e*k)*cos(Fi);
f(3) = 1;
g(1) = (1+e)^2;
g(2) = -2*(1+e)*cos(Fi);
g(3) = 1;
argE(1) = 0;
argE(2) = 1;
argE(3) = 2;
transferFunc = coord;
for j = 1:n
phi = j * 2 * pi / n - pi;
curEVal = exp( -1i * argE * phi );
transferFunc(j) = sum( f.*curEVal ) / sum( g.*curEVal );
end;
windowSource = y;
windowFilter = coord;
windowDelta = 5;
windowPercent = n / windowDelta;
windowFilter( coord > windowPercent & coord < ( n - windowPercent + 1 ) ) = 1;
coordSin = coord( coord < windowPercent + 1 );
windowFilter( coord < windowPercent + 1 ) = sin( coordSin * pi / ( 2 * windowPercent ));
windowFilter( coord > ( n - windowPercent ) ) = cos( coordSin * pi / ( 2 * windowPercent ));
windowResult = windowFilter.*windowSource;
%plot( coord, windowResult, 'r' ); hold on;
hilbSource = windowResult;
fftSignal = fft( hilbSource );
signSignal = coord;
signSignal( coord < n/2 + 1 ) = 1i;
signSignal( coord == n/2 + 1 ) = 0;
signSignal( coord > n/2 + 1 ) = -1i;
hilb = real( ifft( fftSignal.*signSignal ) );
hilbAmplitude = sqrt( hilb.*hilb + hilbSource.*hilbSource );
%hilbAmplitude = hilb;
%if indexSin==100
% plot( coord, x, 'b' ); hold on;
% plot( coord, y, 'r' );hold on;
% plot( coord, hilbAmplitude, 'g' ); hold on;
%end;
plot( coord, abs(transferFunc), 'r' ); hold on;
plot( indexSin, hilbAmplitude(n/2), '-rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize', 2 ); hold on;
end;
Результаты
Входной сигнал
Выход фильтра и гильберт-огибающая:
График передаточной функции(амплитудного спектра) и отношение гильберт-огибающей выхода к амплитуде входной косинусоиды в зависимости от частоты: