Приложение 2. Программа восстановления зависимости .

 

 

 %   Modeling of the reconstruction of sigma

 

clear all

 

%   Signal

t0=1;

omtr=2*pi/t0;

dlitimp=10*t0;

dlit=100*t0;

ts=t0/150;

t=0:ts:dlit;

%y=gauspuls(t-2,1,1);

y=1.*rectpuls(t-dlitimp/2-t0/2,dlitimp).*sin(omtr.*(t-t0/2-dlitimp/2));

%figure

subplot(2,1,1);

plot(t,y)

zoom xon

yfft=abs(fft(y));

yfft1=yfft/max(yfft);

df=1/dlit;

fmax=1/ts;

f=0:df:30/t0;

flenpl=length(f);

fmaxpl=max(f);

%figure

subplot(2,1,2);

plot(f,yfft1(1:flenpl))

zoom xon

 

%   Modelling of sigma(omega)

 

figure

%freqz(bs,as)

fchar=1/t0;

fcharmin=2.5*fchar;

fcharpl=2.6*fchar;

%alpfa=2*ts*fchar;

ffilin=[0 2*ts*fcharmin 2*ts*fcharmin 2*ts*fcharpl 2*ts*fcharpl 1];

m=[1 1 3.0 3.0 1 1];

%m=[1 1 1 1 1 1];

b=fir2(550,ffilin,m);

[h,freal]=freqz(b,1,512,fmax);

%freal=w./2./ts./pi;

%plot(freal, abs(h))

plot(freal, abs(h).*abs(h))

zoom xon

grid on

 

figure

%freqz(b,1)

sout=filter(b,1,y);

%sout=filtfilt(b,1,y);

plot(t,sout)

zoom xon

 

%   Addition of noise

sout1=sout+0.03*randn(1,length(t));

figure

subplot(3,1,1);

plot(t,sout1)

zoom xon

xlabel('t, отн. ед');

ylabel('Отраженный сигнал');

title('а')

 

%figure

soutfft=abs(fft(sout1));

soutfft1=soutfft/max(soutfft);

 

%plot(f,yfft1(1:flenpl))

%zoom xon

%grid on

%xlabel('Частота, отн.ед.');

%ylabel('Спектр сигнала передатчика');

%title('а')

 

subplot(3,1,2);

%plot(freal, abs(h).*abs(h))

%zoom xon

%grid on

%xlabel('Частота, отн.ед.');

%ylabel('\sigma (f)');

%title('б')

 

subplot(3,1,2);

plot(f,soutfft1(1:flenpl))

zoom xon

grid on

xlabel('Частота, отн.ед.');

ylabel('Спектр отраженного сигнала');

title('б')

 

%   Signal-to-noise ratio

sout1fft=abs(fft(sout));

mu=0;

mu1=0;

for ks=1:flenpl;

    if f(ks)>1/t0-1/dlitimp & f(ks)<1/t0+1/dlitimp

        mu=mu+soutfft(ks).*soutfft(ks);

    end

    if f(ks)>1/t0+1/dlitimp & f(ks)<1/t0+2/dlitimp

        mu1=mu1+soutfft(ks).*soutfft(ks);

    end

end

 

%   Direct reconstruction of sigma

sigrec=soutfft./yfft;

%figure

subplot(3,1,3);

%plot(f(2:end),sigrec(2:flenpl))

plot(f(2:end),sigrec(2:flenpl).*sigrec(2:flenpl))

sigrec2=sigrec.*sigrec;

zoom xon

grid on

xlabel('Частота, отн.ед.');

ylabel('\sigma (f)');

title('в')

hold on

plot(freal, abs(h).*abs(h),'r')

 

 

%   Histogramm

m=[2 4 7 10];

figure

 

for km=1:4

%m=10;

%deltaf=2/t0/m(km);

deltaf=2/dlitimp/m(km);

shirina=deltaf/df;

for k=1:fmaxpl/deltaf;

sumyfft(k)=sum(yfft((k-1)*shirina+1:k*shirina));

sumsoutfft(k)=sum(soutfft((k-1)*shirina+1:k*shirina));

sumsigrec2(k)=sum(sigrec2((k-1)*shirina+1:k*shirina));

fhis(k)=deltaf/2+(k-1)*deltaf;

end

 

flen=length(fhis);

%figure

%sumyfft1=sumyfft/max(sumyfft);

%plot(fhis(1:flen),sumyfft1(1:flen))

%zoom xon

 

 

%figure

%sumsoutfft1=sumsoutfft/max(sumsoutfft);

%plot(fhis(1:flen),sumsoutfft1(1:flen))

%zoom xon

 

 

sigrechis=sumsoutfft./sumyfft;

%plot(fhis(1:flen),sigrechis(1:flen))

subplot(5,1,km)

plot(freal, abs(h).*abs(h),'r',...

     fhis(2:flen), sigrechis(2:flen).*sigrechis(2:flen)) %,...

%     fhis(2:flen), sumsigrec2(2:flen))

zoom xon

grid on

ylabel('\sigma (f)');

 

end

xlabel('Частота, отн.ед.');

subplot(5,1,1);

title('а');

subplot(5,1,2);

title('б');

subplot(5,1,3);

title('в');

subplot(5,1,4);

title('г');

%subplot(5,1,5);

%title('д');

 

%ylabel('\sigma (f)');

 

 

Предыдущий раздел        Содержание      Следующий раздел