数字信号处理实验全部程序MATLAB_第1页
数字信号处理实验全部程序MATLAB_第2页
数字信号处理实验全部程序MATLAB_第3页
数字信号处理实验全部程序MATLAB_第4页
免费预览已结束,剩余12页可下载查看

下载本文档

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

文档简介

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

2、、C、D、 E、 F、G。实验程序:A=1 2 3 4;B=3 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);subplot(4,2,4);stem(n,D,fill);xlabel (时间序列 n );ylabe

3、l(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,fill);xlabel (时间序列 n );ylabel(A.B);运行结果:.(2) 用 MATLAB 实现以下序列。a)x(n)=0.8n0n15实验程序:n=0:15;x=0.8.n;stem(n,x,fill); xlabel ( 时间序列 n );ylabel(x(n)=0.8n);b

4、)x(n)=e(0.2+3j)n0 n 15实验程序:n=0:15;x=exp(0.2+3*j)*n);stem(n,x,fill);xlabel( 时间序列 n );ylabel(x(n)=exp(0.2+3*j)*n);运行结果:.a)的时间序列b )的时间序列c)x(n)=3cos(0.125n+0.2)+2sin(0.25n+0.1)0 n 15实验程序: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*

5、pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi);运行结果:d)将 c) 中的 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*

6、rem(n,10)+0.2*pi)+2*sin(0.25*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)x 1(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 );ylabel(x1

7、(n)=2x(n+2)-x(n-1)-2x(n);5b) x 2 (n)nx (nk )k1实验程序: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-4)+5x(n-5);运行结果:a)的时间序列b )的时间序

8、列(4) 绘出时间函数的图形,对 x轴、 y轴图形上方均须加上适当的标注。a) x(t)=sin(2t)0t10sb) x(t)=cos(100t)sin(t)0 t4s实验程序: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)=

9、cos(100*pi*t2).*sin(pi*t2);运行结果:.(5) 编写函数 stepshift(n0,n1,n2)实现 u(n-n0),n1n0=0;stem(n,x,fill);xlable( 时间序列 n );ylable(u(n-n0);请输入起点:2请输入终点:8请输入阶跃位置:6运行结果:.( 5)运行结果( 6 )运行结果(6) 给一定因果系统 H(z)(12 z -11)/(1- 0.67z -10.9z -2 ) 求出并绘制 H(z)的幅频响应与相频响应。实验程序:a=1 -0.67 0.9;b=1 sqrt(2) 1;h w=freqz(b,a);fp=20*log(

10、abs(h);subplot(2,1,1);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);fori=1:

11、ncifn(i)=n0x(i)=1endendstem(n,x) ;title( 电信 1201采样序列第二种方法 )单位阶跃序列functionx,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

12、_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(x

13、1,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=min(n2)&(n0);t2= -1:0.1:2;f2=t2.*exp(t2).*(t2=0)+exp(t2).*(t20);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(n

14、y,y);title( 电信 1201).实验二functionxk=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)IDFSfunctionxn=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/

15、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=exp(j*pi*n/4).*x;Y=y*(exp(-j*pi/100).(n*k);subplot(2,2,1);

16、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,1,-1,1);subplot(2,2,3);plot(w/pi,abs(Y);title(幅值 电信 201);xlabel( 以 pi为单位的频率 );ylabel( 绝对值 Y );axis(-1,1,0,60);sub

17、plot(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*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);实验三例:已知信号由1

18、5Hz 幅值 0.5 的正弦信号和40Hz 幅值 2 的正弦信号组成,数据采样频率fs=100;N=128;n=0:N-1;t=n/fs;x=0.5*sin(2*pi*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+

19、2*randn(1,length(t);Y=fft(y,512);P=Y.*conj(Y)/512;%求功率f=1000*(0:255)/512;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(origina

20、l signal电信 1201)y=fft(x,N);mag=abs(y);f=(0:length(y)-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)ti

21、tle(FFT to signal from 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

22、.01;Nn=128;Wp=wp/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,Nn,fs)title( 电信 1201)设计一个24 阶 FIR 带通滤波器,通带频率为wp=0.35,0.65;N=24;b=fir1(2*N,wp);freqz(b,1,512)title( 电信 1201)f=0:0.

温馨提示

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

最新文档

评论

0/150

提交评论