Advertisement
Guest User

123

a guest
Dec 17th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. %% —---------------------— забивка значений это по варикам
  2. Nbr = 3;
  3. Fs = 5000 + 100*Nbr;
  4. T = 1/Fs;
  5. ft = Fs/10 + 20*Nbr;
  6. fk = Fs/10 + 250 + 25*Nbr;
  7. rp = 0.4455;
  8. rs = 40;
  9. U1 = -6.3337;
  10. U2 = 31.6695;
  11. U3 = -7.5362;
  12. U4 = -15.6768;
  13. T1 = 4.5241;
  14. T2 = 12.7576;
  15. N = 44; % кол-во отсчётов
  16. %% —----------------------— генерация сигнала стандартной формы
  17. x1 = 0:T2/42:T1;
  18. x2 = T1:T2/42:T2;
  19. X = [x1,T1,x2];
  20. Y(1:44)= 0;
  21. for i=1:length(X)
  22. if X(i) < T1
  23. Y(i) = (U2-U1)/T1*X(i)+U1;
  24. end
  25. if X(i) == T1
  26. Y(i) = U2;
  27. if X(i-1) == T1
  28. Y(i) = U3;
  29. end
  30. end
  31. if X(i) > T1
  32. Y(i) = (U3-(U4-U3*T2)/(T1-T2))/T1*X(i)+((U4-U3*T2)/(T1-T2));
  33. end
  34. end
  35. % plot(X,Y);
  36. k = 0:(N-1);
  37. %% ДПФ, X - шум/сигнал/смесь, k = размер N-1
  38. MOD_K = abs(fft(X));
  39. ARG_K = angle(fft(X));
  40. subplot(2,2,1);
  41. stem(k,MOD_K,'MarkerSize',3,'Linewidth',2), grid, title('График амплитудного спектра'),xlabel('k')
  42. subplot(2,2,2);
  43. stem(k.*T,MOD_K,'MarkerSize',3,'Linewidth',2), grid, title('График амплитудного спектра'),xlabel('kT')
  44.  
  45. subplot(2,2,3);
  46. stem(k,ARG_K,'MarkerSize',3,'Linewidth',2), grid, title('График фазового спектра'),xlabel('k')
  47. subplot(2,2,4);
  48. stem(k.*T,ARG_K,'MarkerSize',3,'Linewidth',2), grid, title('График фазового спектра'),xlabel('kT')
  49. %% —----------------------—
  50. r_norm = randn(1,N); %Генерация шума
  51. plot(X,r_norm);grid;
  52. % ДПФ
  53. %% ------------------- Создание фильтра
  54. Wp = ft/(Fs/2);
  55. Ws = fk/(Fs/2);
  56. [R,Wn]=butterord(Wp,Ws,rp,rs); %% ВОВА ХУЙ СОСАЛ
  57. [bs,as]=butter(R,rp,Wn);
  58. [R,Wn]=cheb1ord(Wp,Ws,rp,rs);
  59. [bs,as]=cheby1(R,rp,Wn);
  60. B = filter(bs, as, r_norm);
  61. plot(X,B);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement