(可编辑)实验一-离散时间信号分析(精华版)

上传人:说**** 文档编号:234668582 上传时间:2022-01-04 格式:DOCX 页数:10 大小:397.40KB
返回 下载 相关 举报
(可编辑)实验一-离散时间信号分析(精华版)_第1页
第1页 / 共10页
(可编辑)实验一-离散时间信号分析(精华版)_第2页
第2页 / 共10页
(可编辑)实验一-离散时间信号分析(精华版)_第3页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《(可编辑)实验一-离散时间信号分析(精华版)》由会员分享,可在线阅读,更多相关《(可编辑)实验一-离散时间信号分析(精华版)(10页珍藏版)》请在金锄头文库上搜索。

1、实验一离散时间信号分析一、实验目的1. 初步掌握 Matlab的使用,掌握编写M 文件和函数文件2. 掌握各种常用序列的表达,理解其数学表达式和波形表示之间的关系。3. 掌握生成及绘制数字信号波形的方法。4. 掌握序列的基本运算及实现方法。5. 研究信号采样时采样定理的应用问题。二、实验原理1. 序列的基本概念离散时间信号在数学上可用时间序列 x( n) 来表示,其中 x( n) 代表序列的第 n个数字, n 代表时间的序列, n 的取值范围为 - n+的整数, n 取其它值 x( n) 没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号 xa ( t ) 进行等间隔采样,采样

2、间隔为T,得到 x ( nT )a 一个有序的数字序列就是离散时间信号,简称序列。2. 常用序列常用序列有:单位脉冲序列(单位抽样)( n) 、单位阶跃序列 u( n) 、矩形序列RN ( n)、实指数序列、复指数序列、正弦型序列等。3. 序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。4. 序列的卷积运算m=-y(n)= +x( m) h( n -m) =x(n)*h(n)上式的运算关系称为卷积运算, 式中* 代表两个序列卷积运算。 两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和, 故称为离散卷积, 也称两序列的线性卷积。其计算的过程包括以下 4 个步骤。

3、(1) )反褶:先将 x( n) 和h( n) 的变量 n换成m ,变成x( m) 和h( m) ,再将 h( m) 以纵轴为对称轴反褶成 h(- m) 。(2) )移位:将h(- m) 移位n,得h( n- m) 。当n为正数时,右移 n位;当n为负数时,左移n 位。(3) )相乘:将 h( n - m) 和x( m) 的对应点值相乘。(4) )求和:将以上所有对应点的乘积累加起来,即得 y( n) 。三、主要实验仪器及材料PC 机、Matlab7.0 。四、实验内容1. 知识准备认真复习以上基础理论,理解本实验所用到的实验原理。2. 离散时间信号(序列)的产生利用 MATLAB产生和绘制下

4、列有限长序列:( 1) 单位脉冲序列 ( n) ,单位阶跃序列u( n) ,矩形序列 R8(n)(2)在一幅图上绘出曲线x1(t)=Asin(t +5);x 2(t)=Acos(t-3);x 3(t)=2sin(3t)cos(2t-) .33- t( 3) 绘出正弦衰减信号: x2(t)=Aesin( 2 f)t,A = 2, = 0.5, f = 2Hz( 4 )绘 出 谐 波 信 号 : x3(t)=A 1sin(2 ft)+A 2sin(2 f2t)+A 3sin(2f3t);A1=1,A2 =0.5,A 3=0.2,f=2Hz.3. 序列的运算生成下列序列:x(n)= (n)+2 (n

5、-1)+3 (n-2)+4 (n-3)+5 (n-4)h(n)= (n)+2 (n-1)+ (n-2)+2 (n-3)(1) 利用 MATLAB编程完成上述两序列的卷积,并绘制运算后序列的波形。( 2)编写一个完成卷积的函数,输入是两个序列,输出是结果。4. 采样定理的研究分别令采样周期Ts 为不同值,绘出不同采样周期下x(t)=sin(t)的频谱(直接用 FFT函数),观察频谱混叠现象,和防止混叠的采样周期。5. 上机实验并完成实验报告。 请将实验报告保存为压缩文件 (.rar, 或.zip格式),包括源程序( .M 文件)和文档( .doc ),统一名为“ xxx实验x.rar”或“ xx

6、x实验 x.zip”五、实验结果1.1.1单位脉冲序列(n)源程序:function x,n =impseq(n0,n1,n2)%产生 x(n)= (n-n0);n1=n0=n2 if(n0n2)|(n1n2)error(参数不满足n1=n0=n2) endn=n1:n2; x=(n-n0)=0;%x=zeros(1,n0-n1),1,zeros(1,(n2-n0) stem(n,x);n0=0;n1=-3;n2=3;impseq(n0,n1,n2);1.1.2. 单位阶跃序列 u(n)源程序:function x,n =stepseq(n0,n1,n2)%产生 x(n)=u(n-n0);n1

7、n0n2 if(n0n2)|(n1n2)error(参数不满足n1n0=0%x=zeros(1,(n0-n1),ones(1,(n2-n1)stem(n,x);n0=0;n1=-3;n2=3;stepseq(n0,n1,n2);1.1.3. 矩形序列源程序:function x,n = R( N,ns,nf )%产生序列 x(n)=u(n-n0)-u(n-n0-N)n=ns:nf;np=0; x=stepseq(np,ns,nf)-stepseq(N,ns,nf);%x=0=n7stem(n,x);N=8;ns=-2;nf=10;x=R(N,ns,nf)1.2 在同一图中绘制x1(t),x2

8、(t),x3(t)源程序:function x1,x2,x3,t = X1(A,a,b ) t=a:0.001:b;a=b)error(参数不满足 ab) endx1=A.*sin(pi./5.*t+ pi./3); x2=A.*cos(t-pi./3); x3=2.*sin(3.*t).*cos(2.*t-pi./3); plot(t,x1,x2,x3)A=2;a=-pi;b=pi; x1,x2,x3=X1(A,a,b);源程序:function x,t = X2( A,a,f,t1,t2 )%产生函数 x(t)=e(-at) sin(2pift),t1t2)error(参数不满足 t1t2

9、) endt=t1:0.01:t2;x=exp(-a.*t).* sin(2.*pi.*f.*t); plot(t,x)A=2;a=0.5;f=2;t1=-2;t2=2;x=X2(A,a,f,t1,t2)1.4 谐波信号1.3 正弦衰减信号源程序:function x,t =X3( A1,A2,A3,f,t1,t2 )%产生x3(t)=A1.*sin(2.*pi.*f.*t)+A2.*sin(2.*pi.*f.*2.*t)+A3.*sin(2.*pi.*f.* 3.*%t),t1t2)error(参数不满足 t1t2)end t=t1:0.0001:t2;x=A1.*sin(2.*pi.*f.

10、*t)+A2.*sin(2.*pi.*f.*2.*t)+A3.*sin(2.*pi.*f.*3.*t);plot(t,x)A1=1;A2=0.5; A3=0.2;f=2;t1=-1;t2=1; x=X3(A1,A2,A3,f,t1,t2);2 矩阵的运算源程序:function y,ny = convwthn(x,nx,h,nh) ny1=nx(1)+nh(1); ny2=nx(end)+nh(end)%x*h在 nx(1)+nh(1)到 nx(end)+nh(end)之间取值;%nx(1)、nh(1) 为最小下标, end 为最大下标; y=conv(x,h);ny=ny1:ny2; ste

11、m(ny,y); endx=1,2,3,4,5; nx=0:4;(2)fs=/2h=1,2,1,2; nh=0:3;y,ny=convwthn(x,nx,h,nh);3 采样定理的研究( 1) fs=0.5(3)fs=2(4)fs=10由图可以看出:当采样周期T= /2 时正弦函数x=sin(t)不产生混叠。源程序:function =sample(fs,N) T=1/fs;%采样周期n=0:N-1;t=n*T;%采样时间点x=sin(t); %生成正弦信号subplot(1,2,1)plot(t,x);%画正弦信号的时域波形y=fft(x,N);%fft变换mag=sqrt(y.*conj(

12、y);%求幅值f=(0:N-1)*fs/N;%进行对应的频率转换subplot(1,2,2);plot(f,mag);%画频谱图axis(-10,50,0,80);五、思考题1. 如何产生方波信号序列和锯齿波信号序列? 方波源程序:function y,t = squ( T )%方波T=0:0.001:2*pi;%方波的时间向量y=square(6*T);%方波 w=6, 周期为 T=2*pi/6 plot(T,y);%画方波;axis(T(1)-1,T(end)+1,-2,2);%坐标轴区域锯齿波源程序:function y,t = saw( t ) t=0:0.001:10;y=t-fix

13、(t);%plot(t,y)取 t 的小数部分2. 总结 matlab编程和 C 编程的相同点和不同点?(1) 相同点:都是可编程软件;很多编程语句和规则都是相同的(如赋值、变量命名、循环语句、条件语句、函数嵌套调用等);都是实现结构化程序块编程。(2) 不同点: MATLAB是一种数值计算环境和编程语言,它可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。Matlab中很多函数可以直接使用而非定义声明之后调用。C 语言,是一种通用的、程序式的编程语言, 广泛用于系统与应用软件的开发。具有高效、灵活、 功能丰富、 表达力强和较高的移植性等特点,也就是说,C 语言的目的是用与软件开发,它有着丰富的应用支持。C 语言中调用函数必须事先自定义和声明。3. 总结叙述matlab编程的一个新应用领域,工具箱或

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号