当前位置:文档之家› MATLAB机考样题(带答案)

MATLAB机考样题(带答案)

MATLAB 机考样题:(1)Generate and plot sequence121[]2cos() [][4]8x n n and x n x n π==-, with 20n 20-≤≤.n1=-20:20;x1=2*cos(pi/8*n1);n2=n1-4;x2=2*cos(pi/8*n2);subplot(2,1,1);plot(n1,x1);subplot(212);plot(n2,x2); (2)Write a MATLAB program to compute and plot the impulse response of a causal finite-dimensional discrete-time system characterized by a difference equation of the following form:3]-x[n 86.0 2]-1.32x[n 1]-0.34x[n x[n]8.13]-0.72y[n -2]-0.5y[n 1]-0.3y[n y[n]--+=++N=input('请输入你要求的点数N=');num=[1.8 0.34 -1.32 -0.86];den=[1 0.3 0.5 -0.72]; x=[1 zeros(1,N-1)];(单位冲击)y=filter(num,den,x);plot(0:N-1,y);(3)Write a MATLAB program to compute and display the poles and zeros , to compute and display the second-order factored form , and to generate the pole-zero plot of a z-transform that is a ratio of two polynomials in z -1. Using this program to analyze the following G(z):3213211768.018.052.115.1082.2393.61.8)(-------+++-+=z z z z z z z Hnum=[8.1 6.93 -23.82 10.5];den=[1 1.52 0.18 -0.1768];sos=tf2sos(num,den) %tf2sos 表示为1/z 的升幂zplane(num,den)(4)Try to give a program to evaluate the following DTFT in the range πω≤≤0 :ωωωωωωωω4324321245535952)(j j j j j j j j e e e e e e e e z G --------++++++++=%由于用freqz 计算频点至少是2个,所以至少输入两个频点w1=input('请输入你要计算的频点w1=');w2=input('请输入你要计算的频点w2=');w=[w1 w2];num=[2 5 9 5 3];den=[5 45 2 1 1];h=freqz(num,den,w)(6)Write a MATLAB program to compute and plot the magnitude response of a causal LTI discrete-time system with a transfer function given by2127.05.01)1(15.0)(---+--=z z z z Hnum=0.15*[1 0 -1];den=[1 -0.5 0.7];[h,w]=freqz(num,den,512);plot(w/pi,abs(h)); (7)Consider the following FIR transfer function:123456()10.60.490.480.140.120.09H z z z z z z z ------=++---+Using MATLAB to determine its zero locations and plot its magnitude and phase response.h=[1 0.6 .49 -0.48 -0.14 -0.12 0.09];figure(1)zplane(h,1);[H,w]=freqz(h,1,512);figure(2)plot(w/pi,abs(H));figure(3)plot(w/pi,angle(H));(8)Given a signal ()4cos0.1x t t t π=+, when using a sampling frequency f T = 20KHz, plot the magnitude and phase spectrum of the sampled sequence(given length-64).fs=2e4;n=0:63;x=4*n/fs+cos(0.1*pi*n/fs);h=fft(x,1024);figure(1);plot(0:2/1023:2,abs(h));figure(2);plot(0:2/1023:2,angle(h));(9)design an IIR butterworth digital lowpass filter with the following specifications: sampling rate of 40kHz, passband edge frequency of 4kHz, stopband edge frequency of 8kHz, passband ripple of 0.5dB, and a minimum stopbandattenuation of 40dB,plot frequency-magnitude and check if your design fits the specification.fs=40;wp=4*2/fs; %wp<1,没有乘piws=8*2/fs; %ws<1,没有乘piap=0.5;as=40;[n,wn]=buttord(wp,ws,ap,as);[num,den]=butter(n,wn);[h,w]=freqz(num,den,512);figure(1);plot(w/pi,20*log10(abs(h)));axis([0 1 -50 0]);figure(2);subplot(2,1,1);plot(w/pi,20*log10(abs(h)))axis([0 wp -0.5 0]);title('通带纹波');subplot(2,1,2);plot(w/pi,20*log10(abs(h)));axis([ws 1 -50 -30]);title('阻带纹波');(10)Design a Hanning FIR lowpass filter meeting the following specifications: passband edge frequency=2kHz, stopband edge frequency=2.5kHz, passband ripple δp=0.005, stopband rippleδs=0.005, and sampling rate of 10kHz.Plot its gain and phase responses and check if it meets the specifications?ft=10;fp=2;fs=2.5;wp=2*pi*fp/ft;ws=2*pi*fs/ft;ds=0.005;ap=20*log10(1-ds)as=20*log10(ds)wc=(wp+ws)/2;dw=ws-wp;M=ceil(3.11*pi/dw);N=2*M;b=fir1(N,wc/pi,hann(N+1));[h,w]=freqz(b,1,512);figure(1);plot(w/pi,20*log10(abs(h)));axis([0 1 -50 0]);title('magitude response');figure(2);plot(w/pi,unwrap(angle(h)));title('phase response');figure(3);subplot(211);plot(w/pi,20*log10(abs(h)));axis([0 wp/pi ap 0]);title('通带纹波')subplot(212);plot(w/pi,20*log10(abs(h)));axis([ws/pi 1 as 0]);title('阻带纹波');%从图中可以看出,通带和阻带中纹波都不满足要求,所以不满足指标%as= -46.0206<43.9 所以不能用hanning 窗设计%应当用hamming 或blackman 窗设计(11)Writing a MATLAB program to compute 128-point DFT of the followingsequence, you must firstly use DFT definition (directly computing DFT) to compute and use MATLAB function to test the result. Plot the two results in one figure.n=0:31;k=1:128;x=sin(pi*n/4);Xk1=zeros(1,128);for t=1:128 for m=1:32Xk1(t)=Xk1(t)+x(m)*exp(-1i*2*pi*(t-1).*(m-1)/128);endendsubplot(2,1,1);plot(k,Xk1);Xk2=fft(x,128);subplot(2,1,2);plot(k,Xk2);(12)Using the function fir1 and window of Kaiser, design a linear-phase FIR lowpass filter meeting the following specifications: passband edge frequency=2kHz, stopband edge frequency=2.5kHz, passband ripple δp=0.005, stopband ripple δs=0.005, and sampling rate of 10kHz.Plot its gain and phase responses and check if it meets the specifications?Design a Type 1 Chebyshev IIR lowpass filter meeting the specifications as below: sampling rate of 12kHz, passband edge frequency of 2.1kHz, stopband edge frequency of 2.7kHz, passband []sin(4),031g n n n π=≤≤ripple of 0.6dB, and a minimum stopband attenuation of 45dB. Write down the exact expression for the transfer function generated. Does your design meet the specifications?Fp=2100;Fs=2700;Ft=12000;Rp=0.6;Rs=45;Wp=2*Fp/Ft;Ws=2*Fs/Ft;[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs)[B,A]=cheby1(N,Rp,Wn)[h,w]=freqz(B,A,512);figure(1);plot(w/pi,20*log10(abs(h)));axis([0 1 -50 0]);figure(2);subplot(2,1,1);plot(w/pi,20*log10(abs(h)))axis([0 Wp -0.6 0]);title('通带纹波');subplot(2,1,2);plot(w/pi,20*log10(abs(h)));axis([Ws 1 -50 -30]);title('阻带纹波');(13)Using the function fir1 and window of Kaiser, design a linear-phase FIR lowpass filter meeting the following specifications: passband edge frequency=2kHz, stopband edge frequency=2.5kHz, passband ripple δp=0.005, stopband rippleδs=0.005, and sampling rate of 10kHz.Plot its gain and phase responses and check if it meets the specifications?[n,wn,beta,typ]=kaiserord([2000 2500],[1 0],[0.005 0.005],10000);b=fir1(n,wn,kaiser(n+1,beta),'noscale');[h,omega]=freqz(b,1,256);subplot(2,1,1);plot(omega/pi,20*log10(abs(h)));xlabel('\omega/\pi'); ylabel('Gain, dB');subplot(2,1,2)plot(omega/pi,angle(h));gridtitle('Phase Spectrum');xlabel('\omega/\pi'); ylabel('Phase, radians');(14)Given a signal when using a sampling frequency fT= 20KHz, plot the magnitude and phase spectrum of the sampled sequence(givenlength-64). ft=20000;n=1:64;x=sin(0.1*pi*n/ft)+2*cos(0.3*pi*5*n/ft)+3*sin(0.5*pi*n/ft); subplot(2,1,1);[h,w]=freqz(x,1,256);plot(w/pi,abs(h));title('Magnitude spectrum of the sampled samples');xlabel('\omega/\pi'); ylabel('Magnitude');subplot(2,1,2);plot(w/pi,angle(h));title('Phase spectrum of the sampled samples');xlabel('\omega/\pi'); ylabel('Phase');(15)Write a MATLAB program to compute the first L samples of the inverse of rational z-transforms where the value of L is provided by the user through the command input. Using this program to compute and plot the first 50 samples of the inverse of following G(z). Use the command stem for plotting the sequence generated by the inverse transform L=input('input the L=');r=[10/4 -8/2];p=[-1/4 -1/2];k=-2;[B,A]=residuez(r,p,k)[h t]=impz(B,A,L)stem(t,h);Writing a MATLAB program to compute the circular convolution of two length-N sequences via the DFT-based approach. Using this program to determine the following pair of sequences:g[n]={7, 4, -9, 0, 2, -5}, h[n]={1, -1, 2, 0, 10, 5} orAnd plot the result sequencex1=[7 4 -9 0 2 -5];x2=[1 -1 2 0 10 5];L=length(x1);y=zeros(1,L);x2tr = [x2(1) x2(L:-1:2)];for k = 1:L,sh = circshift(x2tr', k-1)';h = x1.*sh;y(k) = sum(h);enddisp(y);()sin(0.1)2cos(0.3)3sin(0.5)x t t t t πππ=++5.0||,284102)(113>+-++-=--z z z z Gn=0:length(x1)-1;stem(n,y);n=0:50;x=sin(5*pi*n/16);stem(n,x); %或者如下syms n1; %x1=x’x1=sin(5*pi*n1/16).^2; %y=x*x1y=symsum(x1,n1,0,50)y1=double(y)。

相关主题