數(shù)字信號(hào)傳輸系統(tǒng)分析與簡(jiǎn)單設(shè)計(jì)_第1頁(yè)
數(shù)字信號(hào)傳輸系統(tǒng)分析與簡(jiǎn)單設(shè)計(jì)_第2頁(yè)
數(shù)字信號(hào)傳輸系統(tǒng)分析與簡(jiǎn)單設(shè)計(jì)_第3頁(yè)
數(shù)字信號(hào)傳輸系統(tǒng)分析與簡(jiǎn)單設(shè)計(jì)_第4頁(yè)
數(shù)字信號(hào)傳輸系統(tǒng)分析與簡(jiǎn)單設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGE

海南大學(xué)課程論文

課程名稱(chēng):通信原理設(shè)計(jì)型實(shí)驗(yàn)

題目名稱(chēng):數(shù)字信號(hào)傳輸系統(tǒng)分析與簡(jiǎn)單設(shè)計(jì)

學(xué)院:信息科學(xué)技術(shù)學(xué)院

專(zhuān)業(yè)班級(jí):10電子信息工程

姓名:

學(xué)號(hào):201016013100

指導(dǎo)老師:周又玲

評(píng)閱意見(jiàn)

評(píng)閱成績(jī)

評(píng)閱教師:

2013年月日

目錄

一. 設(shè)計(jì)目的和任務(wù)

1

二. 設(shè)計(jì)內(nèi)容

1

1. 數(shù)字基帶信號(hào)傳輸設(shè)計(jì)

1

(1). AMI(AlternativeMarkInversion)編碼

1

(2). HDB3(HighDensityBipolaroforder3code)編碼

1

(4). HDB3編碼解碼程序:

2

2. 數(shù)字帶通傳輸系統(tǒng)設(shè)計(jì)

3

(1). 振幅鍵控(AmplitudeShiftKeying,英文縮寫(xiě)為ASK)

3

(2). ASK調(diào)制仿真程序:

4

(3). 頻移鍵控(frequency-shiftkeying,英文縮寫(xiě)FSK)

5

(4). 2FSK調(diào)制仿真程序:

6

三. 仿真結(jié)果與結(jié)果分析

9

1. HDB3仿真

9

2. 2ASK仿真

11

3. 2FSK仿真

13

四. 總結(jié)與實(shí)驗(yàn)心得

14

參考資料

附錄

設(shè)計(jì)目的和任務(wù)

了解并嘗試設(shè)計(jì)數(shù)字基帶信號(hào)調(diào)制器和解調(diào)器,模擬對(duì)二進(jìn)制信號(hào)的基帶傳輸。

了解并嘗試設(shè)計(jì)一種或多種類(lèi)型的數(shù)字帶通傳輸系統(tǒng),對(duì)二進(jìn)制信號(hào)進(jìn)行二進(jìn)制數(shù)字調(diào)制。

比較數(shù)字基帶信號(hào)傳輸和數(shù)字帶通傳輸系統(tǒng)的不同。

設(shè)計(jì)內(nèi)容

數(shù)字基帶信號(hào)傳輸設(shè)計(jì)

未經(jīng)調(diào)制的數(shù)字信號(hào)所占據(jù)的頻譜是從零頻或更低頻率開(kāi)始,稱(chēng)為數(shù)字基帶信號(hào),這種不經(jīng)載波調(diào)制而直接傳輸?shù)臄?shù)字基帶信號(hào)系統(tǒng)便稱(chēng)為數(shù)字基帶傳輸系統(tǒng)。

AMI(AlternativeMarkInversion)編碼

AMI的漢語(yǔ)全稱(chēng)是信號(hào)交替反轉(zhuǎn)碼,為極性交替翻轉(zhuǎn)碼,分別有一個(gè)高電平和低電平表示兩個(gè)極性。

編碼規(guī)則是消息代碼中的“0”不變,消息代碼中的“1”交替變換為“+1”和“-1”。

AMI碼的優(yōu)點(diǎn)是沒(méi)有直流成分,且高頻低頻分量少,能量集中在頻率為1/2碼速處;編解碼電路簡(jiǎn)單,且可利用傳號(hào)極性交替這一規(guī)律觀察誤碼情況,是較為常用的傳輸碼型之一。缺點(diǎn)是當(dāng)源碼出現(xiàn)長(zhǎng)連“0”串時(shí),信號(hào)的電平長(zhǎng)時(shí)間不跳變,造成提取定時(shí)信號(hào)的困難。

AMI的解碼規(guī)則是從收到的符號(hào)序列中將所有的-1變換成+1后,就可以得到原消息代碼。

HDB3(HighDensityBipolaroforder3code)編碼

HDB3的漢語(yǔ)全稱(chēng)是三階高密度雙極性碼,他是AMI碼的一種改進(jìn),改進(jìn)的目的是為了保持AMI碼的有點(diǎn)而克服其缺點(diǎn),使連“0”個(gè)數(shù)不超過(guò)3個(gè)。是目前應(yīng)用最為廣泛的碼型。

其編碼規(guī)則是:

先將消息代碼變換成AMI碼,若AMI碼中連0的個(gè)數(shù)小于4,此時(shí)的AMI碼就是HDB3碼;

若AMI碼中連0的個(gè)數(shù)大于3,則將每4個(gè)連0小段的第4個(gè)0變換成與前一個(gè)非0符號(hào)(+1或-1)同極性的符號(hào),用表示(+1+,-1-);

為了不破壞極性交替反轉(zhuǎn),當(dāng)相鄰符號(hào)之間有偶數(shù)個(gè)非0符號(hào)時(shí),再將該小段的第1個(gè)0變換成+B或-B,符號(hào)的極性與前一非零符號(hào)的相反,并讓后面的非零符號(hào)從符號(hào)開(kāi)始再交替變化。

HDB3編碼的優(yōu)點(diǎn)除了具有AMI碼的優(yōu)點(diǎn)即沒(méi)有直流成分,高低頻分量少等等外還能保證定時(shí)信息的提取。缺點(diǎn)是編碼比較復(fù)雜。

HDB3編碼解碼程序:

%==========HDB3編碼===========%

temp=n;

S=0;%+\-改極性用標(biāo)志位

AMI=send;

fork=1:temp

ifabs(AMI(k))==1

ifS~=0;

AMI(k)=-1*AMI(k);%將當(dāng)前數(shù)改為與其前一位的數(shù)極性相反

end

S=~S;

end

end

HDB=AMI;

Sx=0;

Sv=0;%用于記錄破壞脈沖和調(diào)節(jié)脈沖前信息位的極性

fork=1:temp-3

ifabs(HDB(k))==1

Sx=HDB(k);

end

if(HDB(k)==0&&HDB(k+1)==0&&HDB(k+2)==0&&HDB(k+3)==0)%檢測(cè)是否連續(xù)4個(gè)碼元都是0

if(Sv~=Sx)

HDB(k)=0;

HDB(k+3)=Sx;%原來(lái)的程序:HDB(k+3)=2*m;%用2表示書(shū)上的V

Sv=Sx;

else

HDB(k)=-Sx;

HDB(k+3)=-Sx;

Sv=-Sx;

end

end

end

HDB;

%========HDB3解碼===========%

Sx=0;

fork=1:temp

ifabs(signal(k))>=0.66%設(shè)定判決門(mén)限為:大于0.36判定為1,小于-0.36判定為-1

if(Sx~=(abs(signal(k)/signal(k))))%如果前后符號(hào)一致則不譯碼為1

Sx=signal(k);

signal(k)=1;

else

Sx=(abs(signal(k)/signal(k)));%如果當(dāng)前收到的碼和之前的不一致,所以為0

signal(k-3)=0;

signal(k)=0;%每個(gè)V和B都變成0

Sx=0;%若當(dāng)前位為破壞碼,則清零標(biāo)志位,以免出錯(cuò)

end

else

signal(k)=0;

end

end

res=signal;%解碼后的恢復(fù)序列

error=0;%錯(cuò)誤個(gè)數(shù)統(tǒng)計(jì)

fork=1:temp

if(res(k)-x(k))~=0

error=error+1;

end

end

注:在進(jìn)行HDB3碼編碼的過(guò)程中會(huì)產(chǎn)生AMI碼由于HDB3碼直接在信道傳輸和經(jīng)過(guò)變化后在信號(hào)傳輸受噪聲影響效果接近,所以在本次設(shè)計(jì)中簡(jiǎn)化了此過(guò)程,直接用HDB3碼進(jìn)行模擬傳輸。

數(shù)字帶通傳輸系統(tǒng)設(shè)計(jì)

在實(shí)際中的大多數(shù)信道因具有帶通特性而不能直接傳輸基帶信號(hào),這是因?yàn)閿?shù)字基帶信號(hào)往往具有豐富的低頻分量。為了使數(shù)字信號(hào)在帶通信道中傳輸,必須用數(shù)字基帶信號(hào)對(duì)載波進(jìn)行調(diào)制,以使信號(hào)與信道想匹配。這種用數(shù)字基帶信號(hào)控制載波,把數(shù)字基帶信號(hào)變換為數(shù)字帶通信號(hào)的過(guò)程稱(chēng)為數(shù)字調(diào)制。反過(guò)來(lái)把帶通信號(hào)還原成數(shù)字基帶信號(hào)的過(guò)程稱(chēng)為數(shù)字?jǐn)?shù)字解調(diào)。通常把數(shù)字調(diào)制與解調(diào)過(guò)程的數(shù)字傳輸系統(tǒng)叫做數(shù)字帶通傳輸系統(tǒng)。

振幅鍵控(AmplitudeShiftKeying,英文縮寫(xiě)為ASK)

振幅鍵控是載波的振幅隨著數(shù)字基帶信號(hào)而變化的數(shù)字調(diào)制。當(dāng)數(shù)字基帶信號(hào)為二進(jìn)制時(shí),則為二進(jìn)制振幅鍵控(2ASK),2ASK中載波只有兩種變化狀態(tài),分別對(duì)應(yīng)二進(jìn)制信息“0”或“1”。

2ASK信號(hào)的產(chǎn)生方法通常有兩種:模擬調(diào)制法(圖a)和鍵控法(圖b).

2ASK解調(diào)方式也有兩種基本的解調(diào)方法:非相干解調(diào)(圖c)和相干解調(diào)(圖d)。

圖c非相干解調(diào)原理框圖

圖d相干解調(diào)原理框圖

ASK是20世紀(jì)最初最早運(yùn)用于無(wú)線(xiàn)電報(bào)中的數(shù)字調(diào)制方式之一,但是其受到噪聲影響很大,是受噪聲影響最大的調(diào)制技術(shù),所以現(xiàn)在已經(jīng)較少應(yīng)用,只是作為研究其他數(shù)字調(diào)制的基礎(chǔ)時(shí)的參考。

ASK調(diào)制仿真程序:

%===========ASK調(diào)制============%

N=100;

bita=[];%基帶信號(hào)

sl=[];%載波信號(hào)

bitRate=1e3;

fc=1e3;%載頻1KHZ

t=linspace(0,1/bitRate,N);

fori=1:length(send)%send是未調(diào)制的信源信號(hào)

ifsend(i)==0

bit1=zeros(1,N);

elseifsend(i)==1

bit1=ones(1,N);

end

bita=[bita,bit1];

c=sin(2*pi*t*fc);

sl=[slc];

end

tz=bita*10.*sl;%與載波香相乘進(jìn)行調(diào)制

signal=awgn(tz,snr,'measured');%加入高斯白噪聲

%==============ASK的非相干解調(diào)===============%

[b,send]=ellip(4,0.1,40,[999.9,1000.1]*2/3e3);%設(shè)計(jì)IIR帶通濾波器,階數(shù)為4,通帶紋波0.1,阻帶衰減40DB,抽樣頻率400HZ

sf=filter(b,send,signal);%信號(hào)通過(guò)該濾波器

[b,send]=ellip(4,0.1,40,[50]*2/3e3);%設(shè)計(jì)IIR低通濾波器

sf1=filter(b,send,signal2);%信號(hào)通過(guò)該濾波器,輸出信號(hào)sf

sf2=[];

LL=fc/bitRate*N;

i=LL/2;

bitb=[];%調(diào)制信號(hào)

%====================判決===================%

while(i<=length(sf1))

sf2=[sf2,sf1(i)>=0.01];%門(mén)限設(shè)為大于0.01時(shí)判定為極性,根據(jù)環(huán)境更改

i=i+LL;

end

fori=1:length(sf2)

ifsf2(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bitb=[bitb,bit1];%得到解調(diào)后的信號(hào)

end

頻移鍵控(frequency-shiftkeying,英文縮寫(xiě)FSK)

是利用兩個(gè)不同頻率F1和F2的振蕩源來(lái)代表信號(hào)1和0。用數(shù)字信號(hào)的1和0去控制兩個(gè)獨(dú)立的振蕩源交替輸出。對(duì)二進(jìn)制的頻移鍵控

調(diào)制方式

,其有效帶寬為B=2xF+2Fb,xF,是二進(jìn)制基帶信號(hào)的帶寬也是FSK信號(hào)的最大頻偏,由于數(shù)字信號(hào)的帶寬即Fb值大,所以

二進(jìn)制頻移鍵控

的信號(hào)帶寬比較大,頻帶利用率小。

2FSK信號(hào)的產(chǎn)生方法主要有兩種:是采用模擬調(diào)制電路實(shí)現(xiàn)(圖e),采用鍵控法實(shí)現(xiàn)(圖f)。

圖e模擬調(diào)制原理圖圖f鍵控法調(diào)制原理圖

2FSK解調(diào)方式主要的也有兩種:非相干解調(diào)(圖g)和相干解調(diào)(圖h)。除此之外還有其他解調(diào)方法如鑒頻法、差分檢測(cè)法、過(guò)零檢測(cè)法等。

圖g非相干解調(diào)原理框圖

圖h相干解調(diào)原理框圖

2FSK調(diào)制仿真程序:

%============2FSK調(diào)制=============%

N=100;%模擬一個(gè)碼元的點(diǎn)數(shù)

bita=[];%基帶信號(hào)

fori=1:length(send)%send為輸入信號(hào)

ifsend(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bita=[bita,bit1];%基帶信號(hào)

end

bitRate=1e3;%每一個(gè)碼元中采樣點(diǎn)的間隔寬度0.001s

fc=1e3;%載頻1KHZ

t=linspace(0,1/bitRate,N);

tz=[];%調(diào)制信號(hào)

c1=sin(2*pi*t*fc);%載波

c2=sin(2*pi*t*fc*2);%載波

fori=1:length(send)

ifsend(i)==1

tz=[tz,c1];

else

tz=[tz,c2];

end

end

signal=awgn(tz,snr,'measured');%加噪,信噪比為snr,由外設(shè)定

%===============解調(diào)===============%

Fs=5e3;%采樣頻率設(shè)為400HZ

[b1,a1]=ellip(4,0.1,40,[999.9,1000.1]*2/Fs);%設(shè)計(jì)IIR帶通濾波器,階數(shù)為4,通帶紋波0.1,阻帶衰減40DB

[b2,a2]=ellip(4,0.1,40,[1999.9,2000.1]*2/Fs);

sa=filter(b1,a1,signal);%信號(hào)通過(guò)IIR帶通濾波器

sb=filter(b2,a2,signal);

%===============相乘器===============%

t=linspace(0,1/bitRate,N);

c1=sin(2*pi*t*fc);

c2=sin(2*pi*t*fc*2);

sia=[];

sib=[];

fori=1:n

sia=[sia,c1];

sib=[sib,c2];

end

siga=sa.*sia;%乘同頻同相sia

sigb=sb.*sib;%乘同頻同相sib

%================LPF================%

Fs=5e3;%抽樣頻率設(shè)為400HZ

[b1,a1]=ellip(4,0.1,40,[50]*2/Fs);%設(shè)計(jì)IIR低通濾波器

[b2,a2]=ellip(4,0.1,40,[50]*2/Fs);%設(shè)計(jì)IIR低通濾波器

sfa=filter(b1,a1,siga);%信號(hào)通過(guò)該濾波器,輸出信號(hào)sfa

sfb=filter(b2,a2,sigb);%信號(hào)通過(guò)該濾波器,輸出信號(hào)sfb

%==============抽樣判決==================%

s2a=[];s2b=[];

LL=fc/bitRate*N;

i1=LL/2;i2=LL;

bitb=[];%解調(diào)后的信號(hào)

while(i1<=length(sfa))%判決過(guò)程

s2a=[s2a,sfa(i1)>=0];

i1=i1+LL;

end

while(i2<=length(sfb))

s2b=[s2b,sfb(i2)<=0];

i2=i2+LL;

end

fori=1:n

ifs2a(i)>s2b(i)%接收的上支路大判為0,反正判為1

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bitb=[bitb,bit1];%bitb即為解調(diào)后的信號(hào)

end

仿真結(jié)果與結(jié)果分析

調(diào)用m文件函數(shù),輸入一個(gè)隨機(jī)的二進(jìn)制數(shù),個(gè)數(shù)為20,設(shè)置信噪比為60:

出現(xiàn)一個(gè)選擇框,進(jìn)行仿真的選擇:

HDB3仿真

選擇HDB3,會(huì)進(jìn)行HDB3編碼和譯碼的仿真,生成圖像figure(1),并在MATLAB的命令窗口顯示出誤碼的個(gè)數(shù):

仿真生成的圖像

結(jié)果顯示為0個(gè)誤碼

從仿真圖像中可以看出來(lái),信噪比60的情況下,輸入信號(hào)個(gè)數(shù)為20時(shí)沒(méi)有長(zhǎng)生誤碼。因?yàn)樵肼暤墓β市?,所以?duì)信號(hào)影響不大,這點(diǎn)可以從“信號(hào)+噪聲”的結(jié)果圖中看出來(lái)信號(hào)波形沒(méi)有較大的變化,所以經(jīng)過(guò)解調(diào)之后沒(méi)有產(chǎn)生誤碼。

若將信噪比減小,并將輸入碼元的個(gè)數(shù)增大會(huì)得到以下的結(jié)果:

AMI編碼HDB3編碼和加噪聲圖

誤碼結(jié)果

從上面的兩幅圖中可以看到AMI碼和HDB3碼的不同之處,在長(zhǎng)串連“0”時(shí),HDB3會(huì)進(jìn)行破壞碼編碼。

信噪比低(信噪比設(shè)為5)的情況下,加噪聲后的波形部分發(fā)生嚴(yán)重的失真,導(dǎo)致誤碼的產(chǎn)生,產(chǎn)生的誤碼數(shù)為43個(gè)誤碼。

說(shuō)明在信噪比較低的情況下,用HDB3碼傳輸信息還是會(huì)產(chǎn)生較多的誤碼,誤碼率超過(guò)了25%。

2ASK仿真

選擇2ASK調(diào)制解調(diào)系統(tǒng)時(shí)的結(jié)果圖和誤碼個(gè)數(shù)為0:

誤碼統(tǒng)計(jì)結(jié)果

從實(shí)驗(yàn)結(jié)果中可以看出在同樣的條件下,輸入一個(gè)20個(gè)碼元的信號(hào),信噪比設(shè)為60時(shí),對(duì)信號(hào)進(jìn)行2ASK調(diào)制解調(diào)的出來(lái)的結(jié)果也沒(méi)有產(chǎn)生誤碼。原因和HDB3編碼傳輸時(shí)的原因相同,恕不贅述。

從figure(1)中的第二幅圖可以看出2ASK調(diào)制是幅度調(diào)制,經(jīng)過(guò)全波整流之后相當(dāng)于對(duì)調(diào)制信號(hào)取絕對(duì)值,然后經(jīng)過(guò)低通濾波之后濾除高頻部分,得到基波信號(hào)。

將輸入信號(hào)改為200碼元的隨機(jī)二進(jìn)制信號(hào),信噪比設(shè)為5,可以看到結(jié)果中產(chǎn)生了2個(gè)誤碼,較HDB3編碼傳輸?shù)恼`碼率大大減少。當(dāng)

誤碼統(tǒng)計(jì)結(jié)果

仿真部分結(jié)果

2ASK調(diào)制時(shí)判決門(mén)限要根據(jù)信道環(huán)境和信號(hào)的強(qiáng)度和極性百分比進(jìn)行設(shè)值,否則會(huì)產(chǎn)生很大的誤碼率。在實(shí)驗(yàn)時(shí),將載波信號(hào)的幅度加大,若是判決門(mén)限設(shè)的太低則會(huì)產(chǎn)生較大的誤碼率。相反,載波幅值較小時(shí),判決門(mén)限就要相應(yīng)的考慮設(shè)值偏小。

2FSK仿真

選擇2FSK調(diào)制解調(diào)系統(tǒng)時(shí)的結(jié)果圖和誤碼個(gè)數(shù)為0:

誤碼結(jié)果

從figure(1)中對(duì)比第一和第二幅圖可以看出2FSK調(diào)制規(guī)律,是根據(jù)信號(hào)的不同極性進(jìn)行頻率調(diào)制,產(chǎn)生編碼。調(diào)制的信號(hào)進(jìn)行非相干解調(diào),將2FSK信號(hào)分解成為上下兩路信號(hào)分別進(jìn)行解調(diào),然后進(jìn)行判決。判決的門(mén)限不用專(zhuān)門(mén)設(shè)置,而是直接比較兩路信號(hào)抽樣值的大小而判為“1”或“0”。這樣可以降低誤碼的產(chǎn)生,在進(jìn)行解調(diào)時(shí)不用考慮太多的情況。分解之后的兩路信號(hào)通過(guò)相乘器與同頻率的余弦函數(shù)相乘得到類(lèi)似于2ASK解調(diào)時(shí)的全波整流的結(jié)果。

由理論可知2FSK調(diào)制收噪聲影響較小,在相同輸入為20個(gè)碼元的信息時(shí)沒(méi)有產(chǎn)生誤碼。當(dāng)將輸入增加到200個(gè),信噪比設(shè)為5時(shí)的結(jié)果如下:

可以看出和誤碼個(gè)數(shù)為0個(gè),將信噪比設(shè)為1,碼元個(gè)數(shù)增加到1000個(gè)碼元驗(yàn)證2FSK調(diào)制的誤碼情況:

從結(jié)果中可以看出來(lái)在信噪比為1的情況下誤碼率為6.6%??垢蓴_效果十分理想。

總結(jié)與實(shí)驗(yàn)心得

本次實(shí)驗(yàn)設(shè)計(jì)從信源處討論,分析數(shù)字信號(hào)基帶傳輸系統(tǒng)和數(shù)字信號(hào)帶通傳輸系統(tǒng)的實(shí)現(xiàn)原理,模擬兩種類(lèi)型傳輸系統(tǒng)和同一種系統(tǒng)不同種信息傳輸方法的實(shí)現(xiàn),對(duì)比其不同。加深對(duì)編碼解碼,調(diào)制解調(diào)的了解。整個(gè)實(shí)驗(yàn)過(guò)程中所用的軟件為MATLAB7.10。

由于本次實(shí)驗(yàn)設(shè)計(jì)開(kāi)始的比較晚,時(shí)間比較緊,做的略有不足。實(shí)驗(yàn)從開(kāi)始構(gòu)思、設(shè)計(jì)、程序編寫(xiě)到軟件仿真得出結(jié)果這個(gè)過(guò)程持續(xù)了四至五天,整個(gè)過(guò)程都是由自己一個(gè)人獨(dú)立進(jìn)行,通過(guò)查閱所學(xué)過(guò)課程、查閱課外的書(shū)籍和網(wǎng)上查找資料完成實(shí)驗(yàn)。

由于對(duì)MATLAB中一些高級(jí)的用法不是很了解,對(duì)某些專(zhuān)業(yè)用的函數(shù)也不是很掌握,在許多MATLAB教程書(shū)籍中也沒(méi)有很好的寫(xiě)出來(lái),在進(jìn)行設(shè)計(jì)過(guò)程中從網(wǎng)絡(luò)資源中找了許多他人的作品,借鑒了許多有用的MATLAB使用技巧,使實(shí)驗(yàn)做的更加完美和在仿真時(shí)變得十分方便。比如輸入多變量的函數(shù)編寫(xiě),以控制信號(hào)的碼元個(gè)數(shù)、原碼和信噪比,使得在實(shí)驗(yàn)仿真過(guò)程中可以很方便的查看不同信噪比對(duì)信息傳輸時(shí)的影響。

通過(guò)實(shí)驗(yàn)讓我從大體結(jié)構(gòu)上了解到了在信息傳輸時(shí)對(duì)信源的處理,加深對(duì)HDB3碼的編碼的特點(diǎn)和掌握了編碼實(shí)現(xiàn)方法;增進(jìn)對(duì)2ASK和2FSK調(diào)制解調(diào)系統(tǒng)的理解和總體框架的構(gòu)造,還有學(xué)習(xí)了系統(tǒng)中所用到的各種濾波器的MATLAB仿真用法及參數(shù)設(shè)計(jì)??偠灾瑢?shí)驗(yàn)并不完美,有許多不盡人意之處還有待改善,通過(guò)實(shí)驗(yàn)我不僅熟悉了通信原理課程所學(xué)的部分知識(shí),也學(xué)習(xí)了MATLAB,收獲很大。

參考資料:

《通信原理(第六版)》樊昌信曹麗娜國(guó)防工業(yè)出版社

《MATLAB在電氣信息類(lèi)專(zhuān)業(yè)中的應(yīng)用》周又玲清華大學(xué)教育出版社

《MATLAB寶典》陳杰電子工業(yè)出版社

附錄:

完整m文件程序:

function[y]=TXtest(x,n,snr)

%輸入信源碼元、碼元個(gè)數(shù)和信噪比,

%選擇調(diào)制和解調(diào)方式,得到結(jié)果,輸出誤碼個(gè)數(shù);

%x為信源,n為碼元個(gè)數(shù)輸入,snr為信噪比;

send=x;

swit=menu('選擇通信方式','HDB3','2ASK','2FSK');%創(chuàng)建目錄

switchswit

%==================================%

%==========HDB3編碼與解碼===========%

case1,scolor='HDB3';

%========HDB3編碼===========%

temp=n;

S=0;%+\-改極性用標(biāo)志位

AMI=send;

fork=1:temp

ifabs(AMI(k))==1

ifS~=0;

AMI(k)=-1*AMI(k);%將當(dāng)前數(shù)改為與其前一位的數(shù)極性相反

end

S=~S;

end

end

HDB=AMI;

Sx=0;

Sv=0;%用于記錄破壞脈沖和調(diào)節(jié)脈沖前信息位的極性

fork=1:temp-3

ifabs(HDB(k))==1

Sx=HDB(k);

end

if(HDB(k)==0&&HDB(k+1)==0&&HDB(k+2)==0&&HDB(k+3)==0)%檢測(cè)是否連續(xù)4個(gè)碼元都是0

if(Sv~=Sx)

HDB(k)=0;

HDB(k+3)=Sx;%原來(lái)的程序:HDB(k+3)=2*m;%用2表示書(shū)上的V

Sv=Sx;

else

HDB(k)=-Sx;

HDB(k+3)=-Sx;

Sv=-Sx;

end

end

end

HDB;

figure(1);

subplot(5,1,1);plot(x,'LineWidth',1.5),title('基帶信號(hào)'),gridon;axis([0,n,-2.5,2.5]);

subplot(5,1,2);plot(AMI,'LineWidth',1.5),gridon;title('AMI編碼'),axis([0,n,-2.5,2.5]);

subplot(5,1,3);plot(HDB,'LineWidth',1.5),gridon;title('HDB3編碼'),axis([0,n,-2.5,2.5]);

signal=awgn(HDB,snr,'measured');%加入設(shè)定信噪比的高斯白噪聲

subplot(5,1,4);plot(signal,'LineWidth',1.5),gridon;title('信號(hào)+噪聲'),axis([0,n,-2.5,2.5]);

%========HDB3解碼===========%

Sx=0;

fork=1:temp

ifabs(signal(k))>=0.66%設(shè)定判決門(mén)限為:大于0.36判定為1,小于-0.36判定為-1

if(Sx~=(abs(signal(k)/signal(k))))%如果前后符號(hào)一致則不譯碼為1

Sx=signal(k);

signal(k)=1;

else

Sx=(abs(signal(k)/signal(k)));%如果當(dāng)前收到的碼和之前的不一致,所以為0

signal(k-3)=0;

signal(k)=0;%每個(gè)V和B都變成0

Sx=0;%若當(dāng)前位為破壞碼,則清零標(biāo)志位,以免出錯(cuò)

end

else

signal(k)=0;

end

end

res=signal;%解碼后的恢復(fù)序列

error=0;%錯(cuò)誤個(gè)數(shù)統(tǒng)計(jì)

fork=1:temp

if(res(k)-x(k))~=0

error=error+1;

end

end

y=error;

subplot(5,1,5);plot(res,'LineWidth',1.5),gridon;title('HDB3編碼解碼結(jié)果'),axis([0,n,-2.5,2.5]);

%====================================%

%========2ASK調(diào)制與解調(diào)仿真===========%

case2,scolor='2ASK';

%=====調(diào)制=====%

N=100;

bita=[];%基帶信號(hào)

sl=[];%載波信號(hào)

bitRate=1e3;

fc=1e3;%載頻1KHZ

t=linspace(0,1/bitRate,N);

fori=1:length(send)

ifsend(i)==0

bit1=zeros(1,N);

elseifsend(i)==1

bit1=ones(1,N);

end

bita=[bita,bit1];

c=sin(2*pi*t*fc);

sl=[slc];

end

figure(1);

subplot(4,1,1);plot(bita,'LineWidth',1.5),title('基帶信號(hào)'),gridon;axis([0,N*length(send),-2.5,2.5]);

tz=bita*10.*sl;%進(jìn)行ASK調(diào)制

subplot(4,1,2);plot(tz,'LineWidth',1.5);title('ASK調(diào)制后信號(hào)');gridon;

signal=awgn(tz,snr,'measured');%加入高斯白噪聲

subplot(4,1,3);plot(signal,'LineWidth',1.5),gridon;title('信號(hào)+噪聲')

%=======ASK的非相干解調(diào)=======%

[b,send]=ellip(4,0.1,40,[999.9,1000.1]*2/3e3);%設(shè)計(jì)IIR帶通濾波器,階數(shù)為4,通帶紋波0.1,阻帶衰減40DB,抽樣頻率400HZ

sf=filter(b,send,signal);%信號(hào)通過(guò)該濾波器

figure(2);

subplot(3,1,1);plot(sf,'LineWidth',1.5),gridon;title('BPF')

signal2=sf.*sl;%乘同頻同相信號(hào)完成全波整流

subplot(3,1,2);plot(signal2,'LineWidth',1.5),gridon;title('全波整流器');

[b,send]=ellip(4,0.1,40,[50]*2/3e3);%設(shè)計(jì)IIR低通濾波器

sf1=filter(b,send,signal2);%信號(hào)通過(guò)該濾波器,輸出信號(hào)sf

subplot(3,1,3);plot(sf1,'LineWidth',1.5),gridon;title('LPF');

sf2=[];

LL=fc/bitRate*N;

i=LL/2;

bitb=[];%調(diào)制信號(hào)

%==============判決==============%

while(i<=length(sf1))

sf2=[sf2,sf1(i)>=0.01];%門(mén)限設(shè)為大于0.001時(shí)判定為極性,根據(jù)環(huán)境更改

i=i+LL;

end

fori=1:length(sf2)

ifsf2(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bitb=[bitb,bit1];%得到解調(diào)后的信號(hào)

end

figure(1);

subplot(4,1,4);plot(bitb,'LineWidth',1.5),gridon;title('解調(diào)后信號(hào)');axis([0,N*length(sf2),-2.5,2.5]);

%=====將接碼改成與發(fā)送碼形式相同的碼元,并判斷誤碼個(gè)數(shù)=========%

temp=1;

stat=0;%統(tǒng)計(jì)“1”的個(gè)數(shù)用以判斷信號(hào)極性

fori=1:length(bitb)

iftemp<N%計(jì)數(shù)小于碼元長(zhǎng)度時(shí)統(tǒng)計(jì)碼元的判定情況

temp=temp+1;

ifbitb(i)==1

stat=stat+1;

else

stat=stat-1;

end

else%計(jì)數(shù)等于碼元長(zhǎng)度時(shí)給碼元賦值“0”或“1”恢復(fù)原碼

temp=1;

ifstat>0

res(i/N)=1;%解調(diào)后的信號(hào)

else

res(i/N)=0;

end

stat=0;

end

end

%=====統(tǒng)計(jì)誤碼個(gè)數(shù)====%

error=0;%誤碼數(shù)

fork=1:n

if(res(k)-x(k))~=0%有誤碼則加一

error=error+1;

end

end

y=error;

%============================%

%=======2FSK調(diào)制與解調(diào)=======%

case3,scolor='2FSK';

%=====2FSK調(diào)制====%

N=100;%模擬一個(gè)碼元的點(diǎn)數(shù)

bita=[];%基帶信號(hào)

fori=1:length(send)

ifsend(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bita=[bita,bit1];%基帶信號(hào)

end

figure(1);

subplot(4,1,1);plot(bita,'LineWidth',1.5),title('基帶信號(hào)'),gridon;axis([0,N*length(send),-2.5,2.5]);

bitRate=1e3;%每一個(gè)碼元中采樣點(diǎn)的間隔寬度0.001s

fc=1e3;%載頻1KHZ

t=linspace(0,1/bitRate,N);

tz=[];%調(diào)制信號(hào)

c1=sin(2*pi*t*fc);%載波

c2=sin(2*pi*t*fc*2);%載波

fori=1:length(send)

ifsend(i)==1

tz=[tz,c1];

else

tz=[tz,c2];

end

end

subplot(4,1,2);plot(tz,'LineWidth',1.5);title('2FSK已調(diào)信號(hào)');gridon;

signal=awgn(tz,snr,'measured');%加噪

subplot(4,1,3);plot(signal,'LineWidth',1.5),gridon;title('信號(hào)+噪聲')

%===========解調(diào)============%

Fs=5e3;%采樣頻率設(shè)為400HZ

[b1,a1]=ellip(4,0.1,40,[999.9,1000.1]*2/Fs);%設(shè)計(jì)IIR帶通濾波器,階數(shù)為4,通帶紋波0.1,阻帶衰減40DB

[b2,a2]=ellip(4,0.1,40,[1999.9,2000.1]*2/Fs);

sa=filter(b1,a1,signal);%信號(hào)通過(guò)IIR帶通濾波器

sb=filter(b2,a2,signal);

figure(2);

subplot(3,2,1);plot(sa,'LineWidth',1.5),gridon;title('BPF')

subplot(3,2,2);plot(sb,'LineWidth',1.5),gridon;title('BPF')

%==========相乘器=============%

t=linspace(0,1/bitRate,N);

c1=sin(2*pi*t*fc);

c2=sin(2*pi*t*fc*2);

sia=[];

sib=[];

fori

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論