НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Кафедра Систем Сбора и Обработки Данных
Дисциплина «Теория и обработка сигналов», 5 - й семестр
ЛАБОРАТОРНАЯ РАБОТА № 2
СПЕКТРАЛЬНЫЕ ПРЕДСТАВЛЕНИЯ
ПЕРИОДИЧЕСКИХ СИГНАЛОВ
Цель работы: изучение понятия спектра периодического сигнала, приобретение практических навыков вычисления и построения графиков спектров сигналов в среде MATLAB.
Задание и порядок выполнения работы.
1. Познакомьтесь с разложением в ряд Фурье периодических непрерывных сигналов и понятиями амплитудного и фазового спектров сигнала по учебной литературе, например, [1] стр. 19 – 27 или [2] стр. 21 -30.
2. Получите аналитически коэффициенты разложения в комплексный ряд Фурье для сигнала, заданного преподавателем, запишите после этого ряд Фурье сигнала. Сопоставьте результат с видом ряда Фурье, приведенным в задании. Постройте графики амплитудного и фазового спектров сигнала. При выполнении задания п.2 можно ориентироваться на пример, приведенный в Приложении 2.
3. Напишите и выполните файл-сценарий (М-файл), позволяющий построить в Matlab графики амплитудного и фазового спектров сигнала. Соответствующий пример представлен в Приложении 3.
4. Определите спектр Фурье сигнала с помощью функции fft() Matlab. Эта функция является основной процедурой проведения спектрального анализа в Matlab. Ознакомьтесь по справочной системе с данной функцией.
Процедура fft() вычисляет
. От коэффициентов Фурье дискретного периодического сигнала x[n] с периодом N
значения X(k+1) отличаются множителем
и смещением индексов на 1, так как индексация массивов в Matlab начинается с 1. Поэтому коэффициенты ряда Фурье периодического дискретного по времени сигнала равны fft()/N, где N – размер (длина) вектора fft().
Определите коэффициенты ряда Фурье с помощью fft() для сигнала, заданного в п.2, постройте и сопоставьте графики амплитудного спектра по п.3 и п.4. В Приложении 4 приведен пример соответствующей программы. Обратите внимание на периодический характер спектра, вычисленного с помощью fft(), объясните причину периодичности.
5. Составьте и выполните файл-сценарий для исследования сходимости ряда Фурье к исходному периодическому сигналу (индивидуальное задание, п.2) в соответствии с примером, приведенным в Приложении 5. Пронаблюдайте и объясните особенности сходимости ряда для четырех значений числа членов ряда и явление Гиббса, возникающее при конечном числе членов ряда Фурье у сигналов с разрывами поведения функций.
Пояснение. Для увеличения фрагмента графика используйте команду zoom on – включение режима увеличения, zoom off – отключение увеличения.
6. Рассмотрите периодический сигнал x(t) в виде квадратной волны c периодом T0, такой, что
Можно показать аналитически, что ряд Фурье этого сигнала имеет вид
, где ak=0 для четных k и ak = 4/(πk) для нечетных k.
Используя в качестве прототипа процедуру Приложения 5, сгенерируйте приближенную аппроксимацию квадратной волны длительностью 2 с и периодом T0, соответствующим ноте Ре первой октавы (частота 293,66 Гц). Количество гармоник при аппроксимации возьмите равным десяти, т. е. используются гармоники с номерами k = 1,3,5,…,19. Сгенерируйте также гармонический сигнал, соответствующий ноте Ре первой октавы длительностью 2 с. Для этого можно использовать процедуру harmonic() из лабораторной работы № 1. Постройте и сопоставьте графики первых 100 отсчетов для обоих сигналов при частоте отсчетов 8192 Гц.
Прослушайте звучание обоих сигналов, используя функцию sound(). Имеются ли различия в звучании сигналов? Квадратная волна в этом случае может трактоваться как гармоника с обертонами.
В частности, звучание ноты До первой октавы на фортепиано может быть аппроксимировано выражением
Сгенерируйте и прослушайте соответствующий сигнал, представьте его спектр.
7. Факультативное задание. Выполните задачу синтеза периодического сигнала, заданного в индивидуальном задании (п.2), с использованием пакета Simulink.
Simulink – это пакет расширения Matlab, предназначенный для моделирования динамических систем. Ввод элементов исследуемых систем в Simulink производится в диалоговом режиме с помощью технологии Drag-and-Drop. В результате формируется так называемая S-модель исследуемой системы. Модель можно сохранить в файле типа. mdl.
Для построения модели Фурье-синтеза сигнала создайте новый файл с помощью команды меню File/New/Model и расположите необходимые блоки в окне модели. Вид модели представлен в Приложении 6. Для создания подобной модели используйте окно Simulinc Library Browser. Из раздела Sources (Источники) библиотеки перенесите в окно модели блок Constant и 5-7 блоков Sin Wave, из раздела Math Operations – блок Sum, из раздела SignalRouting – блок мультиплексора (Mux), из раздела Sinks (Приемники)- два блока Scope (Индикатор).
С помощью двойного щелчка мыши или контекстного меню на блоке Sum откройте окно Block Parameters (Блок параметров) и установите необходимое число входов сумматора. В блоке параметров каждого Sin Wave установите нужные для синтеза сигнала значения амплитуды и угловой частоты (рад/с) каждой гармоники, при необходимости – фазу гармоники.
Соедините блоки между собой с помощью мыши. После создания, настройки и сохранения модели запустите её на исполнение с помощью команды меню Simulation/Start или кнопки Start. С помощью контекстного меню (правая кнопка мыши) на блоке Scope откройте окно Scope и пронаблюдайте результат решения задачи Фурье-синтеза сигнала. В дальнейшем поместите копии модели и окна Scope в отчет по работе.
8. Составьте отчет по лабораторной работе. В отчете должны быть представлены
§ титульный лист,
§ название и цель работы,
§ формулировки пунктов работы, команды и. m – файлы,
графики, комментарии, выводы.
9. Проверьте свою подготовку по контрольным вопросам, отчитайтесь в выполнении работы.
Литература
1. , Щетинин и обработка сигналов.: Уч. пособие.- Новосибирск. Изд-во НГТУ, 1998 - ч.1.
2. Сергиенко обработка сигналов / СПб.: Питер, 2003.
3. MatLAB 5.x. – К.: Издат. группа BHV, 2000.
4. , . MATLAB 5 для студентов. - 2-е изд., испр. и дополн. – М.: ДИАЛОГ-МИФИ, 1999.
Web – ресурсы
1. http://tiger. cs. nstu. ru
2. http://users. ece. gatech. edu/~bonnie/book/OnlineDemos/ConvergenceOfFourierSeries/index.htm
3. http://www. mathworks. com/access/helpdesk/help/toolbox/signal/signal. html
4. http://www. jhu. edu/~signals/fourier2/index. html
5. http://users. ece. gatech. edu/~bonnie/book/TUTORIAL/tutorial. html
Контрольные вопросы и упражнения.
1. Запишите ряд Фурье в тригонометрической и комплексной формах, объясните их связь.
2. Объясните физический смысл разложения сигнала в ряд Фурье.
3. Какие сигналы (функции) могут быть разложены в ряд Фурье?
4. Сформулируйте особенности скорости сходимости ряда Фурье для непрерывных функций и функций с разрывами.
5. Какой характер имеет разложение в ряд Фурье для четных функций?
6. Разложите в ряд Фурье периодический с периодом 2T сигнал, который на отрезке [-T, T] задается выражением x(t)=|t|. Постройте амплитудный спектр сигнала для T=5.
7. Какие особенности имеет разложение в ряд Фурье для нечетных Функций?
8. Запишите ряд Фурье периодического с периодом T =2 сигнала, заданного на интервале [-1, 1] выражением
.
9. Что такое эффект Гиббса? Каковы причины его возникновения?
10. Сформулируйте определение и физический смысл амплитудного спектра сигнала.
11. Каков характер амплитудного спектра периодического сигнала? Как изменяются амплитуды гармоник с изменением номера для непрерывного на периоде сигнала и для сигнала с разрывами?
12. Что такое фазовый спектр периодического сигнала?
13. Запишите и объясните физический смысл теоремы Парсеваля для периодических сигналов.
14. Запишите и объясните разложение в ряд Фурье периодической последовательности прямоугольных импульсов. Каково поведение спектра такого сигнала при Т→∞?
15. Как определить коэффициенты ряда Фурье с помощью процедуры fft()?
16. В среде Matlab с помощью функции fft() определите амплитудный спектр изображенного ниже периодического сигнала и постройте его график
![]() |
Приложение 1. Варианты индивидуальных заданий.
1.


Коэффициенты ряда Фурье
, 
2.
Ряд Фурье ![]()
3.

Ряд Фурье ![]()
4.
Ряд Фурье ![]()
5.


Ряд Фурье 
6.


Ряд Фурье 
7.


Ряд Фурье 
8.


Ряд Фурье

9.


Ряд Фурье 
10.


Ряд Фурье

Приложение 2. Пример разложения сигнала в ряд Фурье.
Вид сигнала

Частота основной гармоники
.
Коэффициенты комплексного ряда Фурье 
Для n = 0
.
В частности,
,
,
,
,
,
,
,
.
Ряд Фурье
.
График амплитудного спектра сигнала

Приложение 3. М-файл для построения графиков амплитудного и фазового спектров сигнала.
% Файл - сценарий для построения графиков спектров
n1=1:15;
cn=-4*j./n1/pi.*sin(pi*n1/6).*sin(n1*pi/2).*exp(-j*n1*pi/3);
n2=-15:-1;1
c_n=-4*j./n2/pi.*sin(pi*n2/6).*sin(n2*pi/2).*exp(-j*n2*pi/3);
Cn=[c_n 0 cn];
n3=[n2 0 n1];
n=-15:15;
figure(1), subplot(121),stem(n, abs(Cn))
title('|Cn|')
subplot(122),stem(n, angle(Cn))
title('angle(c_n) in rad')
Графики амплитудного и фазового спектров сигнала

Приложение 4. М-файл для вычисления коэффициентов ряда Фурье сигнала с помощью процедуры fft().
T=6;% период сигнала
t=0:T/63:T;% временной интервал
x=2*rectpuls(t-2.5,1)-2*rectpuls(t-5.5,1);% генерирование сигнала
figure(1);
subplot(311), plot(t, x) % график сигнала
title(' График сигнала')
k=0:63;
% коэффициенты ряда Фурье
C=-4*j./k/pi.*sin(pi*k/6).*sin(k*pi/2).*exp(-j*k*pi/3);
% график амплитудного спектра
subplot(312),
stem(2*pi*k/T, abs(C));
title(' Амплитудный спектр сигнала')
y=fft(x,64);% Дискретное преобразование Фурье сигнала
% график ДПФ
subplot(313), stem(2*pi*k/T, abs(y)/64)
xlabel(' Угловая частота, рад/сек')
title(' Амплитудный спектр сигнала по процедуре fft')
Приложение 5. Файл-сценарий приближения сигнала рядом Фурье.
T=6;
w0 = 2*pi/T;
t = -1.5*T:T/1000:1.5*T;
N = input('Number of harmonics ');
c0 = 0;
x = c0*ones(1,length(t)); % постоянная составляющая
for n=1:N,
% коэффициенты Фурье
cn = -4*j/n/pi*sin(pi*n/6)*sin(n*pi/2)*exp(-j*n*pi/3);
c_n = conj(cn);
% Приближение сигнала рядом Фурье
x = x + cn*exp(j*n*w0*t) + c_n*exp(-j*n*w0*t);
end
figure(2), plot(t, x), grid
title(['N = ',num2str(N)])
Графики, число членов ряда N=20

Явление Гиббса (увеличенный масштаб)

Приложение 6. Вид S - модели Фурье-синтеза сигнала

Составил доц.



