【摘要】本文介紹了數(shù)字通信原理課程的特點(diǎn),探討了MATLAB在數(shù)字通信原理教學(xué)中的應(yīng)用。通過具體教學(xué)實(shí)例和實(shí)驗(yàn)仿真結(jié)果說明了將MATLAB應(yīng)用于數(shù)字通信原理的教學(xué)之中,對(duì)教學(xué)的改進(jìn)很有幫助。MATLAB是數(shù)字通信原理課程的強(qiáng)有力的輔助工具。研究結(jié)果對(duì)數(shù)字通信原理教學(xué)改革具有一定的指導(dǎo)意義。
【關(guān)鍵詞】數(shù)字通信原理 MATLAB 教學(xué)改革
一、引言
數(shù)字通信原理是通信工程和電子信息專業(yè)的專業(yè)基礎(chǔ)課,也是眾多高校的研究生入學(xué)考試科目之一。數(shù)字通信原理的主要內(nèi)容包括數(shù)字信號(hào)的調(diào)制與解調(diào)、模擬信號(hào)的數(shù)字傳輸、多路復(fù)用與數(shù)字復(fù)接、準(zhǔn)同步與同步數(shù)字傳輸體系、數(shù)字信號(hào)的基帶傳輸、數(shù)字信號(hào)的頻帶傳輸、同步原理、差錯(cuò)控制編碼、偽隨機(jī)序列及應(yīng)用。數(shù)字通信原理課程對(duì)數(shù)學(xué)基礎(chǔ)要求很高,概念和原理很抽象,很多抽象的理論和信號(hào)變化的過程很難用板書和多媒體課件描述清楚。學(xué)生普遍認(rèn)為比較難掌握這門課。
MATLAB是Math Works公司推出的一套高性能的數(shù)值計(jì)算和可視化的科學(xué)工程軟件。由于MATLAB的功能強(qiáng)大,在系統(tǒng)仿真、數(shù)字信號(hào)處理、圖形圖像分析、通信等領(lǐng)域得到廣泛應(yīng)用[1]。
將MATLAB應(yīng)用于數(shù)字通信原理的教學(xué)之中,可以對(duì)通信系統(tǒng)進(jìn)行可視化動(dòng)態(tài)仿真,反映通信系統(tǒng)的動(dòng)態(tài)工作情況,具有很好的可視化、演示性特點(diǎn)[2]。MATLAB是數(shù)字通信原理課程教學(xué)中很好的輔助工具。
二、數(shù)字通信原理中的m序列
偽隨機(jī)序列及應(yīng)用是數(shù)字通信原理中非常重要的內(nèi)容。偽隨機(jī)序列在誤碼率測(cè)量、時(shí)延測(cè)量、擴(kuò)頻通信等方面都有十分廣泛的應(yīng)用[3]。在擴(kuò)展頻譜通信系統(tǒng)中,偽隨機(jī)序列起著很重要的作用。在直接序列擴(kuò)頻中,用偽隨機(jī)序列將傳輸信息展寬,在接收時(shí)又用它將信號(hào)壓縮。m序列是最長線性反饋移位寄存器序列的簡稱,是一種重要的偽隨機(jī)序列。m序列的產(chǎn)生是通過帶線性反饋的移位寄存器產(chǎn)生的。一個(gè)n級(jí)線性反饋移位寄存器可產(chǎn)生的m序列的最長周期等于(2n-1)。
由n=4級(jí)線性反饋移位寄存器構(gòu)成的m序列產(chǎn)生器如圖1所示,該產(chǎn)生器產(chǎn)生的m序列周期最長為15。若各移位寄存器的初始狀態(tài)(A3,A2,A1,A0)= (0,0,0,1),則產(chǎn)生的m序列的一個(gè)周期為100010011010111。用板書的教學(xué)方法推到出該結(jié)果,需要很多時(shí)間,而且教學(xué)效果也不理想。
圖1 m序列的產(chǎn)生器
三、MATLAB仿真實(shí)現(xiàn)
m序列的相關(guān)原理比較抽象,用板書或課件的形式講解,課堂效果都不是很好,學(xué)生普遍認(rèn)為比較難理解這部分知識(shí)。采用MATLAB軟件可將m序列的產(chǎn)生過程和結(jié)果直觀地現(xiàn)實(shí)出來。
(一) n=4級(jí)移位寄存器產(chǎn)生m序列
移位寄存器級(jí)數(shù)n=4,反饋系數(shù)c=[1,0,0,1,1],各寄存器初始狀態(tài)z=[0,0,0,1]。產(chǎn)生的m序列的一個(gè)周期為100010011010111, m序列矩形成形信號(hào)如圖2所示。使用MATLAB,可以快速得到m序列的具體形式,而且可以直接觀察到m序列的矩形形成信號(hào)。
圖2n=4級(jí)移位寄存器產(chǎn)生的m序列
clc
close all
clear all
n=4;
p=2^n-1;
c=zeros(1,n+1);
c=[1,0,0,1,1] ;
z=zeros(1,n) ;
z=[0,0,0,1];
L=1000
for j=1:p
v=0;
m(j)=z(n);
for i=2:n+1
if c(i)==1
v=v+z(i-1);
end
end
z=circshift(z,[0,1]);
z(1)=mod(v,2);
end
N_sample=8;
Tc=1;
dt=Tc/N_sample;
t=0:dt:Tc*p-dt;
gt=ones(1,N_sample);
mt=sigexpand(1-2*m,N_sample);
mt=conv(mt,gt);
figure(1)
plot(t,mt(1:length(t)));
axis ([0 15 -1.2 1.2] );title ('m序列矩形信號(hào)')
(二) n=6級(jí)移位寄存器產(chǎn)生m序列
如果想得到n=6級(jí)移位寄存器產(chǎn)生的m序列,只需對(duì)上述程序稍作修改,令程序中移位寄存器級(jí)數(shù)n=6,反饋系數(shù)c=[1 0 0 0 0 1 1],各寄存器初始狀態(tài)z=[ 0 0 0 0 0 1]。m序列矩形成形信號(hào)如圖3所示,產(chǎn)生的m序列的一個(gè)周期為1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 1
圖3 n=6級(jí)移位寄存器產(chǎn)生的m序列
若想等到其他周期的m序列,只需要更改n、c和z三個(gè)參數(shù)即可。
四、結(jié)束語
在教學(xué)過程中,得到m序列的具體形式是很必要的,這是對(duì)m序列性質(zhì)及應(yīng)用進(jìn)一步分析和討論的基礎(chǔ)。但是如果想通過傳統(tǒng)的板書方法,通過理論推導(dǎo)得到周期比較長的m序列,是一件非常耗時(shí)的工作,而且教學(xué)的效果并不理想。使用MATLAB可以快速得到已知條件下的m序列。為了節(jié)省寶貴的課堂時(shí)間,減少不必要的時(shí)間的浪費(fèi),在數(shù)字通信原理的教學(xué)之中,適當(dāng)?shù)氖褂肕ATLAB是非常必要的。
并且通過該實(shí)例,還可以清楚的看出,使用MATLAB可使教學(xué)過程變得具有演示性和可視性,學(xué)生更容易理解和接受抽象的原理。MATLAB是數(shù)字通信原理課程非常好的輔助工具。
【參考文獻(xiàn)】
[1]劉衛(wèi)國. MATLAB程序設(shè)計(jì)與應(yīng)用[M]. 北京:高等教育出版社,2002.
[2]肖珂,張?jiān)虑宓? MATLAB在《通信原理》課程實(shí)驗(yàn)中的應(yīng)用[J]. 河北農(nóng)業(yè)大學(xué)學(xué)報(bào),2009, 11(2): 1282-1291.
[3]樊昌信,曹麗娜. 通信原理[M]. 第6版.北京:國防工業(yè)出版社,2007.
[4]郭文彬,桑林. 通信原理-基于Matlab的計(jì)算機(jī)仿真[M]. 北京:北京郵電大學(xué)出版社,2006.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文