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