Advertisement
Guest User

Untitled

a guest
Oct 21st, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. clear;
  2. N = 4000; %ilosc problek
  3. Nf = 4096; %Powinnno byc wieksze od ilosci probek
  4. fs = 1000; % frequency sample
  5. t = 0: 1/fs : (N-1)/fs; % okres
  6. A1 = 6;
  7. A2 = 2;% Amplituda
  8. f1 =100;% 100 Hz = częstotliwość
  9. f2 = 400;
  10. e = randn([1,N]); %szum gaussa
  11.  
  12. x1 = A1 * sin(2*pi*f1*t);
  13. x2 = A2 * sin(2*pi*f2*t);
  14. x3 = x1+x2+e; % Dodanie sygnałów do siebie z zakłóceniem
  15. %fft - fast fourier transfrotm
  16.  
  17. w = abs(fft(x3,Nf)); %w = amplituda NF musi byc 2^x; Widmo amplitudowe !!WAZNE
  18. N21 = Nf/2 +1; %połowa próblek. +1 bo 0 określa stałą widma !!!WAZNE
  19. %f= linspace(0,fs,Nf); %Generuje wektor próbek
  20. f = linspace(0,fs/2,N21); %wektor połowy próbek !!WAZNE
  21. figure(1);
  22. plot(t,x3);
  23. figure(2);
  24. plot(f,w(1:N21)); %Wybieramy próbki od 1 do wartości N21
  25. xlabel('Czas');
  26. ylabel('x(t)');
  27. %chirp - Sygnal sinusoidalny o modulowanej czestotliwosci
  28. %arg wektor czasu, czestotliwosc, koniec okna czasowego, f2 dla konca okna czasowego
  29. figure(3);
  30. %sublot, a - obrazkow w wierszach, b - liczba kolumn, c - index obrazka do
  31. %ktorego sie odowlujemy
  32. subplot(3,2,1);
  33. plot(t,x3);
  34. ch = chirp(t,f1,(N-1)/fs,f2);
  35. w1 = abs(fft(ch,Nf));
  36. subplot(3,2,2)
  37. plot(f,w1(1:N21));
  38.  
  39. % FILTRACJA - DOlna przepustowość
  40. % Założenia: probka {xk, xk-1, xk-2,...}
  41. %Wzór [a0*xk,a1*xk-1,...] ten wektor = fir1;
  42. M=201; % rząd - dlugosc filtru
  43. %drug arg - czestotliwosc graniczna
  44. h = fir1(M-1,250/(fs/2));
  45. th = 0 : 1/fs:(M-1)/fs;
  46. subplot(3,2,3);
  47. plot(th,h); %h(f)
  48.  
  49. w2 = abs(fft(h,Nf));
  50. subplot(3,2,4);
  51. plot(f,w2(1:N21)); %widmo h(f)
  52.  
  53. s = filter(h,1,ch);
  54. subplot(3,2,5);
  55. plot(t,s); %s(t)
  56.  
  57. w3 = abs(fft(s,Nf));
  58. subplot(3,2,6);
  59. plot(f,w3(1:N21)); %widmo s(t)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement