340 likes | 556 Views
Islamic University of Gaza Electrical Engineering Department Communication I laboratory . Amplitude modulation DSB-LC (full AM) . Submitted by: Adham Abu-Shamla Mohammed Hajjaj 120063320 120063640 Submitted to:
E N D
Islamic University of Gaza Electrical Engineering Department Communication I laboratory Amplitude modulation DSB-LC (full AM) Submitted by: Adham Abu-Shamla Mohammed Hajjaj 120063320 120063640 Submitted to: Eng. Mohammed kamel Abu-Foul
Contents: • The objective of this experiment. • Quick review about the AM modulation and (DSB-LC) • Part 1 code and its comments and results (step by step) • Part 2 code and its comment and results • Conclusion.
Objective: • Understanding AM modulation, Double Side Band-Large Carrier (DSB-LC) “known as Full AM”. • Using MATLAB to plot the modulated signal. • To simulate coherent demodulator and an envelope detector to obtain the real signal using MATLAB.
Type of AM Modulation • DSB-SC • DSB-LC • SSB • VSB
Part 1 • Use MATLAB to simulate this block (AM block) (f(t)=cos(2π2000t),Ac=4,m=0.25,fc=20Khz) f(t) m Ac.cos(2.π.fct) S(t)=Ac[1+mf(t)] .cos(2.π.fct) X +
Part 1 (a) code: the input signal Carrier freqyancy Sampling period Modulation index µ=mp/A DC shift Sampling frequancy • fc=20000; % Carrier frequency • ts=1/(10*fc); • t=[0:2000]*ts; • fs=1/ts; % Sampling frequency • m=.25; % Modulation index • Ac=4; % DC shift • x=cos(2*pi*2000*t); % the original signal • figure(1) • subplot(211) • plot(t,x) • title('plot of baseband signal x(t)') • xlabel('time (t)') • ylabel('x(t)') plot the real signal Comment: In the above code we chose ts =1/(10*fs) to avoid overlapping in signal, then we make Fourier transform to plot the magnitude spectrum.
Code cont. • Xf=fftshift(fft(x)); • Xf=Xf/length(Xf); • deltax=fs/length(Xf); • fx=-fs/2:deltax:fs/2-deltax; • subplot(212) • plot(fx,abs(Xf)) • title('the fourier transform of x(t)') • xlabel('frequency (f)') • ylabel('X(f)') Fourier Transform of a real signal Plot the magnitude spectrum
The results (part 1a) Two Sym. pulses on the signal frequency
Code (part 1b): modulated signal • y=(1+m*x)*Ac.*cos(2*pi*fc*t); % (Modulated signal) • figure(2) • subplot(211) • plot(t,y) • title('the modulated signal y(t)=(1+m*x)*Ac.*cos(2*pi*fc*t)') • xlabel('time (t)') • ylabel('y(t)') • yf=fftshift(fft(y));
Code (part 1b): modulated signal cont. • yf=yf/length(yf); • delta=fs/length(yf); • f=-fs/2:delta:fs/2-delta; • subplot(212) • plot(f,abs(yf)) • title('the fourier transform of the modulated signal Y(f)') • xlabel('frequency (f)') • ylabel('Y(f)') Plot the magnitude spectrum
The results (part 1b) The same signal shifted at fc and the magnitude divided by 2
Coherent detector S(t) w(t)) v(t) LPH cos(2.π.fc.t)
Code (Part 1c-1) coherent demodulator “before filtering”. • w=y.*cos(2*pi*fc*t); % Coherent demodulated signal • figure(3) • subplot(211) • plot(t,w) • title('plot of demodulated signal w(t) before LPF') • xlabel('time (t)') • ylabel('w(t)') • wf=fftshift(fft(w));
Code (Part 1c-1) coherent demodulator “before filtering”. • wf=wf/length(wf); • delta=fs/length(wf); • f=-fs/2:delta:fs/2-delta; • subplot(212) • plot(f,abs(wf)) • title('fourier transform of the demodulated signal W(f)') • xlabel('frequency (f)') • ylabel('W(f)')
The results (part 1c-1) The modulated signal shifted at 2*fc and the magnitude divided by 2 There are a signal in 0 as real signal
Code (Part 1c-2) coherent demodulator “after filtering”. the lower frequency of the transient region ( must be between 0 and 1 ) The Upper frequency of the transient region ( must be between 0 and 1 ) losses due to rippels Fn. that return the order of the filter and the cutt off frequency Fn. that return the transfer function of the Butterworth filter • Wp=5000/fs; • Ws=20000/fs; • Rp=-1; • Rs=-100; • [N, Wn] = BUTTORD(Wp, Ws, Rp, Rs); % • [num,den]=butter(N,Wn); %
Code (Part 1c-2) coherent demodulator “after filtering”. Filtering process • v=filter(num,den,w); • figure(4) • subplot(211) • plot(t,v) • title('the demodulated signal after LPF v(t)') • xlabel('time (t)') • ylabel('v(t)')
Code (Part 1c-2) coherent demodulator “after filtering”. Vf=fftshift(fft(v)); • Vf=Vf/length(Vf); • deltav=fs/length(Vf); • fv=-fs/2:deltav:fs/2-deltav; • subplot(212) • plot(fv,abs(Vf)) • title('the fourier transform of v(t)') • xlabel('frequency (f)') • ylabel('V(f)')
The results (part 1c-2) There are a signal in 0 as real signal only
Code (part 1d) %C=0.1e-6F,R=3.2e2%%%%% • c=0.1e-6; • r=3.2e2; • RC=r*c; • Vc=ones*(1:length(y)); • Vc(1)=y(1); • for i=2:length(y) • if y(i)>=Vc(i-1)
Code (part 1d) • Vc(i)=y(i); • else • Vc(i)=Vc(i-1).*exp(-ts/RC); • end • end • figure(5) • plot(t,y,t,Vc) • %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% We can explain this code by the following flow chart
start Vc(1)=y(1) i=2 Y(i)>=Vc(i-1) NO YES Vc(i)=y(i) Vc(i)=Vc(i-1).*exp(-ts/RC); i=length(Y) NO YES start
If we change R R=3.2e(3) R=3.2e(4)
Part 2 • Repeat part 1 with Ac=1, m = 2 After we make the simulation, the result is the same in part 1, but we saw some difference in the envelope detector . we will show the results of this part and comment the reason
Result of envelope overlap
Result of envelope Not as real signal
Comment in part 2 • The reason of part 2 become like this becouse the Ac is not enough to alternate the signal up to zero so envelope detector can’t get the real signal
Conclusion • The experiment is a good simulate for AM signals. • We must make sure of the code because any error causes fail in compiling