0% found this document useful (0 votes)
14 views2 pages

Digitalcomm Lab

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views2 pages

Digitalcomm Lab

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

% Parameters

Fs = 10000; % Sampling Frequency


Fc = 1000; % Carrier Frequency
bitRate = 1; % Bit Rate (Bits per second)
bitDuration = 1/bitRate; % Duration of one bit
numBits = 8; % Number of bits to transmit
time = 0:1/Fs:bitDuration*numBits - 1/Fs; % Time vector
% Generate random binary data
data = randi([0 1], 1, numBits); % Binary data (0s and 1s)
% Modulation
carrier = cos(2 * pi * Fc * time); % Carrier signal
askSignal = zeros(1, length(time)); % Initialize ASK signal
% Create ASK signal
for i = 1:numBits
if data(i) == 1
askSignal((i-1)*Fs*bitDuration+1:i*Fs*bitDuration) =
carrier((i-1)*Fs*bitDuration+1:i*Fs*bitDuration);
else
askSignal((i-1)*Fs*bitDuration+1:i*Fs*bitDuration) = 0;
end
end
% Plot the modulated ASK signal
figure;
subplot(3,1,1);
stairs(repmat(data, Fs*bitDuration, 1)); % Plot binary data
title('Binary Input Data');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(3,1,2);
plot(time, askSignal);
title('ASK Modulated Signal');
xlabel('Time (s)');
ylabel('Amplitude');
% Add noise to the ASK signal (for testing demodulation)
noisySignal = askSignal + 0.5 * randn(1, length(askSignal)); % Adding Gaussian
noise
% Plot the noisy signal
subplot(3,1,3);
plot(time, noisySignal);
title('Noisy ASK Signal');
xlabel('Time (s)');
ylabel('Amplitude');
% Demodulation
demodulatedSignal = zeros(1, numBits); % Initialize demodulated signal
for i = 1:numBits
segment = noisySignal((i-1)*Fs*bitDuration+1:i*Fs*bitDuration); % Extract
each bit duration
energy = sum(segment .* carrier((i-1)*Fs*bitDuration+1:i*Fs*bitDuration));
% Calculate energy of the received signal
if energy > 0.5 % Threshold decision (modify this based on noise level)
demodulatedSignal(i) = 1;
else
demodulatedSignal(i) = 0;
end
end
% Display demodulated bits
disp('Original Data:');
disp(data);
disp('Demodulated Data:');
disp(demodulatedSignal);
% Plot the demodulated data
figure;
stairs(repmat(demodulatedSignal, Fs*bitDuration, 1));
title('Demodulated Data');
xlabel('Time (s)');
ylabel('Amplitude');

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy