数字信号处理课程设计 联系客服

发布时间 : 星期日 文章数字信号处理课程设计更新完毕开始阅读0c1a8c73168884868762d60b

一、课程设计要求

1.熟练掌握MATLAB语言的编程方法;

2.熟悉用于一维数字信号处理的MATLAB主要函数的应用; 3.记录实验结果(包括波形和数据),撰写课程设计报告。 二、课程设计内容

1.序列的产生

(1)编写程序产生以下序列x1(n)=(0.8)nu(n),x2(n)=u(n+2)-u(n-2),x3(n)=δ(n-4), X4(n)=R4(n),并画出波形;

(2)求卷积x1(n)* x2(n),.x1(n)*x3(n),画出波形 程序如下 clear all n=-20:20; a1=(0.8.^n) x1=a1.*(n>=0); figure(1) subplot(2,1,1) stem(n,x1);

xlabel('n');ylabel('x1(n)'); title('单位采样序列'); axis([-10 20 0 1.2]); grid;

x2=(n+2>=0)-(n-2>=0); subplot(2,1,2) stem(n,x2);

xlabel('n');ylabel('x2(n)'); title('单位阶跃序列'); axis([-10 20 0 1.2]); grid; x3=(n==4); figure(2) subplot(2,1,1) stem(n,x3);

xlabel('n');ylabel('x2(n)'); title('单位脉冲序列'); axis([-10 20 0 1.2]); grid;

x4=(n>=0)-(n-5>=0); subplot(2,1,2) stem(n,x4);

xlabel('n');ylabel('x4(n)'); title('矩形窗函数'); axis([-10 20 0 1.2]); grid;

y1=conv(x1,x2); M=length(y1)-1; n=0:1:M; figure(3) subplot(2,1,1) stem(n,y1); y2=conv(x1,x3); subplot(2,1,2) M=length(y2)-1; n=0:1:M; stem(n,y2);

2、序列的傅立叶变化

(1)设x(n)是有限长的因果序列,编写求x(n)傅里叶变换X(ejw)的函数:function[X]=dtft(x,w)

(2)验证傅里叶变换的时移和频移性质。

function[X]=dtft(x,w) N=128

n=[0:1:(N-1)]; x=0.8.^n;

w=[0:(2*pi/N):(2*pi)]; k=n'*w; X=x*exp(-j*k); figure(1) subplot(1,2,1)

plot(w,abs(X),'linewidth',2); xlabel('w/rad');ylabel('幅度'); title('幅频特性'); subplot(1,2,2)

plot(w,angle(X),'linewidth',2); xlabel('w/rad');ylabel('相位'); title('相频特性'); x1=0.8.^(n+2); X1=x1*exp(-j*k); figure(2) subplot(2,2,1)

plot(w,abs(X),'-',w,abs(X1),'-.','linewidth',2); xlabel('w/rad');ylabel('幅度'); title('幅频特性');

legend('x(n)','x(n+5)',2); subplot(2,2,2)

plot(w,angle(X),'-',w,angle(X1),'-.','linewidth',2); xlabel('w/rad');ylabel('相位'); title('相频特性');

legend('x(n)','x(n+5)',2); w0=pi/2;

x2=exp(j*w0*n).*x; X2=x2*exp(-j*k); subplot(2,2,3)

plot(w,abs(X),'-',w,abs(X2),'-.','linewidth',2);