ÐŵÀ±àÂëMATLAB·ÂÕæ×÷Òµ
09274070 ÍõÈôÎÅ0903
˼ԴÏÖ¸ø³öÑ»·Âë¼°¾í»ýÂëµÄ±à½âÂë³ÌÐò£¬Àí½â¸÷³ÌÐò£¬Íê³ÉÒÔÏÂϰÌâ¡£½«³ÌÐòÔËÐнá¹û¼°¸÷Ä¿ µÄ½â´ðдÈëwordÖУº
ÔËÐнá¹ûÈçÏÂ
1.ÓÃmatlabÔËÐÐÊéÉÏϰÌâÖеġ°clockcode.m¡± £¨a£©ËµÃ÷£¨7£¬4£©ÂëµÄ¾À´í¼ì´í·½·¨
´ð£º½ÓÊÕÂë×ÖÓë°éËæ¾ØÕóÏà³Ë£¬¼ÆËãµÃ°éËæÊ¸Á¿£¬°éËæÊ¸Á¿²»Îª0˵Ã÷·¢Éú´íÎó£¬Îª0˵Ã÷ÎÞµ¥¸ö»òÁ½¸ö´í£¨£¨7,4£©Âë×î¶à¿É¼ì²âÁ½¸ö´íÎ󣩡£
°éËæÊ½²»Îª0ʱ£¬Í¨¹ý²é±í·¨½øÐÐÒëÂ룬¶ÔÓÚHammingÂ룬°éËæÊ½×é³ÉµÄ¶þ½øÖÆÊý¼´Îª´íÂëµÄλÊý¡£
£¨b£©ÔÚ³ÌÐòÖбê×¢¡°×¢ÊÍ¡±´¦¼ÓÉÏ×¢ÊÍ£¨Ó¢ÎÄ»òÖÐÎÄ£© Encode£º temp=data1(4*i-3:4*i); %×¢ÊÍ£º½«ÔʼÊý¾Ý·Ö³ÉËĸöÒ»×飬ÿ´ÎÑ»·µ÷ÓÃÆäÖÐÒ»×é cyctemp=temp*G; %×¢ÊÍ£º½«ÔÂëÓëÉú³É¾ØÕóGÏà³Ë cyctemp=mod(cyctemp,2); %×¢ÊÍ£ºÃ¿¸öÊý¾ÝÄ£2
encode(7*i-6:7*i)=cyctemp; %×¢ÊÍ£º7λһ×飬½øÐбàÂë Decode£º
temp = x(7*j-6:7*j); %×¢ÊÍ£º½«·Ö×éÂëÊý¾Ý·Ö³ÉÆß¸öÒ»×飬ÿ´ÎÑ»·µ÷ÓÃÆäÖÐÒ»×é s=temp*Ht; %×¢ÊÍ£º½«·Ö×éÂëÓë°éËæ¾ØÕóÏà³ËÉú³É°éËæÊ¸Á¿ if(s == Ht(k,:)) %×¢ÊÍ£ºÈç¹û°éËæÊ¸Á¿Óë°éËæ¾ØÕóÖеÄijһÁÐÏàµÈ
temp(k)=mod(temp(k)+1,2);%×¢ÊÍ£º·Ö×éÊý¾Ý¾À´í£º·Ö×éÊý¾ÝÖеÚk¸öÊý¾Ý¼Ó1£¨Ä£2¼Ó£©
decode(1,4*i-3:4*i)=decode1(1,7*i-6:7*i-3);%×¢ÊÍ£º·Ö×éÂëÿ×éǰ4λдÈë½âÂëÊä³öÊý¾Ý Clockcode£º
data1=rand(1,nd)>0.5; %×¢ÊÍ£ºÉú³É1000¸öËæ»úÊýÊý×飬ÒÔ0.5×÷ΪÃÅÏÞÈ¡0»ò1 x=encode(data1); % ×¢ÊÍ£º¶Ôdata1½øÐбàÂë
data1=rand(1,nd)>0.5; % ×¢ÊÍ£ºÉú³É1000¸öËæ»úÊýÊý×飬ÒÔ0.5×÷ΪÃÅÏÞÈ¡0»ò1 x=encode(data1); % ×¢ÊÍ£ºÓÃ֮ǰÉù³ÆµÄËæ»úÂß¼Êý×é½øÐбàÂë
sigma=E/sqrt(2*SNR); %×¢ÊÍ£º¼ÆËãδ±àÂëʱ¸ß˹·Ö²¼Ëæ»ú±äÁ¿±ê×¼²î£¬SNRδÐÅÔë±È
sigma1=E/sqrt(2*SNR*code_rate); %×¢ÊÍ£º ¼ÆËã±àÂëºó¸ß˹·Ö²¼Ëæ»ú±äÁ¿±ê×¼²î
1
if (data1(i)==0),
data2(i)=-E+Gngauss(sigma); % ×¢ÊÍ£º´«0Âëʱ¼ÓÈë¸ß˹·Ö²¼°×ÔëÉù¸ÉÈÅ£¬Ë«¼«ÐÔÂëelse
data2(i)=E+Gngauss(sigma); % ×¢ÊÍ£º´«1Âëʱ¼ÓÈë¸ß˹·Ö²¼°×ÔëÉù¸ÉÈÅ£¬Ë«¼«ÐÔÂëif (x(i)==0),
data3(i)=-E+Gngauss(sigma1); % ×¢ÊÍ£º±àÂëºóÊý¾ÝÔÚË«¼«ÐÔ´«Êäʱ¼ÓÈë¸ß˹·Ö²¼°×ÔëÉù¸ÉÈÅ£¨¿ÕºÅ£©
else
data3(i)=E+Gngauss(sigma1); % ×¢ÊÍ£º±àÂëºóÊý¾ÝÔÚË«¼«ÐÔ´«Êäʱ¼ÓÈë¸ß˹·Ö²¼°×ÔëÉù¸ÉÈÅ£¨´«ºÅ£©
demodata1=data2 > 0; % ×¢ÊÍ£ºË«¼«ÐÔÂëÓ²Åоö
noe2=sum(abs(data1-demodata1)); % ´íÎóµÄ±ÈÌØÊý nod2=length(data1); % ×¢ÊÍ£º×ÜÂëÔªÊý
ber(snr_num) = noe/nod; %×¢ÊÍ£º¼ÆËãÎó±ÈÌØÂÊ
£¨c£©¶ÔÓÚ±àÂëºÍδ±àÂëµÄÇé¿ö£¬Îó±ÈÌØÂÊΪ1e-2¡¢1e-3¼°1e-4ʱµÄEb/N0·Ö±ðÊǶàÉÙ£¿ BER δ±àÂëEb/N0 ±àÂëºóEb/N0 1e-2 4.28dB 4.53dB 1e-3 6.63dB 6.61dB 1e-4 8.17dB 7.94dB
£¨d£©´ÓÎïÀíÒâÒåÉÏ˵Ã÷±àÂëÔöÒæÎÊÌâ
´ð£º±àÂëÔöÒæÊDZàÂëÐźÅÏà¶ÔÓÚδ±àÂëÐźÅЧÂʵÄÌá¸ß¡£µ¥Î»Îª·Ö±´¡£ÔÚ±àÂëÀíÂÛºÍÏà¹ØµÄ¹¤³ÌÎÊÌâÀ±àÂëÔöÒæÊÇÒ»ÖÖ¶ÈÁ¿£¬ÓÃÀ´Çø±ðSNR£¨ÐÅÔë±È£©¼¶±ðÔÚδ±àÂëµÄϵͳºÍ±àÂëµÄϵͳÀ´´ïµ½ÏàͬµÄ±ÈÌØÂÊ£¨BER£©£¬Ó¦ÓÃÔÚ´íÎó¾ÀÕý±àÂ루ECC£©¡£ ±àÂëÔöÒæÔ½¸ß£¬¾À´íÄÜÁ¦Ô½Ç¿¡£
£¨e£©µ±²ÉÓã¨15£¬11£©Âëʱ£¬¹Û²ìÓ루7£¬4£©ÂëÏà±È±àÂëÔöÒæµÄ±ä»¯¡£
(7,4)Âë (15,11)Âë
ÏàͬÐÅÔë±ÈÏ£¬£¨15,11£©ÂëÎó±ÈÌØÂʱȣ¨7,4£©ÂëµÍ£¬±àÂëÔöÒæÔö´ó 2.Õë¶ÔÌâÄ¿1ÖеÄclockcode.m
(a)ÈôÐŵÀʹÐźŷù¶È³ÊÈðÀûË¥Â䣬»³ö±àÂëÓëδ±àÂëµÄEb/N0---Îó±ÈÌØÂÊÇúÏߣ¬ËµÃ÷ÓëÌâÄ¿1¹Û²ì½á¹ûµÄÒìͬ£¬²¢ËµÃ÷ÔÒò¡£
2