Signalanalyse und Filterdesign eines Sensors

% Originalsignal
% Signaldauer: T=10ms, f=100Hz
% Störsignaldauer: Tn=0,25ms, fn=4KHz
%
% Grenzfrequenz Fc=8K
% Auflösung: Fd=1Hz
%------- ------------------------------
% Abtastzeit: Ts=1/Fd=1s
% Abtastintervall: delta=1/( 2*Fc)=6,25e-5(s)
% Stichprobennummer: N=2*Fc/Fd=16K
alle schließen;
alle löschen;
clc;
delta=6,25e-5;
N=16000;
t=0:(delta ):(1-(delta));
%Ursprüngliche Signalerzeugung
für Ti=0:1:99
    für i=0:1:8
        xIn(Ti*160+i+1)=3;
    Ende
    für i=9:1 :17
        xIn(Ti*160+i+1)=0,
    Ende
    für i=18:1:79
        xIn(Ti*160+i+1)=1;
    end
    for i=80:1:159
        xIn(Ti*160+i+1)=0;
    end
end
figure;
plot(t(1:160),xIn(1:160),'b');
% Originalsignal Spektrumanalyse
XIn=fft(xIn);
AmpIn = abs(XIn);
AmpIn = AmpIn*2/N;
AmpIn(1)=AmpIn(1)/2;
PhaseIn = Winkel(XIn);
Abbildung;
Subplot(2,1 ,1);
plot(AmpIn(1:(N/2)));
subplot(2,1,2);
plot(PhaseIn(1:(N/2)));
%------- - -------------------Filterdesign -------------------------- -- ------
R=3600;
C=2.2e-7;
Tc=R*C;% Grenzfrequenz
filterInput = tf(1,[Tc,1]);% Filterübertragungsfunktion
[SigMid,Tr] = lsim(filterInput,xIn,t);% Passfilter
%
Rmid=2000;
Cmid=2.2e-7;
filterMid= tf(1,[Rmid*Cmid,1]);
[SigOut,Tr ] = lsim(filterMid,SigMid,t);% Durchgangsfilterzahl
;
plot(Tr(1:320),SigOut(1:320));
title('filter output');
% Ausgangssignalanalyse
XOut=fft (SigOut) ;
AmpOut=abs(XOut)*2/N;
AmpOut(1)=AmpOut(1)/2;
PhaseOut = angle(XOut);
figure;
subplot(2,1,1);
plot(AmpOut(1 :(N /2)));
subplot(2,1,2);
plot(PhaseOut(1:(N/2)));

Guess you like

Origin blog.csdn.net/Zhangchen9091/article/details/43494857