数字信号处理实习报告
数字信号处理实验报告 3
数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期:2013.频域采样定理验证实验一. 实验目的:1. 加深对离散序列频域抽样定理的理解2.了解由频谱通过IFFT 计算连续时间信号的方法3.掌握用MATLAB 语言进行频域抽样与恢复时程序的编写方法 4、用MATLAB 语言将X(k)恢复为X(z)及X(e jw )。
二. 实验原理:1、1、频域采样定理: 如果序列x(n)的长度为M ,频域抽样点数为N ,则只有当频域采样点数N ≥M 时,才有x N (n)=IDFT[X(k)]=x(n),即可由频域采样X(k)无失真的恢复原序列 x(n)。
2、用X(k)表示X(z)的内插公式:∑-=-----=10111)(1)(N k kNNzWz k X Nz X内插函数: zWzkNNN z 1k111)(-----=ϕ频域内插公式:∑-=-=10)2()()(N K j k Nk X e X πωϕω频域内插函数:e N j N N )21()2sin()2sin(1)(--=ωωωωϕ三. 实验任务与步骤:实验一:长度为26的三角形序列x(n)如图(b)所示,编写MATLAB 程序验证频域抽样定理。
实验二:已知一个时间序列的频谱为X(e jw )=2+4e -jw +6e -j2w +4e -j3w +2e -j4w分别取频域抽样点数N为3、5和10,用IPPT计算并求出其时间序列x(n),用图形显示各时间序列。
由此讨论原时域信号不失真地由频域抽样恢复的条件。
实验三:由X32(k)恢复X(z)和X(e jw)。
四.实验结论与分析:实验一:源程序:M=26;N=32;n=0:M; %产生M长三角波序列x(n)xa=0:floor(M/2);xb= ceil(M/2)-1:-1:0; xn=[xa,xb];Xk=fft(xn,512); %1024点FFT[x(n)], 用于近似序列x(n)的TFX32k=fft(xn,32); %32点FFT[x(n)]x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n)X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K)x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n)subplot(3,2,2);stem(n,xn,'.');box ontitle('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20])k=0:511;wk=2*k/512;subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])k=0:N/2-1;subplot(3,2,3);stem(k,abs(X16k),'.');box ontitle('(c) 16点频域');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200])n1=0:N/2-1;subplot(3,2,4);stem(n1,x16n,'.');box ontitle('(d) 16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20])k=0:N-1;subplot(3,2,5);stem(k,abs(X32k),'.');box ontitle('(e) 32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200])n1=0:N-1;subplot(3,2,6);stem(n1,x32n,'.');box ontitle('(f) 32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])结果如下所示:实验一分析:序列x(n)的长度M=26,由图中可以看出,当采样点数N=16<M时,x16(n)确实等于原三角序列x(n)以16为周期的周期延拓序列的主值序列。
《数字信号处理》上机实习报告 (10)
《计算机编程与数字信号处理实习》大作业6月21日实习任务:从给定的程序(文件包Friday.rar)中,选择一个源程序做详细标注。
(目的:熟悉Matlab程序)程序名:diyiti原理:通过对几个程序的详细分析,熟悉掌握了Matlab的一些常用函数的用法和一些简单操作。
包括数组的定义和赋值,如行向量:a=[1 1 1 1],a=(1:3)a=[1:3],列向量:a=[1 1 1 1]等text,grid on,hold on,print,legend,subplotk,循环语句的用法等。
6月22日实习任务:二、能够利用Matlab熟悉地画图,内容包括:X、Y 坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
(5)完成对一个源程序进行详细注释。
程序名:erweituxing.mSanweituxing.mShibuxubu.m原理:在一副图上画出多幅小图是利用subplot()函数三维图形用plot3(x,y,z)复数的实部用real,虚部用imag6月23-24日实习任务:三、计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
程序名:bianjiexiaoying.mxiangguan.mxunhuanzheji.mzhengfanyan.m原理:时间域的普通褶积直接用褶积的公式计算,频率域的褶积先对原函数做fft变换,得出的结果是时间域的循环褶积等于频率域的褶积,N的大小与数组的长度相同,如果N小于数组长度则会出现边界效应。
6月25-26日实习任务:四、设计一个病态(矩阵)系统,分析其病态程度;找出对应的解决方法(提示:添加白噪因子)。
程序名:bingtai.m6月27日实习任务:五、设计一个一维滤波处理程序(1、分别做低通、高通、带通、带阻等理想滤波器进行处理;2、窗函数)。
数字信号处理 实习大报告 (14)
《计算机编程与数字信号处理实习报告》2010年6月21日完成了从给定的程序(文件包Friday.rar)中,选择一个源程序做详细标注,熟悉了Matlab程序,能看懂简单的matlab程序。
程序名:Spectrum_Showing_CFT .m结果:运行程序后,显示出几个图形:2010年6月22日完成了利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label (标号),每幅图上的title(题名),绘画多条曲线时的legend(注解),对图形进行适当的标注等。
程序名:make_picture.m结果:(1)在一副图上画出多幅小图:(2)画出一组二维图形:(3)画出一组三维图形(4)画出复数的实部与虚部:2010年6月23日完成了计算普通褶积与循环褶积所需要的相关函数的编写。
程序名:sjyxxzj.msjyxhzj.mplyxhzj.mft.mift.mtoep.mcirculant_matrix.m2010年6月24日完成了计算普通褶积与循环褶积的主函数,并分别使用时间域与频率域两种方法进行正、反演计算;分析了循环褶积计算时所存在的边界效应现象。
程序名:convolution.m程序结果:程序结果:XY =24714xy =24671421d1 =CXY =716256CXY1 =7.0000 - 0.0000i 16.0000 + 0.0000i 25.0000 + 0.0000i 6.0000 - 0.0000iCxy =716256d2 =CXY2 =0 0 0 7 14 21 00 2 2 16 23 2 20 0 4 25 4 4 40 0 0 6 6 6 60 0 0 0 7 7 70 0 0 0 0 14 140 0 0 0 0 0 21边界效应:两个离散的序列离散x(n)和y(n),他们的长度分别为N1和N2,如果循环褶积的长度N>N1+N2-1,则循环褶积和线性褶积的值相等。
数字信号处理 实习大报告 (1)
数字信号实习报告勘查07-3班黄龙 2007054119 2010-6-21今天首先熟悉了一下MATLAB的一些基本操作,对Spectrum_Showing_CFT这个程序进行阅读作业,一行一行的分步执行,了解了很多常用命令的代码。
大致标注了一些,但是没有标注完全。
2010-6-22至24号由于这三天每天都有考试,所以任务完成的很少,将第一题(从给定的程序中,选择一个源程序做详细标注)完成。
程序存储在文件夹1中,文件名为Spectrum_Showing_CFT.m2010-6-25今天开始集中注意力完成实习任务,开始做第二题(能够利用Matlab 熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等)的第一小题,完成了一幅图上的多幅图的绘制。
程序:在一幅图上多幅图形:文件夹2中的duofutu.m一组二维图:文件夹2中的yiuzerweituiang.m2010-6-26和27双休日画完了第二题的剩余两幅图,画出一幅三维图形和复数的实部与虚部。
程序:三维图像:文件夹2中的3D.m复数的实部与虚部: 文件夹2中的fushutu.m2010-6-28今天效率比较高,将第三题(计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序)基本做完了。
程序:时间域的线性褶积:文件夹3中的PTshijianyu.m时间域的循环褶积:文件夹3中的XHshijianyu.m频率域反演计算循环褶积:文件夹3中的XHpinlvyu.m循环褶积计算时所存在的边界效应现象:文件夹3中的bianjiexiaoying.m相关分析:文件夹3中的xiangguanfenxi.m运行结果:1、时间域的线性褶积c =14812114 02、时间域的循环褶积y =12115483、频率域反演计算循环褶积m =12.0000 + 0.0000i11.0000 + 0.0000i5.0000 + 0.0000i4.0000 - 0.0000i8.0000 - 0.0000i4、边界效应c =14 8121145、相关分析r =64114今天做了第四题(对一个已知的病态矩阵添加白造因子并对其求解),开始对于病态矩阵不甚了解,通过BAIDU了解了病态矩阵,然后构造了一个病态矩阵,然后添加白噪音子从而求解。
《数字信号处理》上机实习报告
数字信号处理实习报告一、从给定的程序(文件包Friday.rar)中,选择一个源程序做详细标注。
(目的:熟悉Matlab程序)程序名:Gibbs_Phenomena_CFSTzhushi.m程序思路:学习matlab基础程序二、能够利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
(5)完成对一个源程序进行详细注释。
例1X、Y坐标轴上的label,每幅图上的title,(1)在一副图上画出多幅小图;(3)画出一组三维图形;(5)完成对一个源程序进行详细注释。
使用subplot画出两个三维椭球,一个制作三维网格图,一个为表面图。
x轴范围[-3,3],y轴范围[-16,16],z轴范围[-2,2]程序名:tuoqiu.m对此源程序的注释:sita=0:0.1:2*pi;%设置sita角度的范围arfa=sita'; %确定arfa的范围X = 9*cos(arfa)*cos(sita); %用三角坐标将x表示出来Y =256*cos(arfa)*sin(sita); %用三角坐标将y表示出来Z = 4*sin(arfa)*ones(size(sita)); %用三角坐标将z表示出来subplot(1,2,1),mesh(X,Y,Z) %画三维椭球网格图使用meshtitle('三维网格图');%注释命令xlabel ('x区间(-3:3)'); %在x轴上添加注释x的坐标ylabel ('y区间(-16:16)'); %在y轴上添加注释y的坐标zlabel ('z区间(-2:2)'); %在z轴上添加注释z的坐标subplot(1,2,2),surf(X,Y,Z)% 在第二个小图上画出椭球的三维曲面图title('三维曲面图') %注释命令xlabel ('x区间(-3:3)'); %在x轴上添加注释x的坐标ylabel ('y区间(-16:16)'); %在y轴上添加注释y的坐标zlabel ('z区间(-2:2)'); %在z轴上添加注释z的坐标运行结果:例2绘画多条曲线时的legend,对图形进行适当的标注等。
《数字信号处理》上机实习报告 (7)
数字信号实习报告6月21号一、从老师所给代码选择一个源程序,仔细学习程序,最后做详细标注。
以达到认识了解Matlab的目的,见Gibbs_Phenomena_CFST.m6月22号二、能够利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
(1)在一副图上画出多幅小图;程序a1.m(2)画出一组二维图形;程序a2.m(3)画出一组三维图形;程序a3.m(4)画出复数的实部与虚部。
程序a4.m6月23-24三、计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
线性褶积:程序b.m结果:n2n11 =411203020114循环褶积:程序b1.m n1 =1234N3 =7K =12n1n21 =4.000011.000020.000030.000020.000011.00004.00000.00000.0000n1n22 =411203020114n1n23 =4.000011.000020.000030.000020.000011.00004.00000.00000.0000-0.0000-0.0000-0.0000循环相关函数b2.mr =3020114411206月25四、设计一个病态(矩阵)系统,分析其病态程度;找出对应的解决方法(提示:添加白噪因子)。
程序c.m6月26-27五、设计一个一维滤波处理程序(1、分别做低通、高通、带通、带阻等理想滤波器进行处理 d1.m;2、窗函数d2.m)。
低通程序d1.m高通程序d2.m带通程序 d3.m带阻程d4.m窗函数程序d5.m6月28六、设计一个二维滤波处理程序(分别做低通、高通等处理)。
低通程序 e1.m高通程序 e2.m6月29-30七、验证时间域的循环褶积对应的是频率域的乘积;线性褶积则不然。
数字信号处理 实习大报告 (9)
数字信号分析处理实习报告勘查07.3 白通20070143086月21日实习任务:熟悉MATLAB的操作界面和基本操作,完成第一题实习成果:更加熟悉CFST运算已经吉普斯现象的原理;同时基本了解MATLAB中判断语句if ,循环语句 for的基本用法以及MATLAB画图语句plot以及相应text,title,xlabel等相关语句的使用。
程序名见第一题Gibbs_Phenomena_CFST.m6月22日实习任务:继续熟悉MATLAB基本操作,在此基础上熟悉MATLAB画图,包括X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
实习成果:(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
程序见第二题drawing1~drawing4(1)在一副图上画出多幅小图(程序名drawing1)(2)画出一组二维图形(程序名drawing2)(3)画出一组三维图形(程序名drawing3)(4)画出复数的实部与虚部(程序名drawing4)6月23日实习任务:计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
实习成果:(1)在时间域,频率域上分别计算线性褶积,循环褶积,并指出边界效应现象(程序见第3题zheji.m)造两个数组 a=[1 2 3 4 5],b=[4 5 3 2];循环摺积结果为[47 36 35 39 53]产生边界效应后结果为[47 36 35 39 33](2)相关分析(程序见第3题xiangguanhanshu.m)根据a=[1 2 3 4 5]作出HANKEL矩阵A=1 2 3 4 5 0 0 02 3 4 5 0 0 0 13 4 5 0 0 0 1 24 5 0 0 0 1 2 35 0 0 0 1 2 3 40 0 0 1 2 3 4 50 0 1 2 3 4 5 00 1 2 3 4 5 0 0B = [4 5 3 2 0 0 0 0];进而求得相关系数r= [31 45 47 41 20 2 7 17]6月24日实习任务:设计一个病态(矩阵)系统,分析其病态程度;通过添加白噪因子解决相应问题实习成果:程序见第4题bingtaijuzhen.m先随意作数组a=[1 4 5 6 7 4]' ,对其求傅立叶运算后对其谱共轭项取0;在进行反傅立叶运算,得数组aa ;aa =[4.3333 4.6667 4.3333 4.6667 4.3333 4.6667] ',通过aa作循环矩阵A,可得m=inv(A)各项全为inf,故A是所需的病态矩阵。
数字信号处理实验报告
数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。
二、实验设备与环境1、计算机一台,安装有 MATLAB 软件。
2、数据采集卡。
三、实验原理1、数字信号的表示与采样数字信号是在时间和幅度上都离散的信号,可以用数字序列来表示。
在采样过程中,根据奈奎斯特采样定理,为了能够准确地恢复原始信号,采样频率必须大于信号最高频率的两倍。
2、离散傅里叶变换(DFT)DFT 是将时域离散信号变换到频域的一种方法。
通过 DFT,可以得到信号的频谱特性,从而分析信号的频率成分。
3、数字滤波器数字滤波器是对数字信号进行滤波处理的系统,分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。
FIR 滤波器具有线性相位特性,而 IIR 滤波器则在性能和实现复杂度上有一定的优势。
四、实验内容与步骤1、信号的采集与生成使用数据采集卡采集一段音频信号,或者在 MATLAB 中生成一个模拟信号,如正弦波、方波等。
2、信号的采样与重构对采集或生成的信号进行采样,然后通过插值算法重构原始信号,观察采样频率对重构信号质量的影响。
3、离散傅里叶变换对采样后的信号进行DFT 变换,得到其频谱,并分析频谱的特点。
4、数字滤波器的设计与实现(1)设计一个低通 FIR 滤波器,截止频率为给定值,观察滤波前后信号的频谱变化。
(2)设计一个高通 IIR 滤波器,截止频率为给定值,比较滤波前后信号的时域和频域特性。
五、实验结果与分析1、信号的采集与生成成功采集到一段音频信号,并在MATLAB 中生成了各种模拟信号,如正弦波、方波等。
通过观察这些信号的时域波形,对不同类型信号的特点有了直观的认识。
2、信号的采样与重构当采样频率足够高时,重构的信号能够较好地恢复原始信号的形状;当采样频率低于奈奎斯特频率时,重构信号出现了失真和混叠现象。
数字信号处理 实习大报告 (10)
数字信号处理实习报告一、从给定的程序(文件包Friday.rar)中,选择一个源程序做详细标注。
注释源文件见huitu.m,通过注释熟悉matlab程序二、能够利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
源程序见huitu.m输出结果为:学习了用MATLAB绘图以及对图形的标注三、计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
源程序见Num3.m 运算结果:线性褶积:n1n2 =2471019417399130125循环褶积:n1n22 =13212971019417399相关系数:r =5540261410142640熟悉线性褶积与循环褶积的计算,并用不同方法实现,在一定条件下循环褶积等于线性褶积四、设计一个病态(矩阵)系统,找出对应的解决方法源程序见Num4.m 输出结果为:b =0.1611 + 0.0000i1.3692 + 0.0000i-0.1153 - 0.0000i-1.3234 - 0.0000i通过对矩阵求fft,使对称元素为0,再求ifft构造病态矩阵添加白噪因子求解五、设计一个一维滤波处理程序(1、分别做低通、高通、带通、带阻等理想滤波器进行处理;2、窗函数)源程序见Num5.m 运行结果为:通过设置同频带来实现频率域响应,通过ifft求解时间域响应,来实现高通,低通,带通,带阻设计六、设计一个二维滤波处理程序(分别做低通、高通等处理)。
源程序见Num6.m 输出结果为:用二维信号来代替一维信号实现滤波,人为设定低频,中频和高频范围七、验证时间域的循环褶积对应的是频率域的乘积;线性褶积则不然源程序见Num7.m八、请用通俗、易懂的语言说明数字信号处理中的一种性质、一条定理或一个算例(顺便利用Matlab对其进行实现)。
数字信号处理 实习大报告 (4)
《计算机编程与数字信号处理实习》大作业勘查07-3班段云江2007014310 一.6月21--22号这两天主要完成对matlab语言以及操作的熟悉,对给定的程序进行了注释,加深了对数字信号用matlab来实现对它的分析的理解。
对以下给定源程序的注释: % Gibbs_Phenomena_CFST.m 具体见附录文件夹一二、6月23号主要完成(1)--(3)小题的程序编写,进一步加深了对matlab的画图功能的理解和掌握,对关键的源代码能熟练的掌握。
能对图形进行必要的修饰。
6月24日完成对(4)--(5)小题的程序编写。
进一步加深巩固了对matlab画图功能的运用。
具体成果如下:(1)在一副图上画出多幅小图;运行结果及程序见附录中相关文件夹二中。
源程序为ba.m ;对应的图形见ba(2)画出一组二维图形;运行结果及程序 见附录中相关文件夹二中。
源程序为bb.m ;对应的图形见bb(3)画出一组三维图形;运行结果及程序 见附录中相关文件夹二中。
源程序为bc.m 对应的图形见bcxyz(4)画出复数的实部与虚部。
运行结果及程序 见附录中相关文件夹二中。
源程序为bd.m 对应的图形见bd(5)完成对一个源程序进行详细注释。
运行结果及程序 见附录中相关文件夹二中。
源程序为 be.m 对应的注释。
三、6月25日完成在时间域计算线性褶积计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
实习成果:一 (1)在时间域计算线性褶积(程序见附录ca.m )当两信号分别为x=[0 1 1 0]',y=[0 1 2 3 ]’'时,利用下面线性褶积公式:求得的线性褶积结果为A=[0 0 1 3 5 3 0]’.(2)在时间域正演计算循环褶积(程序见附录cb.m )当两信号分别为x=[0 1 1 0]',y=[0 1 2 3 ]’'时利用如下循环褶积公式:求得的循环褶积结果为列向量B=[0 0 1 3 5 3 0]’从以上(1),(2)两问可以看出当N 相等时线性褶积与循环褶积的值是相等的。
数字信号处理实验报告完整版[5篇模版]
数字信号处理实验报告完整版[5篇模版]第一篇:数字信号处理实验报告完整版实验 1利用 T DFT 分析信号频谱一、实验目的1.加深对 DFT 原理的理解。
2.应用 DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境计算机、MATLAB 软件环境三、实验基础理论T 1.DFT 与与 T DTFT 的关系有限长序列的离散时间傅里叶变换在频率区间的N 个等间隔分布的点上的 N 个取样值可以由下式表示:212 /0()|()()0 1Nj knjNk NkX e x n e X k k Nπωωπ--====≤≤-∑由上式可知,序列的 N 点 DFT ,实际上就是序列的 DTFT 在 N 个等间隔频率点上样本。
2.利用 T DFT 求求 DTFT方法 1 1:由恢复出的方法如下:由图 2.1 所示流程可知:101()()()Nj j n kn j nNn n kX e x n e X k W eNωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑由上式可以得到:IDFT DTFT第二篇:数字信号处理实验报告JIANGSUUNIVERSITY OF TECHNOLOGY数字信号处理实验报告学院名称:电气信息工程学院专业:班级:姓名:学号:指导老师:张维玺(教授)2013年12月20日实验一离散时间信号的产生一、实验目的数字信号处理系统中的信号都是以离散时间形态存在的,所以对离散时间信号的研究是数字信号的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大绘图功能,便于用户直观地处理输出结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,实现信号的卷积运算,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
数字信号处理 实习大报告 (5)
《计算机编程与数字信号处理实习》实习地点:润洁5楼机房实习时间:2010年6月21日~2010年7月3日实习内容:第一天:从给定的程序(文件包Friday.rar)中,选择一个源程序做详细标注。
(目的:熟悉Matlab 程序)选择注释的文件:ym1.m第二到三天:2.能够利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
(5)完成对一个源程序进行详细注释。
实习成果:能够利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
(5)完成对一个源程序进行详细注释。
%画出一个复数形式的罗盘%figure(5)b=5+3i;compass(b);print -djpeg-r0ym5.jpeg第四到五天计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
大概内容:时间域线性褶积自己编程的计算时间域线性褶积库函数计算时间域循环褶积自己编程的计算频率域循环褶积自己编程的计算循环褶积时存在的边界效应相关分析边界效应:两个离散的序列离散x(n)和y(n),他们的长度分别为N1和N2,如果循环褶积的长度N>N1+N2-1,则循环褶积和线性褶积的值相等。
否则,循环褶积和线性褶积的值不相等。
而在循环褶积的系数矩阵中,把第一列离散的序列依次折叠刀第二列,第三列等,这个时候,当循环褶积的N=N1+N2-1时,循环褶积的系数矩阵和线性褶积的系数矩阵不相同,循环褶积系数矩阵边沿是不是零,而线性褶积系数矩阵边沿是零,但是他们运算结果一致,这就是循环褶积在计算过程中的边界效应。
数字信号处理 实习大报告 (15)
数字信号实习上机实习报告实习目的:熟练掌握matlab,能够使用该软件完成一定的数字信号处理的任务,并能从中有一定的领悟,达到应用和熟练的程度。
实习任务:一、能够利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
(5)完成对一个源程序进行详细注释。
二、计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
三、设计一个病态(矩阵)系统,分析其病态程度;找出对应的解决方法(提示:添加白噪因子)。
四、设计一个一维滤波处理程序(1、分别做低通、高通、带通、带阻等理想滤波器进行处理;2、窗函数)。
五、设计一个二维滤波处理程序(分别做低通、高通等处理)。
六、验证时间域的循环褶积对应的是频率域的乘积;线性褶积则不然。
七、请用通俗、易懂的语言说明数字信号处理中的一种性质、一条定理或一个算例(顺便利用Matlab对其进行实现)。
实习时间:2010年6月21日——2010年7月2日实习地点:润杰公寓五层机房1. 能够利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
(5)完成对一个源程序进行详细注释。
%在一副图上画出四幅图像%%%%%%%%%%%%%%%%%%%%%%clear all;close all;t=-10:0.1:10;subplot(2,2,1);plot(t,sin(t));axis([-5,5,-1.5,1.5]);title('正弦曲线');xlabel('x');ylabel('y');grid;subplot(2,2,2);plot(t,cos(t),'-r','LineWidth',2);axis([-5,5,-1.5,1.5]);title('余弦曲线');xlabel('x');ylabel('y');grid;subplot(2,2,3);plot(t,tan(t),'-b','LineWidth',1);axis([-5,5,-1.5,1.5]);title('正切曲线');xlabel('x');ylabel('y');subplot(2,2,4);plot(t,rectpuls(t,2),'-r',t,sawtooth(t,1)); axis([-5,5,-1.5,1.5]);title('三角脉冲和矩形脉冲');xlabel('x');ylabel('y');Legend('rectpuls(t,2)','sawtooth(t,1)'); grid;print -djpeg -r0 Firstwork.jpeg;运行结果:(详情请参考文件Untitled1)2)画出一组二维图形figure(2)t=linspace(-6,6);f1=t.^2;f2=-t.^2;plot(t,f1,'-k');hold on;plot(t,f2,':r');text(-2,20,'f1=t^2','FontSize',12,'FontWeight','bold'); text(-2,-20,'f2=-t^2','FontSize',12,'FontWeight','bold'); title('二维图')print -djpeg -r0 2.jpeg(详情请参考文件Untitled2)做三维图:x=linspace(0,4,30); %0到4之间取三十个点y=linspace(0,5,30); %0到5之间取30个点[xx,yy]=meshgrid(x,y); %作图z1=sin(xx).*cos(yy); %z1函数x=0:0.2:4;y=x;[xx,yy]=meshgrid(x,y);z2=xx.^4+3*xx.^2-2*xx+6; %z2函数x=0:0.5:6;y=cos(x);[xx,yy]=meshgrid(x,y);r=sqrt(xx.^2+yy.^2)+eps;z3=sin(r)/r;subplot(2,2,1),mesh(z1); %画两行两列图(z1)title('z1')subplot(2,2,2),mesh(z2);title('z2')subplot(2,2,3),waterfall(z2);title('z2')subplot(2,2,4),mesh(z3);(详情请参考文件Untitled3)画复数实部虚部:x=linspace(-10,10,20);alpha=-0.2+0.5j;y=exp(alpha*x);subplot(2,1,1);stem(x,real(x),'r');hold on subplot(2,1,2);stem(x,imag(x),'r');hold on title('虚部');xlabel('x')print -djpeg -r0 3.jpeg运算结果如下:(详情请参考文件Untitled4)(5)完成对一个源程序进行详细注释。
数字信号处理 实习大报告 (1)
暑期数字信号实习报告姓名:王瑞生学号:2007014323班级:勘查07-3班专业方向:物探一,实习时间6月21号——7月2号二,实习目的熟练掌握Matlab的相关知识,将其应用到实际的学习工作中去学习数字信号的相关知识,了解数字信号在实际模拟处理中的方法和步骤利用Matlab编制数字信号程序,了解相关知识学会综合应用所学过的知识解决实际问题三,具体实习内容6月21号一、从老师所给的源程序中文件中,选择合适的一个源程序,仔细学习程序的相关语句和做法,最后做详细标注。
以达到认识了解,从而熟练应用Matlab的目的,对今后的相关知识和学习做铺垫。
具体标注有M文件。
见文件Gibbs.m6月22号二、能够利用Matlab做一些简单的几何图形。
内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注。
(1)在一副图上画出多幅小图;程序w1.m(2)画出一组二维图形;程序w2.m(3)画出一组三维图形;程序w3.m(4)画出复数的实部与虚部。
程序w4.m6月23-24三、计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
线性褶积:程序w5.m结果:n2n11 =411203020114循环褶积:程序w6.m n1 =1234N3 =7K =12n1n21 =4.000011.000020.000030.000020.000011.00004.00000.00000.00000 n1n22 =411203020114n1n23 =4.000011.000020.000030.000020.000011.00004.00000.00000.0000-0.0000-0.0000-0.0000循环相关函数w7.mr =3020114411206月25四、设计一个病态(矩阵)系统,分析其病态程度;找出对应的解决方法(提示:添加白噪因子)。
数字信号处理实验报告_五个实验
实验一 信号、系统及系统响应一、 实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;2、熟悉时域离散系统的时域特性;3、利用卷积方法观察分析系统的时域特性;4、掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号、离散信号及系统响应进行频域分析。
二、 实验原理及方法采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z 变换和序列傅立叶变换之间关系式的理解。
对一个连续信号)(t x a 进行理想采样的过程可用下式表示:)()()(^t p t t x x aa其中)(^t x a 为)(t x a 的理想采样,p(t)为周期脉冲,即∑∞-∞=-=m nT t t p )()(δ)(^t x a的傅立叶变换为)]([1)(^s m a m j X T j a X Ω-Ω=Ω∑∞-∞= 上式表明^)(Ωj Xa为)(Ωj Xa的周期延拓。
其延拓周期为采样角频率(T /2π=Ω)。
只有满足采样定理时,才不会发生频率混叠失真。
在实验时可以用序列的傅立叶变换来计算^)(Ωj X a 。
公式如下:Tw jwae X j X Ω==Ω|)()(^离散信号和系统在时域均可用序列来表示。
为了在实验中观察分析各种序列的频域特性,通常对)(jw e X 在[0,2π]上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n),有:n jw N n jw k ke m x eX--=∑=)()(1其中,k Mk πω2=,k=0,1,……M-1 时域离散线性非移变系统的输入/输出关系为∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(上述卷积运算也可在频域实现)()()(ωωωj j j e H e X eY =三、 实验程序s=yesinput(Please Select The Step Of Experiment:\n 一.(1时域采样序列分析 s=str2num(s); close all;Xb=impseq(0,0,1); Ha=stepseq(1,1,10);Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.2*impseq(2,0,3)+impseq(3,0,3); i=0;while(s);%时域采样序列分析 if(s==1)k=0;while(1)if(k==0)A=yesinput('please input the Amplitude:\n',...444.128,[100,1000]); a=yesinput('please input the Attenuation Coefficient:\n',...222.144,[100,600]);w=yesinput('please input the Angle Frequence(rad/s):\n',...222.144,[100,600]);endk=k+1;fs=yesinput('please input the sample frequence:\n',...1000,[100,1200]);Xa=FF(A,a,w,fs);i=i+1;string+['fs=',num2str(fs)];figure(i)DFT(Xa,50,string);1=yesinput1=str2num(1);end%系统和响应分析else if(s==2)kk=str2num(kk);while(kk)if(kk==1)m=conv(Xb,Hb);N=5;i=i+1;figure(i)string=('hb(n)');Hs=DFT(Hb,4,string);i=i+1;figure(i)string('xb(n)');DFT(Xb,2,string);string=('y(n)=xb(n)*hb(n)');else if (kk==2)m=conv(Ha,Ha);N=19;string=('y(n)=ha(n)*(ha(n)');else if (kk==3)Xc=stepseq(1,1,5);m=conv(Xc,Ha);string=('y(n)=xc(n)*ha(n)');endendendi=i+1;figure(i)DFT(m,N,string);kk=yesinputkk=str2num(kk);end卷积定理的验证else if(s==3)A=1;a=0.5;w=2,0734;fs=1;Xal=FF(A,a,w,fs);i=i+1;figure(i)string=('The xal(n)(A=1,a=0.4,T=1)'); [Xa,w]DFT(Xal,50,string);i=i+1;figure(i)string =('hb(n)');Hs=DFT(Hb,4,string);Ys=Xs.*Hs;y=conv(Xal,Hb);N=53;i=i+1;figure(i)string=('y(n)=xa(n)*hb(n)');[yy,w]=DFT(y,N,string);i=i+1;figure(i)subplot(2,2,1)plot(w/pi,abs(yy));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title(FT[x(n)*h(n)]');subplot(2,2,3)plot(w/pi,abs(Ys));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title('FT[xs(n)].FT[h(n)]'); end end end子函数:离散傅立叶变换及X(n),FT[x(n)]的绘图函数 function[c,l]=DFT(x,N,str) n=0:N-1; k=-200:200; w=(pi/100)*k; l=w; c=x*Xc=stepseq(1,1,5); 子函数:产生信号function c=FF(A,a,w,fs) n=o:50-1;c=A*exp((-a)*n/fs).*sin(w*n/fs).*stepseq(0,0,49); 子函数:产生脉冲信号function [x,n]=impseq(n0,n1,n2) n=[n1:n2];x=[(n-n0)==0];子函数:产生矩形框信号function [x,n]=stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0>=0)];四、 实验内容及步骤1、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。
数字信号处理实习报告模板
实习报告实习单位:__________实习时间:____年__月__日至____年__月__日实习生:_______指导老师:________一、实习背景及目的随着现代电子技术的快速发展,数字信号处理(Digital Signal Processing,简称DSP)已经在通信、音视频、图像处理、医疗保健、汽车电子等领域得到广泛应用。
为了更好地了解并掌握DSP技术,提高自己在电子信息技术领域的实际操作能力,我选择了数字信号处理实习项目。
本次实习的主要目的是:1. 学习并掌握DSP基本原理、算法和应用。
2. 熟悉DSP硬件设备及其编程环境。
3. 学会使用DSP开发工具进行程序设计和调试。
4. 结合实际项目,锻炼自己解决实际问题的能力。
二、实习内容及过程1. DSP基本原理学习在实习初期,我首先学习了DSP的基本原理,包括信号采样、量化、DSP算法、数字滤波器设计等。
通过学习,我对DSP技术有了更深入的了解,为后续的实际操作奠定了基础。
2. DSP硬件设备熟悉在掌握基本原理后,我开始接触DSP硬件设备。
实习单位提供了多种DSP开发板和实验设备,我通过阅读硬件手册、参考资料,了解了各种设备的硬件结构和接口规范。
在指导老师的帮助下,我学会了如何使用示波器、信号发生器等仪器进行硬件调试。
3. DSP编程实践接下来,我开始了DSP编程实践。
首先,我学会了使用DSP编程环境(如CCS、MATLAB等)进行程序设计。
在熟悉编程环境的基础上,我开始编写简单的DSP程序,如信号发生器、数字滤波器等。
在编程过程中,我遇到了许多问题,但在指导老师的帮助下,逐一解决了这些问题。
4. 实际项目锻炼实习期间,我参与了一个实际项目,负责设计一个基于DSP的音频处理系统。
在项目过程中,我学会了如何分析项目需求、设计系统架构、编写程序代码、调试和优化系统。
通过这个项目,我锻炼了自己解决实际问题的能力,并对DSP技术在实际应用中的重要性有了更深刻的认识。
数字信号处理上机实习报告
数字信号处理上机实习报告————————————————————————————————作者:————————————————————————————————日期:2专题一 离散卷积的计算一、实验内容设线性时不变(LTI )系统的冲激响应为h(n),输入序列为x (n) 1、h (n)=(0.8)n,0≤n ≤4; x (n)=u (n)—u (n-4) 2、h (n)=(0.8)n u (n), x (n )=u(n)—u (n-4) 3、h(n)=(0。
8)nu (n ), x(n)=u (n) 求以上三种情况下系统的输出y (n )。
二、实验目的1、掌握离散卷积计算机实现.2、进一步对离散信号卷积算法的理解.三、原理及算法概要算法:把冲激响应h(n)与输入序列x (n)分别输入到程序中,然后调用离散卷积函数y=conv (x 。
,h)即可得到所要求的结果.原理:离散卷积定义为 ∑∞-∞=-=k k n h k x n y )()()(当序列为有限长时,则∑=-=nk k n h k x n y 0)()()(四.理论计算1、h (n)=(0。
8)n,0≤n≤4; x(n )=u (n )—u(n —4) ∑∞-∞=-=*=m m n h m x n h n x n y )()()()()((a) 当n 〈0 时,y (n )=0 (b ) 当30≤≤n 时,∑==nm n y 0)((0。
8)n(c ) 当74≤≤n 时,∑-==43)(n m n y (0.8)n(d ) 当n 〉7时,y (n )=0理论结果与上图实验结果图中所示吻合。
2、h(n)=(0.8)nu(n ), x(n )=u(n)—u(n-4) ∑∞-∞=-=*=m m n h m x n h n x n y )()()()()((a) 当n <0 时,y (n )=0 (b) 当30≤≤n 时,∑==nm n y 0)((0。
数字信号处理实验报告(全)
实验一、离散时间系统及离散卷积1、单位脉冲响应源程序:function pr1() %定义函数pr1a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1;x=impseq(0,-20,120); %调用impseq函数n=[-40:140]; %定义n从-20 到120h=filter(b,a,x); %调用函数给纵座标赋值figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激title('冲激响应'); %定义标题为:'冲激响应'xlabel('n'); %绘图横座标为nylabel('h(n)'); %绘图纵座标为h(n)figure(2) %绘图figure 2[z,p,g]=tf2zp(b,a); %绘出零极点图zplane(z,p)function [x,n]=impseq(n0,n1,n2) %声明impseq函数n=[n1:n2];x=[(n-n0)==0];结果:Figure 1:Figure 2:2、离散系统的幅频、相频的分析源程序:function pr2()b=[0.0181,0.0543,0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];m=0:length(b)-1; %m从0 到3l=0:length(a)-1; %l从0 到3K=5000;k=1:K;w=pi*k/K; %角频率wH=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义magH=abs(H); %magH为幅度angH=angle(H); %angH为相位figure(1)subplot(2,1,1); %在同一窗口的上半部分绘图plot(w/pi,magH); %绘制w(pi)-magH的图形grid;axis([0,1,0,1]); %限制横纵座标从0到1xlabel('w(pi)'); %x座标为 w(pi)ylabel('|H|'); %y座标为 angle(H)title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图plot(w/pi,angH); %绘制w(pi)-angH的图形grid; %为座标添加名称xlabel('w(pi)'); %x座标为 w(pi)ylabel('angle(H)'); %y座标为 angle(H)结果:3、卷积计算源程序:function pr3()n=-5:50; %声明n从-5到50u1=stepseq(0,-5,50); %调用stepseq函数声用明u1=u(n)u2=stepseq(10,-5,50); %调用stepseq函数声用明u2=u(n-10) %输入x(n)和冲激响应h(n)x=u1-u2; %x(n)=u(n)-u(n-10)h=((0.9).^n).*u1; %h(n)=0.9^n*u(n)figure(1)subplot(3,1,1); %绘制第一个子图stem(n,x); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('输入序列'); %规定标题为:'输入序列'xlabel('n'); %横轴为nylabel('x(n)'); %纵轴为x(n)subplot(3,1,2); %绘制第二个子图stem(n,h); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('冲激响应序列'); %规定标题为:'冲激响应序列'xlabel('n'); %横轴为nylabel('h(n)'); %纵轴为h(n)%输出响应[y,ny]=conv_m(x,n,h,n); %调用conv_m函数subplot(3,1,3); %绘制第三个子图stem(ny,y);axis([-5,50,0,8]);title('输出响应'); %规定标题为:'输出响应'xlabel('n');ylabel('y(n)'); %纵轴为y(n)%stepseq.m子程序%实现当n>=n0时x(n)的值为1function [x,n]=stepseq(n0,n1,n2)n=n1:n2;x=[(n-n0)>=0];%con_m的子程序%实现卷积的计算function [y,ny]=conv_m(x,nx,h,nh)nyb=nx(1)+nh(1);nye=nx(length(x))+nh(length(h));ny=[nyb:nye];y=conv(x,h);结果:实验二、离散傅立叶变换与快速傅立叶变换1、离散傅立叶变换(DFT)源程序:function pr4()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16)subplot(2,1,1); %绘制第一个子图x(n)stem(n,x); %绘制冲激title('x(n)'); %标题为x(n)xlabel('n'); %横座标为nX=dft(x,N); %调用dft函数计算x(n)的傅里叶变换magX=abs(X); %取变换的幅值subplot(2,1,2); %绘制第二个子图DFT|X|stem(n,X);title('DFT|X|');xlabel('f(pi)'); %横座标为f(pi)%dft的子程序%实现离散傅里叶变换function [Xk]=dft(xn,N)n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;结果:F=50,N=64,T=0.000625时的波形F=50,N=32,T=0.000625时的波形:2、快速傅立叶变换(FFT)源程序:%function pr5()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16) subplot(2,1,1);plot(n,x);title('x(n)');xlabel('n'); %在第一个子窗中绘图x(n)X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);title('DTFT|X|');xlabel('f(pi)'); %在第二个子图中绘图x(n)的快速傅%里叶变换结果:3、卷积的快速算法源程序:function pr6()n=0:14;x=1.^n;h=(4/5).^n;x(15:32)=0;h(15:32)=0;%到此 x(n)=1, n=0~14; x(n)=0,n=15~32% h(n)=(4/5)^n, n=0~14; h(n)=0,n=15~32subplot(3,1,1);stem(x);title('x(n)');axis([1,32,0,1.5]); %在第一个子窗绘图x(n)横轴从1到32,纵轴从0到1.5 subplot(3,1,2);stem(h);title('h(n)');axis([1,32,0,1.5]); %在第二个子窗绘图h(n)横轴从1到32,纵轴从0到1.5 X=fft(x); %X(n)为x(n)的快速傅里叶变换H=fft(h); %H(n)为h(n)的快速傅里叶变换Y=X.*H; %Y(n)=X(n)*H(n)%Y=conv(x,h);y=ifft(Y); %y(n)为Y(n)的傅里叶反变换subplot(3,1,3) %在第三个子窗绘图y(n)横轴从1到32,纵轴从0到6 stem(abs(y));title('y(n=x(n)*h(n))');axis([1,32,0,6]);结果:实验三、IIR数字滤波器设计源程序:function pr7()wp=0.2*pi;ws=0.3*pi;Rp=1;As=25;T=1;Fs=1/T;OmegaP=(2/T)*tan(wp/2); %OmegaP(w)=2*tan(0.1*pi) OmegaS=(2/T)*tan(ws/2); %OmegaS(w)=2*tan(0.15*pi)ep=sqrt(10^(Rp/10)-1);Ripple=sqrt(1/(1+ep.^2));Attn=1/10^(As/20);N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS) ));OmegaC=OmegaP/((10.^(Rp/10)-1).^(1/(2*N)));[cs,ds]=u_buttap(N,OmegaC);[b,a]=bilinear(cs,ds,Fs);[mag,db,pha,w]=freqz_m(b,a);subplot(3,1,1); %在第一个子窗绘制幅度响应的图形plot(w/pi,mag);title('幅度响应');xlabel('w(pi)');ylabel('H');axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1]);grid;subplot(3,1,2); %在第二个子窗以分贝为单位绘制幅度响应的图形plot(w/pi,db);title('幅度响应(dB)');xlabel('w(pi)');ylabel('H');axis([0,1,-40,5]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-50,-15,-1,0]);grid;subplot(3,1,3); %在第三个子窗绘制相位响应的图形plot(w/pi,pha);title('相位响应');xlabel('w(pi)');ylabel('pi unit');%axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-1,0,1]);grid;function [b,a]=u_buttap(N,OmegaC)[z,p,k]=buttap(N);p=p*OmegaC;k=k*OmegaC.^N;B=real(poly(z));b0=k;b=k*B;a=real(poly(p));function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:实验四、FIR数字滤波器的设计源程序:function pr8()wp=0.2*pi;ws=0.35*pi;tr_width=ws-wp;M=ceil(6.6*pi/tr_width)+1;n=0:M-1;wc=(ws+wp)/2;alpha=(M-1)/2;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);w_ham=(hamming(M))';h=hd.*w_ham;[mag,db,pha,w]=freqz_m(h,[1]);delta_w=2*pi/1000;Rp=-(min(db(1:wp/delta_w+1)));As=-round(max(db(ws/delta_w+1:501)));subplot(2,2,1);stem(n,hd);title('理想冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('hd(n)');subplot(2,2,2);stem(n,h);title('实际冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('h(n)');subplot(2,2,3);plot(w/pi,pha);title('滤波器相位响应');axis([0,1,-pi,pi]);ylabel('pha');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-pi,0,pi]); grid;subplot(2,2,4);plot(w/pi,db);title('滤波器幅度响应');axis([0,1,-100,10]);ylabel('H(db)');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-50,-15,0]);function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:。
数字信号处理的实习和实验报告
数字信号处理实习报告指导老师:姓名:班级:学号:实验一离散卷积的计算一、实验内容设线性时不变(LTI)系统的冲激响应为h(n),输入序列为x(n)1、h(n)=(0.8)n,0≤n≤4;x(n)=u(n)-u(n-4)2、h(n)=(0.8)n u(n), x(n)=u(n)-u(n-4)3、h(n)=(0.8)n u(n), x(n)=u(n)求以上三种情况下系统的输出y(n)。
二、实验程序及实验结果1.1 matlab程序x = [ones(1,4)];N1 = length(x);n1 = 0:N1-1;N2 = 5;n2 = 0:N2-1;h = 0.8.^n2;y = conv(x,h);N = N1+N2-1;n = 0:N-1;subplot(2,2,1);stem(n1,x);title('序列x');xlabel('n');ylabel('x(n)');subplot(2,2,2);stem(n2,h);title('序列h');xlabel('n');ylabel('h(n)');subplot(2,2,3);stem(n,y);title('两序列的卷积');xlabel('n');ylabel('y(n)');1.2实验结果2.1 matlab程序x = [ones(1,4)];N1 = length(x);n1 = 0:N1-1;N2 = 100;n2 = 0:N2-1;h = 0.8.^n2;y = conv(x,h);N = N1+N2-1;n = 0:N-1;subplot(1,2,1);stem(n1,x);title('序列x'); xlabel('n');ylabel('x(n)');subplot(1,2,2);stem(n2,h);title('序列h'); xlabel('n');ylabel('h(n)');figure,stem(n,y);title('两序列的卷积'); xlabel('n');ylabel('y(n)');2.2实验结果3.1 matlab程序x = [ones(1,100)];N1 = length(x);n1 = 0:N1-1;N2 = 100;n2 = 0:N2-1;h = 0.8.^n2;y = conv(x,h);N = N1+N2-1;n = 0:N-1;subplot(2,2,1);stem(n1,x);title('序列x'); xlabel('n');ylabel('x(n)');subplot(2,2,2);stem(n2,h);title('序列h'); xlabel('n');ylabel('h(n)');figure,stem(n,y);title('两序列的卷积'); xlabel('n');ylabel('y(n)');3.2实验结果三.实验结果分析实验程序通过直接调用卷积函数实现卷积运算,题目中h(n)=(0.8)n u(n)理论上为一个无限长序列,但在matlab的编程中,只有有限长的序列才可以参与运算,因此只是选取了有限点(100点)的h(n)。
数字信号处理 实习大报告 (4)
《计算机编程与数字信号处理实习》大作业勘查07-3班段云江2007014310 一.6月21--22号这两天主要完成对matlab语言以及操作的熟悉,对给定的程序进行了注释,加深了对数字信号用matlab来实现对它的分析的理解。
对以下给定源程序的注释: % Gibbs_Phenomena_CFST.m 具体见附录文件夹一二、6月23号主要完成(1)--(3)小题的程序编写,进一步加深了对matlab的画图功能的理解和掌握,对关键的源代码能熟练的掌握。
能对图形进行必要的修饰。
6月24日完成对(4)--(5)小题的程序编写。
进一步加深巩固了对matlab画图功能的运用。
具体成果如下:(1)在一副图上画出多幅小图;运行结果及程序见附录中相关文件夹二中。
源程序为ba.m ;对应的图形见ba(2)画出一组二维图形;运行结果及程序 见附录中相关文件夹二中。
源程序为bb.m ;对应的图形见bb(3)画出一组三维图形;运行结果及程序 见附录中相关文件夹二中。
源程序为bc.m 对应的图形见bcxyz(4)画出复数的实部与虚部。
运行结果及程序 见附录中相关文件夹二中。
源程序为bd.m 对应的图形见bd(5)完成对一个源程序进行详细注释。
运行结果及程序 见附录中相关文件夹二中。
源程序为 be.m 对应的注释。
三、6月25日完成在时间域计算线性褶积计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
实习成果:一 (1)在时间域计算线性褶积(程序见附录ca.m )当两信号分别为x=[0 1 1 0]',y=[0 1 2 3 ]’'时,利用下面线性褶积公式:求得的线性褶积结果为A=[0 0 1 3 5 3 0]’.(2)在时间域正演计算循环褶积(程序见附录cb.m )当两信号分别为x=[0 1 1 0]',y=[0 1 2 3 ]’'时利用如下循环褶积公式:求得的循环褶积结果为列向量B=[0 0 1 3 5 3 0]’从以上(1),(2)两问可以看出当N 相等时线性褶积与循环褶积的值是相等的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国地质大学(武汉)数字信号处理上机实习学生姓名:班级:071132学号:*******指导老师:***题目一 离散卷积计算一、实验题目设线性时不变(LTI )系统的冲激响应为h(n),输入序列为x(n) 1、h(n)=(0.8)n ,0≤n ≤4; x(n)=u(n)-u(n-4) 2、h(n)=(0.8)n u(n), x(n)=u(n)-u(n-4) 3、h(n)=(0.8)n u(n), x(n)=u(n)求以上三种情况下系统的输出y(n),显示输入和输出波形。
二、实验目的1.理解和掌握离散卷积计算;2.学习如何用Mtalab 实现离散卷积计算。
三、算法设计离散卷积定义为:∑-∞=-=n)()()(y k k n h k x n1、n (0.8)=h(n),40≤≤n ,4)-u(n -u(n)=x(n), ∑∞-∞=-=*=m m n h m x n h n x n y )()()()()((a) 当0<n 时,0)(=n y ;(b) 当30≤≤n 时,∑==nm n y 0)((0.8)n ;(c) 当74≤≤n 时,∑-==43)(n m n y (0.8)n ;(d) 当7<n 时,0y(n)=;2、)()8.0()(n u n h n=,)4(-)()(-=n u n u n x ,∑∞-∞=-=*=m m n h m x n h n x n y )()()()()((a) 当0<n 时,0)(=n y ;(b) 当30≤≤n 时,∑==nm n y 0)((0.8)n ;(c) 当204≤≤n 时,∑-==n3)(n m n y (0.8)n ;(d) 当2321≤≤n 时,∑-==203)(n m n y (0.8)n ;(e) 当23>n 时,0)(=n y ;3、)()8.0()(n u n h n=,)()(n u n x =,∑∞-∞=-=*=m m n h m x n h n x n y )()()()()((a) 当0<n 时,0)(=n y ;(b) 当700≤≤n 时,∑==nm n y 0)((0.8)n ;(c) 当14071≤≤n 时,∑-==7070)(n m n y (0.8)n ;(d) 当140>n 时,0)(=n y ;四、程序分析所用到的函数:(1)y=conv (x.,h ):卷积运算函数,计算)(*)()(n h n x n y =; (2)n1=0:4:n1取0~4;(3)subplot(m,n,p):subplot()函数是将多个图画到一个平面上的工具。
其中,m 表示是图排成m 行,n 表示图排成n 列,也就是整个figure 中有n 个图是排成一行的,一共m 行,如果m=2就是表示2行图。
p 表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
(4)title(‘content ’):title()函数的功能是为当前坐标系添加标题“content ”。
五、程序设计n=0:4; h=0.8.^n;x=[1 1 1 1]subplot(331);stem(x); title('x(n)');y=conv(x,h);subplot(332);stem(h); title('h(n)');subplot(333);stem(y); title('y(n)');n=0:40;h=0.8.^n;x=[1 1 1 1]subplot(334);stem(x); title('x(n)');y=conv(x,h);subplot(335);stem(h); title('h(n)');subplot(336);stem(y); title('y(n)');n=0:40;h=0.8.^n;x=[zeros(1,0),ones(1,40)];subplot(337);stem(x); title('x(n)');y=conv(x,h);subplot(338);stem(h); title('h(n)');subplot(339);stem(y); title('y(n)');六、运行结果图中从左至右三列依次对应)(nyh及卷积结果)(nx、)(n题目二 离散傅立叶变换一、实验题目设有离散序列 )52.0cos()48.0cos()(n n n x ππ+= 分析下列三种情况下的幅频特性。
(1) 采集数据长度N=16,分析16点的频谱,并画出幅频特性。
采集数据长度N=16,并补零到64点,分析其频谱,并画出幅频特性。
(2) 采集数据长度N=64,分析64点的频谱,并画出幅频特性。
观察三幅不同的幅频特性图,分析和比较它们的特点及形成原因。
二、实验目的1、理解掌握DFT 及FFT 算法;2、利用FFT 算法计算信号的频谱。
三、算法设计当抽样数N=2M时,以下为蝶形算法图。
1、当N=2M 时,则要进行M 次分解,即进行M 级蝶形单元的计算;2、按自然顺序输入,输出是码位倒置;3、每一级包含N/2个基本蝶形运算;4、第L 级有2L -1个蝶群,蝶群间隔为N/2L-1;)6()2()4()0(X X X X 1111----)7()3()5()1(X X X X 321NN N N W W W W 20NNW W20NN WW 11--11--1-1-1-1-0NW0NW 0NW 0NW )0(x )2(x )4(x )6(x )1(x )3(x )5(x )7(x四、程序分析所用到的函数:(1)fft():求x的一维傅里叶变换,计算X(k);使用方法Xk=fft(xn),例如:N=8;n=0:N-1;xn=[4 3 2 6 7 8 9 0];Xk=fft(xn)(2)stem():显示函数图像。
(3)xlabel():横坐标轴的名称;(4)ylabel():纵坐标轴的名称;五、程序设计%x(n)=cos(0.48πn)+cos(0.52πn)n=0:15; %产生序列x(n) 取16点x=cos(0.48*pi*n)+cos(0.52*pi*n);subplot(231);stem(n,x);title('采集数据长度N=16'); %显示x(n) x1k=fft(x,16);%进行16点傅里叶变换subplot(234);stem(0:15,abs(x1k),'.'); %显示X(k)xlabel('n');ylabel('X1(k)'); title('16点傅立叶变换频谱');x=[x zeros(1,48)]; %取16点,补零到64点x2k=fft(x,64);%进行64点傅里叶变换subplot(232);stem(x);title('采集N=16,补零到64');subplot(235);stem(0:63,abs(x2k),'.');xlabel('n');ylabel('X2(k)');title('64点傅立叶变换频谱');n=0:63; %产生序列x(n),取64点x=cos(0.48*pi*n)+cos(0.52*pi*n);subplot(233);stem(n,x);title('采集数据长度N=64');x3k=fft(x);%做64点傅里叶变换subplot(236);stem(0:63,abs(x3k),'.');xlabel('n');ylabel('X3(k)');title('64点傅立叶变换频谱');六、运行结果七.结果分析N点DFT的频谱分辨率是2 π/N。
一节指出可以通过补零观察到更多的频点,但是这并不意味着补零能够提高真正的频谱分辨率。
这是因为x[n] 实际上是x(t) 采样的主值序列,而将x[n]补零得到的x'[n] 周期延拓之后与原来的序列并不相同,也不是x(t) 的采样。
因此是不同离散信号的频谱。
对于补零至M点的x'的DFT,只能说它的分辨率2 π/M仅具有计算上的意义,并不是真正的、物理意义上的频谱。
频谱分辨率的提高只能通过提高采样频率实现。
第三幅图形取样点数较多,分辨率最高,而第一幅图形则显得较为稀疏,主要是因为取样点数太少。
题目三IIR滤波器的设计一、实验题目1、设计一个切比雪夫数字低通滤波器,设计指标如下:通带截止频率:0.2π,幅度衰减不大于3分贝阻带截止频率:0.3π,幅度衰减大于20分贝2、分析不同滤波器的特点和结果。
3、编程设计实现IIR 滤波器。
二、实验目的1.理解和掌握不同IIR 滤波器的性质、特点。
2.掌握用Matlab 设计切比雪夫滤波器和椭圆滤波器的方法。
三、算法设计1、滤波器类型切比雪夫滤波器:切比雪夫滤波器,又名“车比雪夫滤波器”,是在通带或阻带上频率响应幅度等波纹波动的滤波器。
2、变换方法(a )冲激响应不变法冲激响应不变法的基本原理是从滤波器的冲激响应出发,对模拟滤波器冲激响应h(t)进行取样,所得到的离散序列h(nT)作为数字滤波器的单位取样响应。
H(z)是由H(s)通过下式的对应关系得到。
1111--=-z e s s T s k pk(b )双线性变换是在所得到满足性能指标要求的模拟滤波器的基础上,通过变换11111--+-=z z T s ,从而得到相应的数字滤波器。
四、程序分析所用到的函数:(1)[N,wn]=buttord(Wp,Ws,ap,as,'s'):[阶数,截止频率]=buttord (通带截止频率,阻带截止频率,通带衰减,阻带衰减,模拟);(2)[num,den]=bilinear(b,a,fs):双线性变换可选频率预畸变,在IIR 数字滤波器设计中有把模拟的原型滤波器转变成相应的数字滤波器,即通过已知S 变换中模拟滤波器的系数求数字滤波器的系数。
其中有两种方法来进行这种变换,一种是激冲不变法,另一种是双线性Z 变换法。
bilinear 函数便是双线性Z 变换法。
函数中的b 和a 是原模拟滤波器S 变换中的分子和分母系数,num 和den是数字滤波器的系数。
(3)grid on:增加主要网格线为当前轴;(4)[h,w]=freqz(num,den):求频率响应。
函数的输出:a.滤波器的频率响应H(N点) b.频率向量W(N点,且单位为弧度),频率向量W是均匀分布在滤波器的上半区,即:0:pi,这些点上的频率响应都将通过此函数计算出来。