Answer to “Digital Signal Processing” Problem 1 (a). x1(n)={3,7,-2,-1,5,-8}, n1=-2:3 x2(n)={3,7,-2,-1,5,-8}, n2=1:6 x3(n)={-8,5,-1,-2,7,3 }, n3=-2:3 (b) y(n)={14,9,-3,21,-11,-17,-5,-40,0}, n=-2:6 (c).MATLAB program: clear,close all; n=0:5; x=[3,7,-2,-1,5,-8]; [x1,n1]=sigshift(x,n,-2); [x2,n2]=sigshift(x,n,1); [x3,n3]=sigfold(x,n); [x3,n3]=sigshift(x3,n3,3); [y1,yn1]=sigadd(2*x1,n1,x2,n2); [y1,yn1]=sigadd(y1,yn1,-x3,n3); stem(yn1,y1);title('sequenceY(n)’) [3 points] [3 points] [3 points] Problem 2 (a) X (e j ) x(n)e j n n 4 3e j 2e j 2 0e j 3 2e j 4 3e j 5 4e j 6 4 3e j 2e j 2 2e j 4 3e j 5 4e j 6 X (e j ) is periodic in with period 2 . [5 points] (b) Matlab program: clear; close all; n = 0:6; x = [4,3,2,0,2,3,4]; w = [0:1:100]*pi/100; X = x*exp(-j*n'*w); magX = abs(X); phaX = angle(X); % Magnitude Response Plot subplot(2,1,1); plot(w/pi,magX);grid; xlabel('frequency in pi units'); ylabel('|X|'); title('Magnitude Response'); % Phase response plot subplot(2,1,2); plot(w/pi,phaX*180/pi);grid; xlabel('frequency in pi units'); ylabel('Degrees'); title('Phase Response'); axis([0,1,-180,180]) [5 points] (c) Because the given sequence x (n)={4,3,2,0,2,3,4} (n=0,1,2,3,4,5,6) is symmetric about N 1 3 ,the phase response H (e j ) satisfied the condition 2 H (e j ) 3 so the phase response is a linear function in . [5 points] (d) T f 0.3 0.001 300 rad s [5 points] (e) The difference of amplitude and magnitude response: Firstly, the amplitude response is a real function, and it may be both positive and negative. The magnitude response is always positive. Secondly, the phase response associated with the magnitude response is a discontinuous function. While the associated with the amplitude is a continuous linear function. [5 points] Problem 3 (a) Pole-zero plot – MATLAB script: b=[1,1,0]; a=[1,0.5,-0.24]; zplane(b,a) Figure : Pole-zero plot in Problem A2 Because all the poles and zero are all in the unit circle,so the system is stable. [5 points] (b) Difference equation representation.: h( z ) (1 z 1 ) /(1 0.5z 1 0.24 z 2 ) ; After cross multiplying and inverse transforming y (n) 0.5 y(n 1) 0.24 y(n 2) x(n) x(n 2) ; (c) impulse response sequence h(n) using partial fraction representation: [5 points] h( z ) 0.1818 /(1 0.8z 1 ) 1.1818 /(1 0.3z 1 ) h(n) (0.1818(0.8)n 1.1818(0.3)n )u(n) [5 points] (d) MATLAB verification: (1) b=[1,1];a=[1,0.5,-0.24]; [delta,n]=impseq(0,0,9) x=filter(b,a,delta) (2) n=[0:4]; x=(-0.1818.*(-0.8).^n+1.1818.*(0.3).^n).*stepseq(0,0,9) Problem 4 (a) figure 4.1 [5 points] figure 4.2 sequence x1(n) sequence x2 (n) The plots of x1(n) and x2(n) is shown in figure 4.1 and figure 4.2 (b) [4 points] figure 4.3 After calculate, we find circular convolution is equal when N is 7 or 8. [4 points] (c) If circular convolution is equal to linear convolution ,the minimum N is m+n-1=7. The plots of circular convolution of x1(n) and x2(n) is shown in figure 4.3. [4 points] (d) MATLAB program: clear,close all; n=0:7; m=0:6; l=0:3; x1=[1,-1,1,-1]; x2=[3,1,1,3]; figure,stem(l,x1),title('sequence x1'),box off; figure,stem(l,x2),title('sequence x2'),box off; %8-point circular convolution x1_fft8=fft(x1,8); x2_fft8=fft(x2,8); y_fft8=x1_fft8.*x2_fft8; y8=real(ifft(y_fft8)); figure,subplot(2,1,1),stem(n,y8),title('8-pointcircular convolution '),axis([0 7 -3 3]),box off; %7-point circular convolution x1_fft7=fft(x1,7); x2_fft7=fft(x2,7); y_fft7=x1_fft7.*x2_fft7; y7=real(ifft(y_fft7)); subplot(2,1,2),stem(m,y7),title('7-point circular convolution '),axis([0 7 -3 3]),box off; [4 points] Problem 5 (a) Block diagrams are shown as under: z 1 1 z 1 2 5 z 1 z 1 3 2 1 z 1 5 z 1 x( n) y ( n) [4 points] z 1 x( n) z 1 z 1 z 1 3 z 1 5 2 1 z 1 y ( n) [4 points] (b)The advantage of the linear-phase form: 1. For frequency-selective filters, linear-phase structure is generally desirable to have a phase-response that is a linear function of frequency. 2. This structure requires 50% fewer multiplications than the direct form. [2 points] Problem 6 (a) we use Hamming window to design the bandpass filter because it can provide us attenuation exceed 50dB [5 points] (b) M ATLAB verification: %% Specifications: ws1 = 0.3*pi; % lower stopband edge wp1 = 0.4*pi; % lower passband edge wp2 = 0.5*pi; % upper passband edge ws2 = 0.6*pi; % upper stopband edge Rp = 0.5; % passband ripple As = 50; % stopband attenuation % tr_width = min((wp1-ws1),(ws2-wp2)); M = ceil(6.6*pi/tr_width); M = 2*floor(M/2)+1, % choose odd M n = 0:M-1; w_ham = (hamming(M))'; wc1 = (ws1+wp1)/2; wc2 = (ws2+wp2)/2; hd = ideal_lp(wc2,M)-ideal_lp(wc1,M); h = hd .* w_ham; [db,mag,pha,grd,w] = freqz_m(h,1); delta_w = pi/500; Asd = floor(-max(db([1:floor(ws1/delta_w)+1]))), % Actual Attn Rpd = -min(db(ceil(wp1/delta_w)+1:floor(wp2/delta_w)+1)), % Actual passband ripple (5) % %% Filter Response Plots subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response: Bandpass'); axis([-1,M,min(hd)-0.1,max(hd)+0.1]); xlabel('n'); ylabel('hd(n)') set(gca,'XTickMode','manual','XTick',[0;M-1],'fontsize',10) subplot(2,2,2); stem(n,w_ham); title('Hamming Window'); axis([-1,M,-0.1,1.1]); xlabel('n'); ylabel('w_ham(n)') set(gca,'XTickMode','manual','XTick',[0;M-1],'fontsize',10) set(gca,'YTickMode','manual','YTick',[0;1],'fontsize',10) subplot(2,2,3); stem(n,h); title('Actual Impulse Response: Bandpass'); axis([-1,M,min(hd)-0.1,max(hd)+0.1]); xlabel('n'); ylabel('h(n)') set(gca,'XTickMode','manual','XTick',[0;M-1],'fontsize',10) subplot(2,2,4); plot(w/pi,db); title('Magnitude Response in dB'); axis([0,1,-As-30,5]); xlabel('frequency in pi units'); ylabel('Decibels') set(gca,'XTickMode','manual','XTick',[0;0.3;0.4;0.5;0.6;1]) set(gca,'XTickLabelMode','manual','XTickLabels',['0';'0.3';'0.4';'0.5';'0.6';'1'],... 'fontsize',10) set(gca,'TickMode','manual','YTick',[-50;0]) set(gca,'YTickLabelMode','manual','YTickLabels',['-50';'0']);grid [10 points] Problem 7 Firstly, we use the given specifications of p , s , R p , As to design an analog lowpass IIR filter. Secondly, we change the analog lowpass IIR filter into the analog highpass IIR filte. Thirdly, we change the analog highpass IIR filter into the digital highpass IIR filte. [5 points]