Изучение понятия спектра периодического сигнала. Вариант 10

Страницы работы

12 страниц (Word-файл)

Содержание работы

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ  АВТОМАТИКИ  И  ВЫЧИСЛИТЕЛЬНОЙ   ТЕХНИКИ

КАФЕДРА СИСТЕМ СБОРА И ОБРАБОТКИ ДАННЫХ

Дисциплина  «Теория  и  обработка  сигналов»

ЛАБОРАТОРНАЯ  РАБОТА  № 2

СПЕКТРАЛЬНЫЕ ПРЕДСТАВЛЕНИЯ

ПЕРИОДИЧЕСКИХ СИГНАЛОВ

Вариант №10

Группа:  АТ-53

Студентка:  Пяткова Д.А.

Преподаватель:  Щетинин Ю.И.

Новосибирск

2007 г.

Цель работы:изучение понятия спектра  периодического сигнала, приобретение практических навыков вычисления и построения  графиков спектров   сигналов в  среде MATLAB.

Задание варианта №10 

Рис 1. Исходный сигнал

Ряд Фурье

2.

Получение коэффициентов разложения в комплексный ряд Фурье для заданного сигнала.

Запишем комплексный ряд Фурье:


Построены графики амплитудного и фазового спектров  сигнала

Рис. 2 Графики амплитудного и фазового спектра

Видим, что чем больше частота, тем меньше амплитуда колебаний, поэтому мы можем брать интервал не от  , а гораздо меньше. При этом нужно учесть, что чем меньший интервал мы выберем, тем больше будет не соответствие с реальным сигналом (погрешность наших расчетов). Так же из АЧХ видим, что при n кратному двум амплитуда (значит, сдвиг фаз тоже) равна нулю, покажем это аналитически:

Пусть n=2

Получаем:

3. М-файл для построения графиков амплитудного и фазового спектров сигнала.

n1=1:20;

cn=((-2)*exp(j.*n1*pi*(-1)/2)+3*exp(j.*n1*pi/2)-exp(j.*n1*pi*(-3)/2))./(j*pi*n1);

%воспроизводим сумму ряда с положительными n

n2=-20:-1;

c_n=((-2)*exp(j.*n2*pi*(-1)/2)+3*exp(j.*n2*pi/2)-exp(j.*n2*pi*(-3)/2))./(j*pi*n2);

%воспроизводим сумму ряда с отрицательными n

Cn=[ c_n 3/4 cn];

n3=[n2 0 n1];

n=-20:20;

figure(1), subplot(121),stem(n,abs(Cn));

set(gca, 'FontName', 'Times New Roman Cyr', 'FontSize' ,12);

title('Амплитудный спектр');

subplot(122),stem(n,angle(Cn));

set(gca, 'FontName', 'Times New Roman Cyr', 'FontSize' ,12);

title('Фазовый спектр');

4. Определение  коэффициентов ряда Фурье  с помощью функции fft() для заданного сигнала.

М-файл, с помощью которого были проведены расчёты и построенные графики:

T=8;                                                                           % период сигнала

N=63;

t=0:T/N:T;                                                                 % временной интервал

x=rectpuls(t,2)+rectpuls(t,4);                                                % генерирование сигнала

figure(1),subplot(311), plot(t,x)                                % график сигнала

set(gca, 'FontName', 'Times New Roman Cyr', 'FontSize' ,8);

title(' График сигнала')

k=1:N;

C=((-2)*exp(j.*k*pi*(-1)/2)+3*exp(j.*k*pi/2)-exp(j.*k*pi*(-3)/2))./(j*pi*k);            % коэффициенты ряда Фурье

% график амплитудного спектра

subplot(312),

stem(2*pi*k/T, abs(C));

set(gca, 'FontName', 'Times New Roman Cyr', 'FontSize' ,8);

title(' Амплитудный спектр сигнала')

y=fft(x,N);                                                     % Дискретное преобразование Фурье сигнала

 subplot(313), stem(2*pi*k/T, abs(y)/(N+1))

set(gca, 'FontName', 'Times New Roman Cyr', 'FontSize' ,8);

xlabel(' Угловая частота,  рад/сек')

title(' Амплитудный спектр сигнала по процедуре fft')

Рис.3

На рис.2 изображен сверху вниз: исходный сигнал, амплитудный спектр сигнала(вычисленный в “ручную”, т.е. коэффициенты ряда Фурье найдены аналитически), амплитудный спектр сигнала с помощью процедуры fft


5. Исследование сходимости ряда Фурье к исходному периодическому сигналу. Явление Гиббса

М-файл с помощью, которого были построены графики с четырьмя разными числами членов ряда.

T=8;

w0 = 2*pi/T;

t = 0:T/1000:T;

N = input('Введите минимальное число членов ряда  ');

N=N*8;

c0 = 4;

x = c0*ones(1,length(t)); % постоянная   составляющая

for n=1:N,

cn =((-2)*exp(j.*n*pi*(-1)/2)+3*exp(j.*n*pi/2)-exp(j.*n*pi*(-3)/2))./(j*pi*n);

c_n=conj(cn);

x = x + cn*exp(j*n*w0*t)+ c_n*exp(-j*n*w0*t);

end

figure(1), subplot(2,2,1), plot(t,x), grid

title(['N = ',num2str(N)]);

N=N/2;

x = c0*ones(1,length(t)); % постоянная   составляющая

for n=1:N,

cn =((-2)*exp(j.*n*pi*(-1)/2)+3*exp(j.*n*pi/2)-exp(j.*n*pi*(-3)/2))./(j*pi*n);

c_n=conj(cn);

x = x + cn*exp(j*n*w0*t)+ c_n*exp(-j*n*w0*t);

end 

subplot(2,2,2), plot(t,x), grid

title(['N = ',num2str(N)]);

N=N/2;

x = c0*ones(1,length(t)); % постоянная   составляющая

for n=1:N,

cn =((-2)*exp(j.*n*pi*(-1)/2)+3*exp(j.*n*pi/2)-exp(j.*n*pi*(-3)/2))./(j*pi*n);

c_n=conj(cn);

x = x + cn*exp(j*n*w0*t)+ c_n*exp(-j*n*w0*t);

end 

subplot(2,2,3), plot(t,x), grid

title(['N = ',num2str(N)]);

N=N/2;

x = c0*ones(1,length(t)); % постоянная   составляющая

for n=1:N,

cn =((-2)*exp(j.*n*pi*(-1)/2)+3*exp(j.*n*pi/2)-exp(j.*n*pi*(-3)/2))./(j*pi*n);

c_n=conj(cn);

x = x + cn*exp(j*n*w0*t)+ c_n*exp(-j*n*w0*t);

end 

subplot(2,2,4), plot(t,x), grid

title(['N = ',num2str(N)]);

Рис 4.

На рисунке 4 изображены графики исходного сигнала. Для его аппроксимации использовалось различное число членов ряда Фурье.

Рис 5.

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

6.  Аппроксимация сигналов: квадратной волны, ноты Ре, ноты До.

Ниже приведен код с помощью которого производилась аппроксимация квадратной волны, а так же сгенерирована нота Ре. Последняя строка позволяет прослушать нам сгенерированные сигналы и звуки.

T=1/293.66;

w0 = 2*pi/T;

t = 0:1/8192:2;

x = zeros(1,length(t));

for n=1:2:19,

x = x + 4*sin(w0*n*t)/(pi*n);

end

y=harmonic(w0, 2*pi*8192, 2);

figure(1),plot(t(1:100),x(1:100),t(1:100),y(1:100)) , grid

axis([0 0.012 -1.5 1.5]);

p = zeros(1,length(t)); p=[x p y];

sound(p);

Функция harmonic

function [x, t] =  harmonic(omega0, omegas, dur)

%harmonic генерирует гармонический сигнал, где

%omega0- угловая частота гармоники,рад/с,

%omegas-угловая частота отсчетов, рад/с,

%dur- продолжительность сигнала.

t = 0:2*pi/omegas:dur;

x =cos(omega0*t);

Рис.6

На рисунке 3 изображены графики: квадратной волны(аппроксимация) и гармонических колебаний.

Из графиков видно что максимумы квадратной волны и гармонических колебаний совпадают, хотя в промежутках между максимами функции значительно различаются (на высоту двух амплитуд).

Рис.4

На рисунке 4  изображена АЧХ звукового сигнала в форме гармонической волны(нота Ре).

Рис.5

На рисунке 5 изображена АЧХ звукового сигнала в форме квадратной волны.

Как мы можем судить из спектра: у квадратной волны спектр шире чем у гармонической волны, т.к. для того что бы воспроизвести квадратную волну необходимо несколько гармонических колебаний с различными частотами.

Далее представлен код с помощью которого сгенерировано звучание ноты До первой октавы на фортепиано.

T=1/261.63;

w0 = 2*pi/T;

t = 0:1/8192:2;

do = zeros(1,length(t));

k=[1 0.5 0.5 -0.3 0.2];

for n=1:5,

do = do + k(n)*sin(n*w0*t);

end

subplot(211), plot(t(1:100),do(1:100)) , grid

axis([0 0.012 -1.5 1.5]);

set(gca, 'FontName', 'Times New Roman Cyr', 'FontSize' ,12);

title('График ноты До');

N=123; s=0:N;

y=fft(do,N+1);

subplot(212), stem(2*pi*s/T, abs(y)/(N+1)), grid

axis([0 max(2*pi*s/T)/2 0 max(abs(y)/(N+1))]);

set(gca, 'FontName', 'Times New Roman Cyr', 'FontSize' ,12);

xlabel(' Угловая частота,  рад/сек')

title(' Амплитудный спектр ноты До по процедуре fft')

sound(do);

L_2_6_DO

Рис. 6

На рисунке 6 приведен график ноты До и АЧХ

Рис.7

На рисунке 7  изображена АЧХ звукового сигнала в форме гармонической волны(нота До).

7. Генерирование исходного периодического сигнала с помощью приложения Simulink..

Рис.8

На рисунке 8 изображена схема, которая была собрана в приложение Simulink для генерирования исходного сигнала

Параметры генерирования:

Pulse Generator: Amplitude:1, Period(secs):4, Pulse Width (% of period):25, Phase delay(secs):0

Pulse Generator1: Amplitude:1, Period(secs):4, Pulse Width (% of period):50, Phase delay(secs):0

L_2_7_1

Рис.9

На рисунке 9 изображен график, который получается на осциллографе при суммирование двух прямоугольных импульсов, т.е. на осциллографе с названием “Scope”

L_2_7_2

Рис.10

На рисунке 10 изображен график, который получается на осциллографе при параллельной подаче двух прямоугольных импульсов, т.е. на осциллографе с названием “Scope1”

Похожие материалы

Информация о работе