Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %% —---------------------— забивка значений это по варикам
- Nbr = 3;
- Fs = 5000 + 100*Nbr;
- T = 1/Fs;
- ft = Fs/10 + 20*Nbr;
- fk = Fs/10 + 250 + 25*Nbr;
- rp = 0.4455;
- rs = 40;
- U1 = -6.3337;
- U2 = 31.6695;
- U3 = -7.5362;
- U4 = -15.6768;
- T1 = 4.5241;
- T2 = 12.7576;
- N = 44; % кол-во отсчётов
- %% —----------------------— генерация сигнала стандартной формы
- x1 = 0:T2/42:T1;
- x2 = T1:T2/42:T2;
- X = [x1,T1,x2];
- Y(1:44)= 0;
- for i=1:length(X)
- if X(i) < T1
- Y(i) = (U2-U1)/T1*X(i)+U1;
- end
- if X(i) == T1
- Y(i) = U2;
- if X(i-1) == T1
- Y(i) = U3;
- end
- end
- if X(i) > T1
- Y(i) = (U3-(U4-U3*T2)/(T1-T2))/T1*X(i)+((U4-U3*T2)/(T1-T2));
- end
- end
- % plot(X,Y);
- k = 0:(N-1);
- %% ДПФ, X - шум/сигнал/смесь, k = размер N-1
- MOD_K = abs(fft(X));
- ARG_K = angle(fft(X));
- subplot(2,2,1);
- stem(k,MOD_K,'MarkerSize',3,'Linewidth',2), grid, title('График амплитудного спектра'),xlabel('k')
- subplot(2,2,2);
- stem(k.*T,MOD_K,'MarkerSize',3,'Linewidth',2), grid, title('График амплитудного спектра'),xlabel('kT')
- subplot(2,2,3);
- stem(k,ARG_K,'MarkerSize',3,'Linewidth',2), grid, title('График фазового спектра'),xlabel('k')
- subplot(2,2,4);
- stem(k.*T,ARG_K,'MarkerSize',3,'Linewidth',2), grid, title('График фазового спектра'),xlabel('kT')
- %% —----------------------—
- r_norm = randn(1,N); %Генерация шума
- plot(X,r_norm);grid;
- % ДПФ
- %% ------------------- Создание фильтра
- Wp = ft/(Fs/2);
- Ws = fk/(Fs/2);
- [R,Wn]=butterord(Wp,Ws,rp,rs); %% ВОВА ХУЙ СОСАЛ
- [bs,as]=butter(R,rp,Wn);
- [R,Wn]=cheb1ord(Wp,Ws,rp,rs);
- [bs,as]=cheby1(R,rp,Wn);
- B = filter(bs, as, r_norm);
- plot(X,B);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement