DSPʵÑ鱨¸æB13011025½²½â ÏÂÔØ±¾ÎÄ

Input Sequence420-2-4051015202530Time index nOutput Sequence35404550AmplitudeAmplitude420-2-4051015202530Time index n35404550

´ð£º²úÉúµÄÊä³öÐòÁкÍÔ¤ÁÏÊDz»Ò»ÑùµÄ¡£

Q8.14³ÌÐòP8.£´Éè¼ÆÁËʲôÀàÐ͵ÄÂ˲¨Æ÷£¿ÆäÖ¸±êÊÇʲô£¿Â˲¨Æ÷µÄ½×ÊýÊǶàÉÙ£¿ÎªÁËÑéÖ¤·ÂÕæ£¬Ðè¼ÆËã¶àÉÙ¸ö³å¼¤ÏìÓ¦Ñù±¾£¿·ÂÕæÊÇÕýÈ·µÄÂð£¿

FIRµÍͨÂ˲¨Æ÷£¬Ö¸±êΪ?p?[0,0.3?]£¬?s?[0.5?,?]£¬½×ÊýΪ9£¬ÎªÁËÑéÖ¤·ÂÕæÐè¼ÆËãµÄ³å¼¤ÏìÓ¦Ñù±¾Îª10¸ö¡£·ÂÕæÕýÈ·¡£

ʵÑéÃû³Æ£ºÊý×ÖÂ˲¨Æ÷µÄÉè¼Æ

ʵÑéÄ¿µÄºÍÈÎÎñ£º

£¨1£©Óô°¿Ú·¨Éè¼ÆÂú×ãÖ¸±êµÄFIRÊý×ÖÂ˲¨Æ÷¡£ £¨2£©ÒÔÄ£ÄâµÍͨÂ˲¨Æ÷ΪԭÐÍÉè¼ÆIIRÊý×ÖÂ˲¨Æ÷

£¨3£©Ñ¡¶¨Ò»¸öÐźÅÂ˲¨ÎÊÌ⣬Éè¼ÆÊý×ÖÂ˲¨Æ÷£¬ÑéÖ¤Â˲¨Ð§¹û¡£

ʵÑéÄÚÈÝ£º

ÔĶÁPage 91-93ÏàÓ¦µÄº¯ÊýºÍ³ÌÐòP7.1,Íê³ÉQ7.1, Q7.5,Q7.6 ÔĶÁPage 94-96ÏàÓ¦µÄº¯Êý, Íê³ÉQ7.9,Q7.13,Q7.14,Q7.20 sincº¯ÊýµÄ¹¦ÄÜÓëʹÓ㬿Éͨ¹ýhelp²éѯ£º

Matlab-Help-Search-Function Name-ÊäÈësinc ʵÑéÖ¸µ¼ÊéPage 49ÓÐsincº¯ÊýʹÓÃʵÀý

·ù¶ÈÏìÓ¦µÄ·ÖÎö£º

ͨ¹ýDTFT¶¨Ò弯Ëã·ù¶ÈÏìÓ¦ ͨ¹ýfreqzº¯Êý·ÖÎö

ʵÑé¹ý³ÌÓë½á¹û·ÖÎö£º¡­²Î¼ûʵÑéÒ»¸ñʽ¡­

Q7.1ÓÃMATLABÈ·¶¨Ò»¸öÊý×ÖÎÞÏÞ³å»÷ÏìÓ¦µÍͨÂ˲¨Æ÷ËùÓÐËÄÖÖÀàÐ͵Ä×îµÍ½×Êý¡£Ö¸±êÈçÏ£º40kHzµÄ³éÑùÂÊ£¬4kHzµÄͨ´ø±ß½çƵÂÊ£¬8kHzµÄ×è´ø±ß½çƵÂÊ£¬0.5dBµÄͨ´ø²¨ÎÆ£¬40dBµÄ×îС×è´øË¥¼õ¡£ÆÀÂÛÄãµÄ½á¹û¡£

½â£ºFT=40kHz£¬Fp=4kHz£¬Fs=8kHz£¬Rp=0.5dB£¬Rs=40dB¡£

?p?2?FpFT2??4?103??0.2? 340?10Wp??p?0.2 ?2?Fs2??8?103?s???0.4? 3FT40?10Ws??s?0.4 ?£¨1£©°ÍÌØÎÖ×ÈÂ˲¨Æ÷£º

[N,Wn]=buttord(0.2,0.4,0.5,40)

ÔËÐнá¹û£º N = 8 Wn =

0.2469

´ð£º×îµÍ½×ÊýÊÇ8.

£¨2£©ÇбÈÑ©·ò1ÐÍÂ˲¨Æ÷£º

[N,Wn]=cheb1ord(0.2,0.4,0.5,40)

ÔËÐнá¹û£º N =

5 Wn =

0.2000

´ð£º×îµÍ½×ÊýÊÇ5.

£¨3£©ÇбÈÑ©·ò2ÐÍÂ˲¨Æ÷£º

[N,Wn]=cheb2ord(0.2,0.4,0.5,40)

ÔËÐнá¹û£º N = 5 Wn =

0.4000

´ð£º×îµÍ½×ÊýÊÇ5. £¨4£©ÍÖÔ²Â˲¨Æ÷£º

[N,Wn]=ellipord(0.2,0.4,0.5,40)

ÔËÐнá¹û£º N = 4 Wn =

0.2000

´ð£º×îµÍ½×ÊýÊÇ4.

Q7.5ͨ¹ýÔËÐгÌÐòP7.1À´Éè¼Æ°ÍÌØÎÖ×È´ø×èÂ˲¨Æ÷¡£Ð´³öËù²úÉúµÄ´«Ê亯ÊýµÄ׼ȷ±í´ïʽ¡£Â˲¨Æ÷µÄÖ¸±êÊÇʲô£¿ÄãµÄÉè¼Æ·ûºÏÖ¸±êÂð£¿Ê¹ÓÃMATLAB£¬¼ÆËã²¢»æÖÆÂ˲¨Æ÷µÄδ»û±äµÄÏàλÏìÓ¦¼°ÈºÑÓ³ÙÏìÓ¦¡£ MATLAB³ÌÐò£º

Ws = [0.4 0.6]; Wp = [0.2 0.8]; Rp = 0.4; Rs = 50; [N1, Wn1] = buttord(Wp, Ws, Rp, Rs); [num,den] = butter(N1,Wn1,'stop');

disp('Numerator Coefficients are ');disp(num); disp('Denominator Coefficients are ');disp(den); [g, w] = gain(num,den); plot(w/pi,g);grid axis([0 1 -60 5]);

xlabel('\\omega /\\pi'); ylabel('Gain in dB');

title('Gain Response of a Butterworth Bandstop Filter');

ÔËÐнá¹û£º

Numerator Coefficients are

0.0493 0.0000 0.2465 0.0000 0.4930 0.0000 0.4930 0.0000 0.2465 0.0000 0.0493 Denominator Coefficients are

1.0000 0.0000 -0.0850 0.0000 0.6360 0.0000 -0.0288 0.0000 0.0561 0.0000 -0.0008

0.0493?0.2465z?2?0.493z?4?0.493z?6?0.2465z?8?0.0493z?10±í´ïʽ£ºH(z)?

1?0.085z?2?0.636z?4?0.0288z?6?0.0561z?8?0.0008z?10Ö¸±ê£º?p1?0.2?£¬?p2?0.8?£¬?s1?0.4?£¬?s2?0.6?£¬Rp?0.4dB£¬Rs?50dB¡£

±àдµÄMATLAB³ÌÐòÈçÏ£¨¼ÆËãδ»û±äµÄÏàλÏìÓ¦¼°ÈºÑÓ³ÙÏìÓ¦£©£º

% Program Q7_6

Ws = [0.4 0.6]; Wp = [0.2 0.8]; Rp = 0.4; Rs = 50; % Estimate the Filter Order

[N1, Wn1] = buttord(Wp, Ws, Rp, Rs); % Design the Filter

[num,den] = butter(N1,Wn1,'stop');

% Find the frequency response; find and plot unwrapped phase wp = 0:pi/1023:pi; wg = 0:pi/511:pi; Hz = freqz(num,den,wp); Phase = unwrap(angle(Hz)); figure(1);

plot(wp/pi,Phase); grid;

% axis([0 1 a b]);

xlabel('\\omega /\\pi'); ylabel('Unwrapped Phase (rad)');

title('Unwrapped Phase Response of a Butterworth Bandstop Filter'); % Find and plot the group delay GR = grpdelay(num,den,wg); figure(2); plot(wg/pi,GR); grid;

%axis([0 1 a b]);

xlabel('\\omega /\\pi'); ylabel('Group Delay (sec)');