Personal tools
  •  

Hilbert Transformer

Document Actions
  • Bookmarks
  • CourseFeed

Click here to get the file

Size 1.0 kB - File type text/plain

File contents

             N = 2^14;
f = [0:N-1]/N - 0.5;

L = 39;
b = remez(L-1,[0.1 0.9],[1 1],'Hilbert');
c = zeros(N,1);
c(1:L-((L+1)/2)+1) = b((L+1)/2:L);
c(N-(L-1)/2 + 1:N) = b(1:(L-1)/2);
B = fftshift(fft(c,N));

beta = 2.629;
D=(L-1)/2;
h = (2/pi)*kaiser(L,beta).'.*sin(pi*[-D:D]/2).^2./[-D:-1,1,1:D];
c = zeros(N,1);
c(1:L-((L+1)/2)+1) = h((L+1)/2:L);
c(N-(L-1)/2 + 1:N) = h(1:(L-1)/2);
H = fftshift(fft(c,N));

subplot(311);
plot([0:L-1],[b.',h.']);
xlabel('Sample Index','FontSize',16);
ylabel('Amplitude','FontSize',16);
set(gca,'FontSize',16);
title('Hilbert Transformer Impulse Response','FontSize',16);
legend('Parks-McClellan','Kaiser Window',-1);
grid on;

subplot(312);
plot(f,abs([B,H]));
ylabel('Magnitude (linear)','FontSize',16);
xlabel('Frequency [Cycles/Sample]','FontSize',16);
legend('Parks-McClellan','Kaiser Window',-1);
set(gca,'FontSize',16);
grid on;

subplot(313);
plot(f,180*unwrap(angle([B,H])));
ylabel('Phase (degrees)','FontSize',16);
xlabel('Frequency [Cycles/Sample]','FontSize',16);
legend('Parks-McClellan','Kaiser Window',-1);
set(gca,'FontSize',16);
grid on;
            
Copyright 2008, by the Contributing Authors. Cite/attribute Resource . admin. (2006, June 28). Hilbert Transformer. Retrieved January 07, 2011, from Free Online Course Materials — USU OpenCourseWare Web site: http://ocw.usu.edu/Electrical_and_Computer_Engineering/Communication_Systems_I/hilberttrans.m-view.html. This work is licensed under a Creative Commons License Creative Commons License