Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %ZADANIE-1
- clear;
- N=3100; A=2 ; fx=31 ; fp=3100 ; %Parametry sygnału
- dt=1/fp; %Okres próbkowania
- t=dt*(0:N-1); %Wektor chwil próbkowania
- x=A*sin(2*pi*fx*t); %Sygnał
- plot(t,x,'m'); grid; title('Sygnał x(t)'); xlabel('czas [s]'); pause
- % Oblicz wartości parametrów sygnału
- x_sred1=mean(x), x_sred2=sum(x)/N %wartość średnia
- x_max=max(x) %wartość max
- x_min=min(x) %wartość min
- x_std1=std(x), x_std2=sqrt(sum((x-mean(x)).^2)/(N-1)) %odchylenie standardowe
- x_e=dt*sum(x.^2) %energia
- x_moc=(1/N)*sum(x.^2) %moc średnia
- x_sku=sqrt(x_moc) %wartość skuteczna
- % Oblicz i narysuj funkcję autokorelacji R1, R2, R3 sygnału x(n)
- R1=xcorr(x); %nieunormowana
- R2=xcorr(x,'biased'); %unormowaną przez długość /N
- R3=xcorr(x,'unbiased'); %unormowaną przez /(N-abs(k))
- tR=[-fliplr(t) t(2:N)]; plot(tR,R1); grid; title('Autokorelacja'); pause
- %Teraz R3
- %for k=0:N
- % R(k+1)=sum( x(1:N-k).*x(1+k:N))/(N-k);
- %end
- %R=[fliplr(R) R(2:N-1)];
- %plot(tR,R);grid;pause
- % Narysuj część rzeczywistą, urojoną i moduł tych współczynników
- X=fft(x); %szybka dyskretna transformacja Fouriera
- df=1/(N*dt); %częstotliwość podstawowa f0=df=1/T=1/(N*dt)
- f=df*(0:N-1); %kolejne częstotliwości
- subplot(311);plot(f,real(X)); grid; title('Re'); xlabel('Hz'); pause
- subplot(312);plot(f,imag(X)); grid; title('Im'); xlabel('Hz'); pause
- subplot(313);plot(f,abs(X)); grid; title('abs'); xlabel('Hz'); pause
- clf;
- plot(f(1:N/2+1),abs(X(1:N/2+1))/(N/2)); grid; title('Po skalowaniu'); pause
- % Synteza sygnału na podstawie współczynników jego szeregu Fouriera i
- % porównanie z oryginałem
- xs=ifft(X);
- plot(t,real(x-xs)); grid; title('Różnica'); pause
- %Zadanie-2
- s1=rand(1,N); s2=randn(1,N);
- s= s2; %wybór szumu
- R=xcorr(s,'unbiased');
- plot(tR,R); grid; title('Autokorelacja szumu'); pause
- C=xcov(s);
- plot(tR,C); grid; title('Autokowariancja szumu'); pause
- Hs=hist(s,100); %podzielić oś [xmin,xmax] na 100 podprzedziałów
- plot(Hs); title('Histogram szumu'); pause
- S=fft(s);
- plot(f, abs(S)); grid; title('Widmo szumu'); xlabel('f [Hz]'); pause
- [Pss, fss]= psd(s,N/10,fp); %uśrednione widma odcinków sygnału o dł N/10
- plot(fss,Pss); grid; title('Widmo uśrednione'); xlabel('f [Hz]'); pause
- %Zadanie-3
- s = s2 + x;
- plot(t,s, 'm'); grid; title('Suma sygnalow 1 i 2'); pause
- R=xcorr(s, 'unbiased');
- plot(tR,R); grid; title('Autokorelacja sygnalow 1 i 2'); pause
- C=xcov(s);
- plot(tR,C); grid; title('Autokowariancja sygnalow 1 i 2'); pause
- Hs=hist(s,100);
- plot(Hs); title('Histogram sygnalow 1 i 2'); pause
- %Zadanie-4
- s=s2 + x + (2*x);
- plot(t,s, 'm'); grid; title('Suma sygnalow z dodatkowa sinusoida'); pause
- R=xcorr(s, 'unbiased');
- plot(tR,R); grid; title('Autokorelacja sygnalow z dodatkowa sinusoida'); pause
- C=xcov(s);
- plot(tR,C); grid; title('Autokowariancja sygnalow z dodatkowa sinusoida'); pause
- Hs=hist(s,100);
- plot(Hs); title('Histogram sygnalow z dodatkowa sinusoida'); pause
- %Zadanie-5
- ampl=hamming(N)'; %przykładowa funkcja modulująca amplitudę
- y1=ampl.*x;
- plot(t,y1); grid; title('Sygnał z modulacją amplitudy'); pause
- ampl=exp(-10*t); %eksponencjalna funkcja obwiedni amplitudy
- y2=ampl.*x;
- plot(t,y2); grid; title('Sygnał z modulacją amplitudy'); pause
- %Zadanie-6
- fx= 31; alfa=10 %wybierz, zaczynając od małych wartości; potem obserwuj
- y3=sin(2*pi*(fx*t+0.5*alfa*t.^2));
- plot(t,y3); grid; title('Sygnał z liniową modulacją częstotliwości'); pause
- fx= 31; fm= 10; df= 10; % częstotliwości - nośna, modulująca, głębokość modulacji
- y4=sin(2*pi*(fx*t+df*sin(2*pi*fm*t)/(2*pi*fm)));
- plot(t,y4); grid; title('Sygnał z sinusoidalną modulacją częstotliwości'); pause
- %Zadanie-7
- y5=[y1 y4];
- plot(y5); grid; title('sygnał sklejony'); pause
- %Zadanie-8
Add Comment
Please, Sign In to add comment