How to plot convolution between signal and Hilbert tranform operator
7 views (last 30 days)
Show older comments
Hi... I ask to reproduce the complex signal as a result from convolution between cosine wave and hilbert transform operator as a figure. I do the script as below, but then i confuse how to separate imaginary and real part signal. Can anyone help me?

t=0:0.01:1;
f=2;
omega=2*pi*f;
y=cos(omega*t);
%signal
h=1./(pi*t);
cs=conv(y,h);
% plot data
subplot (3,1,1)
plot (t,y)
subplot (3,1,2)
plot (t,h,'-r')
set(gca, 'XAxisLocation', 'origin', 'YAxisLocation', 'origin')
box off
subplot (3,1,3)
plot (t,cs)
0 Comments
Accepted Answer
Sufiyan
on 27 Apr 2023
Hi,
You can refer to the code below.
t = 0:0.01:1;
f = 2;
omega = 2*pi*f;
y = cos(omega*t);
h = [Inf, 1./(pi*t(2:end))];
cs = conv(y,h);
% Plot
subplot(3,1,1)
plot(t,y)
xlabel('Time')
ylabel('y(t)')
title('Input Signal')
subplot(3,1,2)
plot(t,h,'-r')
xlabel('Time')
ylabel('h(t)')
title('Impulse Response')
subplot(3,1,3)
t_cs = linspace(0,2,length(cs));
plot(t_cs,real(cs),'b')
hold on
plot(t_cs,imag(cs),'r')
xlabel('Time')
ylabel('cs(t)')
title('Real and Imaginary Parts')
legend('Real','Imaginary')
hold off
Hope this helps!
0 Comments
More Answers (0)
See Also
Categories
Find more on Transforms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!