2010
02.21
02.21
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 ;

Enjoy & peace!

Related posts:






No Comment.
Add Your Comment