资源简介

Many textbooks today treat the basic topics in analog and digital communication systems, including coding and decoding algorithms and modulation and demodulation techniques. Most of these textbooks focus, by necessity, on the theory that underlies the design and performance analysis of the various building blocks, such as coders, decoders, modulators, and demodulators, that constitute the basic elements of a communications system. Relatively few of the textbooks, especially those written for undergraduates, include applications that motivate students. SCOPE OF THE BOOK The objective of this book is to serve as a companion or supplement to any of the comprehensive textbooks in communication systems. The book provides a variety of exercises that may be solved on a computer (generally, a personal computer is sufficient) using the popular student edition of MATLAB. We intend the book to be used primarily by senior-level undergraduate students and graduate students in electrical engineering, computer engineering, and computer science. This book will also prove useful to practicing engineers who wish to learn specific MATLAB applications for communication systems. We assume that the reader is familiar with the fundamentals of MATLAB. We do not cover those topics because several tutorial books and manuals on MATLAB are available. By design, the treatment of the communications theory topics is brief. We provide the motivation and a short introduction to each topic, establish the necessary notation, and then illustrate the basic notions through an example. The primary text and the instructor are expected to provide the required depth for the topics treated. For example, we introduce the matched filter and the correlator and assert that these devices result in the optimum demodulation of signals corrupted by additive white Gaussian noise (AWGN), but we do not provide a proof of this assertion. Such a proof generally is given in most core textbooks on communication systems.

资源截图

代码片段和文件信息

function rarg = DigModTutorial (action);
% generates windows to choose experiments

global Buttons;
global menuwinh;
global buttonh;
global MenuWinPos;

% set path

%addpath ./prgs ./menu ./pulse ./depfun

%warning off;

Buttons = 9;
ButtonText1 = ‘Pulse Shape‘;
ButtonText2 = ‘OOK‘;
ButtonText3 = ‘BPSK‘;
ButtonText4 = ‘4-ASK‘;
ButtonText5 = ‘QPSK‘;
ButtonText6 = ‘Offset-QPSK‘;
ButtonText7 = ‘MSK‘;
ButtonText8 = ‘16-QAM‘;
ButtonText9 = ‘End‘;


if nargin < 1                                           % no argument -> init 
  action = ‘init‘;
end;


% -----------------------------------------------------------------
% init
% Initialize variables and open window


if strcmp (action ‘init‘)

  % Cpnstants and definitions

set(0‘Units‘‘pixels‘);
scnsize = get(0‘ScreenSize‘);


  MenuWinPos  = [10 (scnsize(4) - (Buttons*28+50)-40)];                                % window position

  DigModTutorial (‘openmenuwin‘);                                % open window
end;


% -----------------------------------------------------------------
% openmenuwin
% open menu window

if strcmp (action ‘openmenuwin‘)
 
  menuwinh = figure (‘Color‘ ‘white‘ ...              % open window
    ‘Position‘ [MenuWinPos 160 (Buttons*28+50)] ... 
    ‘Name‘ ‘Tutorial‘ ...
    ‘Numbertitle‘ ‘off‘ ...
    ‘MenuBar‘ ‘none‘ ...
    ‘Resize‘ ‘off‘ ...
    ‘UserData‘ ‘tutorial‘);

  uicontrol (menuwinh ...
    ‘style‘ ‘text‘ ...
    ‘Position‘ [5 (Buttons*28+10) 155 25] ...
    ‘BackgroundColor‘ ‘white‘ ...
    ‘HorizontalAlignment‘ ‘center‘ ...
    ‘String‘ ‘Experiment:‘);

  for k = 1:Buttons
    ypos = (Buttons- k) * 28 + 10;
    ButtonTextString = eval ([‘ButtonText‘  num2str(k)]);
    CallBackFunction = [‘Button‘ num2str(k)];
    createbutton = [‘buttonh(‘ num2str(k) ‘) = uicontrol (menuwinh ‘ ...
                        ‘‘‘Position‘‘ [5 ‘ num2str(ypos) ‘ 150 22] ‘ ...
                         ‘‘‘String‘‘ ‘‘‘ ButtonTextString ‘‘‘ ‘ ...
                         ‘‘‘BackgroundColor‘‘ ‘‘white‘‘ ‘ ...
                         ‘‘‘CallBack‘‘ ‘‘DigModTutorial (‘‘‘‘‘ CallBackFunction ‘‘‘‘‘)‘‘);‘];
   eval (createbutton);
  end;
  clear createbutton ypos ButtonTextStr CallBackFunction;
end;


% -----------------------------------------------------------------
% Button1

if strcmp (action ‘Button1‘)

  delete(menuwinh);
  pshapemenu;

end;


% -----------------------------------------------------------------
% Button2

if strcmp (action ‘Button2‘)

  delete(menuwinh); 
  auswahl(‘ook‘);

end;


% -----------------------------------------------------------------
% Button3

if strcmp (action ‘Button3‘)

  delete(menuwinh);
  auswahl(‘bps‘);

end;


% -----------------------------------------------------------------
% Button4

if strcmp (action ‘Button4‘)

  delete(menuwinh);
  auswahl(‘ask‘);

end;


% -----------------------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件     1330678  2019-07-16 21:15  0495082511_311453.zip
     文件    15104727  2019-07-16 21:16  0495082511_315335.pdf
     文件     1195684  2019-07-16 21:14  0495082511_318718.zip
     目录           0  2019-07-16 21:18  Chapter10\
     文件        3793  2010-07-09 09:36  Chapter10\DigModTutorial.m
     目录           0  2019-07-16 21:18  Chapter10\programs\
     目录           0  2019-07-16 21:18  Chapter10\programs\menu\
     文件        1902  2010-07-09 09:36  Chapter10\programs\menu\abschuss.m
     文件         152  2010-07-09 09:36  Chapter10\programs\menu\auswahl.m
     文件        2338  2010-07-09 09:36  Chapter10\programs\menu\backmen.m
     文件          63  2010-07-09 09:36  Chapter10\programs\menu\closemodcross.m
     文件        3612  2010-07-09 09:36  Chapter10\programs\menu\convmenu.m
     文件        2322  2010-07-09 09:36  Chapter10\programs\menu\endemen.m
     文件        2640  2010-07-09 09:36  Chapter10\programs\menu\filtmen.m
     文件        3510  2010-07-09 09:36  Chapter10\programs\menu\pshapemenu.m
     文件        2894  2010-07-09 09:36  Chapter10\programs\menu\pulsemenu.m
     文件        3764  2010-07-09 09:36  Chapter10\programs\menu\tutorial.m
     目录           0  2019-07-16 21:18  Chapter10\programs\prgs\
     文件       69979  2010-07-09 09:36  Chapter10\programs\prgs\asknrzbw.m
     文件       82615  2010-07-09 09:36  Chapter10\programs\prgs\asknrzbw.mdl
     文件       70280  2010-07-09 09:36  Chapter10\programs\prgs\asknrzmf.m
     文件       83669  2010-07-09 09:36  Chapter10\programs\prgs\asknrzmf.mdl
     文件       91821  2010-07-09 09:36  Chapter10\programs\prgs\asknyqmf.m
     文件      107890  2010-07-09 09:36  Chapter10\programs\prgs\asknyqmf.mdl
     文件       94004  2010-07-09 09:36  Chapter10\programs\prgs\askwnymf.m
     文件      108137  2010-07-09 09:36  Chapter10\programs\prgs\askwnymf.mdl
     文件       44160  2010-07-09 09:36  Chapter10\programs\prgs\bpsnrzbw.m
     文件       56236  2010-07-09 09:36  Chapter10\programs\prgs\bpsnrzbw.mdl
     文件       44470  2010-07-09 09:36  Chapter10\programs\prgs\bpsnrzmf.m
     文件       63119  2010-07-09 09:36  Chapter10\programs\prgs\bpsnrzmf.mdl
     文件       65955  2010-07-09 09:36  Chapter10\programs\prgs\bpsnyqmf.m
............此处省略501个文件信息

评论

共有 条评论