Matlab code for DSB and Report Question
Matlab code for DSB and Report Question
clc;
clear all;
fs=30000;%sampling frequency
t=0:(1/fs):0.01;
fc=2000;%carrier frequency
fm=400;%message frequency
ac=1;%carrier signal amplitude
am=1;%message signal amplitude
carrier=ac*sin(2*pi*fc*t);
msg=am*sin(2*pi*fm*t);
dsb_sc = msg .* carrier;
figure;
subplot(4,1,1);
plot(t, msg, 'b');
title('Message Signal');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(4,1, 2);
plot(t, carrier, 'r');
title('Carrier Signal');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(4,1, 3);
plot(t, dsb_sc, 'k');
title('DSB-SC Modulated Signal');
xlabel('Time (s)');
ylabel('Amplitude');
%Code for demodulation
local_osc = sin(2*pi*fc*t);
demodulated =dsb_sc.* local_osc;
Fc_lp=500;
[b, a] = butter(6, Fc_lp/(fs/2)); % 6th order Butterworth filter
recovered_message = filter(b, a, demodulated);
% Plotting the demodulated signal and the recovered message
subplot(4,1,4);
plot(t, recovered_message, 'g');
title('Recovered Message Signal');
xlabel('Time (s)');
ylabel('Amplitude');
Report Question:
modulated_1=msg1.*carrier1;%DSB-Sc signal
modulated_2=msg2.*carrier2;%DSB-Sc signal
%%demodulation of ssb_sc
demodulated_signal=usb_signal.*carrier1;
fc_lp=600; %cutoff frequency of the LPF
[b,a]=butter(6,fc_lp/(fs/2));
message=filter(b,a,demodulated_signal);
subplot(3,2,5);
plot(t,message);
title('Demodulated Output');
xlabel('time(s)');
ylabel('Amplitude');