数字信号处理实验全部程序MATLAB_第1页
数字信号处理实验全部程序MATLAB_第2页
数字信号处理实验全部程序MATLAB_第3页
数字信号处理实验全部程序MATLAB_第4页
数字信号处理实验全部程序MATLAB_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一 熟悉MATLAB环境一、实验目的(1)熟悉MATLAB的主要操作命令。(2)学会简单的矩阵输入和数据读写。(3)掌握简单的绘图命令。(4)用MATLAB编程并学会创建函数。(5)观察离散系统的频率响应。二、实验内容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。上机实验内容:(1)数组的加、减、乘、除和乘方运算。输入A=1 2 3 4,B=3 4 5 6,求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.B并用stem语句画出A、B、C、D、E、F、G。实验程序:A=1 2 3 4;B=3

2、 4 5 6;n=1:4;C=A+B;D=A-B;E=A.*B;F=A./B;G=A.B;subplot(4,2,1);stem(n,A,'fill');xlabel ('时间序列n');ylabel('A');subplot(4,2,2);stem(n,B,'fill');xlabel ('时间序列n ');ylabel('B');subplot(4,2,3);stem(n,C,'fill');xlabel ('时间序列n ');ylabel('A+B

3、9;);subplot(4,2,4);stem(n,D,'fill');xlabel ('时间序列n ');ylabel('A-B');subplot(4,2,5);stem(n,E,'fill');xlabel ('时间序列n ');ylabel('A.*B');subplot(4,2,6);stem(n,F,'fill');xlabel ('时间序列n ');ylabel('A./B');subplot(4,2,7);stem(n,G,'f

4、ill');xlabel ('时间序列n ');ylabel('A.B');运行结果:(2)用MATLAB实现以下序列。a)x(n)=0.8n 0n15实验程序:n=0:15;x=0.8.n;stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x(n)=0.8n');b)x(n)=e(0.2+3j)n 0n15实验程序:n=0:15;x=exp(0.2+3*j)*n);stem(n,x,'fill'); xlabel ('时间序列n ');

5、ylabel('x(n)=exp(0.2+3*j)*n)');运行结果:a)的时间序列 b)的时间序列c)x(n)=3cos(0.125n+0.2)+2sin(0.25n+0.1) 0n15实验程序:n=0:1:15;x=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi);stem(n,x,'fill'); xlabel('时间序列n ');ylabel('x(n)=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi)');运行结果:d)将c

6、)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期实验程序:n=0:1:63;x=3*cos(0.125*pi*rem(n,16)+0.2*pi)+2*sin(0.25*pi*rem(n,16)+0.1*pi);stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x16(n)');e)将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期实验程序:n=0:1:39;x=3*cos(0.125*pi*rem(n,10)+0.2*pi)+2*sin(0.2

7、5*pi*rem(n,10)+0.1*pi);stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x10(n)');运行结果:d)的时间序列 e)的时间序列(3)x(n)=1,-1,3,5,产生并绘出下列序列的样本。a)x1(n)=2x(n+2)-x(n-1)-2x(n)实验程序:n=0:3;x=1 -1 3 5;x1=circshift(x,0 -2);x2=circshift(x,0 1);x3=2*x1-x2-2*x;stem(x3,'fill'); xlabel ('时间序列n

8、');ylabel('x1(n)=2x(n+2)-x(n-1)-2x(n)');b)实验程序:n=0:3;x=1 -1 3 5;x1=circshift(x,0 1);x2=circshift(x,0 2);x3=circshift(x,0 3);x4=circshift(x,0 4);x5=circshift(x,0 5);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-

9、4)+5x(n-5)');运行结果: a)的时间序列b)的时间序列(4)绘出时间函数的图形,对x轴、y轴图形上方均须加上适当的标注。 a) x(t)=sin(2t) 0t10s b) x(t)=cos(100t)sin(t) 0t4s实验程序: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)

10、');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<n0<n2,绘出该函数的图形,起点为n1,终点为n2。实验程序:clc;n1=input('请输入起点:');n2=input('请输入终点');n0=input('请输入阶跃位置');n=n1:n

11、2;x=n-n0>=0;stem(n,x,'fill');xlable('时间序列n');ylable('u(n-n0)');请输入起点:2请输入终点:8请输入阶跃位置:6运行结果: (5)运行结果 (6)运行结果(6)给一定因果系统求出并绘制H(z)的幅频响应与相频响应。实验程序: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);plot(w,fp);xlabel('时间序列t');ylabel('幅频特性'

12、);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 endendstem(n,x) ;t

13、itle('电信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=a

14、ngle(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')例: 求出下列波

15、形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

16、,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')已知某一系统方程为:yn-yn-1+0.9yn-2=xn计算并画出脉冲响应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');

17、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);

18、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); st

19、em(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)' IDFSfunction 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)是复指数,它满足周期性,我们将在两个周期中的

20、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')检验频移特性n=0:100; x=cos(pi*n/2);k=-100:100; w=(pi/100)*k;X=x*(exp(-j*pi/100).(n'*k);y

21、=exp(j*pi*n/4).*x;Y=y*(exp(-j*pi/100).(n'*k);subplot(2,2,1);plot(w/pi,abs(X); axis(-1,1,0,60);title('幅值 电信1201');xlabel('以pi为单位的频率');ylabel('绝对值X');subplot(2,2,2);plot(w/pi,angle(X)/pi);title('相位 电信1201');xlabel('以pi为单位的频率');ylabel('绝对值X');axis(-1,

22、1,-1,1);subplot(2,2,3);plot(w/pi,abs(Y);title('幅值 电信201');xlabel('以pi为单位的频率');ylabel('绝对值Y');axis(-1,1,0,60);subplot(2,2,4);plot(w/pi,angle(Y)/pi); title('相位 电信201');xlabel('以pi为单位的频率');ylabel('绝对值Y');axis(-1,1,-1,1);b=1;a=1,-0.8;n=0:100;x=cos(0.05*pi*

23、n);y=filter(b,a,x);subplot(2,1,1); stem(n,x)xlabel('n');ylabel('x(n)');title('输入序列 电信1201');subplot(2,1,2); stem(n,y)xlabel('n');ylabel('y(n)');title('输出序列 电信1201');实验三例:已知信号由15Hz幅值0.5的正弦信号和40Hz幅值2的正弦信号组成,数据采样频率fs=100;N=128;n=0:N-1;t=n/fs;x=0.5*sin(2*p

24、i*15*t)+2*sin(2*pi*40*t);y=fft(x,N);f=(0:length(y)-1)'*fs/length(y);mag=abs(y);stem(f,mag);title('N=128点 电信1201')已知带有测量噪声信号f1=50Hz,f2=1为均值为零、方差为1的随机信号,采样频率为1000Hz,t=0:0.001:0.6;x=sin(2*pi*50*t)+sin(2*pi*120*t);y=x+2*randn(1,length(t);Y=fft(y,512);P=Y.*conj(Y)/512; %求功率f=1000*(0:255)/512;

25、subplot(2,1,1);plot(y);title('电信1201')subplot(2,1,2);plot(f,P(1:256);title('电信1201')对信号 进行DFT,对其结果进行IDFT,并将IDFT的结果和原信号进行比较。 fs=100; N=128; n=0:N-1; t=n/fs;x=sin(2*pi*40*t)+sin(2*pi*15*t);subplot(2,2,1)plot(t,x)title('original signal 电信1201')y=fft(x,N);mag=abs(y);f=(0:length(y

26、)-1)'*fs/length(y);subplot(2,2,2)plot(f,mag)title('FFT to original signal 电信1201')xifft=ifft(y);magx=real(xifft);ti=0:length(xifft)-1/fs;subplot(2,2,3)plot(ti,magx);title('signal from IFFT 电信1201')yif=fft(xifft,N);mag=abs(yif);subplot(2,2,4)plot(f,mag)title('FFT to signal fro

27、m IFFT 电信201')用函数conv和FFT计算同一序列的卷积,比较其计算时间。L=5000; N=L*2-1; n=1:L;x1=0.5*n; x2=2*n;t0=clock; yc=conv(x1,x2);conv_time=etime(clock,t0)t0=clock;yf=ifft(fft(x1,N).*fft(x2,N);fft_time=etime(clock,t0)实验四例:用冲激响应不变法设计Butterworth低通数字滤波器,通带波纹小于1dB,阻带在 wp=0.2*pi; ws=0.3*pi;rp=1;rs=15;ts=0.01;Nn=128;Wp=wp/

28、ts; Ws=ws/ts;N,Wn=buttord(Wp,Ws,rp,rs,'s');z,p,k=buttap(N);Bap,Aap=zp2tf(z,p,k);b,a=lp2lp(Bap,Aap,Wn);bz,az=impinvar(b,a,1/ts);freqz(bz,az,Nn,1/ts)title('电信1201')设计一个Butterworth高通数字滤波器,通带边界频率为300Hz,阻带边界频率为200Hz,通带波纹小于1dB,阻带衰减大于20dB,采样频率为1000Hz。fs=1000;wp=300/(fs/2); ws=200/(fs/2);rp=1; rs=15; Nn=128;N,Wn=buttord(wp,ws,rp,rs);b,a=butter(N,Wn,'high');freqz(b,a,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论