数字信号处理实验全部程序MATLAB 联系客服

发布时间 : 星期六 文章数字信号处理实验全部程序MATLAB更新完毕开始阅读b407125ced630b1c58eeb558

单位采样序列

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; x=exp(alpha*n);

real_x=real(x); image_x=imag(x);

mag_x=abs(x); phase_x=angle(x);

subplot(2,2,1); stem(n,real_x) ;title('电信1201') subplot(2,2,2); stem(n,image_x);title('电信1201') subplot(2,2,3); stem(n,mag_x);title('电信1201') subplot(2,2,4); stem(n,phase_x);title('电信1201')

正余弦

n=[0:10];

x=3*cos(0.1*pi*n+pi/3); stem(n,x);

title('电信1201')

例: 求出下列波形

x1(n)=2x(n-5)-3x(n+4)

function [y,n]=sigadd(x1,n1,x2,n2)

n=min(min(n1),min(n2)) : max(max(n1),max(n2)); y1=zeros(1,length(n)); y2=y1;

y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; y=y1+y2;

function [y,n]=sigshift(x,m,n0) n=m+n0; y=x; n=[-2:10]; x=[1:7,6:-1:1];

[x11,n11]=sigshift(x,n,5); [x12,n12]=sigshift(x,n,-4);

[x1,n1]=sigadd(2*x11,n11,-3*x12,n12); stem(n1,x1); title('电信1201')

已知某一系统方程为:y[n]-y[n-1]+0.9y[n-2]=x[n]计算并画出脉冲响应h(n),n=(-20,100) n=(-20:100);

num=(1); den=[1 -1 0.9]; x=impseq(-20,100,0); h=filter(num,den,x); stem(n,h)

xlabel('时间序号N'); ylabel('脉冲响应h');

title('脉冲响应 电信1201');

实现两个序列a,b的卷积

x=[3,11,7,0,-1,4,2]; h=[2,3,0,-5,2,1]; c=conv(x,h); stem(c);

title('电信1201')

自己给的数

x=[0.5,1,1.5,0,0]; h=[1,1,1]; c=conv(x,h); stem(c);

title('电信1201')

试求卷积C(t)=f1(t)*f2(t),并绘制出f1、f2、及卷积以后的波形。 function [y,ny]= conv_m(x,nx,h,nh,p) % 信号处理的改进卷积程序 nyb=nx(1)+nh(1);

nyc=nx(length(x))+nh(length(h)); ny=(nyb :p: nyc); y=conv(x , h);

p=0.1; t1= [0:p:1]; f1=t1.*(t1>0); t2= [-1:0.1:2];

f2=t2.*exp(t2).*(t2>=0)+exp(t2).*(t2<0); [y,ny]=conv_m(f1,t1,f2,t2,p);

subplot(3,1,1);stem(t1,f1);title('电信1201') subplot(3,1,2);stem(t2,f2);title('电信1201') subplot(3,1,3); stem(ny,y);title('电信1201')

实验二

function xk=dfs(xn,N) n=(0:1:N-1); k=n;

WN=exp(-j*2*pi/N); nk=n'*k;

WNnk=WN.^nk; xk=xn* WNnk; xn=[0,1,2,3]; N=4;

xk=dfs(xn,N)'

IDFS

function xn=idfs(xk,N) n=(0:1:N-1); k=n;

WN=exp(-j*2*pi/N); nk=n'*k;

WNnk=WN.^(-nk); xn=xk*WNnk/N;

分析:因为x(n)是复指数,它满足周期性,我们将在两个周期中的401个频点上作计算来观 n=0:10;

x=(0.9*exp(j*pi/3)).^n; k=-200:200; w=(pi/100)*k;

X=x*(exp(-j*pi/100)).^(n'*k); magX=abs(X); angX=angle(X); subplot(2,1,1); plot(w/pi,magX); subplot(2,1,2);

plot(w/pi,angX/pi); title('电信1201')

检验频移特性