數(shù)字調(diào)制系統(tǒng)在Matlab下的分析
點(diǎn)擊:2214
A+ A-
所屬頻道:新聞中心
作者:肖應(yīng)權(quán)
數(shù)字帶通傳輸系統(tǒng)為了進(jìn)行長(zhǎng)距離傳輸,克服傳輸失真,傳輸損耗,同時(shí)保證帶內(nèi)特性。必須對(duì)數(shù)字信號(hào)進(jìn)行載波調(diào)制,將信號(hào)頻譜搬移到高頻段才能在信道中傳輸,因而現(xiàn)代通信系統(tǒng)采取數(shù)字調(diào)制技術(shù)。通過(guò)數(shù)字基帶信號(hào)對(duì)載波某些參量進(jìn)行控制,使之隨機(jī)帶信號(hào)的變化而變化。根據(jù)控制載波參量大的不同,數(shù)字調(diào)制有調(diào)幅(ASK),調(diào)頻(FSK),調(diào)相(PSK) 三種基本形式。Matlab用于仿真,分析和修改,還可以應(yīng)用圖形界面功能GUI能為仿真系統(tǒng)生成一個(gè)人機(jī)交互界面,便于仿真系統(tǒng)的操作,因此采用matlab對(duì)數(shù)字系統(tǒng)進(jìn)行仿真。通過(guò)對(duì)系統(tǒng)的仿真,我們可以更加直觀的了解數(shù)字調(diào)制系統(tǒng)的性能及影響性能的因素,從而便于改進(jìn)系統(tǒng),獲得更佳的傳輸性能。
1. 二進(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)的過(guò)程稱(chēng)為數(shù)字調(diào)制。通常使用鍵控法來(lái)實(shí)現(xiàn)數(shù)字調(diào)制,比如對(duì)載波的振幅、頻率和相位進(jìn)行鍵控。
2. 2ASK
2ASK信號(hào)的產(chǎn)生方法通常有兩種:模擬調(diào)制和鍵控法。解調(diào)有相干解調(diào)和非相干解調(diào)。P=1時(shí)f(t)=Acoswt;p=0時(shí)f(t)=0;其功率譜密度是基帶信號(hào)功率譜的線性搬移。2ASK時(shí)域表示及波形,2ASK是利用代表數(shù)字信息("0"或"1")的基帶矩形脈沖去鍵控一個(gè)連續(xù)的正弦型載波的振幅,使載波時(shí)斷時(shí)續(xù)地輸出。有載波輸出時(shí)表示發(fā)送"1",無(wú)載波輸出時(shí)表示發(fā)送"0"。
數(shù)字基帶信號(hào)如式(1)
式中g(shù)(t)是寬度為T(mén)s、高度為A的矩形脈沖。a n為數(shù)字序列{a n}的第n個(gè)碼元的電平值。顯然,上式給出的表達(dá)是單極性不歸零碼。載波 c(t)=COS(ωct+ 0 ), 初始相位 0 =0。
對(duì)應(yīng)的波形如圖2:
特點(diǎn):"1"碼期間有等幅正弦波輸出,相當(dāng)于開(kāi)關(guān)開(kāi)通;"0"碼期間無(wú)輸出,相當(dāng)于開(kāi)關(guān)切斷。因此,數(shù)字調(diào)幅又稱(chēng)為開(kāi)關(guān)鍵控(通斷鍵控),記作OOK(On Off Keying)。
兩種調(diào)制方法如圖3:
圖3 2ASK的兩種調(diào)制方法
2ASK在matlab下的仿真如下:
clear all
close all
i=10;
j=5000;
t=linspace(0,5,j);%取0,0.001,0.002,。。。5 共5001個(gè)點(diǎn)
fc=10;
fm=i/5;
B=2*fc; %產(chǎn)生基帶信號(hào)
a=round(rand(1,i));%隨機(jī)序列
figure(2)
plot(rand(1,i))
st=t;
for n=1:10
if a(n)<1;
for m=j/i*(n-1)+1:j/i*n %一個(gè)信號(hào)取500個(gè)點(diǎn)
st(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st(m)=1;
end
end
end
figure(1);
subplot(421);
plot(t,st);
axis([0,5,-1,2]);
title('基帶信號(hào)');
s1=cos(2*pi*fc*t); %載波
subplot(422);
plot(s1);
title('載波信號(hào)');
e_2ask=st.*s1; %調(diào)制
subplot(423);
plot(t,e_2ask);
title('已調(diào)信號(hào)');
noise =rand(1,j);
e_2ask=e_2ask+noise;%加入噪聲
subplot(424);
plot(t,e_2ask);
title('加入噪聲的信號(hào)');
at=e_2ask.*cos(2*pi*fc*t); %相干解調(diào)
at=at-mean(at);
subplot(425);
plot(t,at);
title('相乘后信號(hào)');
[f,af] = T2F(t,at);%通過(guò)低通濾波器
[t,at] = lpf(f,af,2*fm);
subplot(426);
plot(t,at);
title('解調(diào)后波形');
for m=0:i-1; %抽樣判決
if at(1,m*500+250)+0.5<0.5;
for j=m*500+1:(m+1)*500;
at(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
at(1,j)=1;
end
end
end
subplot(427);
plot(t,at);
axis([0,5,-1,2]);
title('抽樣判決后波形')
3. 2FSK
一個(gè)FSK信號(hào)可以看成是兩個(gè)不同載波的2ASK信號(hào)的疊加。其解調(diào)和解調(diào)方法和ASK差不多。2FSK信號(hào)的頻譜可以看成是f1和f2的兩個(gè)2ASK頻譜的組合。
公式如下:
clear all
close all
i=10;%基帶信號(hào)碼元數(shù)
j=5000;
a=round(rand(1,i));%產(chǎn)生隨機(jī)序列
t=linspace(0,5,j);
f1=10;%載波1頻率
f2=5;%載波2頻率
fm=i/5;%基帶信號(hào)頻率
B1=2*f1;%載波1帶寬
B2=2*f2;%載波2帶寬
st1=t; %產(chǎn)生基帶信號(hào)
for n=1:10
if a(n)<1;
for m=j/i*(n-1)+1:j/i*n
st1(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st1(m)=1;
end
end
end
st2=t;
for n=1:j; %基帶信號(hào)求反
if st1(n)>=1;
st2(n)=0;
else
st2(n)=1;
end
end;
figure(1);
subplot(411);
plot(t,st1);
title('基帶信號(hào)');
axis([0,5,-1,2]);
subplot(412);
plot(t,st2);
title('基帶信號(hào)反碼');
axis([0,5,-1,2]);
s1=cos(2*pi*f1*t) %載波信號(hào)
s2=cos(2*pi*f2*t)
subplot(413),plot(s1);
title('載波信號(hào)1');
subplot(414),plot(s2);
title('載波信號(hào)2'); %調(diào)制
F1=st1.*s1;%加入載波1
F2=st2.*s2;%加入載波2
figure(2);
subplot(411);
plot(t,F1);
title('s1*st1');
subplot(412);
plot(t,F2);
title('s2*st2');
e_fsk=F1+F2;
subplot(413);
plot(t,e_fsk);
title('2FSK信號(hào)')
nosie=rand(1,j);
fsk=e_fsk+nosie;
subplot(414);
plot(t,fsk);
title('加噪聲信號(hào)') %相干解調(diào)
st1=fsk.*s1;%與載波1相乘
[f,sf1] = T2F(t,st1);%通過(guò)低通濾波器
[t,st1] = lpf(f,sf1,2*fm);
figure(3);
subplot(311);
plot(t,st1);
title('與載波1相乘后波形');
st2=fsk.*s2;%與載波2相
[f,sf2] = T2F(t,st2);%通過(guò)低通濾波器
[t,st2] = lpf(f,sf2,2*fm);
subplot(312);
plot(t,st2);
title('與載波2相乘后波形');
for m=0:i-1; %抽樣判決
if st1(1,m*500+250)<0.25;
for j=m*500+1:(m+1)*500;
at(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
at(1,j)=1;
end
end
end;
subplot(313);
plot(t,at);
axis([0,5,-1,2]);
title('抽樣判決后波形')
4. 2PSK
2PSK以載波的相位變化作為參考基準(zhǔn)的,當(dāng)基帶信號(hào)為0時(shí)相位相對(duì)于初始相位為0,當(dāng)基帶信號(hào)為1時(shí)相 對(duì)于初始相位為180°。
clear all
close all
i=10;
j=5000;
fc=4;
fm=i/5;
B=2*fm;
t=linspace(0,5,j); %產(chǎn)生基帶信號(hào)
a=round(rand(1,i));
st1=t;
for n=1:10
if a(n)<1;
for m=j/i*(n-1)+1:j/i*n
st1(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st1(m)=1;
end
end
end
subplot(321);
plot(t,st1);
title('基帶信號(hào)');
axis([0,5,-1,2]);
st2=t; %基帶信號(hào)求反
for k=1:j;
if st1(k)>=1;
st2(k)=0;
else
st2(k)=1;
end
end;
subplot(322);
plot(t,st2);
title('基帶信號(hào)反碼');
axis([0,5,-1,2]); %載波信號(hào)
s1=sin(2*pi*fc*t);
s2=sin(2*pi*fc*t+pi);
subplot(323);
plot(s1);
title('載波信號(hào)'); %調(diào)制
p1=st1.*s1;
p2=st2.*s2;
subplot(324);
plot(t,p1);
title('st1*s1');
subplot(325);
plot(t,p2);
title('st2*s2');
e_psk=p1+p2;
subplot(326);
plot(t,e_psk);
title('e_2psk');
noise=rand(1,j);
psk=e_psk+noise;%加入噪聲
figure(2);
subplot(411);
plot(t,psk);
title('加噪后波形'); %相干解調(diào)
psk=psk.*s1;%與載波相乘
subplot(412);
plot(t,psk);
title('與載波相乘后波');
[f,af] = T2F(t,psk);%通過(guò)低通濾波器
[t,psk] = lpf(f,af,B);
subplot(413);
plot(t,psk);
title('通過(guò)低通濾波器波形'); %抽樣判決
for m=0:i-1;
if psk(1,m*500+250)<0;
for j=m*500+1:(m+1)*500;
psk(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
psk(1,j)=1;
end
end
end
subplot(414);
plot(t,psk);
axis([0,5,-1,2]);
title('抽樣判決后波形')
通過(guò)以上的仿真分析,我們可以知道,在誤碼率相同的情況下,所需要的信噪比2ASK比2FSK高3dB,2fsk比2psk高3db,2ask比2psk高6db。也就是說(shuō),若信噪比r一定,2psk系統(tǒng)的誤碼率比2fsk的小,2fsk系統(tǒng)的誤碼率比2ask的小,由此看來(lái),在抗加性高斯白噪聲方面,想干2psk性能最好,2fsk次之,2ask最差。當(dāng)然,后面還有DPSK,等等改進(jìn)型的。(如果你對(duì)本文的代碼和仿真圖像有任何疑問(wèn)可聯(lián)系本文作者QQ:1529620855)
(審核編輯: 小王子)
分享