
3 лабораторная МОТС
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра АПУ
отчет
по лабораторной работе №3
по дисциплине «Математические основы теории систем»
Тема: Спектр. Ряд Фурье
Студенты гр. 1391 |
|
Поникаровский А. В. Тирик Б. Д. |
Преподаватель |
|
Гульванский В. В. |
Санкт-Петербург
2023
Цель работы:
Знакомство со спектральным представлением периодических и случайных процессов;
Изучение взаимосвязи преобразований сигналов во временной и частотной областях;
Оценка дефектов дискретного преобразования Фурье и методы их подавления.
Теоретические положения.
Поставим
задачу: представить некоторый сложный
периодический процесс
,
заданный на интервале
,
в виде суммы простых периодических
функций вида
.
Периодичность
гарантирует, что в таком разложении
будут присутствовать только гармоники
кратных частот
,
– целое,
.
При
получим постоянную составляющую, обычно
записываемую в форме
,
а все разложение будет иметь вид:
Данное разложение называется рядом Фурье.
Коэффициенты
этого ряда рассчитываются по формулам:
Если
воспользоваться формулой Эйлера
,
получим более простую запись ряда Фурье
в комплексной форме:
– коэффициенты
ряда Фурье или спектр
Совокупность
функций
называется базисом
Фурье.
Комплексные
коэффициенты
обычно представляют в форме
,
где
– амплитудный спектр;
– фазовый спектр;
– реальная составляющая спектра;
– мнимая составляющая спектра.
Для
анализа непериодических процессов (
)
служит преобразование Фурье:
Широкое распространение спектрального представления сигналов объясняется следующими причинами:
Гармонические функции – единственные, не меняющие своей формы при прохождении через линейную систему: может измениться только их амплитуда и фаза, но не форма, а, значит, не частота;
Простота синтеза гармонического колебания – для этого достаточно иметь колебательный контур или любую другую резонансную систему. Разложить в спектр Фурье оптический сигнал может любая двояковыпуклая линза, радиосигналы в эфире тоже представлены электромагнитными волнами – гармониками ряда Фурье;
Графическое представление спектральных коэффициентов на частотной оси – спектра сигнала – позволяет получить наглядную картину распределения в сигнале низких и высоких частот;
Частотные характеристики используются не только для анализа сигналов, но и для анализа свойств динамических систем.
Чтобы построить спектр с помощью ДПФ (БПФ), надо определить следующие параметры:
количество спектральных составляющих
;
шаг между соседними частотами – разрешение по частоте
ƒ;
частоту дискретизации
;
минимальную (нижнюю) частоту спектра
;
верхнюю частоту
;
временной интервал анализа
.
На самом деле, эти параметры жестко связаны друг с другом, и для однозначного построения спектра достаточно задать всего две величины.
Как
правило, анализ начинается с выбора
временной базы анализа
и частоты дискретизации
.
При
этом оказываются определенными и
количество отсчетов сигнала
,
и минимальная частота спектра:
.
А поскольку количество спектральных
коэффициентов равно количеству отсчетов
сигнала
,
оказываются определенными и верхняя
частота преобразования
,
и шаг между соседними частотами
ƒ=
.
Спектр сигнала (сейчас мы рассматриваем только вещественные функции) будет состоять из двух зеркально отраженных картин. Для комплексного спектра этого не происходит, однако в спектре появляются отрицательные частоты.
Теорема Котельникова – фундаментальное утверждение в области цифровой обработки сигналов, связывающее непрерывные и дискретные сигналы.
Формулировка:
Любой сигнал
,
спектр которого не содержит составляющих
с частотами выше некоторого значения
,
может быть без потерь информации
представлен своими дискретными отсчетами
,
взятыми с интервалом
,
удовлетворяющим следующему неравенству:
.
Преобразование Фурье в дискретной форме (ДПФ) имеет и другие недостатки. Главный из них – растекание спектра. Растекание спектра (англ. spectrum leakage) – эффект, возникающий вследствие финитности анализируемого сигнала (фактически бесконечный сигнал взвешивается финитным прямоугольным окном). Для подавления этого эффекта используют взвешивание сигнала специальными оконными функциями (окна Чебышева, Ханна, Парзена и т.д.).
При
спектральном преобразовании сигнала
могут использоваться и другие – не
гармонические – функции. В этом случае
говорят об
обобщенном преобразовании Фурье:
.
Главные
требования к функциям
– их ортогональность
и полнота.
Два
вектора
,
называют взаимноортогональными,
если их скалярное произведение
равно нулю:
;
;
.
Если
при этом норма каждого вектора равна
1:
,
векторы называют ортонормальными.
Для любого вектора размерности (длины) можно найти и только ортогональных векторов. Такой набор векторов называют полной ортонормальной системой, или базисом -мерного линейного пространства.
Рассмотрим
для примера два базиса в пространстве
Первый базис задается матрицей:
или
в графической форме (каждая функция –
одна из строк матрицы
):
Второй базис зададим матрицей (Рис. 3.6):
A =
0.1250 0.5026 0.4275 0.8550 0.2138 0.6917 0.4275 0.8550
0.2138 -0.2939 0.7310 -0.5000 0.3655 -0.4045 0.7310 -0.5000
0.2513 0.4755 -0.2939 -0.8090 0.4297 0.6545 -0.2939 -0.8090
0.3458 -0.3455 -0.4045 0.5878 0.5914 -0.4755 -0.4045 0.5878
0.5026 0.8090 0.8090 1.0000 -0.2939 -0.5878 -0.8090 -1.0000
0.5026 -0.8090 0.8090 -1.0000 -0.2939 0.5878 -0.8090 1.0000
0.6917 0.8090 -0.5878 -1.0000 -0.4045 -0.5878 0.5878 1.0000
0.6917 -0.8090 -0.5878 1.0000 -0.4045 0.5878 0.5878 -1.0000
или графически:
Сравним
эти базисы. Прежде всего, бросается в
глаза равенство
всех элементов матрицы
.
Это очень удобное свойство базисных
функций: при умножении на такую функцию
временные затраты минимальны. Во втором
базисе это свойство потеряно. Первая
строка базиса обычно служит для выделения
постоянной составляющей из исследуемого
сигнала и в классических базисах все
ее элементы равны единице. При этом все
остальные функции не реагируют на
постоянную составляющую вследствие
симметричности их относительно нуля.
Этого во втором базисе тоже нет. Поэтому
первый базис используется очень широко
и носит название базиса Уолша, а второй
базис кроме вас никто не видел.
Приведём ещё один весьма широко используемый базис – базис Хаара:
Его главное достоинство – большое количество нулевых элементов. Это не только ускоряет вычисления спектра, но и обеспечивает сжатое представление сигналов с резкими перепадами. Это объясняется тем, что каждая функция (за исключением первых двух) выделяет только некоторую локальную область существования сигнала.
Для упрощения здесь базис Хаара приведён в ненормированной форме: чем уже импульс, тем меньше его энергия.
Обработка результатов
1. Создадим два сигнала x1=cos(2*pi*f1*t); x2=4*cos(2*pi*f2*t). Частота дискретизации 4096, время анализа 1 секунда. Частоты f1 и f2 равны 100 и 350 Гц. Получим модуль спектра двух сигналов, построим его график (рис. 1, рис. 2, рис. 3, рис. 4, рис. 5).
fs = 4096;
dt = 1/fs;
t = 0:dt:1;
f1=100;
f2=350;
x1=cos(2*pi*f1*t);
x2=4*cos(2*pi*f2*t);
plot(t,x1,t,x2,'LineWidth', 1);
xlim([0 0.03]);
grid on;
title("Сигналы");
xlabel("Частота");
ylabel("Амплитуда");
legend('x1','x2');
R_mod1=abs(fft(x1));
figure;
area(t,R_mod1), grid;
xlim([0.02 0.03])
title("Амплитудный спектр первого сигнала x1 (первая гармоника)");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
R_mod2=abs(fft(x2));
figure;
area(t,R_mod2), grid;
xlim([0.075 0.095])
title("Амплитудный спектр второго сигнала x2 (первая гармоника)");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
Р
ис.
1. График созданных сигналов
Рис. 2. Амплитудный спектр первого сигнала
Р
ис.
3. Первая
гармоника амплитудного спектра первого
сигнала
Рис. 4. Амплитудный спектр второго сигнала
Рис. 5. Первая гармоника амплитудного спектра второго сигнала
2. Создадим ещё два сигнала: x3=x1+x2; x4=x1.*x2 и построим их спектры (рис. 6, рис. 7, рис. 8, рис. 9).
x3=x1+x2;
x4=x1.*x2;
R_mod3=abs(fft(x3));
figure;
area(t,R_mod3), grid;
xlim([0 0.1])
title("Амплитудный спектр третьего сигнала x3");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
R_mod4=abs(fft(x4));
figure;
area(t,R_mod4), grid;
xlim([0.05 0.15])
title("Амплитудный спектр четвертого сигнала x4");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
Рис. 6. Амплитудный спектр третьего сигнала
Р
ис.
7. Первые две
гармоники амплитудного спектра третьего
сигнала
Рис. 8. Амплитудный спектр четвёртого сигнала
Рис. 9. Первые две гармоники амплитудного спектра четвёртого сигнала
Объясните полученный результат.
Спектры получились различными, в так как при сложении сигналов их частоты и амплитуды на этих частотах сохраняются, а при перемножении сигналов амплитуда на пиках уравнивается, частоты при этом получаются разностные и суммарные.
3. На временном
интервале
отсчётов создадим -импульс
(рис. 10).
N=2^7;
t = -1:1/N:1;
y = dirac(t);
idx = y == Inf;
y(idx) = 1;
figure;
plot(y);
title("Дельта-функция Дирака");
xlabel("Частота");
ylabel("Амплитуда");
grid on
Рис. 10. Дельта-функция
На рис.11 и рис. 12 представлены спектры модуля и фазы дельта-функции соответственно.
R1=abs(fft(y));
R2=phase(y);
figure;
subplot(2,1,1),stem(t,R1);
title("Амплитудный спектр дельта-функции Дирака");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
subplot(2,1,2),plot(t,R2);
title("Фазовый спектр дельта-функции Дирака");
xlabel("Частота");
ylabel("Фаза");
grid on
Рис. 11. Амплитудный спектр дельта-функция
Рис. 12. Фазовый спектр дельта-функция
Сдвинем -импульс. На рис.13 и рис. 14 представлены спектры модуля и фазы сдвинутой дельта-функции соответственно.
y(1,129)=0;
y(1,241)=1;
R1=abs(fft(y));
R2=phase(y);
figure;
subplot(2,1,1),stem(t,R1);
title("Амплитудный спектр дельта-функции Дирака");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
subplot(2,1,2),plot(t,R2);
title("Фазовый спектр дельта-функции Дирака");
xlabel("Частота");
ylabel("Фаза");
grid on
Рис. 13. Амплитудный спектр сдвинутой дельта-функции
Рис. 14. Фазовый спектр сдвинутой дельта-функции
Из графиков видно, что спектры одинаковые.
4. Последовательно увеличим ширину импульса, наблюдая соответствующие изменения его спектра (рис. 15).
N=2^7;
T = 1;
Nyq=N/(2*T);
df=1/T;
nu=-Nyq+df*(0:N);
dt = T/N;
t = linspace(0,T,N);
for i=1:10
figure;
T_h = i/100;
y = zeros(1, N);
y(N/2 +1 - (T_h/dt)/2 : N/2 + (T_h/dt)/2) = 1;
R1=fft(y)/N;
subplot(2,1,1),
bar(t,y),
title("Импульс");
xlabel("Время");
ylabel("Амплитуда");
r1=R1(1:N/2+1);
r2=R1(N/2+1:N);
R1=[r2,r1];
subplot(2,1,2),
plot(nu(1:N),abs(R1(1:N))),
title("Амплитудный спектр");
xlabel("Частота");
ylabel("Амплитуда");
end
Р
ис.
15. Амплитудные
спектры различных по ширине импульсов
5. Построим спектр периодического прямоугольного сигнала со скважностью 2 (меандр) и количеством периодов, кратным двум (рис. 16). На рисунке 17 представлены его спектры.
N=2^7;
t = linspace(0,1,N);
imp = 0.5*square(2*pi*10*t)+0.5;
plot(t,imp);
grid on;
title("Прямоугольный сигнал");
xlabel("Частота");
ylabel("Амплитуда");
figure;
R1=fft(imp);
R2=phase(R1);
F1 = R2(1:N/2);
F2 = R2(N/2+1:N);
R2 = [-F1, F2];
subplot(2,1,1),area(t,abs(R1));
title("Амплитудный спектр прямоугольного сигнала");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
grid on;
subplot(2,1,2),plot(t,R2);
title("Фазовый спектр прямоугольного сигнала");
xlabel("Частота");
ylabel("Фаза");
Рис. 16. Прямоугольный сигнал
Рис. 17. Амплитудный и фазовый спектры прямоугольного сигнала
6. Покажем базисные функции преобразования Фурье, Уолша и Хаара (рис. 18, рис. 19). Базис Уолша сформируем с помощью матрицы [1 1; 1 -1] и кронекеровского перемножения этой матрицы саму на себя.
imp = 0.5*square(2*pi*10*t)+0.5;
W_1 = [1, 1; 1, -1];
W = W_1;
for i = (1:5)
W = kron(W_1, W);
end
figure
subplot(2, 1, 1)
bar(t, imp)
grid on
title('Прямоугольный сигнал');
signal_W = fwht(imp);
subplot(2, 1, 2)
bar(signal_W, 'black')
grid on
title('Сигнал преобразованный по Уолшу');
[cA, cD] = dwt(imp, 'haar');
figure()
subplot(2, 1, 1);
plot(cA);
xlim([0 64]);
title('Коэффициенты аппроксимации Хаара');
subplot(2, 1, 2);
plot(cD);
xlim([0 64]);
title('Коэффициенты детализации Хаара');
Рис. 18. Преобразование по Уолшу
Рис. 19. Преобразование по Хаару
7. Построим спектр с помощью преобразований из пункта 4 сигнала х1 из пункта 1, а затем сигнала из 5. Сравним их спектры (на рис. 20 и рис. 21).
N=2^7;
T=1;
fs=4096;
f1=100;
t = 0:1/fs:1-1/fs;
for i=(1:10)
figure()
T_h = i;
x1=cos(T_h*2*pi*f1*t);
F=fft(x1)/N;
subplot(2, 1, 1);
plot(t,x1);
xlim([0.1, 0.15])
title('Сигнал x1')
subplot(2, 1, 2)
f = linspace(0, fs, length(x1));
plot(f, abs(fft(x1)), 'red', 'LineWidth', 2)
title('Спектр')
end
dt=T/(N);
Nyq=N/(2*T);
df=1/T;
t = 0:2*pi/N:2*pi - 2*pi/N;
for i=(1:10)
figure()
T_h = i;
signal = 0.5*square(T_h*2*pi*t)+0.5;
F=fft(signal)/N;
subplot(2, 1, 1)
plot(t/pi,signal)
xlim([0, 1])
xlabel("Время")
ylabel("Амплитуда")
title("Прямоугольный сигнал")
F1=F(1:N/2+1);
F2=F(N/2+1:N);
F=[F2,F1];
nu=-Nyq+df*(0:N);
subplot(2, 1, 2)
bar(nu(1:N),abs(F(1:N)), 'red')
title('Спектр')
end
Р
ис.
20. Амплитудные
спектры сигнала x1
различной ширины
Рис. 21. Амплитудные прямоугольного
сигнала различной ширины
8. Определим форму и ширину частотной характеристики двух соседних каналов анализатора Фурье (рис. 22). Построим спектр, используя окно Хеннинга (рис. 23).
fs = 1024;
t=0:1/fs:1-1/fs;
for i = 1:100
signal = cos(2*pi*(10+i/10)*t);
sigHann = signal.*hann(1024)';
[ch1(i),ch2(i),ch3(i)]=freqchr(signal);
[chHann1(i),chHann2(i),chHann3(i)]=freqchr(sigHann);
end
figure
hold on
plot(ch1,'k')
plot(ch2,'r')
title('Частотная характеристика 2-х соседних каналов');
xlabel("Частота");
ylabel("Амплитуда");
grid on;
hold off
figure
plot(chHann1,'k')
hold on
plot(chHann2,'r')
grid on;
title('Частотная характеристика 2-х соседних каналов (окно Ханнинга)')
xlabel("Частота");
ylabel("Амплитуда");
function [chan14, chan15, chan16] = freqchr(signal)
f=abs(fft(signal));
chan14=f(14)/512;
chan15=f(15)/512;
chan16=f(16)/512;
end
Рис. 22. Частотная характеристика двух соседних каналов
Рис. 23. Частотная характеристика двух соседних каналов (окно Хеннинга)
9. Построим частотную характеристику 3-х соседних каналов ДПФ (рис. 24).
Рис. 24. Частотная характеристика трёх соседних каналов
10. Построим частотные характеристики 3-х соседних каналов ДПФ как в пункте 8 с использованием 3-х различных оконных функций (рис. 25).
figure
subplot(3,1,1)
hold on
plot(chHann1,'--k')
plot(chHann2,':r')
plot(chHann3)
title('Частотная характеристика 3-х соседних каналов (окно Хеннинга)');
xlabel("Частота");
ylabel("Амплитуда");
grid on;
hold off
subplot(3,1,2)
hold on
plot(chHamming1,'--k')
plot(chHamming2,':r')
plot(chHamming3)
title('Частотная характеристика 3-х соседних каналов (окно Хэмминга)');
xlabel("Частота");
ylabel("Амплитуда");
grid on;
hold off
subplot(3,1,3)
hold on
plot(chBlack1,'--k')
plot(chBlack2,':r')
plot(chBlack3)
title('Частотная характеристика 3-х соседних каналов (окно Блэкмена)');
xlabel("Частота");
ylabel("Амплитуда");
grid on;
hold
off
Рис. 25. Частотная характеристика трёх соседних каналов с различными окнами
Вывод
В ходе данной лабораторной работы было произведено преобразование сигнала из временной области в частотную, построены спектры суммы и произведения сигналов. Также были изучены свойства дельта-импульса и спектральное представление периодических процессов.