版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 問題描述-----------------------------------------3</p><p> 實(shí)驗原理-----------------------------------------4</p><p> 源程序------------------------
2、-------------------6</p><p> 數(shù)據(jù)測試----------------------------------------16</p><p> 調(diào)試分析----------------------------------------22</p><p> 用戶使用手冊---------------------------------
3、---23</p><p> 心得體會----------------------------------------24</p><p><b> 一、問題描述</b></p><p> 使用matlab編程完成HDB3的編碼與解碼。</p><p> 課程設(shè)計需要運(yùn)用MATLAB編程實(shí)現(xiàn)2ASK,2FSK,2
4、PSK,2DPSK調(diào)制解調(diào)過程,并且輸出其源碼,調(diào)制后碼元以及解調(diào)后碼元的波形。</p><p><b> 二、實(shí)驗原理</b></p><p> 1.HDB3編碼解碼原理</p><p> HDB3碼:三階高密度雙極性碼。</p><p> HDB3碼與二進(jìn)制序列的關(guān)系:</p><p>
5、; (1)二進(jìn)制信號序列中的“0”碼在HDB3碼中仍編為“0”碼,二進(jìn)制信號中“1”碼,在HDB3碼中應(yīng)交替地成+1和-1碼,但序列中出現(xiàn)四個連“0”碼時應(yīng)按特殊規(guī)律編碼(引入傳號交替反轉(zhuǎn)碼的“破壞點(diǎn)”V碼);</p><p> (2)二進(jìn)制序列中四個連“0”按以下規(guī)則編碼:信碼中出現(xiàn)四個連“0”碼時,要將這四個連“0”碼用000V或B00V取代節(jié)來代替(B和V也是“1”碼,可正、可負(fù))。這兩個取代節(jié)選取原則
6、是,使任意兩個相鄰v脈沖間的傳號數(shù)為奇數(shù)時選用000V取代節(jié),偶數(shù)時則選用B00V取代節(jié)。</p><p> 2.二進(jìn)制數(shù)字調(diào)制技術(shù)原理</p><p> 數(shù)字信號的傳輸方式分為基帶傳輸和帶通傳輸,在實(shí)際應(yīng)用中,大多數(shù)信道具有帶通特性而不能直接傳輸基帶信號。為了使數(shù)字信號在帶通信道中傳輸,必須使用數(shù)字基帶信號對載波進(jìn)行調(diào)制,以使信號與信道的特性相匹配。這種用數(shù)字基帶信號控制載波,把數(shù)字
7、基帶信號變換為數(shù)字帶通信號的過程稱為數(shù)字調(diào)制。通常使用鍵控法來實(shí)現(xiàn)數(shù)字調(diào)制,比如對載波的振幅、頻率和相位進(jìn)行鍵控。</p><p> (1)2ASK信號的產(chǎn)生方法通常有兩種:模擬調(diào)制和鍵控法。解調(diào)有相干解調(diào)和非相干解調(diào)。P=1時f(t)=Acoswt;p=0時f(t)=0;其功率譜密度是基帶信號功率譜的線性搬移</p><p> (2) 一個2FSK信號可以看成是兩個不同載波的2ASK
8、信號的疊加。其解調(diào)和解調(diào)方法和ASK差不多。2FSK信號的頻譜可以看成是f1和f2的兩個2ASK頻譜的組合。</p><p> (3) 2PSK以載波的相位變化作為參考基準(zhǔn)的,當(dāng)基帶信號為0時相位相對于初始相位為0, 當(dāng)基帶信號為1時相對于初始相位為180°。</p><p> (4) 2DPSK調(diào)制原理方框圖如下圖。</p><p> 間接法信號調(diào)
9、制器原理方框圖</p><p> 2DPSK信號的解調(diào),主要有兩種方法,即相位比較法和相干解調(diào)法。相干解調(diào)法原理方框圖如下圖:</p><p> 相干解調(diào)法原理方框圖</p><p><b> 三、源程序</b></p><p><b> clear</b></p><p
10、><b> clc</b></p><p> a=20; %a表示元素個數(shù),可以修改碼元為任意個數(shù)如1024</p><p> r=unidrnd(2,1,a-1); %隨機(jī)產(chǎn)生離散均勻二值分布(1,2),共a-1個</p><p> rn=r-1;
11、 %每個元素減1變?yōu)椋?,1)二值隨機(jī)數(shù)列</p><p> rn=[1,rn]; %跟書上一致,從1開始隨機(jī)產(chǎn)生離散均勻二值分布(1,2),共a個</p><p> ori=rn; %將原序列保存起來,便于后面解碼后比較</p>
12、<p><b> ori</b></p><p> l=1; </p><p> for k=1:a-3</p><p> if abs(rn(k))==1 </p><p> m=rn(k);
13、%m記錄可能存在的連續(xù)4個0前面非零碼元的符號</p><p> end </p><p> if rn(k)==0</p><p> if rn(k+1)==0</p><p> if rn(k+2)==0</p><p> if rn(k+3)==0 %檢
14、測是否連續(xù)4個碼元都是0</p><p> rn(k+3)=2*m; %用2表示書上的V</p><p><b> end</b></p><p><b> end</b></p><p><b> end</b></p><p><b&g
15、t; end</b></p><p><b> end</b></p><p> rn ; %插入V(2)后 checked </p><p> l=1; %l=1表示兩個V
16、之間有偶數(shù)個非零碼,0是偶數(shù),所以初始為1,l=-1表示兩個V之間有奇數(shù)個非零碼</p><p><b> for s=1:a</b></p><p> if abs(rn(s))==2</p><p> for d=s+1:a</p><p> if abs(rn(d))==1 %V之間的非
17、零碼只有+1,-1遇到一個一使l變一次號,表示偶數(shù)或奇數(shù)</p><p><b> l=-l;</b></p><p><b> end</b></p><p> if abs(rn(d))==2</p><p><b> if l~=1</b></p>
18、<p> l=1; %不需要插入B時若檢測到V也應(yīng)把計數(shù)器清零</p><p> %最初版本的升級處1</p><p> else %檢測到下一個V時,若為偶數(shù)個,則插入B</p><p> rn(d-3)=3*(-(rn(d-4))/(abs(rn(d
19、-4)))); %3代表B,插入不帶符號的B</p><p> rn(d:a)=-rn(d:a);</p><p> end %V后的符號再交替</p><p><b> end</b></p><p><b> end&l
20、t;/b></p><p><b> end</b></p><p><b> end</b></p><p> rn %到此處完成了插入不帶符號的B</p><p> %for s=1:a</p>
21、<p> % if abs(rn(s))==3 %找到B</p><p> %rn(s)=rn(s)*(-(rn(s-1))/(abs(rn(s-1)))); %B(3)與前一個位置的帶符號的歸一值相乘再取反,實(shí)現(xiàn)符號B(3)的極性與前一非符號的相反 </p><p> %B后面第三個就是接
22、下來的V,從它開始非零碼正負(fù)號交替變化</p><p><b> %end</b></p><p><b> %end</b></p><p> HDB=rn; %給B(3)添加了符號,并且實(shí)現(xiàn)了V后的符號再交替</p>&l
23、t;p> HDB </p><p> %以上便實(shí)現(xiàn)了HDB3的編碼</p><p><b> %下面進(jìn)行解碼</b></p><p> for k=1:a </p><p> if abs(rn(k))==2</p>
24、<p> rn(k-3)=0;rn(k)=0; %每個V(2)都變成0,V前面第三個有可能是B(3)有可能是0也恢復(fù)為0 </p><p><b> end</b></p><p> if abs(rn(k))==1</p><p><
25、b> rn(k)=1;</b></p><p><b> end</b></p><p><b> end</b></p><p> rn %解碼后的恢復(fù)序列</p><p> rn-o
26、ri %解碼與原碼比較全為0則解碼正確</p><p> s=menu('通信原理','2ASK','2PSK','2FSK','2DPSK')</p><p><b> switch s</b></
27、p><p> case 1,scolor='2ASK';</p><p> n=8;N=100;K=4;</p><p> a=randint(1,n);</p><p> bita=[];sl=[];</p><p> bitRate=1e3;fc=1e3;%載頻1KHZ</p>
28、<p> t=linspace(0,1/bitRate,N);</p><p> for i=1:length(a)</p><p> if a(i)==0</p><p> bit1=zeros(1,N);</p><p><b> else </b></p><p> b
29、it1=ones(1,N);</p><p><b> end</b></p><p> bita=[bita,bit1];</p><p> c=sin(2*pi*t*fc);</p><p> sl=[sl c];</p><p><b> end</b><
30、;/p><p> figure(1);</p><p> subplot(K,1,1);plot(bita,'LineWidth',1.5),title('基帶信號'),grid on;axis([0,N*length(a),-2.5,2.5]);</p><p> tz=bita*6.*sl;</p><p&g
31、t; subplot(K,1,2);plot(tz,'LineWidth',1.5);title('ASK調(diào)制后信號');grid on;</p><p> signal=awgn(tz,80,'measured');</p><p> subplot(K,1,3);plot(signal,'LineWidth',1.5
32、),grid on;title('信號+噪聲')</p><p><b> Fs=3e3;</b></p><p> [b,a]=ellip(4,0.1,40,[999.9,1000.1]*2/Fs);%設(shè)計IIR帶通濾波器,階數(shù)為4,通帶紋波0.1,阻帶衰減40DB</p><p> sf=filter(b,a,sign
33、al);%信號通過該濾波器</p><p> figure(2);</p><p><b> K1=4;</b></p><p> subplot(K1,1,1);plot(sf,'LineWidth',1.5),grid on;title('BPF')</p><p> sign
34、al2=abs(sf); %乘同頻同相sin</p><p> subplot(K1,1,2);plot(signal2,'LineWidth',1.5),grid on;title('全波整流器'); </p><p> Fs=3e3;%抽樣頻率400HZ</p><p> [b,a]=ellip(4,0.1,40,[5
35、0]*2/Fs);%設(shè)計IIR低通濾波器</p><p> sf1=filter(b,a,signal2);%信號通過該濾波器,輸出信號sf</p><p> subplot(K1,1,3);plot(sf1,'LineWidth',1.5),grid on;title('LPF'); </p><p><b> sf
36、2=[];</b></p><p> LL=fc/bitRate*N;</p><p><b> i=LL/2;</b></p><p><b> bitb=[];</b></p><p> while (i<=length(sf1)) %判決</p&
37、gt;<p> sf2=[sf2,sf1(i)>=0.001];</p><p><b> i=i+LL;</b></p><p><b> end </b></p><p> for i=1:length(sf2)</p><p> if sf2(i)==0&l
38、t;/p><p> bit1=zeros(1,N);</p><p><b> else </b></p><p> bit1=ones(1,N);</p><p><b> end</b></p><p> bitb=[bitb,bit1];</p>&
39、lt;p><b> end</b></p><p> figure(1);</p><p> subplot(K,1,4); plot(bitb,'LineWidth',1.5),grid on;title('解調(diào)后信號'); axis([0,N*length(sf2),-2.5,2.5]);</p><
40、p> case 2,scolor='2PSK';</p><p> l=linspace(0,pi,50);% 數(shù)據(jù)初始化</p><p> t=linspace(0,9*pi,450);</p><p><b> b=1:1:9;</b></p><p> out=1:1:450;&l
41、t;/p><p> f=1:1:450;</p><p> g=1:1:450;</p><p> w1=2 %正弦波f1的頻率,可以根據(jù)自己想要的頻率在此改寫</p><p> %正弦波f2的頻率,可以根據(jù)自己想要的頻率在此改寫</p><p> f1=sin(w1*l);</p>
42、<p> figure(1);</p><p> f2=sin(w1*l+pi);</p><p> figure(1);</p><p> subplot(2,1,1),plot(l,f1),axis([0 pi -1.2 1.2]),xlabel('t'),ylabel('f1');%畫出f1信號波形</
43、p><p> subplot(2,1,2),plot(l,f2),axis([0 pi -1.2 1.2]),xlabel('t'),ylabel('f2');%畫出f2信號波形</p><p> a=[0 1 0 0 0 1 1 0 1]</p><p> for i=1:9 %2pSK編碼</p>
44、<p> if a(i)==0</p><p> for k=1:50 %如果二進(jìn)制原碼為0則輸出f1波形</p><p> out(k+50*(i-1))=f1(k);</p><p><b> end</b></p><p><b> else </b></p>
45、;<p> for j=1:50</p><p> out(j+50*(i-1))=f2(j); %r如果二進(jìn)制原碼為1則輸出f2波形</p><p><b> end</b></p><p><b> end</b></p><p><b> end</b&
46、gt;</p><p> for i=1:9 %2PSK解碼</p><p><b> n=0;m=0;</b></p><p> for j=1:50</p><p> if out(j+50*(i-1))-f1(j)==0</p><p><b> n=
47、n+1;</b></p><p> else if out(j+50*(i-1))-f2(j)==0</p><p><b> m=m+1;</b></p><p><b> end</b></p><p><b> end</b></p>
48、<p><b> end</b></p><p><b> if n>m</b></p><p><b> b(i)=0;</b></p><p> else b(i)=1;</p><p><b> end</b></p
49、><p><b> end </b></p><p><b> b</b></p><p> for i=1:9 %畫出解碼后的波形 ,包括原碼和解碼出的碼,進(jìn)行對比</p><p> for j=1+50*(i-1):50*i</p><p> f(j)=a
50、(i);</p><p> g(j)=b(i);</p><p><b> end</b></p><p><b> end</b></p><p> figure(2);</p><p> subplot(3,1,1),plot(t,f),axis([0 9*pi
51、 -0.2 1.2]),xlabel('t'),ylabel('數(shù)字基帶調(diào)制原碼');</p><p> subplot(3,1,2),plot(t,out),axis([0 9*pi -1.2 1.2]),xlabel('t'),ylabel('調(diào)制好的波形');</p><p> subplot(3,1,3),plot
52、(t,g),axis([0 9*pi -0.2 1.2]),xlabel('t'),ylabel('解碼得到的碼');</p><p> [Num,Rat]=biterr(f,g)</p><p> case 3,scolor='2FSK';</p><p> %==生成隨機(jī)碼元、基帶信號、調(diào)制=========
53、=======%</p><p> n=8;%隨機(jī)碼元個數(shù)</p><p> N=100;%模擬一個碼元的點(diǎn)數(shù)</p><p> K=4;%figure1畫四個小圖</p><p> a=randint(1,n)%碼元生成</p><p> bita=[];%定義空數(shù)組,存放基帶信號</p>&
54、lt;p> for i=1:length(a)</p><p> if a(i)==0</p><p> bit1=zeros(1,N);</p><p><b> else </b></p><p> bit1=ones(1,N);</p><p><b> end&
55、lt;/b></p><p> bita=[bita,bit1];%基帶信號</p><p><b> end</b></p><p> figure(1);</p><p> subplot(K,1,1);plot(bita,'LineWidth',1.5),title('基帶信號
56、'),grid on;axis([0,N*length(a),-2.5,2.5]);</p><p> bitRate=1e3;%每一個碼元中采樣點(diǎn)的間隔寬度0.001s</p><p> fc=1e3;%載頻1KHZ</p><p> t=linspace(0,1/bitRate,N);</p><p><b>
57、tz=[];</b></p><p> c1=sin(2*pi*t*fc);%載波</p><p> c2=sin(2*pi*t*fc*2);%載波</p><p> for i=1:length(a)</p><p> if a(i)==1</p><p> tz=[tz,c1];</p&
58、gt;<p><b> else</b></p><p> tz=[tz,c2];</p><p><b> end</b></p><p><b> end</b></p><p> subplot(K,1,2);plot(tz,'LineWi
59、dth',1.5);title('2FSK已調(diào)信號');grid on;</p><p> signal=awgn(tz,20,'measured');%加噪</p><p> subplot(K,1,3);plot(signal,'LineWidth',1.5),grid on;title('信號+噪聲')<
60、;/p><p> %===========解調(diào)============%</p><p> Fs=5e3;%采樣頻率</p><p> [b1,a1]=ellip(4,0.1,40,[999.9,1000.1]*2/Fs);%設(shè)計IIR帶通濾波器,階數(shù)為4,通帶紋波0.1,阻帶衰減40DB</p><p> [b2,a2]=ellip(4
61、,0.1,40,[1999.9,2000.1]*2/Fs);</p><p> sa=filter(b1,a1,signal);%信號通過該濾波器</p><p> sb=filter(b2,a2,signal);</p><p> figure(2);</p><p> K1=3;%figure2畫(3*2)幅圖表示解調(diào)過程<
62、/p><p> subplot(K1,2,1);plot(sa,'LineWidth',1.5),grid on;title('BPF')</p><p> subplot(K1,2,2);plot(sb,'LineWidth',1.5),grid on;title('BPF')</p><p> %
63、======相乘器=============%</p><p> t=linspace(0,1/bitRate,N);</p><p> c1=sin(2*pi*t*fc);</p><p> c2=sin(2*pi*t*fc*2);</p><p><b> sia=[];</b></p><
64、;p><b> sib=[];</b></p><p><b> for i=1:n</b></p><p> sia=[sia,c1];</p><p> sib=[sib,c2];</p><p><b> end</b></p><p&
65、gt; siga=sa.*sia;%乘同頻同相sia</p><p> sigb=sb.*sib;%乘同頻同相sib</p><p> subplot(K1,2,3);plot(siga,'LineWidth',1.5),grid on;title('相乘器'); </p><p> subplot(K1,2,4);plot
66、(sigb,'LineWidth',1.5),grid on;title('相乘器'); </p><p> %========LPF================%</p><p> Fs=5e3;%抽樣頻率400HZ</p><p> [b1,a1]=ellip(4,0.1,40,[50]*2/Fs);%設(shè)計IIR低通濾
67、波器</p><p> [b2,a2]=ellip(4,0.1,40,[50]*2/Fs);%設(shè)計IIR低通濾波器</p><p> sfa=filter(b1,a1,siga);%信號通過該濾波器,輸出信號sfa</p><p> sfb=filter(b2,a2,sigb);%信號通過該濾波器,輸出信號sfb</p><p> s
68、ubplot(K1,2,5);plot(sfa,'LineWidth',1.5),grid on;title('LPF'); </p><p> subplot(K1,2,6);plot(sfb,'LineWidth',1.5),grid on;title('LPF');</p><p> %===========抽樣判決
69、==================%</p><p> s2a=[];s2b=[];</p><p> LL=fc/bitRate*N;</p><p> i1=LL/2;i2=LL;</p><p><b> bitb=[];</b></p><p> while (i1<=l
70、ength(sfa)) %判決過程</p><p> s2a=[s2a,sfa(i1)>=0];</p><p><b> i1=i1+LL;</b></p><p><b> end</b></p><p> while (i2<=length(sfb)) </p>
71、;<p> s2b=[s2b,sfb(i2)<=0]; </p><p><b> i2=i2+LL;</b></p><p><b> end </b></p><p><b> for i=1:n</b></p><p> if s2a(
72、i)>s2b(i)</p><p> bit1=zeros(1,N);</p><p><b> else </b></p><p> bit1=ones(1,N);</p><p><b> end</b></p><p> bitb=[bitb,bit1]
73、;</p><p><b> end</b></p><p> figure(1);</p><p> subplot(K,1,4); plot(bitb,'LineWidth',1.5),grid on;title('解調(diào)后信號'); axis([0,length(bitb),-2.5,2.5]);<
74、;/p><p> case 4,scolor='2DPSK';</p><p> %- 2DPSK 調(diào)制與解調(diào)</p><p> %---------------------------------------------------</p><p> %>>>>>>>>&g
75、t;>>>>>>>>>Initial_Part>>>>>>>>>>>>>>>>>>>>></p><p> %---------------------------------------------------</p>
76、<p> fs = 30000;</p><p> Time_Hold_On = 0.1;</p><p> Num_Unit = fs * Time_Hold_On;</p><p> High_Level = ones ( 1, Num_Unit );</p><p> Low_Level = zeros ( 1,
77、Num_Unit );</p><p><b> w = 300;</b></p><p><b> A = 1;</b></p><p> %---------------------------------------------------</p><p> %>>>
78、>>>>>>>>>>>>>>>Initial_The_Signal>>>>>>>>>>>>>>></p><p> %---------------------------------------------------</p&
79、gt;<p> Sign_Set = [0,1,1,0,1,0,0,1]</p><p> Lenth_Of_Sign = length ( Sign_Set );</p><p> st = zeros ( 1, Num_Unit * Lenth_Of_Sign );</p><p> sign_orign = zeros ( 1, Num_
80、Unit * Lenth_Of_Sign );</p><p> sign_result = zeros ( 1, Num_Unit * Lenth_Of_Sign );</p><p> t = 0 : 1/fs : Time_Hold_On * Lenth_Of_Sign - 1/fs;</p><p> %------------------------
81、---------------------------</p><p> %>>>>>>>>>>>產(chǎn)生基帶信號>>>>>>>>>>>></p><p> %-----------------------------------------------
82、----</p><p> for I = 1 : Lenth_Of_Sign</p><p> if Sign_Set(I) == 1</p><p> sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level;</p><p><b> else</b>
83、;</p><p> sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = Low_Level;</p><p><b> end</b></p><p><b> end</b></p><p> %-------------------------
84、--------------------------</p><p> %>>>>>>>>>>>>>>>>>>調(diào)制部分>>>>>>>>>>>>>>>>>></p><p>
85、 %---------------------------------------------------</p><p> for I = 1 : Lenth_Of_Sign</p><p> if Sign_Set(I) == 1</p><p> st( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * p
86、i * w * t( (I-1)*Num_Unit + 1 : I*Num_Unit ) + ( pi / 2 ) );</p><p><b> else</b></p><p> st( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * pi * w * t( (I-1)*Num_Unit + 1 : I*Num
87、_Unit ) );</p><p><b> end</b></p><p><b> end</b></p><p><b> figure</b></p><p> subplot ( 2,1,1 )</p><p> plot(t, s
88、ign_orign);</p><p> axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - (A / 2), A + (A / 2) ] );</p><p> title ( '原始信號' );</p><p><b> grid</b></p><p
89、> subplot ( 2, 1, 2 );</p><p> plot ( t, st );</p><p> axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );</p><p> title ( '調(diào)制后的信號' );</p&g
90、t;<p><b> grid</b></p><p> %---------------------------------------------------</p><p> %>>>>>>>>>>>>>>>>>>相乘>>&
91、gt;>>>>>>>>>>>>>>>>>>>>>>>>>></p><p> %---------------------------------------------------</p><p> dt = st .* cos
92、 ( 2 * pi * w * t );</p><p><b> figure</b></p><p> plot ( t, dt );</p><p> axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );</p><
93、p> title ( '相乘后的波形' );</p><p><b> grid</b></p><p> %---------------------------------------------------</p><p> %>>>>>>>>>>&
94、gt;>>>>>>>>低通濾波部分>>>>>>>>>>>>>>>>>>>></p><p> %---------------------------------------------------</p><p> [
95、N,Wn] = buttord( 2*pi*50, 2*pi*150,3,25,'s'); %臨界頻率采用角頻率表示</p><p> [b,a]=butter(N,Wn,'s');</p><p> [bz,az]=impinvar(b,a,fs); %映射為數(shù)字的</p><p> dt = filter(bz,az,dt)
96、;</p><p><b> figure</b></p><p> plot ( t, dt );</p><p> axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );</p><p> title ( '
97、;低通濾波后的波形' );</p><p><b> grid</b></p><p> %---------------------------------------------------</p><p> %>>>>>>>>>>>>>抽樣判決 &
98、amp; 逆碼變換部分>>>>>>>>>>>>>>></p><p> %---------------------------------------------------</p><p> for I = 1 : Lenth_Of_Sign</p><p> if
99、dt((2*I-1)*Num_Unit/2) < 0.25</p><p> sign_result( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level;</p><p><b> else</b></p><p> sign_result( (I-1)*Num_Unit + 1 : I*N
100、um_Unit) = Low_Level;</p><p><b> end</b></p><p><b> end</b></p><p><b> figure</b></p><p> plot ( t, sign_result );</p>&l
101、t;p> axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );</p><p> title ( '解調(diào)后信號' );</p><p><b> grid </b></p><p><b> end</
102、b></p><p><b> 四、測試數(shù)據(jù)</b></p><p><b> 運(yùn)行程序</b></p><p> 命令窗口會顯示隨進(jìn)產(chǎn)生的二進(jìn)制碼,對此二進(jìn)制碼進(jìn)行HDB3編碼之后得碼元,解碼之后得碼元以及解碼之后得碼元與原基帶碼進(jìn)行比較得結(jié)果 如下圖:</p><p> 還會出現(xiàn)調(diào)
103、制解調(diào)得選擇窗口,來進(jìn)行選擇調(diào)制解調(diào)方式 如下</p><p> 在選擇窗口中可以看到有四種調(diào)制解調(diào)方式</p><p> 選擇2ASK進(jìn)行調(diào)制解調(diào)</p><p> 可以看到隨機(jī)得基帶信號,2ASK調(diào)制后的信號以及2ASK解調(diào)后的信號</p><p> 進(jìn)入菜單 從新選擇2PSK</p><p> 可以看到
104、隨機(jī)產(chǎn)生得2PSK基帶信號,2PSK調(diào)制后的信號以及2PSK解調(diào)后的信號</p><p> 進(jìn)入菜單欄重新選擇2FSK調(diào)制解調(diào)</p><p> 可以看到隨機(jī)產(chǎn)生得基帶信號,使用2FSK調(diào)制后的信號以及使用2FSK解調(diào)后的信號</p><p> 進(jìn)入菜單欄從新選擇2DPSK調(diào)制解調(diào)</p><p> 以上為隨機(jī)產(chǎn)生得二進(jìn)制原始信號以及
105、2DPSK調(diào)制之后得信號</p><p> 使用2DPSK解調(diào)之后的信號</p><p><b> 五、調(diào)試分析</b></p><p> 1、調(diào)試方法:運(yùn)行程序,按要求測試各功能能否實(shí)現(xiàn),如果不能實(shí)現(xiàn),則尋找問題原因,修改程序后再次運(yùn)行,再次測試功能能否實(shí)現(xiàn),直到成功實(shí)現(xiàn)所有功能。</p><p> 2、問題分
106、析與解決措施.</p><p><b> 在調(diào)試過程中遇到了</b></p><p> ?。?)輸出數(shù)據(jù)出錯.</p><p> 錯誤:有時運(yùn)行程序,在產(chǎn)生隨機(jī)二進(jìn)制碼時由于程序的不穩(wěn)定,在產(chǎn)生1的時候卻產(chǎn)生了2,進(jìn)行程序修改之后是之變得穩(wěn)定。</p><p> ?。?)輸出提示語句未顯示</p>&l
107、t;p> 錯誤:提示語與程序中設(shè)置顯示語言發(fā)生沖突。</p><p> ?。?)使用menu模塊時未能成功連接</p><p> 錯誤:連接語使用不一致</p><p><b> 六、用戶使用手冊</b></p><p> 《通信原理(第六版)》 </p><p><b>
108、; 樊昌信 曹麗娜編</b></p><p><b> 國防工業(yè)出版社</b></p><p> 《MATLAB程序設(shè)計與應(yīng)用(第二版)》</p><p><b> 劉衛(wèi)國主編</b></p><p><b> 高等教育出版社</b></p>
109、<p><b> 七、心得體會</b></p><p> 通過這兩周的通信原理課程設(shè)計實(shí)踐,我復(fù)習(xí)了MATLAB編程語言的基本概念、語法、語義和數(shù)據(jù)類型的使用特點(diǎn),加深了對課堂所學(xué)理論知識的理解,掌握了運(yùn)用結(jié)構(gòu)化程序設(shè)計的基本思想和方法,更重要的是培養(yǎng)了自己的自學(xué)能力。</p><p> 因為這是我們第二次接觸MATLAB編程語言,在編寫程序以及調(diào)試
110、的過程中遇到了很多困難,但是我通過去圖書館查找資料,請教同學(xué)老師,再自己一點(diǎn)點(diǎn)改善程序,最終編寫出一個比較完善的程序,實(shí)現(xiàn)了所有要求功能,這是最值得我欣慰的一點(diǎn)。</p><p> 以下是我的幾點(diǎn)切身感受:</p><p> ?。ㄒ唬┚帉懗绦蛐枰粋€清醒的頭腦,明確的思路,同時也要有耐心毅力。</p><p> 剛拿到程序設(shè)計課題時,我感覺一片茫然,因為在之前的
111、信號處理學(xué)習(xí)中,只是在一些例題中接觸過MATLAB語言,甚至沒有看過一些基礎(chǔ)的書籍,更沒有上過課,所以初次遇到一個實(shí)際問題,感覺無從下手。這是由于自己對MATLAB的模塊設(shè)計不夠理解,同時對MATLAB的基本語句一無所知,不過通過請教老師懂得了首先要設(shè)計guide目錄,再根據(jù)用戶輸入,執(zhí)行swtich語句,在每個case后調(diào)用一個函數(shù),來實(shí)現(xiàn)要求的功能,這樣一下子豁然開朗,掌握了基本設(shè)計思路之后,后面的編程就順利多了。至此,我真真體會到
112、清晰地思路對成功編寫一個程序的重要性。</p><p> 當(dāng)然成功編寫一個程序絕非易事,之前,我總以為程序能夠正常運(yùn)行,就代表著編程成功,后來我才發(fā)現(xiàn)我大錯特錯了。我用了三天時間,完成了程序的編寫、改錯,但我立刻發(fā)現(xiàn)盡管程序能夠正常運(yùn)行,部分功能卻不完善,甚至不能實(shí)現(xiàn)。經(jīng)過一次又一次調(diào)試、修改又修改,一點(diǎn)一點(diǎn)發(fā)現(xiàn)問題并改正,我才真正發(fā)現(xiàn)編程遠(yuǎn)沒有想象中的簡單。它需要的不僅是清晰地編程思路、編程技巧,還需要有耐心
113、有毅力,不要放棄。</p><p> ?。ǘ┪覀冊诖髮W(xué)需要學(xué)習(xí)的不僅是基礎(chǔ)知識、專業(yè)知識,更重要的是一種學(xué)習(xí)能力。</p><p> 正如老師所說學(xué)習(xí)是終生的,因此學(xué)習(xí)能力也就能讓我們受益終生。由于課堂時間有限,MATLAB課程只能靠我們自學(xué),然而guide畫圖功能我們必須用到,因此只能通過自習(xí),實(shí)踐也證明我們是有自學(xué)的潛能的,通過自學(xué)課本,不理解的知識,通過查找資料,請教老師,最終掌
114、握知識,因此,這次課程設(shè)計時間培養(yǎng)了我們的自學(xué)能力。</p><p> (三)要學(xué)會向他人請教,與他人合作。</p><p> 在編程過程中,我遇到了許多問題,通過查找資料也未能找到原因,每次我想老師請教,老師總能不厭其煩地一點(diǎn)點(diǎn)講解。有時,老師為了幫我在那幾百行的程序中找到問題,花上一個多小時,這讓我非常感動。大學(xué)中的老師是每個大學(xué)生的好資源,他的博學(xué)、重教,向他們請教會有很大收獲。
115、</p><p> 在編程過程中,我與我組成員共同討論,為對方查找錯誤,提示建議,在這個過程中我收獲甚多,也培養(yǎng)了自己的合作精神。</p><p> (四)要學(xué)會總結(jié),提高。</p><p> 在編程過程中,我發(fā)現(xiàn)自己的程序還有很多地方可以完善。程序的界面可以做得更加人性化,這樣使用戶使用更加方便,畫圖函數(shù)也還可以改進(jìn),例如:在使用figure分圖顯示的時候,
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通信原理matlab課程設(shè)計報告
- matlab與通信仿真課程設(shè)計報告
- 通信原理課程設(shè)計報告
- 通信原理課程設(shè)計報告
- 通信原理課程設(shè)計--matlab 軟件仿真課設(shè)
- 通信原理i課程設(shè)計報告
- 通信原理課程設(shè)計-- 基于matlab的am系統(tǒng)仿真
- 通信原理課程設(shè)計報告---模擬(數(shù)字)通信系統(tǒng)matlab仿真平臺的設(shè)計和實(shí)現(xiàn)
- 通信原理課程設(shè)計總結(jié)報告
- matlab課程設(shè)計報告
- matlab課程設(shè)計報告
- 通信原理課程設(shè)計
- 通信原理課程設(shè)計--基于matlab的相移鍵控仿真設(shè)計
- 通信原理課程設(shè)計
- 通信原理課程設(shè)計
- 通信原理課程設(shè)計
- 微機(jī)原理課程設(shè)計報告-雙機(jī)串行通信
- matlab課程設(shè)計報告 (2)
- 現(xiàn)代通信原理課程設(shè)計
- 通信原理課程設(shè)計 (2)
評論
0/150
提交評論