Lab 0
Lab 0
Lab 0
Lab (0)
1)- Design matlab code calculates the energy and power of sinusoidal signal.
% Parameters
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
t = 0:T:1; % Time vector
f = 5; % Frequency of the sinusoid
A = 1; % Amplitude of the sinusoid
% Generate sinusoidal signal
x = A*sin(2*pi*f*t);
% Calculate energy
energy = sum(x.^2) * T;
% Calculate power
power = energy / length(x); %total energy /total time
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Parameters
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
t = 0:T:1; % Time vector
f = 5; % Frequency of the sinusoid
A = 1; % Amplitude of the sinusoid
% Define frequencies
f1 = 5; % Frequency of the first sinusoid
f2 = 10; % Frequency of the second sinusoid
% Check orthogonality
if abs(inner_product) < 1e-10 % Tolerance for numerical errors
disp('The signals are orthogonal.');
else
disp('The signals are not orthogonal.');
end
syms t;
s = -4:0.1:4;
x1 = 5.*cos(2*pi*10*t);
x2 = sin(2*pi*10*t);
y = x1.*x2;
orth = int(y, t, 0, 2);
disp ('the orthogonality is equal to ' )
disp(orth)
Help commands:
[sin, subplot, plot]
3- Ideal sampling
% Parameters
Fs = 1000; % Sampling frequency
t = 0:1/Fs:1; % Time vector
f = 5; % Signal frequency
A = 1; % Amplitude
% Continuous-time signal
x = A * sin(2 * pi * f * t);
% Ideal sampling
T_sample = 0.1; % Sampling period
t_sample = 0:T_sample:1; % Sampling instances
x_sampled = A * sin(2 * pi * f * t_sample);
% Plot
subplot(2,1,1);
plot(t, x);
title('Continuous-Time Signal');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(2,1,2);
stem(t_sample, x_sampled);
title('Ideal Sampled Signal');
xlabel('Time (s)');
ylabel('Amplitude');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a=4;
fm=2;
fs=100*fm;
t=0:1/fs:1;%for sampling
x=a*sin(2*pi*fm*t);%let us take one simple sin signla for
Pulse code modulation
subplot(5,1,1);
plot(t,x,'r');
xlabel('time');
ylabel('amplitude');
title('Original message signal');
subplot(5,1,2);
stem(t,x,'r');
xlabel('time');
ylabel('amplitude');
title('Sampled message signal');
4-sampling and quantization
a=4;
fm=2;
fs=100*fm;
t=0:1/fs:1;%for sampling
x=a*sin(2*pi*fm*t);%let us take one simple sin signla for
Pulse code modulation
subplot(5,1,1);
plot(t,x,'r');
xlabel('time');
ylabel('amplitude');
title('Original message signal');
subplot(5,1,2);
stem(t,x,'r');
xlabel('time');
ylabel('amplitude');
title('Sampled message signal');
for i=1:length(x)
if (x(i)>0 && x(i)<=1)
e=[1 0 0];
xq(i)=0.5;
elseif (x(i)>1 && x(i)<=2)
e=[1 0 1];
xq(i)=1.5;
elseif (x(i)>2 && x(i)<=3)
e=[1 1 0];
xq(i)=2.5;
elseif (x(i)>3 && x(i)<=4)
e=[1 1 1];
xq(i)=3.5;
elseif (x(i)>-4 && x(i)<=-3)
e=[0 0 0];
xq(i)=-3.5;
elseif (x(i)>-3 && x(i)<=-2)
e=[0 0 1];
xq(i)=-2.5;
elseif (x(i)>-2 && x(i)<=-1)
e=[0 1 0];
xq(i)=-1.5;
elseif (x(i)>-1 && x(i)<=0)
e=[0 1 1];
xq(i)=-0.5;
end
%enc=[enc e];
end
subplot(5,1,3);
plot(t,xq,'b');
title('Quantised signla');