Vous êtes sur la page 1sur 2

EEE 352 Analog Communication Systems

BET V A/B

Assignment II DSBSC Modulation in MATLAB

Note:
1). Write your name and registration number clearly on the first page.
2). There are five parts of this assignment. Submit the respective plots and spectrums along
with each part.
3). Please submit your completed assignment (hardcopy only!) to me on
Thursday 08 April. Late submission after this date will be penalized!

1. Generate a sampled message and carrier signal in time domain, Remember to select the
sampling frequency according to the highest frequency of signal in the system.

Set message signal frequency to 50 Hz and carrier to 1000 Hz.

Following MATLAB CODE could be modified to generate desired signals:

>>A = 2;
>>Fs = 4000; %sampling frequency
>>Ts = 1/Fs; %sampling period
>>Tmax = 0.1;
>>t = 0:Ts:Tmax; %time vector
>>x = cos(2*pi*100*t); %low pass message signal
>>y = A*cos(2*pi*500*t); %high pass carrier
>>plot(t,x);grid
>>xlabel('time');
>>title('message signal in time domain')

2. Observe the frequency spectrum of carrier and modulating signal by modifying the
following MATLAB code:

>>Fx = fft(x); %DFT of message signal


>>Nx = length(x);
>>Fo = 1/(Ts*Nx); %setting freq resolution
>>freq = -Fs/2:Fo:Fs/2 - Fo; %freq vector
>>figure
>>plot(freq,fftshift(abs(Fx)));grid
>>xlabel('frequency');
>>title('message signal in frequency domain')

3. Generate DSB SC signal use the following MATLAB code:

>>am = x.*y; %dsbsc generation


>>figure
>>plot(t,am);grid
>>xlabel('time');
>>title('AM signal in time domain')

4. Plot and observe the frequency translation of message signal in frequency domain.

5. Demodulate the DSBSC signal generated before by modifying the following code or
otherwise in time domain only

>> dam = am.*y;

>> figure;subplot(1,2,1);plot(t,dam);grid

>> title('AM demodulation first stage ( product with carrier )');

>> [nf df]=butter(5,1000*ts); %LPF (butterworth 5th order)

>> h=filter(nf,df,dam);subplot(1,2,2);plot(t,h);grid

>> title('DSBSC second stage demodulation (remove the high frequencies));

>> xlabel('time');

Vous aimerez peut-être aussi