Amplitude Modulation of a cosine message

Hi there! Have some new code based on Matlab. It was actually a Computer Exercise for my Telecom course. It is an example of Amplitude Modulation of a Cos based message. The code is easy enough. If you have any questions please ask. Hope you enjoy it.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
function am_modulation
 
N=2000;
F=(-N/2:N/2-1)/N;
 
user_entry1 = input('Please enter carrier freq [Press enter for default fc=0.25] :');
if isempty(user_entry1)
    fc=0.25;
else
    fc=user_entry1;
end
 
user_entry4 = input('Please enter amplitude of carrier wave [Press enter for default Ac=1] :');
if isempty(user_entry4)
    Ac=1;
else
    Ac=user_entry4;
end
 
n=0:1:256;
 
c=Ac*cos(2*pi*n*fc);
subplot(2,2,1)
plot(F, fftshift(abs(fft(c,N))));
title('Carrier Wave at frequency-domain');
xlabel('frequency'), ylabel('amplitude');
grid on;
 
 
 
user_entry2 = input('Please enter message freq [Press enter for default fm=0.01] :');
if isempty(user_entry2)
    fm=0.01;
else
    fm=user_entry2;
end
 
user_entry5 = input('Please enter message amplitude [Press enter for default Am=1] :');
if isempty(user_entry5)
    Am=1;
else
    Am=user_entry5;
end
 
m=Am*cos(2*pi*fm*n);
subplot(2,2,2)
plot(F, fftshift(abs(fft(m,N))));
title('Message at frequency-domain');
xlabel('frequency'), ylabel('amplitude');
grid on;
 
 
user_entry3 = input('Please enter amplitude sensitivity cnst. [Press enter for default ka=0.5] :');
if isempty(user_entry3)
    ka=0.5;
else
    ka=user_entry3;
end
 
s=(1+m.*ka).*c;
 
subplot(2,2,[3 4])
plot(F,fftshift(abs(fft(s,N))));
title('AM waveform at frequency-domain');
xlabel('frequency'), ylabel('amplitude');
grid on;

Here is an example result of the code ;

example_run.jpg

Enjoy & peace!

Fork me on GitHub