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

下載本文檔

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

文檔簡(jiǎn)介

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

2、個(gè)連“0”碼用000v或b00v取代節(jié)來代替(b和v也是“1”碼,可正、可負(fù))。這兩個(gè)取代節(jié)選取原則是,使任意兩個(gè)相鄰v脈沖間的傳號(hào)數(shù)為奇數(shù)時(shí)選用000v取代節(jié),偶數(shù)時(shí)則選用b00v取代節(jié)。2.二進(jìn)制數(shù)字調(diào)制技術(shù)原理數(shù)字信號(hào)的傳輸方式分為基帶傳輸和帶通傳輸,在實(shí)際應(yīng)用中,大多數(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)的過程稱為數(shù)字調(diào)制。通常使用鍵控法來實(shí)現(xiàn)數(shù)字調(diào)制,比如對(duì)載波的振幅、頻率和相位進(jìn)行鍵控。(1)2ask信號(hào)的產(chǎn)生方法通常有兩種

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

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

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

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

7、相反 %b后面第三個(gè)就是接下來的v,從它開始非零碼正負(fù)號(hào)交替變化 %end%end hdb=rn; %給b(3)添加了符號(hào),并且實(shí)現(xiàn)了v后的符號(hào)再交替hdb %以上便實(shí)現(xiàn)了hdb3的編碼 %下面進(jìn)行解碼for k=1:a if abs(rn(k)=2 rn(k-3)=0;rn(k)=0; %每個(gè)v(2)都變成0,v前面第三個(gè)有可能是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(基帶信號(hào)),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)制后信號(hào));grid on;signal=awgn(tz,80,measured);subplot(k,1,3);plot(signal,linewidth,1.5),grid on;title(信號(hào)+噪聲)fs=3e3;b,a=ellip(4,0.1,40,999.9,1000.1*2/fs);%設(shè)計(jì)iir帶通濾波器,階數(shù)為4,通帶紋波0.1,阻帶衰減40dbsf=filter(b,a,signal);%信號(hào)通過該濾波器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è)計(jì)iir低通濾波器sf1=filter(b,a,signal2);%信號(hào)通過該濾波器,輸出信號(hào)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)后信號(hà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信號(hào)波形subplot(2,1,2),plot(l,f2),axis(0 pi -

13、1.2 1.2),xlabel(t),ylabel(f2);%畫出f2信號(hào)波形a=0 1 0 0 0 1 1 0 1for i=1:9 %2psk編碼 if a(i)=0 for k=1:50 %如果二進(jìn)制原碼為0則輸出f1波形 out(k+50*(i-1)=f1(k); end else for j=1:50 out(j+50*(i-1)=f2(j); %r如果二進(jìn)制原碼為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 %畫出解碼后的波形 ,包括原碼和解碼出的碼,進(jìn)行對(duì)比 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;%=生成隨機(jī)碼元、基帶信號(hào)、調(diào)制=%n=8;%隨機(jī)碼元個(gè)數(shù)n=100;%模擬一個(gè)碼元的點(diǎn)數(shù)k=4;%figure1畫四個(gè)小圖a=randint(1,n)%碼元生成bita=;%定義空數(shù)組,存放基帶信號(hào)for i=1:length(a) if a(i)=0 bit1=zeros(1,n); else bit1=ones(1,n); end bita=bita,

16、bit1;%基帶信號(hào)endfigure(1);subplot(k,1,1);plot(bita,linewidth,1.5),title(基帶信號(hào)),grid on;axis(0,n*length(a),-2.5,2.5);bitrate=1e3;%每一個(gè)碼元中采樣點(diǎn)的間隔寬度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)信號(hào));grid on;signal=awgn(tz,20,measured);%加噪subplot(k,1,3);plot(signal,linewidth,1.5),grid on;title(信號(hào)+噪聲)%=解調(diào)=%fs=5e3;%采樣頻率b1,a1=ellip(4,0.1,40,999.9,1000.1*2/fs);%設(shè)計(jì)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);%信號(hào)通過該濾波器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è)計(jì)iir低通濾波器b2,a2=ellip(4,0.1,40,50*2/fs);%設(shè)計(jì)iir低通濾波器sfa=filter(b1,a1

20、,siga);%信號(hào)通過該濾波器,輸出信號(hào)sfasfb=filter(b2,a2,sigb);%信號(hào)通過該濾波器,輸出信號(hào)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)后信號(hà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)生基帶信號(hào)%-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 ( 原始信號(hào) );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)制后的信號(hà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)后信號(hào) );g

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論