[an error occurred while processing this directive]
|
clear;
f_src = fir1(128, 0.3, 'high');
F_SRC = fft(f_src);
A_SRC = abs(F_SRC);
R_start = ceil(length(A_SRC)/2) + 1;
L_start = floor(length(A_SRC)/2) + 1;
PH_SRC_new = imag(hilbert( log(A_SRC(1: ceil (length(A_SRC)/2) ) ) ));
PH_SRC_new(R_start:length(A_SRC)) = -PH_SRC_new(L_start:-1:2);
F_SRC_new = A_SRC.*exp(PH_SRC_new);
f_src_new = real(ifft(F_SRC_new));
f_src_new = ifftshift(f_src_new);
figure(10);
plot(f_src_new);
grid on;
hold on;
plot(f_src, 'g');
zoom on;
hold off;
figure(12);
plot(angle(fft(f_src)), 'g');
hold on;
grid on;
zoom on;
plot(angle(fft(f_src_new)), 'b');
hold off;