数字信号处理实验全部程序MATLAB 下载本文

xn=1*x1+2*x2+3*x3+4*x4+5*x5;

stem(xn,'fill'); xlabel('时间序列n ');

ylabel('x2(n)=x(n-1)+2x(n-2)+3x(n-3)+4x(n-4)+5x(n-5)'); 运行结果:

a)的时间序列

b)的时间序列

(4)绘出时间函数的图形,对x轴、y轴图形上方均须加上适当的标注。

a) x(t)=sin(2πt) 0≤t≤10s b) x(t)=cos(100πt)sin(πt) 0≤t≤4s

实验程序: clc;

t1=0:0.001:10;t2=0:0.01:4;

xa=sin(2*pi*t1);xb=cos(100*pi*t2).*sin(pi*t2); subplot(2,1,1);

plot(t1,xa);xlabel ('t');ylabel('x(t)');title('x(t)=sin(2*pi*t)'); subplot(2,1,2); plot(t2,xb);xlabel

('t');ylabel('x(t)');title('x(t)=cos(100*pi*t2).*sin(pi*t2)'); 运行结果:

(5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1

实验程序: clc;

n1=input('请输入起点:'); n2=input('请输入终点'); n0=input('请输入阶跃位置'); n=n1:n2; x=[n-n0>=0];

stem(n,x,'fill');xlable('时间序列n');ylable('u(n-n0)'); 请输入起点:2 请输入终点:8 请输入阶跃位置:6 运行结果:

(5)运行结果

(6)运行结果

(6)给一定因果系统H(z)?(1?频响应与相频响应。

实验程序:

a=[1 -0.67 0.9]; b=[1 sqrt(2) 1]; [h w]=freqz(b,a); fp=20*log(abs(h)); subplot(2,1,1);

-1-22z-1?1)/(1-0.67z?0.9z)求出并绘制H(z)的幅

plot(w,fp);xlabel('时间序列t');ylabel('幅频特性');

xp=angle(h); subplot(2,1,2);

plot(w,xp);xlabel('时间序列t');ylabel('相频特性'); 运行结果:(右上图)

常用典型序列

单位采样序列

function [x,n]=impseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)==0]; [x,n]=impseq(-2,8,2); stem(n,x);

title('电信1201')

n0=-2; n=[-10:10]; nc=length(n); x=zeros(1,nc); for i=1:nc

if n(i)==n0 x(i)=1 end end

stem(n,x) ;

title('电信1201 采样序列第二种方法')

单位阶跃序列

function [x,n]=stepseq(n1,n2,n0) n=[n1:n2];

x=[(n-n0)>=0]; [x,n]=stepseq(-2,8,2); stem(n,x);

title('电信1201')

实数指数 n=[0:10]; x=0.9.^n; stem(n,x);

title('电信1201')

复数指数序列 n=[-10:10];

alpha=-0.1+0.3*j;