9.6 DIGITAL MODULATION TECHNIQUES

 < Day Day Up > 



9.6 DIGITAL MODULATION TECHNIQUES

The three important digital modulation techniques are

  • Amplitude shift keying (ASK)

  • Frequency shift keying (FSK)

  • Phase shift keying (PSK)

For a bit stream of ones and zeros, the modulating signal is shown in Figure 9.3(a). Figures 9.3(b), 9.3(c), and 9.3(d) show modulated signals using ASK, FSK, and binary PSK, respectively.

click to expand
Figure 9.3: (a) Modulating signal.

click to expand
Figure 9.3: (b) ASK.

click to expand
Figure 9.3: (c) FSK.

click to expand
Figure 9.3: (d) BPSK.

9.6.1 Amplitude Shift Keying

Amplitude shift keying (ASK) is also known as on off keying (OOK). In ASK, two amplitudes of the carrier represent the binary values (1 and 0). Generally, one of the amplitudes is taken as zero. Accordingly, the ASK signal can be mathematically represented by

start example

In amplitude shift keying (ASK), 1 and 0 are represented by two different amplitudes of the carrier. ASK is susceptible to noise. ASK is used in optical fiber communication because the noise is less.

end example

The bandwidth requirement of ASK signal is given by the formula

where R is the bit rate and r is a constant between 0 and 1, related to the hardware implementation.

ASK is susceptible to noise and is not used on cable. It is used in optical fiber communication.

9.6.2 Frequency Shift Keying

In FSK, the binary values are represented by two different frequencies close to the carrier frequency. An FSK signal is mathematically represented by

f1 can be fc+ fm and f2 can be fc fm, where fc is the carrier frequency and 2fm is the frequency deviation.

The bandwidth requirement of FSK signal is given by

where R is the data rate and r is a constant between 0 and 1.

FSK is used widely in cable communication and also in radio communication.

start example

In frequency shift keying (FSK), 1 and 0 are represented by two different frequencies of the carrier. FSK is used widely in cable and radio communication systems.

end example

9.6.3 Phase Shift Keying

The two commonly used PSK techniques are binary PSK (BPSK) and quadrature PSK (QPSK).

In PSK, the phase of the carrier represents a binary 1 or 0. In BPSK, two phases are used to represent 1 and 0. Mathematically, a PSK signal is represented by

start example

In BPSK, binary 1 and 0 are represented by two phases of the carrier.

end example

The phase is measured relative to the previous bit interval. The bandwidth occupied by BPSK is the same as that of ASK.

In quadrature PSK (QPSK), two bits in the bit stream are taken, and four phases of the carrier frequency are used to represent the four combinations of the two bits.

start example

In quadrature phase shift keying (QPSK), different phases of the carrier are used to represent the four possible combinations of two bits: 00, 01, 10, and 11. QPSK is used widely in radio communication systems.

end example

The bandwidth required for a QPSK modulated signal is half that of the BPSK modulated signal. Phase shift keying (BPSK and QPSK) is used extensively in radio communication systems. In mobile communication systems also, different PSK techniques are used.

Summary

Various carrier modulation techniques are reviewed in this chapter. Carrier modulation is the technique used to transform the signal such that many baseband signals can be multiplexed and sent over the medium for transmitting over large distances without interference. Modulation techniques can be broadly divided into analog modulation techniques and digital modulation techniques. Amplitude modulation (AM) and frequency modulation (FM) are the widely used analog modulation techniques. In AM, the information is contained in the amplitude of the carrier. In FM, the frequency deviation of the carrier contains the information. AM and FM are used extensively in broadcasting audio and video. The important digital modulation techniques are amplitude shift keying (ASK), frequency shift keying (FSK), and phase shift keying (PSK). In ASK, binary digits are represented by the presence or absence of the carrier. In FSK, the binary digits are represented by two frequencies of the carrier. In PSK, the binary values are represented by different values of the phase of the carrier. ASK is used in optical fiber communication. FSK and PSK are used when the transmission medium is cable or radio. When designing a communication system, the modulation scheme is chosen, keeping in mind the bandwidth of the modulated signal, ease of implementation of the modulator/demodulator, and noise immunity.

References

  • G. Kennedy and B. Davis. Electronic Communication Systems. Tata McGraw Hill Publishing Company Limited, 1993.

  • S. Haykin. Communication Systems, Third Edition, 1994.

  • The Web sites of digital signal processor (DSP) chip manufacturers such as Analog Devices, Motorola, Lucent Technologies, Texas Instruments, and others provide a wealth of information on modulations and development of modems using DSP.

Questions

  1. Explain the need for modulation.

  2. List the various analog and digital modulation techniques.

  3. What criteria are used for comparing different modulation schemes?

  4. Explain the various analog modulation schemes.

  5. Explain the various digital modulation schemes.

Exercises

1. 

For the bit pattern 1 0 1 1 0 1 1 1 0 0 1, draw the modulated waveform signals if the modulation used is (a) ASK, (b) FSK, (c) BPSK.

the code segments for generation of ask and fsk signals are given in listing c.4 . the screen shots are given in figure c.5 and figure c.6 . generation of ask and fsk waveforms. /* to draw ask waveform for 1 khz tone */ void csenddialog::askplotter() {int n, j1, j2, var=0, mm=0;int i=0, xr[8], bit;char c; wn=8*0.01745 ; cwindowdc dc(getdlgitem(idc_sine));logbrush logbrush;logbrush.lbstyle =bs_solid;logbrush.lbcolor=rgb(0,255,0);cpen pen(ps_geometric | ps_join_round,1, &logbrush);dc.selectobject(&pen);dc.settextcolor(rgb(255,255,255)); cstring strdata;strdata=`my sample text`; for(int ii=0;ii-strdata.getlength();ii++){ c = strdata[ii]; dc.textout(20,10,`amplitude1 = 1v`); dc.textout(20,30,`amplitude2 = 2v`); dc.textout(150,10,`freq = 1200hz `); var=0; xs=0;ys=0; for(j2=0,i=0;j2-8;j2++){ bit=c%2; xr[i]=bit; i=i+1; c=c/2; } for(i1=0;i1-=360;i1++){ ya[i1]=amp1*sin(wn*i1); yb[i1]=amp2*sin(wn*i1); } for(n=0;n-8;n++){ if(xr[i-1]==1){ plotsine1(&dc, var);i---; } else{ plotsine2(&dc, var);i---; } var=var+45;}incr=0;_sleep(200);crect rect;m_sine.getclientrect(rect);dc.fillsolidrect(rect, rgb(0,0,0)); }// end for str.lengthm_start.setwindowtext(`send code`);} /* to draw the sin waveform when signal is present */void csenddialog::plotsine1(cwindowdc *dc, int var){ if(incr!=0)incr-=1;flagctrl=1;line(*&dc,25,110,385,110); for( i1=var; i1-=var+45; i1=i1+1 ) {xe=i1; ye=ya[i1];spect[incr+=1]=ya[i1];line(*&dc, 25+xs, 110-ys, 25+xe, 110-ye );xs=xe;ys=ye; }} /* to draw the sin waveform when signal is not present */void csenddialog::plotsine2(cwindowdc *dc, int var){ if(incr!=0)incr-=1; line(*&dc,25,110,385,110);for( i1=var; i1-=var+45; i1=i1+1 ){ xe=i1; ye=yb[i1]; spect[incr+=1]=yb[i1]; line(*&dc, 25+xs, 110-ys, 25+xe, 110-ye); xs=xe; ys=ye;}flagctrl=0;} /* to draw the horizontal line */void csenddialog::line(cwindowdc *dc, short x1, short y1, short x2, short y2){ dc--beginpath(); dc--moveto(x1,y1); dc--lineto(x2,y2); dc--closefigure(); dc--endpath(); dc--strokepath();}/* to draw fsk waveform for 1 khz tone */void csenddialog::fskplotter(){ int n, j1, j2, var=0; int i=0, xr[1000], bit; char c; wn1 = 8*0.01745 ; wn2 = 32*0.01745; cwindowdc dc(getdlgitem(idc_sine)); logbrush logbrush; logbrush.lbstyle = bs_solid; logbrush.lbcolor = rgb(0,255,0);cpen pen(ps_geometric | ps_join_round, 1, &logbrush); dc.selectobject(&pen); dc.settextcolor(rgb(255,255,255));cstring strdata; strdata=`my sample text`;for(int ii=0;ii-strdata.getlength();ii++) {c=strdata[ii];dc.textout(20,10,`freq1 = 1200hz`);dc.textout(20,30,`freq2 = 2000hz`);var=0;xs=0;ys=0;for(j2=0,i=0;j2-8;j2++){bit=c%2;xr[i]=bit;i++;c=c/2;}for(i1=0;i1-=360;i1++){ya[i1] = amp1*sin(wn1*i1);yb[i1] = amp1*sin(wn2*i1);}for(n=0;n-8;n++){if(xr[i-1]==1){plotsine1(&dc, var);i---;}else{plotsine2(&dc, var);i---;}var = var + 45;}incr=0;_sleep(200);crect rect;m_sine.getclientrect(rect);dc.fillsolidrect(rect, rgb(0,0,0));} } figure c.5 shows a screenshot for ask waveform for data. ask waveform. figure c.6 shows a screenshot of an efsk waveform. fsk waveform.

2. 

Write a C program to generate a carrier of different frequencies and to generate amplitude modulated waves if the modulating signal is a sine wave of 1kHz. Give a provision to change the modulation index.

the code segment for generation of a 1khz sine wave is given in listing c.5 . you can use this as the modulating signal to generate the modulated signals. the waveform is shown in figure c.7 . to generate a 1khz sine wave. /* to display the signal on the screen*/ void csingletonedlg::tone(int i) {cwindowdc dc(getdlgitem(idc_sine));crect rcclient;logbrush logbrush;logbrush.lbstyle =bs_solid;logbrush.lbcolor=rgb(0,255,0);cpen pen(ps_geometric | ps_join_round,1, &logbrush);dc.selectobject(&pen);dc.settextcolor(rgb(255,255,255));while(continuethread){ m_sine.getclientrect(rcclient); dc.fillsolidrect(rcclient, rgb(0,0,0));dc.moveto(0,rcclient.bottom/2); int x, y; dc.moveto(0,rcclient.bottom/2); for (x =0 ; x - (rcclient.right); x++) // display input {y= rcclient.bottom/2 - tonenextsample();dc.lineto(x, y); } sleep(200);} }/* to initialize the frequency*/ void csingletonedlg::toneinitsystem(double freq) {t2pi = 2*tpi;tsampleno = 0;tonefreq = freq;twt = tonefreq*0.000125;twtn = 0;tsampleno = 0; }/* to calculate the next sample value */ int csingletonedlg::tonenextsample() {int tisample;double tsample;int c;tsampleno++;tsample = ktone_ampl*sin(t2pi*twtn);twtn += twt;if (twtn - 1.0) twtn -= 1.0;tisample = (int) tsample;return tisample; } figure c.7 shows a 1khz sine wave. 1khz sine wave.

3. 

Make a comparative statement on different digital modulation techniques.

comparison of modulation techniques is done based on the noise immunity, bandwidth requirement, error performance, and implementation complexity of the modulator/demodulator. ask is not immune to noise. qpsk occupies less bandwidth, but implementation is complex. the waterfall curve given in the chapter 10 gives the performance of different modulation techniques.

4. 

Find out the modulation techniques used in (a) Global System for Mobile Communication (GSM); (b) Bluetooth; (c) IEEE 802.11 local area networks; and (d) digital subscriber lines (DSL).

the modems used in radio systems are called radio modems, and the modems used on wired systems are called line modems. gsm and bluetooth are radio systems. the modulation used in gsm is gmsk. bluetooth uses gaussian fsk. there are various standards for line modems specified by itu. these are v.24, v.32, v.90, and so on.

5. 

If the bandwidth of a modulating signal is 20kHz, what is the bandwidth of the amplitude modulated signal?

if the bandwidth of the modulating signal is 20khz, the bandwidth of the amplitude-modulated signal is 40khz.

6. 

If the bandwidth of a modulating signal is 20kHz and the frequency deviation used in frequency modulation is 75kHz, what is the bandwidth of the frequency-modulated signal?

if the bandwidth of a modulating signal is 20khz and the frequency deviation used in frequency modulation is 75khz, the bandwidth of the frequency modulated signal is 2(20 + 75) khz = 190khz.

Answers

1. 

The code segments for generation of ASK and FSK signals are given in Listing C.4. The screen shots are given in Figure C.5 and Figure C.6.

Listing C.4: Generation of ASK and FSK waveforms.

start example
 /* To draw ASK waveform for 1 kHz tone */ void CSendDialog::ASKPlotter() {    int n, j1, j2, var=0, mm=0;    int i=0, xr[8], bit;    char c;    wn=8*0.01745 ;    CWindowDC dc(GetDlgItem(IDC_SINE));    LOGBRUSH logBrush;    logBrush.lbStyle =BS_SOLID;    logBrush.lbColor=RGB(0,255,0);    CPen pen(PS_GEOMETRIC | PS_JOIN_ROUND,1, &logBrush);    dc.SelectObject(&pen);    dc.SetTextColor(RGB(255,255,255));    CString strData;    strData="My Sample Text";    for(int ii=0;ii<strData.GetLength();ii++)    {       c = strData[ii];       dc.TextOut(20,10,"Amplitude1 = ±1V");       dc.TextOut(20,30,"Amplitude2 = ±2V");       dc.TextOut(150,10,"Freq = 1200Hz ");       var=0;       xs=0;ys=0;       for(j2=0,i=0;j2<8;j2++){             bit=c%2;             xr[i]=bit;             i=i+1;             c=c/2;       }       for(i1=0;i1<=360;i1++){             ya[i1]=amp1*sin(wn*i1);             yb[i1]=amp2*sin(wn*i1);       }       for(n=0;n<8;n++){             if(xr[i-1]==1){                   PlotSine1(&dc, var);i---;             }             else{                   PlotSine2(&dc, var);i---;             }             var=var+45;          }          incr=0;          _sleep(200);          CRect rect;          m_sine.GetClientRect(rect);          dc.FillSolidRect(rect, RGB(0,0,0));       }// End For str.Length          m_start.SetWindowText("Send Code");    }    /* To draw the sin waveform when signal is present */    void CSendDialog::PlotSine1(CWindowDC *dc, int var)    {       if(incr!=0)          incr-=1;       flagctrl=1;       line(*&dc,25,110,385,110);       for( i1=var; i1<=var+45; i1=i1+1 )       {          xe=i1; ye=ya[i1];          spect[incr+=1]=ya[i1];          line(*&dc, 25+xs, 110-ys, 25+xe, 110-ye );          xs=xe;          ys=ye;       }    }    /* To draw the sin waveform when signal is not present */    void CSendDialog::PlotSine2(CWindowDC *dc, int var)    {       if(incr!=0)          incr-=1;       line(*&dc,25,110,385,110);       for( i1=var; i1<=var+45; i1=i1+1 )        {           xe=i1; ye=yb[i1];           spect[incr+=1]=yb[i1];           line(*&dc, 25+xs, 110-ys, 25+xe, 110-ye);           xs=xe;           ys=ye;        }        flagctrl=0;    }    /* To draw the horizontal line */    void CSendDialog::line(CWindowDC *dc, short x1, short y1, short x2, short y2)    {       dc->BeginPath();       dc->MoveTo(x1,y1);       dc->LineTo(x2,y2);       dc->CloseFigure();       dc->EndPath();       dc->StrokePath();    }    /* To draw FSK waveform for 1 kHz tone */    void CSendDialog::FSKPlotter()    {       int n, j1, j2, var=0;       int i=0, xr[1000], bit;       char c;       wn1 = 8*0.01745 ;       wn2 = 32*0.01745;       CWindowDC dc(GetDlgItem(IDC_SINE));       LOGBRUSH logBrush;       logBrush.lbStyle = BS_SOLID;       logBrush.lbColor = RGB(0,255,0);       CPen pen(PS_GEOMETRIC | PS_JOIN_ROUND, 1, &logBrush);       dc.SelectObject(&pen);       dc.SetTextColor(RGB(255,255,255));       CString strData;       strData="My Sample Text";       for(int ii=0;ii<strData.GetLength();ii++)       {          c=strData[ii];          dc.TextOut(20,10,"Freq1 = 1200Hz");          dc.TextOut(20,30,"Freq2 = 2000Hz");          var=0;          xs=0;          ys=0;          for(j2=0,i=0;j2<8;j2++){                bit=c%2;                xr[i]=bit;                i++;                c=c/2;          }          for(i1=0;i1<=360;i1++){                ya[i1] = amp1*sin(wn1*i1);                yb[i1] = amp1*sin(wn2*i1);          }          for(n=0;n<8;n++){                if(xr[i-1]==1){                      PlotSine1(&dc, var);i---;                }else{                      PlotSine2(&dc, var);i---;                }                var = var + 45;          }          incr=0;          _sleep(200);          CRect rect;          m_sine.GetClientRect(rect);          dc.FillSolidRect(rect, RGB(0,0,0));    } } 
end example

Figure C.5 shows a screenshot for ASK waveform for data.

click to expand
Figure C.5: ASK waveform.

Figure C.6 shows a screenshot of an EFSK waveform.

click to expand
Figure C.6: FSK waveform.

2. 

The code segment for generation of a 1kHz sine wave is given in Listing C.5. You can use this as the modulating signal to generate the modulated signals. The waveform is shown in Figure C.7.

Listing C.5: To generate a 1KHz sine wave.

start example
 /* To Display the signal on the screen*/ void CSingleToneDlg::Tone(int i) {    CWindowDC dc(GetDlgItem(IDC_SINE));    CRect rcClient;    LOGBRUSH logBrush;    logBrush.lbStyle =BS_SOLID;    logBrush.lbColor=RGB(0,255,0);    CPen pen(PS_GEOMETRIC | PS_JOIN_ROUND,1, &logBrush);    dc.SelectObject(&pen);    dc.SetTextColor(RGB(255,255,255));    while(continueThread){       m_sine.GetClientRect(rcClient);       dc.FillSolidRect(rcClient, RGB(0,0,0));       dc.MoveTo(0,rcClient.bottom/2);       int x, y;       dc.MoveTo(0,rcClient.bottom/2);       for (x =0 ; x < (rcClient.right); x++) // display Input       {            y    = rcClient.bottom/2   - ToneNextSample();            dc.LineTo(x, y);       }       Sleep(200);    } } /* To initialize the frequency*/ void CSingleToneDlg::ToneInitSystem(double Freq) {    T2PI = 2*TPI;    TSampleNo = 0;    ToneFreq = Freq;    TWT = ToneFreq*0.000125;    TWTn = 0;    TSampleNo = 0; } /* To calculate the next sample value */ int CSingleToneDlg::ToneNextSample() {    int TISample;    double TSample;    int c;    TSampleNo++;    TSample = KTONE_AMPL*sin(T2PI*TWTn);    TWTn += TWT;    if (TWTn > 1.0) TWTn -= 1.0;    TISample = (int) TSample;    return TISample; } 
end example

Figure C.7 shows a 1kHz sine wave.

click to expand
Figure C.7: 1kHz sine wave.

3. 

Comparison of modulation techniques is done based on the noise immunity, bandwidth requirement, error performance, and implementation complexity of the modulator/demodulator. ASK is not immune to noise. QPSK occupies less bandwidth, but implementation is complex. The waterfall curve given in the Chapter 10 gives the performance of different modulation techniques.

4. 

The modems used in radio systems are called radio modems, and the modems used on wired systems are called line modems. GSM and Bluetooth are radio systems. The modulation used in GSM is GMSK. Bluetooth uses Gaussian FSK. There are various standards for line modems specified by ITU. These are V.24, V.32, V.90, and so on.

5. 

If the bandwidth of the modulating signal is 20kHz, the bandwidth of the amplitude-modulated signal is 40kHz.

6. 

If the bandwidth of a modulating signal is 20kHz and the frequency deviation used in frequency modulation is 75kHz, the bandwidth of the frequency modulated signal is 2(20 + 75) kHz = 190kHz.

Projects

  1. Develop a software package that can be used for teaching different modulation schemes. The graphical user interface (GUI) should (a) facilitate giving a bit stream (1010100) or a sine wave as input; (b) enable the user to select a modulation technique (AM, FM, ASK, FSK, and so on); and (c) select the modulation parameters such as carrier frequency for AM and FM, modulation index for AM, frequency deviation for FM, and so forth. The bit pattern/modulating signal and the modulated signal should be displayed as output.

  2. Digital signal processors are used extensively for modulation. Using a DSP evaluation board (that of Analog Devices, Texas Instruments, Motorola, or Lucent Technologies), develop DSP software to generate various modulations.

  3. Using MATLAB, generate various modulations. You can obtain an evaluation copy of MATLAB from http://www.mathworks.com.

  4. Study the various modulation schemes used in line modems. Make a list of various ITU-T standards for line modems, such as V.24, V.32, and so forth.



 < Day Day Up > 



Principles of Digital Communication Systems and Computer Networks
Principles Digital Communication System & Computer Networks (Charles River Media Computer Engineering)
ISBN: 1584503297
EAN: 2147483647
Year: 2003
Pages: 313
Authors: K V Prasad

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net