Скачиваний:
57
Добавлен:
25.12.2019
Размер:
2.59 Кб
Скачать
%Тестовый сигнал
clc;
clear all;
close all;

X0=50;
Y0=80;
W0=1200;
H0=610;
figure('Position',[X0,Y0,W0,H0])
x1=50;
y1=430;
dx=30;
dy=30;
w1=270;
w2=40;
h1=150;
h2=15;
hAxes1=axes('Units','pixels','Position',[x1,y1,2*w1,h1]);
hAxes4=axes('Units','pixels','Position',[x1,y1-h1-dy,2*w1,h1]);
hAxes7=axes('Units','pixels','Position',[x1,y1-2*h1-2*dy,2*w1,h1]);
hAxes2=axes('Units','pixels','Position',[x1+2*w1+dx,y1,w1,h1]);
hAxes5=axes('Units','pixels','Position',[x1+2*w1+dx,y1-h1-dy,w1,h1]);
hAxes8=axes('Units','pixels','Position',[x1+2*w1+dx,y1-2*h1-2*dy,w1,h1]);
hAxes3=axes('Units','pixels','Position',[x1+3*w1+2*dx,y1,w1,h1]);
hAxes6=axes('Units','pixels','Position',[x1+3*w1+2*dx,y1-h1-dy,w1,h1]);
hAxes9=axes('Units','pixels','Position',[x1+3*w1+2*dx,y1-2*h1-2*dy,w1,h1]);;


Fs=100;
tmax=0.8;
A1=2.5;
F1=5.5;
A2=1.2;
F2=20;
C=0.45;

T=1/Fs;
t=0:T:tmax-T;
S=C+A1*sin(2*pi*F1*t)+A2*sin(2*pi*F2*t);
Asum=A1+A2;

ft=fft(S);
N=tmax*Fs;
for j=1:N
if (j==1)
as(j)=sqrt(real(ft(j))^2+imag(ft(j))^2)/N;
else
as(j)=sqrt(real(ft(j))^2+imag(ft(j))^2)/N*2;
end;
end;
df=Fs/N;
for j=1:(N/2)
f(j)=df*(j-1);
end;

for j=1:N
if (j==1)
psd(j)=1/N*(real(ft(j))^2+imag(ft(j))^2)/Fs;
else
psd(j)=2/N*(real(ft(j))^2+imag(ft(j))^2)/Fs;
end;
end;

m=mean(S);
S0=S-m;

ft0=fft(S0);
for j=1:N
if (j==1)
as0(j)=sqrt(real(ft0(j))^2+imag(ft0(j))^2)/N;
else
as0(j)=sqrt(real(ft0(j))^2+imag(ft0(j))^2)/N*2;
end;
end;

for j=1:N
if (j==1)
psd0(j)=1/N*(real(ft0(j))^2+imag(ft0(j))^2)/Fs;
else
psd0(j)=2/N*(real(ft0(j))^2+imag(ft0(j))^2)/Fs;
end;
end;

w=hamming(N);
for j=1:N
Sw(j)=S0(j)*w(j);
end;

ftw=fft(Sw);
for j=1:N
if (j==1)
asw(j)=sqrt(real(ftw(j))^2+imag(ftw(j))^2)/N;
else
asw(j)=sqrt(real(ftw(j))^2+imag(ftw(j))^2)/N*2;
end;
end;

for j=1:N
if (j==1)
psdw(j)=1/N*(real(ftw(j))^2+imag(ftw(j))^2)/Fs;
else
psdw(j)=2/N*(real(ftw(j))^2+imag(ftw(j))^2)/Fs;
end;
end;

axes(hAxes1)
plot(t,S)
grid on
set(hAxes1,'Ylim',[C-Asum C+Asum])
axes(hAxes2)
stem(f,as(1:N/2),'.')
axes(hAxes3)
plot(f,psd(1:(N/2)))
axes(hAxes4)
plot(t,S0)
grid on
set(hAxes4,'Ylim',[-Asum Asum])
axes(hAxes5)
stem(f,as0(1:N/2),'.')
axes(hAxes6)
plot(f,psd0(1:(N/2)))
axes(hAxes7)
plot(t,Sw)
hold on
plot(t,w)
grid on
set(hAxes1,'Ylim',[-Asum Asum])
axes(hAxes8)
stem(f,asw(1:N/2),'.')
axes(hAxes9)
plot(f,psdw(1:(N/2)))
Соседние файлы в папке Лаба 4