Êý×Ö»ù´ø´«Êä³£ÓÃÂëÐ͵ÄMATLAB±íʾ
ÔÚijЩ¾ßÓеÍÍ¨ÌØÐÔµÄÓÐÏßÐŵÀÖУ¬ÌرðÊÇ´«Êä¾àÀë½Ï½üµÄÇé¿ö
Ï£¬Êý×Ö»ù´øÐźŲ»¾µ÷ÖÆ¿ÉÒÔÖ±½Ó´«Ê䣬ÕâÖÖϵͳ³ÆÎªÊý×Ö»ù´øÏµÍ³¡£¶ø¾ßÓе÷ÖÆ½âµ÷¹ý³ÌµÄÊý×Öϵͳ³ÆÎªÊý×Ö´øÍ¨´«Êäϵͳ¡£ÔÚµÚÆßÕÂÖУ¬½«ÁоÙÊý×Ö´øÍ¨´«Êäϵͳ·ÂÕæµÄÀý×Ó£¬ÔÚ±¾ÕÂÖУ¬ÎÒÃÇÖØµãÌÖÂÛÊý×Ö»ù´ø³£ÓÃÂëÐ͵IJúÉú£¬¼´Êý×Ö»ù´øÐźŵIJúÉú¡£½Ì²ÄÖУ¬ÎÒÃÇÒÔµ¥¼«ÐÔ²»¹éÁãÂëºÍµ¥¼«ÐÔ²»¹éÁãÂëµÄʵÏÖ×÷Ϊ²Î¿¼¡£ µ¥¼«ÐÔ²»¹éÁãÂëMATLAB³ÌÐòÈçÏ£º
function y=snrz(x)
% ±¾º¯ÊýʵÏÖÊäÈë¶þ½øÖÆÂ룬Êä³ö±àºÅµÄµ¥¼«ÐԷǹéÁãÂë % ÊäÈëxΪ¶þ½øÖÆÂ룬Êä³öyΪµ¥¼«ÐԷǹéÁãÂë
num=200; % µ¥¼«ÐԷǹéÁãÂëÿһ¸öÂëÔª°üº¬µÄµã t=0:1/num:length(x); for i=1:length(x); if x(i)==1;
for j=1:num;
y((i-1)*num+j)=1; % ¶ÔÓ¦µÄµã¸³ÖµÎª1 end else
for j=1:num;
y((i-1)*num+j)=0; % ¶ÔÓ¦µÄµã¸³ÖµÎª0 end end end
y=[y,x(i)]; % ΪÁË»æÖÆÍ¼ÐΣ¬×¢ÒâÒª½«yÐòÁмÓ×îºóһλ
plot(t,y); grid on; axis([0 i -0.2 1.2]); title('µ¥¼«ÐԷǹéÁãÂë 1 0 0 1 0 1'); % »æÍ¼
ÔÚMATLABÃüÁîÐд°¿ÚÖмüÈëxµÄÖµ£¬²¢µ÷Óú¯Êýsnrz(x)£¬¾Í¿ÉÒԵõ½¶ÔÓ¦µÄµ¥¼«ÐÔ²»¹éÁãÂë¡£ÈçÊäÈëÒÔÏÂÖ¸Á½«³öÏÖͼ1ËùʾµÄ½á¹û¡£
µ¥¼«ÐԷǹéÁãÂë 1 0 0 1 0 110.80.60.40.20-0.20123456
ͼ1 µ¥¼«ÐÔ²»¹éÁãÂë
µ¥¼«ÐÔ²»¹éÁãÂëMATLAB³ÌÐòÈçÏ£º
function y=srz(x)
% ±¾º¯ÊýʵÏÖÊäÈë¶þ½øÖÆÂ룬Êä³ö±àºÅµÄµ¥¼«ÐÔ¹éÁãÂë % ÊäÈëxΪ¶þ½øÖÆÂ룬Êä³öyΪµ¥¼«ÐÔ¹éÁãÂë
num=200; % µ¥¼«ÐԷǹéÁãÂëÿһ¸öÂëÔª°üº¬µÄµã t=0:1/num:length(x); for i=1:length(x); if x(i)==1;
for j=1:num/2;
y((i*2-2)*num/2+j)=1; % ¶Ô1¶øÑÔ£¬Ç°°ë²¿·Öʱ¼äֵΪ1 y((i*2-1)*num/2+j)=0; % ¶Ô1¶øÑÔ£¬ºó°ë²¿·Öʱ¼äֵΪ0 end else
for j=1:num;
y((i-1)*num+j)=0; % ¶ÔÓ¦µÄµã¸³ÖµÎª0 end end end
y=[y,x(i)]; % ΪÁË»æÖÆÍ¼ÐΣ¬×¢ÒâÒª½«yÐòÁмÓ×îºóһλ
plot(t,y); grid on; axis([0 i -0.2 1.2]); title('µ¥¼«ÐԷǹéÁãÂë 1 0 0 1 0 1');
ͬÉÏ£¬ÔÚMATLABÃüÁîÐд°¿ÚÖмüÈëxµÄÖµ£¬²¢µ÷Óú¯Êýsrz(x)£¬¾Í¿ÉÒԵõ½¶ÔÓ¦µÄµ¥¼«ÐÔ¹éÁãÂë¡£ÈçÊäÈëÒÔÏÂÖ¸Á½«³öÏÖͼ2Ëùʾ
µÄ½á¹û¡£
x=[1 0 0 1 0 1]; srz(x);
µ¥¼«ÐÔ¹éÁãÂë 1 0 0 1 0 110.80.60.40.20-0.20123456
ͼ2 µ¥¼«ÐÔ¹éÁãÂë
½è¼øÉÏÃæÁ½ÖÖÂëÐ͵IJúÉú·½·¨£¬±ã¿ÉÒÔÇáËɵÄд³öË«¼«ÐÔ¹éÁãÂ롢˫¼«ÐÔ²»¹éÁãÂë¡¢²î·ÖÂëµÈµÄ³ÌÐò¡£
¶Ô»ù´øÊý×Öµ÷ÖÆÓë½âµ÷·ÂÕæ£¬ÔÚMATLABͨÐŹ¤¾ßÏäÖзֱðÌṩÁ˺¯ÊýdmodceºÍddemodceÀ´ÊµÏÖ£¬¶ÁÕß¿ÉÒÔͨ¹ýhelpÃüÁîÀ´»ñÈ¡Ïà¹ØÐÅÏ¢¡£ÏÂÃæÁоÙÁËÒ»¸ö2FSK»ù´øµ÷ÖÆ½âµ÷µÄ·ÂÕæÊ¾Àý¡£
MATLAB³ÌÐòÈçÏ£º
% ±¾³ÌÐòʵÏÖFSKµ÷ÖÆ½âµ÷»ù´ø·ÂÕæ x=randint(1,1000); % ²úÉú0 1Ëæ»úÐòÁÐ fd=10; % »ù´øÐźÅËÙÂÊ fs=200; % ²ÉÑùƵÂÊ M=2; % M-FSK tone=20;
snr=-10; % ÐÅÔë±È
basefsk=dmodce(x,fd,fs,'fsk',M,tone); % µ÷ÓÃdmodceº¯Êý½øÐÐfskµ÷ÖÆ basefsk_awgn=awgn(basefsk,snr); % µþ¼ÓÔëÉù
demod_basefsk=ddemodce(basefsk,fd,fs,'fsk',M,tone); % δ¼ÓÔëÉùµÄÒѵ÷ÐźÅ