µ±Ç°Î»ÖãºÊ×Ò³ > Êý×ÖÆµ´ø´«ÊäϵͳµÄMATLAB·ÂÕæÊµÏÖÔ´´úÂë
Ò»¡¢Éè¼ÆÄÚÈÝ£ºÊý×ÖÆµ´ø´«ÊäϵͳµÄMATLAB·ÂÕæÊµÏÖ
[1]¸öÈ˲¿·Ö£º2PSKµÄµ÷ÖÆ¡¢ÐŵÀÄ£Äâ¡¢³éÑùÅоö¼°½âµ÷
1¡¢2PSKµÄµ÷ÖÆ
»ù±¾ÈÎÎñ£ºÔʼPCMÂö³å±àÂëÐźŵÄ2PSKµ÷ÖÆ
1£©¡¢Ö÷Òª²½ÖèºÍÒªÇ󣺶ÔÔʼµÄPCMÂö³å±àÂëÐźŽøÐÐ2PSKµ÷ÖÆ¡£ÒªÇóÔʼµÄPCMÂö³å±àÂëÐźſÉÒÔÊÇÊý×ÖÐÍÒ²¿ÉÒÔÊÇ×Ö·ûÐÍ£»ÒªÇó»³öÔʼPCMÂö³å±àÂëÐźźÍ2PSKµ÷ÖÆÐźŵIJ¨ÐÎͼ¡£ 2£©2PSKµ÷ÖÆ³ÌÐò´úÂ뼰˵Ã÷£º
function psk_sig=modulat_1(pcm ,Fc,Fd,Fs)
%ÊäÈëÐźÅpcmΪÔʼµÄPCMÂö³å±àÂëÐźţ¬FcÎªÔØ²¨ÆµÂÊ,FdÊä³öÐźŵijéÑù %ƵÂÊΪ,FsΪÊäÈëÐźŵijéÑùƵÂÊ£»Êä³öÐźÅpsk_sigΪ2PSKµ÷ÖÆºóµÄÐźš£ %ÔʼPCMÂö³å±àÂëÐźŵÄ2PSKµ÷ÖÆ% %¼ì²âÊäÈëÐźŵÄÀàÐÍ% 2PSKµ÷ÖÆ³ÌÐò´úÂ룺
function psk_sig=modulat_1(pcm,fc,fd,fs)
for i=1:length(pcm); % ÅжÏÊÇÊý×Ö»¹ÊÇ×Ö·û if ischar(pcm(i))==1; pcm(i)=str2num(pcm(i)); end i=i+1; end
psk_sig=dmod(pcm,fc,fd,fs,'psk'); subplot(2,1,1) plot(pcm,'r*') subplot(2,1,2)
plot(psk_sig,'b.')
ʵÑé½ØÍ¼£º
2¡¢Ëæ»úÔëÉùÐŵÀµÄMATLAB·ÂÕæÊµÏÖ
»ù±¾ÈÎÎñ£º¼òµ¥Ëæ»úÔëÉùÐŵÀµÄMATLAB·ÂÕæÊµÏÖ¡£
1£©¡¢Ö÷Òª²½ÖèºÍÒªÇó£ºÒªÇó2PSKµ÷ÖÆÐźž¹ýÒ»¸ö³£ÓõÄAWGNÐŵÀ£»ÒªÇó2PSKµ÷ÖÆÐźſÉÒÔÊÇÊý×ÖÐÍÒ²¿ÉÒÔÊÇ×Ö·ûÐÍ£»ÒªÇóÐŵÀÐÅÔë±Èsnr¿É±ä£»ÒªÇóÔÚͬһ¸öfigureÖиø³öÊäÈëÐźÅpsk_sigºÍÊä³öÐźÅpsk_after_channelµÄ²¨ÐÎͼ¡£ 2£©¡¢2PSK£«AWGN³ÌÐò´úÂ뼰˵Ã÷:
function psk_after_channel=channel_1(psk_sig,snr)
%ÊäÈë±äÁ¿psk_sigΪ2PSKµ÷ÖÆÐźţ¬snrΪAWGNÐŵÀµÄÐÅÔë±È£»Êä³ö±äÁ¿%psk_after_channelΪ¾¹ýAWGNÐŵÀºóµÄ2PSKµ÷ÖÆÐźš£ %¼ì²â2PSKµ÷ÖÆÐźŵÄÀàÐÍ%
2PSK£«AWGN³ÌÐò´úÂ룺
function psk_after_channel=channel_1(psk_sig,snr); n1=length(psk_sig); psk_sig=psk_sig(:); psk_sig_a=zeros(n1,1);
psk_sig_a=psk_sig_a(:); %²úÉúÁÐÏòÁ¿ for i=1:n1
if ischar(psk_sig(i))==1
psk_sig_a(i)=str2num(psk_sig(i)); else psk_sig(i)=psk_sig(i); end end
psk_after_channel=awgn(psk_sig,snr); subplot(2,1,1) plot(psk_sig,'r*') subplot(2,1,2)
plot(psk_after_channel,'b.')
ʵÑé½ØÍ¼£º
3¡¢³éÑùÅоöµÄMATLAB·ÂÕæÊµÏÖ
»ù±¾ÈÎÎñ£º¶Ô¾¹ýËæ»úÔëÉùÐŵÀµÄ2PSKºÍ2FSKµ÷ÖÆÐźŽøÐгéÑùÅоö£¬È¥³ý»ò¼õÈõÔëÉùµÄ¸ÉÈÅ¡£
1)¡¢Ö÷Òª²½ÖèºÍÒªÇ󣺶Ծ¹ýÐÅÔë±È¿É±ä¡¢ÊäÈëÐźŹ¦ÂÊÖµ¿Éµ÷µÄËæ»úÔëÉùÐŵÀµÄ2PSKµ÷ÖÆÐźŽøÐгéÑùÅоö£¬È¥³ýÔëÉùµÄ¸ÉÈÅ¡£ÒªÇó2PSKµ÷ÖÆÐźſÉÒÔÊÇÊý×ÖÐÍÒ²¿ÉÒÔÊÇ×Ö·ûÐÍ£»ÒªÇó»³öÅоöǰºóµÄ²¨ÐÎͼ¡£ 2)¡¢2PSK£«AWGN£«ADJUDGE³ÌÐò´úÂ뼰˵Ã÷:
function adjudged_psk=adjudg_1(psk_after_channel£¬m)
%ÊäÈëÐźÅpsk_after_channelΪ¾¹ýAWGNÐŵÀºóµÄ2PSKµ÷ÖÆÐźţ¬mΪÅоö %ÃÅÏÞÖµ£»Êä³ö±äÁ¿adjudged_pskΪ³éÑùÅоöºóµÄÐźš£ %¼ì²â2PSKµ÷ÖÆÐźŵÄÀàÐÍ% 2PSK£«AWGN£«ADJUDGE³ÌÐò´úÂ룺
function adjudge_psk=adjudg_1(psk_after_channel) n4=length(psk_after_channel); adjudge_psk=zeros(1,n4);
¹²·ÖÏí92ƪÏà¹ØÎĵµ