通信原理matlab課程設(shè)計報告_第1頁
通信原理matlab課程設(shè)計報告_第2頁
通信原理matlab課程設(shè)計報告_第3頁
通信原理matlab課程設(shè)計報告_第4頁
通信原理matlab課程設(shè)計報告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、問題描述1. 使用matlab編程完成hdb3的編碼與解碼。2. 課程設(shè)計需要運用matlab編程實現(xiàn)2ask,2fsk,2psk,2dpsk調(diào)制解調(diào)過程,并且輸出其源碼,調(diào)制后碼元以及解調(diào)后碼元的波形。二、實驗原理1.hdb3編碼解碼原理hdb3碼:三階高密度雙極性碼。 hdb3碼與二進制序列的關(guān)系: (1)二進制信號序列中的“0”碼在hdb3碼中仍編為“0”碼,二進制信號中“1”碼,在hdb3碼中應(yīng)交替地成+1和-1碼,但序列中出現(xiàn)四個連“0”碼時應(yīng)按特殊規(guī)律編碼(引入傳號交替反轉(zhuǎn)碼的“破壞點”v碼); (2)二進制序列中四個連“0”按以下規(guī)則編碼:信碼中出現(xiàn)四個連“0”碼時,要將這四

2、個連“0”碼用000v或b00v取代節(jié)來代替(b和v也是“1”碼,可正、可負)。這兩個取代節(jié)選取原則是,使任意兩個相鄰v脈沖間的傳號數(shù)為奇數(shù)時選用000v取代節(jié),偶數(shù)時則選用b00v取代節(jié)。2.二進制數(shù)字調(diào)制技術(shù)原理數(shù)字信號的傳輸方式分為基帶傳輸和帶通傳輸,在實際應(yīng)用中,大多數(shù)信道具有帶通特性而不能直接傳輸基帶信號。為了使數(shù)字信號在帶通信道中傳輸,必須使用數(shù)字基帶信號對載波進行調(diào)制,以使信號與信道的特性相匹配。這種用數(shù)字基帶信號控制載波,把數(shù)字基帶信號變換為數(shù)字帶通信號的過程稱為數(shù)字調(diào)制。通常使用鍵控法來實現(xiàn)數(shù)字調(diào)制,比如對載波的振幅、頻率和相位進行鍵控。(1)2ask信號的產(chǎn)生方法通常有兩種

3、:模擬調(diào)制和鍵控法。解調(diào)有相干解調(diào)和非相干解調(diào)。p=1時f(t)=acoswt;p=0時f(t)=0;其功率譜密度是基帶信號功率譜的線性搬移(2) 一個2fsk信號可以看成是兩個不同載波的2ask信號的疊加。其解調(diào)和解調(diào)方法和ask差不多。2fsk信號的頻譜可以看成是f1和f2的兩個2ask頻譜的組合。(3) 2psk以載波的相位變化作為參考基準的,當基帶信號為0時相位相對于初始相位為0, 當基帶信號為1時相對于初始相位為180。(4) 2dpsk調(diào)制原理方框圖如下圖。s(t) 載波移相p碼變換 a(t) 間接法信號調(diào)制器原理方框圖2dpsk信號的解調(diào),主要有兩種方法,即相位比較法和相干解調(diào)法

4、。相干解調(diào)法原理方框圖如下圖: 帶通濾波相乘低通濾波抽樣判決逆碼變換本地載波 提取相干解調(diào)法原理方框圖三、源程序clearclca=20; %a表示元素個數(shù),可以修改碼元為任意個數(shù)如1024r=unidrnd(2,1,a-1); %隨機產(chǎn)生離散均勻二值分布(1,2),共a-1個rn=r-1; %每個元素減1變?yōu)椋?,1)二值隨機數(shù)列rn=1,rn; %跟書上一致,從1開始隨機產(chǎn)生離散均勻二值分布(1,2),共a個ori=rn; %將原序列保存起來,便于后面解碼后比較oril=1; for k=1:a-3 if abs(rn(k)=1 m=rn(k); %m記錄可能存在的連續(xù)4個0前面非零碼元的

5、符號 end if rn(k)=0 if rn(k+1)=0 if rn(k+2)=0 if rn(k+3)=0 %檢測是否連續(xù)4個碼元都是0 rn(k+3)=2*m; %用2表示書上的v end end end endendrn ; %插入v(2)后 checked l=1; %l=1表示兩個v之間有偶數(shù)個非零碼,0是偶數(shù),所以初始為1,l=-1表示兩個v之間有奇數(shù)個非零碼for s=1:a if abs(rn(s)=2 for d=s+1:a if abs(rn(d)=1 %v之間的非零碼只有+1,-1遇到一個一使l變一次號,表示偶數(shù)或奇數(shù) l=-l; end if abs(rn(d)=2

6、 if l=1 l=1; %不需要插入b時若檢測到v也應(yīng)把計數(shù)器清零 %最初版本的升級處1 else %檢測到下一個v時,若為偶數(shù)個,則插入b rn(d-3)=3*(-(rn(d-4)/(abs(rn(d-4); %3代表b,插入不帶符號的b rn(d:a)=-rn(d:a); end %v后的符號再交替 end end endendrn %到此處完成了插入不帶符號的b%for s=1:a % if abs(rn(s)=3 %找到b %rn(s)=rn(s)*(-(rn(s-1)/(abs(rn(s-1); %b(3)與前一個位置的帶符號的歸一值相乘再取反,實現(xiàn)符號b(3)的極性與前一非符號的

7、相反 %b后面第三個就是接下來的v,從它開始非零碼正負號交替變化 %end%end hdb=rn; %給b(3)添加了符號,并且實現(xiàn)了v后的符號再交替hdb %以上便實現(xiàn)了hdb3的編碼 %下面進行解碼for k=1:a if abs(rn(k)=2 rn(k-3)=0;rn(k)=0; %每個v(2)都變成0,v前面第三個有可能是b(3)有可能是0也恢復(fù)為0 end if abs(rn(k)=1 rn(k)=1; endendrn %解碼后的恢復(fù)序列rn-ori %解碼與原碼比較全為0則解碼正確 s=menu(通信原理,2ask,2psk,2fsk,2dpsk)switch s case 1

8、,scolor=2ask;n=8;n=100;k=4;a=randint(1,n);bita=;sl=;bitrate=1e3;fc=1e3;%載頻1khzt=linspace(0,1/bitrate,n);for i=1:length(a) if a(i)=0 bit1=zeros(1,n); else bit1=ones(1,n); end bita=bita,bit1; c=sin(2*pi*t*fc); sl=sl c;endfigure(1);subplot(k,1,1);plot(bita,linewidth,1.5),title(基帶信號),grid on;axis(0,n*le

9、ngth(a),-2.5,2.5);tz=bita*6.*sl;subplot(k,1,2);plot(tz,linewidth,1.5);title(ask調(diào)制后信號);grid on;signal=awgn(tz,80,measured);subplot(k,1,3);plot(signal,linewidth,1.5),grid on;title(信號+噪聲)fs=3e3;b,a=ellip(4,0.1,40,999.9,1000.1*2/fs);%設(shè)計iir帶通濾波器,階數(shù)為4,通帶紋波0.1,阻帶衰減40dbsf=filter(b,a,signal);%信號通過該濾波器figure(

10、2);k1=4;subplot(k1,1,1);plot(sf,linewidth,1.5),grid on;title(bpf)signal2=abs(sf); %乘同頻同相sinsubplot(k1,1,2);plot(signal2,linewidth,1.5),grid on;title(全波整流器); fs=3e3;%抽樣頻率400hzb,a=ellip(4,0.1,40,50*2/fs);%設(shè)計iir低通濾波器sf1=filter(b,a,signal2);%信號通過該濾波器,輸出信號sfsubplot(k1,1,3);plot(sf1,linewidth,1.5),grid on

11、;title(lpf); sf2=;ll=fc/bitrate*n;i=ll/2;bitb=;while (i=0.001; i=i+ll; end for i=1:length(sf2) if sf2(i)=0 bit1=zeros(1,n); else bit1=ones(1,n); end bitb=bitb,bit1;endfigure(1);subplot(k,1,4); plot(bitb,linewidth,1.5),grid on;title(解調(diào)后信號); axis(0,n*length(sf2),-2.5,2.5); case 2,scolor=2psk; l=linspa

12、ce(0,pi,50);% 數(shù)據(jù)初始化t=linspace(0,9*pi,450);b=1:1:9;out=1:1:450;f=1:1:450;g=1:1:450;w1=2 %正弦波f1的頻率,可以根據(jù)自己想要的頻率在此改寫 %正弦波f2的頻率,可以根據(jù)自己想要的頻率在此改寫f1=sin(w1*l);figure(1);f2=sin(w1*l+pi);figure(1);subplot(2,1,1),plot(l,f1),axis(0 pi -1.2 1.2),xlabel(t),ylabel(f1);%畫出f1信號波形subplot(2,1,2),plot(l,f2),axis(0 pi -

13、1.2 1.2),xlabel(t),ylabel(f2);%畫出f2信號波形a=0 1 0 0 0 1 1 0 1for i=1:9 %2psk編碼 if a(i)=0 for k=1:50 %如果二進制原碼為0則輸出f1波形 out(k+50*(i-1)=f1(k); end else for j=1:50 out(j+50*(i-1)=f2(j); %r如果二進制原碼為1則輸出f2波形 end endendfor i=1:9 %2psk解碼 n=0;m=0; for j=1:50 if out(j+50*(i-1)-f1(j)=0 n=n+1; else if out(j+50*(i-1

14、)-f2(j)=0 m=m+1; end end end if nm b(i)=0; else b(i)=1; endend bfor i=1:9 %畫出解碼后的波形 ,包括原碼和解碼出的碼,進行對比 for j=1+50*(i-1):50*i f(j)=a(i); g(j)=b(i); endendfigure(2);subplot(3,1,1),plot(t,f),axis(0 9*pi -0.2 1.2),xlabel(t),ylabel(數(shù)字基帶調(diào)制原碼);subplot(3,1,2),plot(t,out),axis(0 9*pi -1.2 1.2),xlabel(t),ylabel

15、(調(diào)制好的波形);subplot(3,1,3),plot(t,g),axis(0 9*pi -0.2 1.2),xlabel(t),ylabel(解碼得到的碼);num,rat=biterr(f,g) case 3,scolor=2fsk;%=生成隨機碼元、基帶信號、調(diào)制=%n=8;%隨機碼元個數(shù)n=100;%模擬一個碼元的點數(shù)k=4;%figure1畫四個小圖a=randint(1,n)%碼元生成bita=;%定義空數(shù)組,存放基帶信號for i=1:length(a) if a(i)=0 bit1=zeros(1,n); else bit1=ones(1,n); end bita=bita,

16、bit1;%基帶信號endfigure(1);subplot(k,1,1);plot(bita,linewidth,1.5),title(基帶信號),grid on;axis(0,n*length(a),-2.5,2.5);bitrate=1e3;%每一個碼元中采樣點的間隔寬度0.001sfc=1e3;%載頻1khzt=linspace(0,1/bitrate,n);tz=; c1=sin(2*pi*t*fc);%載波 c2=sin(2*pi*t*fc*2);%載波 for i=1:length(a) if a(i)=1 tz=tz,c1; else tz=tz,c2; end endsubp

17、lot(k,1,2);plot(tz,linewidth,1.5);title(2fsk已調(diào)信號);grid on;signal=awgn(tz,20,measured);%加噪subplot(k,1,3);plot(signal,linewidth,1.5),grid on;title(信號+噪聲)%=解調(diào)=%fs=5e3;%采樣頻率b1,a1=ellip(4,0.1,40,999.9,1000.1*2/fs);%設(shè)計iir帶通濾波器,階數(shù)為4,通帶紋波0.1,阻帶衰減40dbb2,a2=ellip(4,0.1,40,1999.9,2000.1*2/fs);sa=filter(b1,a1,s

18、ignal);%信號通過該濾波器sb=filter(b2,a2,signal);figure(2);k1=3;%figure2畫(3*2)幅圖表示解調(diào)過程subplot(k1,2,1);plot(sa,linewidth,1.5),grid on;title(bpf)subplot(k1,2,2);plot(sb,linewidth,1.5),grid on;title(bpf)%=相乘器=%t=linspace(0,1/bitrate,n);c1=sin(2*pi*t*fc);c2=sin(2*pi*t*fc*2);sia=;sib=; for i=1:n sia=sia,c1; sib=s

19、ib,c2; end siga=sa.*sia;%乘同頻同相sia sigb=sb.*sib;%乘同頻同相sibsubplot(k1,2,3);plot(siga,linewidth,1.5),grid on;title(相乘器); subplot(k1,2,4);plot(sigb,linewidth,1.5),grid on;title(相乘器); %=lpf=%fs=5e3;%抽樣頻率400hzb1,a1=ellip(4,0.1,40,50*2/fs);%設(shè)計iir低通濾波器b2,a2=ellip(4,0.1,40,50*2/fs);%設(shè)計iir低通濾波器sfa=filter(b1,a1

20、,siga);%信號通過該濾波器,輸出信號sfasfb=filter(b2,a2,sigb);%信號通過該濾波器,輸出信號sfbsubplot(k1,2,5);plot(sfa,linewidth,1.5),grid on;title(lpf); subplot(k1,2,6);plot(sfb,linewidth,1.5),grid on;title(lpf);%=抽樣判決=%s2a=;s2b=;ll=fc/bitrate*n;i1=ll/2;i2=ll;bitb=;while (i1=0; i1=i1+ll;endwhile (i2=length(sfb) s2b=s2b,sfb(i2)s

21、2b(i) bit1=zeros(1,n); else bit1=ones(1,n); end bitb=bitb,bit1;endfigure(1);subplot(k,1,4); plot(bitb,linewidth,1.5),grid on;title(解調(diào)后信號); axis(0,length(bitb),-2.5,2.5); case 4,scolor=2dpsk; %- 2dpsk 調(diào)制與解調(diào)%-%initial_part%-fs = 30000;time_hold_on = 0.1;num_unit = fs * time_hold_on;high_level = ones (

22、 1, num_unit );low_level = zeros ( 1, num_unit );w = 300;a = 1;%-%initial_the_signal%-sign_set = 0,1,1,0,1,0,0,1lenth_of_sign = length ( sign_set );st = zeros ( 1, num_unit * lenth_of_sign );sign_orign = zeros ( 1, num_unit * lenth_of_sign );sign_result = zeros ( 1, num_unit * lenth_of_sign );t = 0

23、: 1/fs : time_hold_on * lenth_of_sign - 1/fs;%-%產(chǎn)生基帶信號%-for i = 1 : lenth_of_sign if sign_set(i) = 1 sign_orign( (i-1)*num_unit + 1 : i*num_unit) = high_level; else sign_orign( (i-1)*num_unit + 1 : i*num_unit) = low_level; endend%-%調(diào)制部分%-for i = 1 : lenth_of_sign if sign_set(i) = 1 st( (i-1)*num_uni

24、t + 1 : i*num_unit) = a * cos ( 2 * pi * w * t( (i-1)*num_unit + 1 : i*num_unit ) + ( pi / 2 ) ); else st( (i-1)*num_unit + 1 : i*num_unit) = a * cos ( 2 * pi * w * t( (i-1)*num_unit + 1 : i*num_unit ) ); endendfiguresubplot ( 2,1,1 )plot(t, sign_orign);axis( 0 , time_hold_on *( lenth_of_sign + 1),

25、- (a / 2), a + (a / 2) );title ( 原始信號 );gridsubplot ( 2, 1, 2 );plot ( t, st );axis( 0 , time_hold_on *( lenth_of_sign + 1), - 3*(a / 2), 3*(a / 2) );title ( 調(diào)制后的信號 );grid%-%相乘%-dt = st .* cos ( 2 * pi * w * t );figureplot ( t, dt );axis( 0 , time_hold_on *( lenth_of_sign + 1), - 3*(a / 2), 3*(a / 2

26、) );title ( 相乘后的波形 );grid%-%低通濾波部分%-n,wn = buttord( 2*pi*50, 2*pi*150,3,25,s); %臨界頻率采用角頻率表示b,a=butter(n,wn,s);bz,az=impinvar(b,a,fs); %映射為數(shù)字的dt = filter(bz,az,dt);figureplot ( t, dt );axis( 0 , time_hold_on *( lenth_of_sign + 1), - 3*(a / 2), 3*(a / 2) );title ( 低通濾波后的波形 );grid%-%抽樣判決 & 逆碼變換部分%-for

27、i = 1 : lenth_of_sign if dt(2*i-1)*num_unit/2) 0.25 sign_result( (i-1)*num_unit + 1 : i*num_unit) = high_level; else sign_result( (i-1)*num_unit + 1 : i*num_unit) = low_level; endendfigureplot ( t, sign_result );axis( 0 , time_hold_on *( lenth_of_sign + 1), - 3*(a / 2), 3*(a / 2) );title ( 解調(diào)后信號 );g

28、rid end四、測試數(shù)據(jù)運行程序命令窗口會顯示隨進產(chǎn)生的二進制碼,對此二進制碼進行hdb3編碼之后得碼元,解碼之后得碼元以及解碼之后得碼元與原基帶碼進行比較得結(jié)果 如下圖:還會出現(xiàn)調(diào)制解調(diào)得選擇窗口,來進行選擇調(diào)制解調(diào)方式 如下在選擇窗口中可以看到有四種調(diào)制解調(diào)方式選擇2ask進行調(diào)制解調(diào)可以看到隨機得基帶信號,2ask調(diào)制后的信號以及2ask解調(diào)后的信號進入菜單 從新選擇2psk可以看到隨機產(chǎn)生得2psk基帶信號,2psk調(diào)制后的信號以及2psk解調(diào)后的信號進入菜單欄重新選擇2fsk調(diào)制解調(diào)可以看到隨機產(chǎn)生得基帶信號,使用2fsk調(diào)制后的信號以及使用2fsk解調(diào)后的信號進入菜單欄從新選擇2dpsk調(diào)制解調(diào)以上為隨機產(chǎn)生得二進制原始信號以及2dpsk調(diào)制之后得信號使用2dpsk解調(diào)之后的信號五、調(diào)試分析1、調(diào)試方法:運行程序,按要求測試各功能能否實現(xiàn),如果不能實現(xiàn),則尋找問題原因,修改程序后再次運行,再次測試功能能否實現(xiàn),直到成功實現(xiàn)所有功能。六、參考資料通信原理(第六版) 樊昌信 曹麗娜編國防工業(yè)出

溫馨提示

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

評論

0/150

提交評論