Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all;
- close all;
- %ładowanie sygnału
- load('s1.mat');
- load('s2.mat');
- %parametry sygna;lu
- fp=2000;
- N=length(s1);
- t=[0:1:N-1]/fp;
- figure(1)
- subplot(2,2,1);
- plot(t, s1);
- subplot(2,2,2);
- plot(t,s2);
- %całkowanie ilości binów do analizy
- Nf=N;
- %liczba binow nie zaleznych do obserwacji czykli od 0 do fp/2
- N21=Nf/2+1
- %generacja skali na osi f
- f=linspace(0,fp/2,N21);
- %widmo amplitudowe
- w1=abs(fft(s1,Nf));
- w2=abs(fft(s2,Nf));
- subplot(223)
- stem(f,w1(1:N21));
- xlabel('czestotliwosc [Hz]');
- ylabel('modół wimda')
- subplot(224)
- stem(f,w2(1:N21));
- xlabel('czestotliwosc [Hz]');
- ylabel('modół wimda')
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- function [Xk] = test_DFT(xn,Nf)
- %TEST_DFT Summary of this function goes here
- %WY: Xk-widmo zespolone o ilosci Nf binow
- % Detailed explanation goes here
- Wn=exp(-j*2*pi/Nf);%fazor podstawowy
- %inicjalizacja
- F= zeros(Nf,Nf);
- %macierze przekształcanie F- funckje bazowe
- for k=0 : Nf-1
- for n=0 : Nf-1
- F(k+1, n+1) = Wn^(k*n);
- end;
- end;
- Xk= xn*F;
- end
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %teraz tak k = 1 oznaczenie takie robim że wN=e^(-j2*pi/n) a zatem jak te n
- %się zmienają no teraz tak k=1 idziemy po N w wykładniku 1 -----1 W^1------
- %W^(n-1) można zobaczyć że fazor jest
- clear all;
- close all;
- N=1000;
- fp=1000;
- t=(0:N-1)/fp;
- x=sin(2*pi*100*t);
- figure(1)
- subplot(311)
- plot(t,x);
- xlabel('czas[s]')
- ylabel('x(t)')
- Nf=N;
- %liczba binow nie zaleznych do obserwacji czykli od 0 do fp/2
- N21=Nf/2+1
- %generacja skali na osi f
- f=linspace(0,fp/2,N21);
- w1=abs(fft(x,Nf));
- w2=abs(test_DFT(x,Nf));
- subplot(312)
- stem(f,w1(1:N21));
- subplot(313);
- stem(f,w2(1:N21));
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- close all;
- clear all;
- [x,fs]=audioread("mbi04czep.wav");
- N=length(x);
- t=[0:1:N-1]/fs;
- figure(1)
- subplot(221)
- plot(t,x)
- N21=N/2+1;
- f=linspace(0,fs/2,N21);
- w=abs(fft(x,N));
- subplot(222)
- plot(f,w(1:N21));
- dr=2;
- y=decimate(x,dr);
- Ny=length(y);
- fpy=fs/dr;
- ty= 0:1/fpy:(Ny-1)/fpy;
- subplot(223);
- plot(ty,y)
- fl=linspace(0,fpy/2,Ny/2+1);
- wy=abs(fft(y,Ny));
- subplot(224)
- plot(fl,wy(1:Ny/2+1));
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- clear all; close all;
- % ---------------- generowanie sinusa
- fpx = 10000;
- Nx = 10000;
- tx = 0:1/fpx:(Nx-1)/fpx;
- f0 = 1400;
- f1=2800;
- x = sin (2*pi*f0*tx)+sin(2*pi*f1*tx);
- subplot (221);
- plot (tx,x);
- xlabel ('czas[s]');
- ylabel ('sygnal przed decymacja');
- Nf = 2^11;
- N21 = Nf/2 + 1;
- wx = abs(fft(x,Nf));
- fx = linspace(0, fpx/2, N21);
- subplot (222);
- plot (fx, wx(1:N21));
- xlabel ('czest[Hz]');
- ylabel ('modul widma');
- % ------------------------------------------------------------------
- %% decymacja w petli
- % Tutaj nalezy dopisac kod
- % ------------------------------------------------------------------
- dr = 2; % 4, 5, 10
- fpy =fpx/dr;
- Ny = floor(Nx/dr)
- y=zeros(1,Ny);
- for i=1:Ny
- y(i) = x((i-1)*dr+1);
- end
- %%
- ty = 0:1/fpy:(Ny-1)/fpy;
- subplot (223);
- plot (ty,y);
- xlabel ('czas[s]');
- ylabel ('sygnal po decymacji');
- wy = abs(fft(y,Nf));
- fy = linspace(0, fpy/2, N21);
- subplot (224);
- plot (fy, wy(1:N21));
- xlabel ('czestotliwosc [Hz]');
- ylabel ('modul widma'); ylim([0 1000])
- set (gcf,'Position',[50 50 800 700]);
- %print -depsc ProbkAlias1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement