
Добавил:
Вуз:
Предмет:
Файл:
third_lab
.m % 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
% 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
Соседние файлы в предмете Математические основы теории систем