ͨÐÅϵͳ·ÂÕæÉÏ»úʵÑéÖ¸µ¼Êé ÁªÏµ¿Í·þ

·¢²¼Ê±¼ä : ÐÇÆÚÎå ÎÄÕÂͨÐÅϵͳ·ÂÕæÉÏ»úʵÑéÖ¸µ¼Êé¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ4fb542557c1cfad6185fa704

if abs(x)>=2048

out(2:8)=[1 1 1 1 1 1 1]; else

tmp=floor((abs(x)-st)/step);

t=dec2bin(tmp,4)-48; %º¯Êýdec2binÊä³öµÄÊÇASICC×Ö·û´®£¬48¶ÔÓ¦0 out(5:8)=t(1:4); end

out=reshape(out,1,8) ³ÌÐòÔËÐнá¹ûΪ out =

1 1 1 1 0 0 1 1

Èý¡¢Éè¼ÆÄÚÈÝ

1£®Ô­Ê¼ÐźÅΪm(t)?sin200?t?2cos100?t£¬ÏÖ·Ö±ðÓÃ3ÖÖƵÂʶÔÆä½øÐгéÑù£¬

fs1=100Hz£¬fs2=200Hz£¬fs3=300Hz£¬»æ³öԭʼÐźźͳéÑùºóÐźŵIJ¨Ðμ°ÆäƵÆס£

2£®ÀûÓÃMATLABÖеÄSimulinkÄ£¿é½øÐгéÑùÓë»Ö¸´¹ý³ÌµÄ·ÂÕ棬µ±ÊäÈëÐźÅΪһƵÂÊΪ10HzµÄÕýÏÒ²¨Ê±£¬¹Û²ì¶ÔÓÚͬһÊäÈëÐźÅÓв»Í¬ÊäÈëƵÂÊʱ£¬ÒѳéÑùÐźż°»Ö¸´ÐźŵIJ»Í¬ÐÎ̬¡£

Ìáʾ£º·ÂÕæÖÐÓõ½µÄÖ÷Ҫģ¿éÓС°Sine Wave¡±Ä£¿é¡¢¡°Pulse Generator¡±Ä£¿é¡¢¡°Analog Filter Design¡±Ä£¿éºÍ¡°Gain¡±Ä£¿é¡£

3£®¶ÔÒ»¸öÕýÏÒÐźÅm(t)?sint½øÐоùÔÈÁ¿»¯£¬ÔÚͼÉÏͬʱÏÔʾ³öԭʼÐźźÍÁ¿»¯ºóÐźţ¬µ±Ôö´óÁ¿»¯¼¶Ê±£¬¹Û²ìÁ¿»¯¼¶ÓëÁ¿»¯Îó²îÖ®¼äµÄ¹Øϵ¡£

4£®Á¿»¯¼ä¸ô¶ËµãµÄÏòÁ¿partitionȡֵΪ0¡¢1¡¢3£¬Ã¿¸öÇø¼äµÄȡֵΪ-1¡¢0.5¡¢2¡¢3£¬ÊäÈëÁ¿»¯µÄÀëÉ¢ÐźÅΪ[-2.5£¬-1£¬-0.4£¬0£¬0.3£¬1£¬1.3£¬1.9£¬2£¬2.6£¬3£¬3.5£¬4.5]£¬ÏÈ°´ÕÕ¹æÔò½øÐмÆË㣬ÔÙÓÃMATLABÖеÄquantizº¯Êý½øÐÐÑéÖ¤£¬×îºóÔÙÓá°Scalar Quantizer¡±Ä£¿é¹¹ÔìÒ»¸öÁ¿»¯Ä£ÐÍ£¬¹Û²ìÁ¿»¯Ç°ºóÈ¡Öµ±ä»¯¡£

5£®ÊäÈëÏòÁ¿inΪ1¡«10£¬ÊäÈëÐźŵķåֵΪ10£¬½øÐÐ?=255µÄ?ÂÉѹËõÓëÀ©ÕÅ£¬Êä³öѹËõºóµÄÏòÁ¿ºÍÀ©ÕźóµÄÏòÁ¿¡£

6£®»­³öAÂÉ13ÕÛÏß½üËƵÄѹËõÌØÐÔÇúÏߺÍA=87.6ʱµÄѹËõÌØÐÔÇúÏߣ¬²¢½«¶þÕß½øÐбȽϡ£

7£®ÉèÊäÈëÐźųéÑùֵΪ-350¸öÁ¿»¯µ¥Î»£¬°´ÕÕAÂÉ13ÕÛÏßÌØÐÔ±à³É8λÂë¡£

13

Éè¼ÆÈý Êý×Ö»ù´ø´«Êäϵͳ

Ò»¡¢Éè¼ÆÄ¿µÄ

1£®ÀûÓÃMATLAB»­³öÊý×Ö»ù´øÐźŵIJ¨ÐÎͼ¡£ 2£®ÀûÓÃMATLAB»­ÑÛͼ¡£

3£®ÀûÓÃMATLAB·ÖÎöÎÞÂë¼ä¸ÉÈÅ»ù´øϵͳµÄ¿¹ÔëÐÔÄÜ¡£ 4£®ÕÆÎÕÎÞÂë¼ä¸ÉÈÅϵͳµÄƵÆ×ÌØÐÔ¡£

¶þ¡¢Éè¼ÆÔ­Àí

1£®Êý×Ö»ù´øÐźÅ

Êý×Ö»ù´øÐźžÍÊÇÏûÏ¢´úÂëµÄµç²¨ÐΣ¬ËüÊÇÓò»Í¬µÄµçƽ»òÂö³åÀ´±íʾÏàÓ¦µÄÏûÏ¢´úÂë¡£Êý×Ö»ù´øÐźŵIJ¨ÐκÍÂëÐͺܶ࣬×î³£ÓõÄÓɾØÐÎÂö³å×é³ÉµÄ»ù´øÐźÅÓУºµ¥¼«ÐÔ¹éÁã¼°²»¹éÁ㲨ÐΣ¬Ë«¼«ÐÔ¹éÁã¼°²»¹éÁ㲨ÐΣ¬²î·Ö²¨ÐκͶàµçƽ²¨Ðεȡ£

¡¾Àý3-1¡¿Óõ¥¼«ÐÔ¹éÁãÂëÀ´±íʾÐÅÏ¢ÐòÁÐ100110000101£¬»­³ö²¨ÐÎʾÒâͼ¡£ ½â MATLABÔ´³ÌÐòÈçÏ£º t=[1 0 0 1 1 0 0 0 0 1 0 1]; srz(t);

%--------------------------------------------------------------------------------------------------------------- function y=srz(x)

% ±¾º¯ÊýʵÏÖ½«ÊäÈëµÄÒ»¶Î¶þ½øÖÆ´úÂë±äΪÏàÓ¦µÄµ¥¼«ÐÔ¹éÁãÂëÊä³ö % ÊäÈëxΪ¶þ½øÖÆÂ룬Êä³öyΪ±àºÃµÄÂë grid=300;

t=0:1/grid:length(x); % ¶¨Òå¶ÔÓ¦µÄʱ¼äÐòÁÐ for i=1:length(x) % ½øÐÐÂëÐͱ任 if(x(i)==1) % Èç¹ûÊäÈëÐÅϢΪ1 for j=1:grid/2

y(grid/2*(2*i-2)+j)=1; % ¶¨ÒåÇ°°ëʱ¼äֵΪ1 y(grid/2*(2*i-1)+j)=0; % ¶¨Òåºó°ëʱ¼äֵΪ0 end else

for j=1:grid/2 % ·´Ö®£¬ÊäÈëÐÅϢΪ0 y((i-1)*grid+j)=0; % ¶¨ÒåËùÓÐʱ¼äֵΪ0 end

14

end end

y=[y,x(i)]; % ¸øÐòÁÐy¼ÓÉÏ×îºóһλ M=max(y); m=min(y); plot(t,y);

axis([0,i,m-0.1,M+0.1]); ³ÌÐòÔËÐнá¹ûÈçͼ3.1Ëùʾ¡£

10.80.60.40.20024681012

ͼ3.1 µ¥¼«ÐÔ¹éÁãÐźŲ¨ÐÎ

2£®ÎÞÂë¼ä¸ÉÈÅϵͳ

Âú×ãÎÞÂë¼ä¸ÉÈÅʱ¡¢ÆµÓòÌõ¼þµÄ»ù´øϵͳÓÐ3À࣬·Ö±ðÊÇÀíÏëLPFϵͳ¡¢¹ö½µÏµÍ³ºÍ²¿·ÖÏìӦϵͳ¡£Ç°Á½¸öϵͳµÄÀíÂÛ»ù´¡ÊÇÄοü˹ÌصÚÒ»×¼Ôò£¬µÚÈý¸öϵͳµÄÀíÂÛ»ù´¡ÊÇÄοü˹Ìصڶþ×¼Ôò¡£ÀíÏëLPFϵͳ¿É´ïµ½ÀíÂÛ×î´óƵ´øÀûÓÃÂÊ£¬µ«ÊÇÄÑÒÔʵÏÖ£¬ÇÒ¶Ôλ¶¨Ê±¾«¶ÈÒªÇó¸ß¡£¹ö½µÏµÍ³¿ÉʵÏÖ£¬ÇÒ¶Ôλ¶¨Ê±¾«¶ÈÒªÇ󽵵ͣ¬µ«Æµ´øÀûÓÃÂʽµµÍ¡£²¿·ÖÏìӦϵͳ¼æ¾ßÁËÇ°Á½¸öϵͳµÄÓŵ㣬¼´Æµ´øÀûÓÃÂʸߺ͵Íλ¶¨Ê±¾«¶È£¬µ«Æä¿É¿¿ÐÔ½µµÍ¡£

3£®»ù´øÐźŵÄÑÛͼ

ÑÛͼÊÇÖ¸ÀûÓÃʵÑéµÄ·½·¨¹À¼ÆºÍ¸ÄÉÆ»ù´øϵͳÐÔÄÜʱ£¬ÔÚʾ²¨Æ÷ÉÏËù¹Û²ìµ½µÄÏñÈ˵ÄÑÛ¾¦Ò»ÑùµÄͼÐΡ£

¢Ù MATLABº¯Êý

ÔÚMATLABÖУ¬eyediagramº¯ÊýÓÃÀ´»æÖÆÑÛͼ£¬Æäµ÷ÓøñʽÈçÏ£º eyediagram(x,n,period,offset,plotstring)

ÆäÖÐxÊÇÐźţ»nÊÇÿ¸ö¹ì¼£°üÀ¨µÄ²ÉÑùµãÊý£»periodÊÇָˮƽÖáµÄ×ø±ê·¶Î§£¬¼´[-period/2,period/2]£»offsetÊÇÆ«ÖÃÒò×Ó£¬Ðźŵĵڣ¨offset+1£©¸ö²ÉÑùµãÖ®ºóÿn¸öֵΪһÖÜÆÚ£¬ÇÒ¸ÃÖÜÆÚΪperiodµÄÕûÊý±¶£¬offset±ØÐëÊǷǸºÕûÊý£¬Æ䷶ΧÊÇ[0,n-1]£»plotstringÊÇ»æÖÆÑÛͼʱ²ÉÓõķûºÅ¡¢ÏßÐκÍÑÕÉ«£¬Æä¸ñʽÓëplotº¯ÊýÏàͬ£¬Èç²»ÉèÖ㬲ÉÓÃϵͳȱʡֵ¡£

¡¾Àý3-2¡¿²úÉúÒ»¸ö¶þ½øÖÆËæ»ú·½²¨Ðźţ¬»æ³öͨ¹ýÉýÓàÏÒÂ˲¨Æ÷ºó£¬·½²¨µÄ¸ßƵ·ÖÁ¿±»Â˵ôºóµÄÑÛͼ¡£

15

½â Ô´³ÌÐòÈçÏ£º

x=randint(3000,1,2); % ²úÉú³¤¶ÈΪ3000µÄ¶þ½øÖÆËæ»úÐòÁÐ y=[0;rcosflt(x,1,10)]; % xͨ¹ýÒ»¸öÉýÓàÏÒÂ˲¨Æ÷µÃµ½y t=1:length(y); % ¶¨Òåʱ¼äÐòÁÐ figure(1)

plot(t,y); % »æ³öyµÄʱÓò²¨ÐÎ axis([1,300,-0.5,1.5]) grid on

eyediagram(y,20,4); % »æ³öyµÄÑÛͼ ³ÌÐòÔËÐнá¹ûÈçͼ3.2Ëùʾ¡£

Eye Diagram 1.5

1.511Amplitude501001502002503000.50.5

00-0.5-0.5

-2-1.5-1-0.50Time0.511.52(a) ʱÓò²¨ÐÎͼ (b) ÑÛͼ

ͼ3.2 ͨ¹ýÉýÓàÏÒÂ˲¨ºóµÄ¶þ½øÖÆÊý¾ÝÁ÷ͼÐÎ

¢Ú SimulinkÄ£¿é

ÔÚSimulinkÄ£¿é¿âÖУ¬ÏÔʾÑÛͼµÄÄ£¿éΪ¡°Discrete-Time Eye Diagram Scope¡±£¬Í¼Ðμ°²ÎÊýÉèÖýçÃæÈçͼ3.3Ëùʾ¡£

ͼ3.3 ÑÛͼģ¿é¼°Æä²ÎÊýÉèÖÃ

16