MATLAB仿真的ASKPSKFSK性能比较和分析报告.docx
- 文档编号:7225445
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:14
- 大小:38.88KB
MATLAB仿真的ASKPSKFSK性能比较和分析报告.docx
《MATLAB仿真的ASKPSKFSK性能比较和分析报告.docx》由会员分享,可在线阅读,更多相关《MATLAB仿真的ASKPSKFSK性能比较和分析报告.docx(14页珍藏版)》请在冰豆网上搜索。
MATLAB仿真的ASKPSKFSK性能比较和分析报告
2ASK、2FSK、2PSK数字调制系统的Matlab实现及性能分析与比较
1/26
引言:
数字带通传输系统为了进行长距离传输,克服传输失真,传输损耗,同时保证带内特性。
必须对数字信号进行载波调制,将信号频谱搬移到高频段才能在信道中传输,因而现代通信系统采取数字调制技术。
通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化。
根据控制载波参量大的不同,数字调制有调幅(ASK),调频(FSK),调相(PSK)三种基本形式。
Matlab用于仿真,分析和修改,还可以应用图形界面功能GUI能为仿真系统生成一个人机交互界面,便于仿真系统的操作,因此采用matlab对数字系统进行仿真。
通过对系统的仿真,我们可以更加直观的了解数字调制系统的性能()及影响性能的因素,从而便于改进系统,获得更佳的传输性能。
关键词:
数字.系统.性能.ASK.FSK.PSK.Matlab.仿真.
一.数字调制与解调原理
1.12ASK
(1)2ASK
2ASK就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。
由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号时,传输载波;当调制的数字信号为ぜ时,不传输载波。
?
t,当a?
1cosA?
公式为:
kcs(t)?
?
ASK20,当a?
0?
k
2/26
1.22FSK
2FSK可以看做是2个不同频率的2ASK的叠加,其调制与解调方法与2ASK差不多,主要频率F1和F2,不同的组合产生所要求的2FSK调制信号。
?
t,当a?
cosA1?
公式如下:
k1s(t)?
?
FSK2?
t,当a?
0cosA?
k2
1.32PSK
2PSK以载波的相位变化为基准,载波的相位随数字基带序列信号的1或者0而改变,通常用已经调制完的载波的0或者π表示数据1或者0,每种相位与之一3/26
一对应。
二.数字调制技术的仿真实现
本课程设计需要借助MATLAB的M文件编程功能,对2ASK..2PSK.2FSK进行调制与解调的设计,并绘制出调制与解调后的波形,误码率的情况分析,软件仿真可在已有平台上实现。
1.2ASK代码主函数
allclose
allclear
n=16;fc=1000000;bitRate=1000000;N=50;%noise=ti;noise=10;生成二进制代码signal=source(n,N);%调制后信号transmittedSignal=askModu(signal,bitRate,fc,N);%加噪声signal1=gussian(transmittedSignal,noise);%configueSignal=demoASK(signal1,bitRate,fc,n,N);
source代码
sendSignal=source(n,N)function4/26
sendSignal=randint(1,n)bit=[];i=1:
length(sendSignal)forsendSignal(i)==0ifbit1=zeros(1,N);elsebit1=ones(1,N);end
bit=[bit,bit1];end
figure
(1);onplot(1:
length(bit),bit),title('transmittingofbinary'),grid
axis([0,N*length(sendSignal),-2,2]);end
askModu代码
functiontransmittedSignal=askModu(signal,bitRate,fc,N)%signal为输入信号,bitrate为bit速率,fc调制信号频率,N
%signal=[00101101];
%bitRate=1000000;%fc=1000000;%N=32;
t=linspace(0,1/bitRate,N);c=sin(2*pi*t*fc);transmittedSignal=[];i=1:
length(signal)fortransmittedSignal=[transmittedSignal,signal(i)*c];end
画调制图figure
(2)%'Modulationplot(1:
length(transmittedSignal),transmittedSignal);title(;);gridonofASK'画频谱实部figure(3)%m=0:
length(transmittedSignal)-1;F=fft(transmittedSignal););plot(m,abs(real(F))),title('ASK_frequency-domainanalysisreal';gridon画频谱虚部%figure(4)%plot(m,imag(F));title('ASK_frequency-domainanalysisimag');%gridon;endCheckRatePe代码
5/26
PeWrong=CheckRatePe(signal1,signal2,s)functionrights=0;wrongs=0;ki=1:
s-2for(signal1(ki)==signal2(ki))ifrights=rights+1;else
wrongs=wrongs+1;end
endPeWrong=wrongs/(wrongs+rights);end
demoASK代码
bitstream=demoASK(receivedSignal,bitRate,fc,n,N)functionnumload
signal1=receivedSignal;%?
?
á÷signal2=abs(signal1);
%LPF,°ü?
?
?
ì2¨signal3=filter(num1,1,signal2);
%?
ó3ùê±?
?
IN=fix(length(num1)/2);
bitstream=[];LL=fc/bitRate*N;i=IN+LL/2;%?
D?
?
while(i<=length(signal3))
bitstream=[bitstream,signal3(i)>=0.5];i=i+LL;end
figure(6)接收波形subplot(3,1,1);%plot(1:
length(signal1),signal1);title('Waveofreceiving
;onterminal(includingnoise)');grid
接收整流后波形subplot(3,1,2);%;);gridoncommutate'plot(1:
length(signal2),signal2);title('Waveof
包络检波波形subplot(3,1,3);%;onplot(1:
length(signal3),signal3);title('WaveofLPF');grid
bit=[];i=1:
length(bitstream)forbitstream(i)==0if
bit1=zeros(1,N);else6/26
bit1=ones(1,N);end
bit=[bit,bit1];end
解调后的二进制波形figure(7)%;),gridonplot(bit),title('binaryofreceivingterminal'axis([0,N*length(bitstream),-2.5,2.5]);end
gussian代码%加高斯白噪声
signal=gussian(transmittedSignal,noise)functionsignal=sqrt
(2)*transmittedSignal;signal=awgn(signal,noise);figure(5)
plot(1:
length(signal),signal);;on'Waveincludingnoise'),gridtitle(end//////////////////////////////////////////////////////////////////////////////////////////////////////////////////fsk主函数代码///
allclose
allclear
二进制代码长度n=16;%1f1=18000000;%频率2频率f2=6000000;%速率bitRate=1000000;%bit码元宽度N=50;%%noise=ti;家性噪声大小noise=10;%产生二进制代码signal=source(n,N);%调制transmittedSignal=fskModu(signal,bitRate,f1,f2,N);%加噪声signal1=gussian(transmittedSignal,noise);%解调configueSignal=demoFSK(signal1,bitRate,f1,f2,N);%
source代码%二进制信号产生函数
sendSignal=source(n,N)functionsendSignal=randint(1,n)bit=[];i=1:
length(sendSignal)forsendSignal(i)==0if7/26
bit1=zeros(1,N);elsebit1=ones(1,N);end
bit=[bit,bit1];end
figure
(1);),gridonplot(bit),title('transmittingofbinary'axis([0,N*length(sendSignal),-2.5,2.5]);end
fskModu代码%频率调制函数
transmittedSignal=fskModu(signal,bitRate,f1,f2,N)functiont=linspace(0,1/bitRate,N);1调制信号c1=sin(2*pi*t*f1);%2调制信号c2=sin(2*pi*t*f2);%transmittedSignal=[];调制i=1:
length(signal)%forsignal(i)==1iftransmittedSignal=[transmittedSignal,c1];else
transmittedSignal=[transmittedSignal,c2];end
end
画调制后波形图figure
(2)%
plot(1:
length(transmittedSignal),transmittedSignal);title('Modulation
;onofFSK');grid
figure(3)%画调制后频谱图
m=0:
length(transmittedSignal)-1;F=fft(transmittedSignal););plot(m,abs(real(F))),title('ASK_frequency-domainanalysisreal';ongrid
end
demoFSK代码
bitstream=demoFSK(receivedSignal,bitRate,f1,f2,N)functionnumload
signal1=receivedSignal;,得到高通分量通过signal2=filter(gaotong,1,signal1);%HPF8/26
整流%signal3=abs(signal2);
通过低通,形成包络%signal3=filter(lowpass,1,signal3);
bitstream=[];IN1=fix(length(lowpass)/2)+fix(length(gaotong)/2);%延迟时间bitstream1=[];的抽样点数每个bitLL=N;%i=IN1+LL/2;判决%while(i<=length(signal3))
bitstream1=[bitstream1,signal3(i)>=0.5];i=i+LL;end
bitstream1figure(5)subplot(3,1,1);plot(1:
length(signal1),signal1);title('Waveofreceiving
;);gridonterminal(includingnoise)'subplot(3,1,2);;);gridon'AfterPassingHPF'plot(1:
length(signal2),signal2);title(subplot(3,1,3);;onPassingLPF');gridplot(1:
length(signal3),signal3);title('After
得到低频分量BPFsignal4=filter(daitong,1,signal1);%通过整流%signal5=abs(signal4);
,形成包络LPF%通过signal5=filter(lowpass,1,signal5);
延迟时间%IN2=fix(length(lowpass)/2)+fix(length(daitong)/2);
bitstream2=[];bit的的抽样点数LL=N;%每个i=IN2+LL/2;判决(i<=length(signal5))%whilebitstream2=[bitstream2,signal5(i)>=0.5];i=i+LL;end
bitstream2figure(6)subplot(3,1,1);plot(1:
length(signal1),signal1);title('Waveofreceiving
;);gridterminal(includingnoise)'onsubplot(3,1,2);;onPassing'AfterBPF');gridplot(1:
length(signal4),signal4);title(subplot(3,1,3);;on);gridplot(1:
length(signal5),signal5);title('AfterPassingLPF'
判决i=1:
min(length(bitstream1),length(bitstream2))for%9/26
(bitstream1(i)>bitstream2(i))ifbitstream(i)=1;else
bitstream(i)=0;end
end
bitstream
接收端波形%bit=[];
i=1:
length(bitstream)for
bitstream(i)==0if
bit1=zeros(1,N);else
bit1=ones(1,N);end
bit=[bit,bit1];end
figure(7);),gridonplot(bit),title('binaryofreceivingterminal'axis([0,N*length(bitstream),-2.5,2.5]);
end
CheckRatePe代码
PeWrong=CheckRatePe(signal1,signal2,s)functionrights=0;wrongs=0;ki=1:
s-2for(signal1(ki)==signal2(ki))if
rights=rights+1;else
wrongs=wrongs+1;end
endPeWrong=wrongs/(wrongs+rights);end
gussian代码
signal=gussian(transmittedSignal,noise)functionsignal=sqrt
(2)*transmittedSignal;signal=awgn(signal,noise);figure(4));plot(1:
length(signal),signal),title('AddingNoise'10/26
;gridonend2psk主函数代码
allclose
allclear
二进制码长n=16;%载波频率fc=1000000;%信息频率bitRate=1000000;码宽N=50;%信道加性噪声大小noise=10;%生成二进制代码signal=source(n,N);transmittedSignal=bpskModu(signal,bitRate,fc,N);对信号进行调制并进行频谱分析加信道噪声signal1=gussian(transmittedSignal,noise)%信号解调configueSignal=demoBPSK(signal1,bitRate,fc,n,N);%
source代码
sendSignal=source(n,N)functionsendSignal=randint(1,n)bit=[];i=1:
length(sendSignal)forsendSignal(i)==0if
bit1=zeros(1,N);else
bit1=ones(1,N);end
bit=[bit,bit1];end
figure
(1);on),gridplot(bit),title('transmittingofbinary'axis([0,N*length(sendSignal),-2.5,2.5]);end
bpskModu代码
transmittedSignal=bpskModu(signal,bitRate,fc,N)functiont=linspace(0,1/bitRate,N);c1=sin(2*pi*t*fc);c2=sin(2*pi*t*fc+pi);11/26
transmittedSignal=[];i=1:
length(signal)forsignal(i)==1iftransmittedSignal=[transmittedSignal,c1];else
transmittedSignal=[transmittedSignal,c2];end
end
画调制图figure
(2)%
plot(1:
length(transmittedSignal),transmittedSignal);title('Modulation
;onofBPSK');grid
画频谱图figure(3)%m=0:
length(transmittedSignal)-1;F=fft(transmittedSignal););'BPSK_frequency-domainanalysisreal'plot(m,abs(real(F))),title(;ongrid
end
CheckRatePe代码
PeWrong=CheckRatePe(signal1,signal2,s)functionrights=0;wrongs=0;ki=1:
s-2for(signal1(ki)==signal2(ki))ifrights=rights+1;else
wrongs=wrongs+1;end
endPeWrong=wrongs/(wrongs+rights);end
demoBPSK代码
bitstream=demoBPSK(receivedSignal,bitRate,fc,n,N)function存储的低通滤波用的数据num%读取loadnumsignal1=receivedSignal;t=linspace(0,1/bitRate,N);c=sin(2*pi*t*fc);signal=[];i=1:
nfor
signal=[signal,c];12/26
end
sin%乘同频同相signal2=signal1.*signal;
3%LPF,包络检波signal3=filter(num1,1,signal2);
延迟时间IN=fix(length(num1)/2);%?
bitstream=[];LL=fc/bitRate*N;i=IN+LL/2;判决(i<=length(signal3))%whilebitstream=[bitstream,signal3(i)>=0];i=i+LL;end
figure(5)画接收的包含噪声的波形subplot(3,1,1);%plot(1:
length(signal1),signal1);title('Waveofreceiving
;onterminal(includingnoise)');grid
相干解调波形subplot(3,1,2);%plot(1:
length(signal2),signal2);title('AfterMultiplingsin
;onFuction');grid
包络检波波形subplot(3,1,3);%;on'WaveofLPF');gridplot(1:
length(signal3),signal3);title(
bit=[];i=1:
length(bitstream)forbitstream(i)==0ifbit1=zeros(1,N);else
bit1=ones(1,N);end
bit=[bit,bit1];end
二进制接收信号波形figure(6););gridonplot(bit);title('binaryofreceivingterminal'axis([0,N*length(bitstream),-2.5,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 仿真 ASKPSKFSK 性能 比较 分析 报告