Лабы / Лаб 3 Фурри анализ
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
Факультет Радиотехнологий связи
Учебная дисциплина «Прикладные методы оптимизации в радиотехнических системах»
ОТЧЁТ
Тема: «ФУРЬЕ-АНАЛИЗ СИГНАЛОВ»
Выполнили:
Приняла:
Санкт-Петербург 2023
Цель работы: изучить основы Фурье-анализа сигналов, освоить методику разложения сигнала в ряд Фурье и проведения их спектрального анализа при помощи компьютерного моделирования в среде Matlab.
Задание 1.
1)
function z=FF(t,T)
N=length(t);
for i=1:N
if t(i)<0; z(i)=0; end;
if (t(i)>=0)&(t(i)<=T/2); z(i)=-1/2; end;
if (t(i)>T/2)&(t(i)<=T); z(i)=1/2; end;
if t(i)>T; z(i)=0; end;
end;
function z=AF(k,T)
dt=T/1000;
t=0:dt:T;
F=FF(t,T).*cos(2*pi*k/T*t);
z=2/T*trapz(t,F);
function z=BF(k,T)
dt=T/1000;
t=0:dt:T;
F=FF(t,T).*sin(2*pi*k/T*t);
z=2/T*trapz(t,F)
СКРИПТ
clear;clc;
Nf=25;
k=1:Nf;
T=1;
A0=AF(0,1);
for k=1:Nf
A(k)=AF(k,T);
B(k)=BF(k,T);
end;
Np=512;
t=0:T/Np:1;
for i=1:Np+1
S=A0/2;
for k=1:Nf
S=S+A(k)*cos(2*pi*k/T*t(i))+B(k)*sin(2*pi*k/T*t(i));
end;
s(i)=S;
end;
plot(t,s); hold on
plot(t,FF(t,T),'k--')
xlabel('t'); ylabel('s')
Рис.1. Разложение прямоугольного импульса в ряд Фурье
при использовании 25 гармоник.
2)
clear;
clc;
t = 0:0.001:0.6;
x = sin(2*pi*50*t)+sin(2*pi*120*t);
s = x + 2*randn(size(t));
subplot(211);
plot(1000*t(1:500),s(1:500))
xlabel('t');
ylabel('s')
title('Зашумленный сигнал')
Y = fft(s,512);
S = Y.* conj(Y) / 512;
f = 1000*(0:256)/512;
subplot(212);
plot(f, S(1:257))
xlabel('f');
ylabel('S')
title('Спектральная функция сигнала')
Рис. 2. Реализация зашумленного сигнала
и его спектральная функция
Задание 2.
1)
Изменяем только 1 функцию, остальное оставляем так же.
function z=FF(t,T)
N=length(t);
for i=1:N
if (t(i)==0);z(i)=0;end
if (t(i)>0)&(t(i)<=T/2); z(i)=1-(2/T)*t(i);end
if (t(i)==T/2); z(i)=1;end
if (t(i)>T/2)&(t(i)<=T); z(i)=2-(2/T)*t(i);end
end
Рис.3 Разложение пилообразного импульса в ряд Фурье
при использовании 25 гармоник.
2)
Изменяем только 1 функцию, остальное оставляем так же.
function z=FF(t,T)
N=length(t);
for i=1:N
if (t(i)>=0)&(t(i)<=T/8);z(i)=0;end
if (t(i)>=T/8)&(t(i)<=3*T/8);z(i)=4*t(i)-1/2;end
if (t(i)>=3*T/8)&(t(i)<=5*T/8);z(i)=1;end
if (t(i)>=5*T/8)&(t(i)<=7*T/8);z(i)=-4*t(i)+7/2;end
if (t(i)>=7*T/8)&(t(i)<=T);z(i)=0;end
end
Рис.4 Разложение трапециевидного импульса в ряд Фурье
при использовании 25 гармоник.
3)
Изменяем только 1 функцию, остальное оставляем так же.
function z=FF(t,T)
N=length(t);
for i=1:N
if (t(i)>=0)&(t(i)<=T/8); z(i)=0; end
if (t(i)>T/8)&(t(i)<=2*T/8); z(i)=1; end
if (t(i)>2*T/8)&(t(i)<=3*T/8); z(i)=0; end
if (t(i)>3*T/8)&(t(i)<=4*T/8); z(i)=1; end
if (t(i)>4*T/8)&(t(i)<=5*T/8); z(i)=0; end
if (t(i)>5*T/8)&(t(i)<=6*T/8); z(i)=1; end
if (t(i)>6*T/8)&(t(i)<=7*T/8); z(i)=0; end
if (t(i)>7*T/8)&(t(i)<=8*T/8); z(i)=1; end
end
Рис.5 Разложение произвольного количества прямоугольных импульсов в ряд Фурье
при использовании 25 гармоник.
Задание 3
clear;
clc;
t = 0:0.001:0.6;
x = sin(7*pi*10*t);
s = x + 0*randn(size(t));
subplot(211);
% Визуализация первых 500 отсчетов сигнала s
plot(1000*t(1:500),x(1:500))
xlabel('t');
ylabel('s')
title('Синусоидальный сигнал')
Y = fft(s,512);
S = Y.* conj(Y) / 512;
f = 1000*(0:256)/512;
subplot(212);
plot(f, S(1:257))
xlabel('f');
ylabel('S')
title('Спектральная функция сигнала')
Рис. 6. Реализация синусоидального сигнала
и его спектральная функция
2)
clear;
clc;
t = 0:0.001:0.6;
x = sin(7*pi*10*t);
s = x + 2*randn(size(t));
subplot(211);
% Визуализация первых 500 отсчетов сигнала s
plot(1000*t(1:500),s(1:500))
xlabel('t');
ylabel('s')
title('Синусоидальный сигнал')
Y = fft(s,512);
S = Y.* conj(Y) / 512;
f = 1000*(0:256)/512;
subplot(212);
plot(f, S(1:257))
xlabel('f');
ylabel('S')
title('Спектральная функция сигнала')
Рис 7. Реализация зашумленного синусоидального сигнала
и его спектральная функция
3)
clear;
clc;
t = 0:0.001:0.6;
x = sawtooth(t,0.5);
s = x + 4*randn(size(t));
subplot(211);
% Визуализация первых 500 отсчетов сигнала s
plot(1000*t(1:500),s(1:500))
xlabel('t');
ylabel('s')
title('Пилообразный, зашумленный сигнал')
Y = fft(s,512);
S = Y.* conj(Y) / 512;
f = 1000*(0:256)/512;
subplot(212);
plot(f, S(1:257))
xlabel('f');
ylabel('S')
title('Спектральная функция сигнала')
Рис 8. Реализация зашумленного пилообразного сигнала
и его спектральная функция
Вывод: В ходе лабораторной работы был изучен метод Фурье-анализа в среде MATLAB, а также построение спектрального анализа сигнала там же.