- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Приложение
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
- •Xlabel("Частота");
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
Рисунок 16 – Частотная характеристика 2-х соседних каналов
Рисунок 17– Частотная характеристика 2-х соседних каналов с окном Хеннинга
Построим частотную характеристику 3-х соседних каналов ДПФ (рис. 18).
fs = 1024;
t=0:1/fs:1-1/fs;
for i = 1:1000
signal = cos(2*pi*(10+i/100)*t);
sigHann = signal.*hann(1024)';
sigBlackman = signal.*blackman(1024)';
sigHamming = signal.*hamming(1024)';
[ch1(i),ch2(i),ch3(i)]=freqchr(signal);
[chHann1(i),chHann2(i),chHann3(i)]=freqchr(sigHann);
[chBlack1(i),chBlack2(i),chBlack3(i)]=freqchr(sigBlackman);
[chHamming1(i),chHamming2(i),chHamming3(i)]=freqchr(sigHamming);
end
figure
plot(ch1,'k')
hold on
plot(ch2,'r')
plot(ch3)
grid on;
title('Частотная характеристика 3-х соседних каналов');
Xlabel("Частота");
ylabel("Амплитуда");
Рисунок 18 – частотная характеристика 3-х соседних каналов
Построим частотные характеристики 3-х соседних каналов ДПФ как в пункте 8 с использованием 3-х различных оконных функций (рис. 19).
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
Рисунок 19 – 3 канала с различными окнами
Вывод
В ходе данной лабораторной работы было произведено преобразование сигнала из временной области в частотную, построены спектры суммы и произведения сигналов. Также были изучены свойства дельта-импульса и спектральное представление периодических процессов.
Приложение
clc;
clear;
close all;
% % % Задание 1
fs = 200;
dt = 1/fs;
t = 0:dt:1;
f1=20;
f2=3;
x1=cos(2*pi*f1*t);
x2=4*cos(2*pi*f2*t);
plot(t,x1,t,x2,'LineWidth',2); grid on;
title("Сигналы");
xlabel("Частота");
ylabel("Амплитуда");
legend('x1','x2');
R=abs(fft(x1));
figure;
area(t,R), grid;
title("Амплитудный спектр первого сигнала x1");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
R=abs(fft(x2));
figure;
area(t,R), grid;
title("Амплитудный спектр второго сигнала x2");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
% % Задание 2
x3=x1+x2;
x4=x1.*x2;
R=abs(fft(x3));
figure;
area(t,R), grid;
title("Амплитудный спектр третьего сигнала x3");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
R=abs(fft(x4));
figure;
area(t,R), grid;
title("Амплитудный спектр четвертого сигнала x4");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
% % Задание 3
N=2^7;
t = -1:1/N:1;
y = dirac(t);
idx = y == Inf; % find Inf
y(idx) = 1; % set Inf to finite value
plot(y);
title("Функция Дирака");
xlabel("Частота");
ylabel("Амплитуда");
grid on
figure;
R1=abs(fft(y));
R2=phase(y);
subplot(2,1,1),stem(t,R1);
title("Амплитудный спектр функции Дирака");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
subplot(2,1,2),plot(t,R2);
title("Фазовый спектр функции Дирака");
xlabel("Частота");
ylabel("Фаза");
grid on
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
% % % Задание 4
N=2^7;
t = -1:1/N:1;
y = dirac(t);
idx = y == Inf; % find Inf
y(idx) = 1; % set Inf to finite value
T = 1;
tau = dirac(0); % положение максимума импульса
M = 100; % количество рассматриваемых гармоник
k = 1:M; % номера гармоник
w = 2*pi*k/T; % частоты гармоник
% нулевая гармоника (среднее значение сигнала за период)
c1(1) = tau/T;
c1(2:1+M) = 1/T;
f1(1) = 0;
f1(2:1+M) = w/2/pi; % частоты
figure;
stem(f1,abs(c1),'k.')
axis([0 10 0 1]);
title("Амплитудный спектр функции Дирака");
xlabel("Частота");
ylabel("Модуль Фурье-образа сигнала");
figure;
for i=1:2:7
y(1,129+i)=1;
R1=abs(fft(y));
R2=phase(y);
subplot(4,2,i),area(t,R1), title("Амплитудный спектр");
xlabel("Частота");
ylabel("Амплитуда");
subplot(4,2,i+1),plot(t,R2), title("Фазовый спектр");
xlabel("Частота");
ylabel("Фаза");
end
% % % Задание 5
N=100;
t = 0:1/N:1;
w = 0.04;
j=0;
imp=0;
for i = 1:10
imp =imp+rectpuls(t-j,w);
j=j+0.08;
end
plot(t,imp);
grid on;
title("Прямоугольный сигнал");
xlabel("Частота");
ylabel("Амплитуда");
% % % %
T = 10;
tau = 1; % положение максимума импульса
M = 100; % количество рассматриваемых гармоник
k = 1:M; % номера гармоник
w = 2*pi*k/T; % частоты гармоник
% нулевая гармоника (среднее значение сигнала за период)
c1=zeros(1,101);
c1(1) = tau/2;
for k=1:2:M
c1(k+1) = 2*tau/(k*pi);
end
f1(1) = 0;
f1(2:1+M) =w*pi/2; % частоты
figure
stem(f1,abs(c1),'k.')
title("Амплитудный спектр прямоугольного сигнала");
