Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

third_lab

.m
Скачиваний:
0
Добавлен:
02.01.2025
Размер:
8 Кб
Скачать
% 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("Модуль Фурье-образа сигнала");
% 
% 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("Модуль Фурье-образа сигнала");

% 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
% 
% 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
% 
% 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

% 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); % positive frequencies
%     r2=R1(N/2+1:N); % negative frequencies
%     R1=[r2,r1]; 
% 
%     subplot(2,1,2),
%     plot(nu(1:N),abs(R1(1:N))),
%     title("Амплитудный спектр");
%     xlabel("Частота");
%     ylabel("Амплитуда");
% end

% 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("Фаза");

% 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('Коэффициенты детализации Хаара');

% 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

% 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("Амплитуда");

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("Амплитуда");
% 


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

function [chan14, chan15, chan16] = freqchr(signal)
    f=abs(fft(signal));
    chan14=f(14)/512;
    chan15=f(15)/512;
    chan16=f(16)/512;
end
Соседние файлы в предмете Математические основы теории систем