matlabÊý×ÖÐźŴ¦ÀíʵÑéÖ¸µ¼

ʵÑéÈý Àëɢʱ¼äÐźŵÄDTFT

ʵÑéÈý Àëɢʱ¼äÐźŵÄDTFT

Ò»¡¢ÊµÑéÄ¿µÄ

£±. ÔËÓÃMATLAB¼ÆËãÀëɢʱ¼äϵͳµÄƵÂÊÏìÓ¦¡£ £². ÔËÓÃMATLABÑéÖ¤Àëɢʱ¼ä¸µÁ¢Ò¶±ä»»µÄÐÔÖÊ¡£

¶þ¡¢ÊµÑéÔ­Àí

£¨Ò»£©¡¢¼ÆËãÀëɢʱ¼äϵͳµÄDTFT ÒÑÖªÒ»¸öÀëɢʱ¼äϵͳ

NN?ak?0ky(n?k)??bkx(n?k)£¬¿ÉÒÔÓÃMATLABº¯Êý

k?0frequz·Ç³£·½±ãµØÔÚ¸ø¶¨µÄL¸öÀëɢƵÂʵã???l´¦½øÐмÆËã¡£ÓÉÓÚH(ej?)ÊǦصÄÁ¬Ðøº¯Êý£¬ÐèÒª¾¡¿ÉÄÜ´óµØÑ¡È¡LµÄÖµ£¨ÒòΪÑϸñ˵£¬ÔÚMATLABÖв»Ê¹ÓÃsymbolic¹¤¾ßÏäÊDz»ÄÜ·ÖÎöÄ£ÄâÐźŵ쬵«Êǵ±²ÉÑùʱ¼ä¼ä¸ô³ä·ÖСµÄʱºò£¬¿É²úÉúƽ»¬µÄͼÐΣ©£¬ÒÔʹµÃÃüÁîplot²úÉúµÄͼÐκÍÕæÊµÀëɢʱ¼ä¸µÁ¢Ò¶±ä»»µÄͼÐξ¡¿ÉÄÜÒ»Ö¡£ÔÚMATLABÖУ¬freqz¼ÆËã³öÐòÁÐ{b0,b1,?,bM}ºÍ{a0,a1,?,aN}µÄLµãÀëÉ¢¸µÁ¢Ò¶±ä»»£¬È»ºó¶ÔÆäÀëÉ¢¸µÁ¢Ò¶±ä»»ÖµÏà³ýµÃµ½

H(ej?l),l?1,2,?,L¡£ÎªÁ˸ü¼Ó·½±ã¿ìËÙµØÔËË㣬Ӧ½«LµÄֵѡΪ2µÄÃÝ£¬Èç256

»òÕß512¡£

Àý3.1 ÔËÓÃMATLAB»­³öÒÔÏÂϵͳµÄƵÂÊÏìÓ¦¡£ y(n)-0.6y(n-1)=2x(n)+x(n-1) ³ÌÐò£º

clf;

w=-4*pi:8*pi/511:4*pi; num=[2 1];den=[1 -0.6]; h=freqz(num,den,w); subplot(2,1,1) plot(w/pi,real(h));grid title(¡®H(e^{j\\omega}µÄʵ²¿¡¯)) xlabel(¡®\\omega/ \\pi¡¯);

9

ʵÑéÈý Àëɢʱ¼äÐźŵÄDTFT

ylabel(¡®Õñ·ù¡¯)£»

subplot(2,1,1)

plot(w/pi,imag(h));grid title(¡®H(e^{j\\omega}µÄÐ鲿¡¯)) xlabel(¡®\\omega/ \\pi¡¯); ylabel(¡®Õñ·ù¡¯)£»

£¨¶þ£©¡¢Àëɢʱ¼ä¸µÁ¢Ò¶±ä»»DTFTµÄÐÔÖÊ¡£ 1£®Ê±ÒÆÓëÆµÒÆ

Éè X(ej?)?FT[x(n)], ÄÇô

?j?n0j?FT[x(n?n)]?eX(e) (2.2.6) 0

FT[ej?0nx(n)]?X(ej(???0)) (2.2.7)

2£®Ê±Óò¾í»ý¶¨Àí

Èç¹û y(n)?x(n)?h(n), ÄÇô

Y(ej?)?X(ej?)?H(ej?)

Èý¡¢ÊµÑéÄÚÈÝÓë²½Öè

£±. ÒÑÖªÒò¹ûÏßÐÔʱ²»±äÀëɢʱ¼äϵͳ

y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2) ÔËÓÃMATLAB»­³ö¸ÃϵͳµÄƵÂÊÏìÓ¦¡£

£².ÔËÐÐÏÂÃæ³ÌÐò²¢ÏÔʾËü£¬ÑéÖ¤Àëɢʱ¼ä¸µÁ¢Ò¶±ä»»DTFTµÄÊ±ÒÆÐÔ¡£

clf;

w=-pi:2*pi/255: pi;wo=0.4*pi;D=10; num=[1 2 3 4 5 6 7 8 9]; h1=freqz(num,1,w);

h2=freqz([zeros(1,D) num],1,w); subplot(2,2,1)

10

ʵÑéÈý Àëɢʱ¼äÐźŵÄDTFT

plot(w/pi,abs(h1));grid title(¡®Ô­ÐòÁеķù¶ÈÆ×¡¯) subplot(2,2,2)

plot(w/pi,abs(h2));grid title(¡®Ê±ÒƺóÐòÁеķù¶ÈÆ×¡¯) subplot(2,2,3)

plot(w/pi,angle (h1));grid title(¡®Ô­ÐòÁеÄÏàλÆ×¡¯) subplot(2,2,4)

plot(w/pi, angle (h2));grid title(¡®Ê±ÒƺóÐòÁеÄÏàλÆ×¡¯)

3. ÔËÐÐÏÂÃæ³ÌÐò²¢ÏÔʾËü£¬ÑéÖ¤Àëɢʱ¼ä¸µÁ¢Ò¶±ä»»DTFTµÄÆµÒÆÐÔ¡£

clf;

w=-pi:2*pi/255: pi;wo=0.4*pi;D=10;

num1=[1 3 5 7 9 11 13 15 17]£»L=length(num1); h1=freqz(num1,1,w);n=0:L-1; num2=exp(wo*i*n).*num1; h2=freqz(num2,1,w); subplot(2,2,1)

plot(w/pi,abs(h1));grid title(¡®Ô­ÐòÁеķù¶ÈÆ×¡¯) subplot(2,2,2)

plot(w/pi,abs(h2));grid title(¡®ÆµÒƺóÐòÁеķù¶ÈÆ×¡¯) subplot(2,2,3)

plot(w/pi,angle (h1));grid title(¡®Ô­ÐòÁеÄÏàλÆ×¡¯) subplot(2,2,4)

plot(w/pi, angle (h2));grid title(¡®ÆµÒƺóÐòÁеÄÏàλÆ×¡¯)

11

ʵÑéÈý Àëɢʱ¼äÐźŵÄDTFT

4£®ÔËÐÐÏÂÃæ³ÌÐò²¢ÏÔʾËü£¬ÑéÖ¤Àëɢʱ¼ä¸µÁ¢Ò¶±ä»»Ê±Óò¾í»ýÐÔÖÊ¡£

clf;

w=-pi:2*pi/255: pi; x1=[1 3 5 7 9 11 13 15 17]; x2=[1 -2 3 -2 1]; y=conv(x1,x2); h1=freqz(x1,1,w); h2=freqz(x2,1,w); hp=hi.*h2; h3=freqz(y,1,w); subplot(2,2,1)

plot(w/pi,abs (hp));grid title(¡®·ù¶ÈÆ×µÄ³Ë»ý¡¯) subplot(2,2,2)

plot(w/pi,abs (h3));grid title(¡®¾í»ýºóÐòÁеķù¶ÈÆ×¡¯) subplot(2,2,3)

plot(w/pi,angle (hp));grid title(¡®ÏàλÆ×µÄºÍ¡¯) subplot(2,2,4)

plot(w/pi,angle (h3));grid title(¡®¾í»ýºóÐòÁеÄÏàλÆ×¡¯)

ËÄ¡¢ÊµÑéÒÇÆ÷É豸

¼ÆËã»ú£¬MATLABÈí¼þ

Î塢ʵÑé×¢ÒâÊÂÏî

¿ÎǰԤÏÈÔĶÁ²¢Àí½âʵÑé³ÌÐò£»

Áù¡¢Ë¼¿¼Ìâ

£±.ÌÖÂÛʵÑé³ÌÐò1ÖеÄÀëɢʱ¼äϵͳµÄƵÂÊÏìÓ¦ÊÇÀëÉ¢µÄ»¹ÊÇÁ¬ÐøµÄ£¬ÊÇ·ñÊÇÖÜÆÚµÄ£¿ÖÜÆÚΪ¶àÉÙ£¿

£².ÌÖÂÛʵÑé³ÌÐò2ÖÐh1ºÍh2µÄ¹ØÏµÊÇʲô£¿Äĸö²ÎÊý¿ØÖÆÊ±ÒÆÁ¿£¿

12

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)