一、基本离散信号的MATLAB产生和图形实现
数字信号处理实验一报告
![数字信号处理实验一报告](https://img.taocdn.com/s3/m/921de43beefdc8d376ee3243.png)
DSP实验一报告一.实验内容(一)实验名称:离散信号的MATLAB产生和图形显示(二)实验内容:1、编写程序产生序列,x(n)=cosn, 099其中,=0,,,,,,,2画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。
2、画出下列序列的图形,进行计算并用图形显示结果。
x(n)=sin +3cos , -525y(n)=(-n-2)+(n-16)计算,z(n)=x(n)+y(n)3、课本136页第20题画出四种理想滤波器的幅频特性图(一个周期)和单位冲激响应波形图(根据公式画图)。
其中,(1)=0.3 (2)=0.8 (3)=0.5;=0.7 (4)=0.65;=0.8角频率间隔= ,M=256时间范围-5050二.编程原理、思路和公式1、编写程序产生序列,x(n)=cosn, 099其中,=0,,,,,,,2画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。
调用Matlab中的基本数学函数f(x)=cosx,因为要产生序列,所以采用stem(x)的方式输出图形。
2、画出下列序列的图形,进行计算并用图形显示结果。
x(n)=sin +3cos , -525y(n)=(-n-2)+(n-16)计算,z(n)=x(n)+y(n)先绘出x(n)和y(n)分别的图形,然后相加得到z(n)的图形。
x(n)是一个周期为24的三角函数。
3、课本136页第20题画出四种理想滤波器的幅频特性图(一个周期)和单位冲激响应波形图(根据公式画图)。
其中,(1)=0.3 (2)=0.8 (3)=0.5;=0.7 (4)=0.65;=0.8角频率间隔= ,M=256时间范围-5050直接根据四种理想滤波器的公式表达式作图。
三.程序脚本及其注释1. 编写程序产生序列,x(n)=cosn, 099其中,=0,,,,,,,2画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。
实验一常见离散信号的MATLAB产生和图形显示
![实验一常见离散信号的MATLAB产生和图形显示](https://img.taocdn.com/s3/m/4eca1f1c78563c1ec5da50e2524de518964bd3d9.png)
实验一 常见离散信号的MATLA B 产生和图形显示 授课课时:2学时一、实验目的:(1)熟悉MATL A B 应用环境,常用窗口的功能和使用方法。
(2)掌握MATL A B 在时域内产生常用离散时间信号的方法。
(3)掌握离散信号的基本运算。
(4)掌握简单的绘图命令。
二、实验原理:(一)信号的表示和产生① 单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n 如果在时间轴)(n δ上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ0≠=n k n参考程序:例1-1:)2010(()(<<-=n n n x )δclear all n1=-10;n2=20;n0=0;%在起点为n1,终点为n2的范围内,于n0处产生冲激。
n=n1:n2;%生成离散信号的时间序列x=[n==n0];%生成离散信号x (n)stem(n,x);%绘制脉冲杆图xlabel (' n');ylabel ('x(n)');%横坐标和纵坐标的标注说明。
title('Unit Sample Sequen c e');%图形上方标注图名axis([-10 20 0 1.2]);%确定横坐标和纵坐标的取值范围② 单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n 例1-2:)202((u )(<<-=n n n x )clear alln1=-2;n2=20;n0=0;n=n1:n2;%生成离散信号的时间序列x=[n>=n0];%生成离散信号x (n)stem(n,x,'filled ');xlabel ('n');ylabel ('x(n)');title('Unit step Sequen c e');axis([-2 20 0 1.2]);③ 正弦序列)sin()(ϕ+=wn A n x例1-3:一正弦信号的频率为1HZ ,振幅值幅度A 为1V ,在窗口显示2个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号并显示该连续信号和离散信号的波形。
xjtu数字信号处理“实验报告”
![xjtu数字信号处理“实验报告”](https://img.taocdn.com/s3/m/117f1bdfad51f01dc281f11a.png)
数字信号处理实验报告实验1 常见离散信号的MATLAB产生和图形显示【实验目的】加深对常用离散信号的理解;【实验内容】(1)单位抽样序列(取100个点)程序设计:N=100;x=[1 zeros(1,N-1)];stem(0:N-1,x)结果(2)单位阶跃序列(取100个点)程序设计:N=100;x=ones(1,N);stem(0:99,x);axis([0 100 0 2])结果102030405060708090100(3) 正弦序列(取100个点) 程序设计: N=100; n=0:99; f=100; Fs=1000; fai=0.2*pi; A=2;x=A*sin(2*pi*f*n/Fs+fai); stem(n,x); grid 结果0102030405060708090100(4)复正弦序列(取100个点)程序设计:N=100;n=0:99;w=0.2*pi;x=exp(j*w*n);stem(n,x);结果(5)复指数序列(取41个点)程序设计:>> n=0:40;>> c=-0.02+0.2*pi*i;>> x=exp(c*n);>> subplot(2,1,1);>> stem(n,real(x));>> subplot(2,1,2);>> stem(n,imag(x));结果05101520253035400510152025303540(上部为实部,下部为虚部)(6)指数序列(取100个点)程序设计:>> n=0:99;>> a=0.5;>> x=a.^n;>> stem(n,x);结果:【实验要求】讨论复指数序列的性质。
由(5)的图形结果可以看出,复指数序列实部和虚部均为按指数衰减(上升)的序列,两者的均是震荡的,实部震荡周期与指数的实部有关,虚部震荡周期与指数的实虚部有关。
信号与系统MATLAB常见信号的表示及运算
![信号与系统MATLAB常见信号的表示及运算](https://img.taocdn.com/s3/m/66293aff33687e21ae45a91a.png)
信号与系统——实验指导实验一 常见信号的表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2. 掌握用matlab软件产生基本信号的方法.3. 应用matlab软件实现信号的加、减、乘、反褶、移位、尺度变换及卷积运算。
二、实验原理1. 信号的表示方法● 常用信号:连续函数()θω+=t t f sin )(, at Ae t f =)(,ttt Sa sin )(= 离散信号()n n f 0sin )(ω=,njw e n f 0)(=,)()(n u a n f n =● 奇异信号:连续函数:冲激函数)(t δ,阶跃函数)(t u ,斜坡函数)(t R 离散信号:冲激函数)(n δ,阶跃函数)(n u ,斜坡函数)(n R2.卷积连续函数的卷积:⎰∞∞--=τττd t f f t g )()()(21离散函数的卷积:∑∞-∞=-=m m n fm f n g )()()(21三、实验要求1.预习实验原理;2.对实验内容编写程序(M文件),上机运行;3.绘出运算或变换后信号的波形.四.实验内容1. 熟悉matlab 工作环境(1) 运行matlab.exe ,进入matlab 工作环境,如图(1)所示。
图1 matlab工作环境(2) matlab工作环境由Command Window(命令窗口)、Current Direcroty(当前目录)、workspace(工作空间)、command History(历史命令)和Editor(文件编辑器)5部分组成。
其中所有文件的编辑和调试、运行在Editor编辑窗口下进行。
程序的运行也可以在命令窗口进行。
程序调试的信息显示在命令窗口。
(3) 程序文件的产生:点击菜单file下的New下的M_files,进入编辑器界面,如图2。
图2 M文件编辑器(4) 在m文件编辑器下键入程序代码,保存程序文件(命名规则同C语言)。
如果所定义的是函数文件,则要求函数名为M文件名。
常见离散信号产生和实现实验报告
![常见离散信号产生和实现实验报告](https://img.taocdn.com/s3/m/f8975e1784868762cbaed58b.png)
常见离散信号产生和实现实验报告实验1常见离散信号产生和实现学院信息科学与工程学院专业通信工程1班姓名学号一、实验目的1、加深对常用离散信号的理解;2、熟悉使用MATLAB在时域中产生一些基本的离散时间信号。
二、实验原理MATLAB语言提供了一系列函数用来产生信号,如exp,sin,cos, square,sawtooth,ones,zeros等函数。
1.基本信号序列1)单位抽样序列???=01)(nδ≠=n n在MATLAB中可以利用zeros()函数实现。
x=[1zeros(1, n-1)]程序:clear all;n=-20:20;u=[zeros(1,20)ones(1,21)];stem(n,u)xlabel('Time index n');ylabel('Amplitude'); title('p21');axis([-20200 1.2]);图形:Request1:编写一个)(k n-δ的函数。
???=-01)(k nδ≠=n kn程序:clear all;n=-20:20;k=5;u=[zeros(1,20+k)ones(1,21-k)];stem(n,u)xlabel('Time index n');ylabel('Amplitude'); title('p22');axis([-20200 1.2]);图形:(2)单位阶跃序列???01)(n u00<≥n n在MATLAB中可以利用ones()函数实现。
);,1(N ones x=Request2:编写一个)(k n u-的函数。
程序:clf;n=-20:20;u=[zeros(1,20)1zeros(1,20)];stem(n,u);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence p10');axis([-20200 1.2]);图形:Request2:编写一个)(k n u-的函数。
MATLAB编程基础及基本离散信号的表示
![MATLAB编程基础及基本离散信号的表示](https://img.taocdn.com/s3/m/215bcc2430126edb6f1aff00bed5b9f3f90f7238.png)
MATLA B 编程基础及基本离散信号的表示一、实验目的:掌握MAT L AB 程序设计语言及其函数定义方法,利用MAT L AB 产生基本的离散时间序列。
二、实验内容1、掌握Mat l ab 选择语句、循环语句、函数的定义。
2、综合应用上述命令,完成下列任务:(1) 生成一个冲击响应⎩⎨⎧≠==0,00,1)(n n n δ,并计算)1()3(2)(--+=n n n x δδ 要求:1.以M 文件形式,n 在[-10,10]之间,用函数的形式实现)(n δ;2.调用自定义的冲击响应函数计算表示)(n x ;3.用stem 函数画出和)(n δ)(n x 的图像。
1.funct i on[x,n]=impse q (0,-10,10);n=[-10:10];x=[(n)==0];n=-10:10;x=impse q (0,-10,10);stem(n,x);xlabe l ('n');ylabe l ('δ(n)');title ('冲击响应');2.n=-10:10;x=2*impse q (-3,-10,10)-impse q (1,-10,10);stem(n,x);xlabe l ('n');ylabe l ('x(n)');title ('x(n)=2δ(n+3)-δ(n-1)');(2) 生成一个阶跃响应:⎩⎨⎧<≥=0,00,1)(n n n U ,并计算)1()2(3)(+--=n n U n x δ要求:1.以M 文件形式,n 在[-10,10]之间,用函数的形式实现)(n U ;2.调用自定义的阶跃响应函数计算)(n x ;3.用stem 函数画出和)(n U )(n x 的图像 1.n=-10:10;x=steps e q(0,-10,10);stem(n,x);xlabe l ('n');ylabe l ('u(n)');title ('阶跃响应');2.n=-10:10;x=3*steps e q(2,-10,10)-impse q (-1,-10,10);stem(n,x);xlabe l ('n');ylabe l ('x(n)');title ('x(n)=3u(n+3)-δ(n+1)');(3) 生成一个指数响应:n n x 8.0)(=,然后计算)2(*)()(-=n U n x n y要求:以M 文件形式,n 在[-10,10]之间,用stem 函数分别画出)(n x 和)(n y n=-10:10;x=(0.8).^n;y=x.*steps e q(2,-10,10);subpl o t(2,1,1);stem(n,x);xlabe l ('n');ylabe l ('x(n)');title ('指数响应');subpl o t(2,1,2);stem(n,y);xlabe l ('n');ylabe l ('y(n)');title ('y(n)=x(n)*u(n-2)');(4) 画出)5.0sin(2)3/1.0cos(3πππn n x ++=,要求:以M文件形式,n在[-20,20]之间。
数字信号处理实验报告
![数字信号处理实验报告](https://img.taocdn.com/s3/m/00fad58e2e3f5727a4e9628a.png)
《数字信号处理》—实验指导数字信号处理课程组电子与信息工程学院班级:姓名:学号:综合评定:成绩:指导教师签字:实验一 典型离散信号及其MATLAB 实现一、实验目的1. 掌握MATLAB 语言的基本操作,学习基本的编程功能。
2. 掌握MATLAB 产生常用离散时间信号的编程方法。
3. 掌握MATLAB 计算卷积的方法。
二、实验原理(一)MATLAB 常用离散时间信号1. 单位抽样序列:⎩⎨⎧=01)(n δ 00≠=n n在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n kn2.单位阶跃序列:⎩⎨⎧01)(n u<≥n n 在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列:)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中:)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列:n j e n x ϖ=)(在MATLAB 中:)**ex p(1:0n w j x N n =-=5.指数序列:na n x =)(在MATLAB 中:na x N n .^1:0=-=6.y=fliplr(x)——信号的翻转; y=square(x)——产生方波信号y=sawtooth(x)——产生锯齿波信号; y=sinc(x)——产生sinc 函数信号。
(二)离散时间信号的卷积由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。
离散时间信号的卷积定义为∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。
MATLAB 求离散时间信号卷积和的命令为conv ,其语句格式为y=conv(x,h)其中,x 与h 表示离散时间信号值的向量;y 为卷积结果。
MATLAB离散信号的产生和频谱分析实验报告
![MATLAB离散信号的产生和频谱分析实验报告](https://img.taocdn.com/s3/m/5f2978637ed5360cba1aa8114431b90d6c8589ca.png)
MATLAB离散信号的产⽣和频谱分析实验报告实验⼀离散信号的产⽣和频谱分析⼀、实验⽬的仿真掌握采样定理。
学会⽤FFT 进⾏数字谱分析。
掌握FFT 进⾏数字谱分析的计算机编程实现⽅法。
培养学⽣综合分析、解决问题的能⼒,加深对课堂内容的理解。
⼆、实验要求掌握采样定理和数字谱分析⽅法;编制FFT 程序;完成正弦信号、线性调频信号等模拟⽔声信号的数字谱分析;三、实验内容单频脉冲(CWP )为)2e xp()()(0t f j T t rec t t s π=。
式中,)(Ttrect 是矩形包络,T 是脉冲持续时间,0f 是中⼼频率。
矩形包络线性调频脉冲信号(LFM )为)]21(2exp[)()(20Mt t f j Ttrect t s +=π。
式中,M 是线性调频指数。
瞬时频率Mt f +0是时间的线性函数,频率调制宽度为MT B =。
设参数为kHz f 200=,ms T 50=,kHz B 10=,采样频率kHz f s 100=。
1.编程产⽣单频脉冲、矩形包络线性调频脉冲。
2.编程实现这些信号的谱分析。
3.编程实现快速傅⽴叶变换的逆变换。
四、实验原理1、采样定理所谓抽样,就是对连续信号隔⼀段时间T 抽取⼀个瞬时幅度值。
在进⾏模拟/数字信号的转换过程中,当采样频率fs ⼤于信号中最⾼频率f 的2倍时(fs>=2f),采样之后的数字信号完整地保留了原始信号中的信息,⼀般实际应⽤中保证采样频率为信号最⾼频率的5~10倍;采样定理⼜称奈奎斯特定理。
2、离散傅⾥叶变换(FFT )长度为N 的序列()x n 的离散傅⽴叶变换()X k 为:10()(),0,....,1N nkN n X k x n W k N -===-∑N 点的DFT 可以分解为两个N/2点的DFT ,每个N/2点的DFT ⼜可以分解为两个N/4点的DFT 。
依此类推,当N 为2的整数次幂时(2MN =),由于每分解⼀次降低⼀阶幂次,所以通过M 次的分解,最后全部成为⼀系列2点DFT 运算。
常见离散信号实现
![常见离散信号实现](https://img.taocdn.com/s3/m/9d2a2c0ca66e58fafab069dc5022aaea998f41b5.png)
常见离散信号实现实验2 常见离散信号产⽣和实现⼀、实验⽬的:(1)了解离散信号的特点;(2)熟悉MATLAB 的基本使⽤⽅法;(3)典型信号的MATLAB 表⽰⽅法;(4)熟悉MATLAB Plot 函数等应⽤。
⼆、实验原理:1.单位抽样序列=01)(n δ0≠=n n在MATLAB 中可以利⽤zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:=-01)(k n δ≠=n k n2.单位阶越序列01)(n u 00<≥n n在MATLAB 中可以利⽤ones()函数实现。
);,1(N ones x =3.正弦序列π+=Fs fn A n x 在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复指数序列 n j e r n x ??=)(在MATLAB 中 )**exp(1:0n w j r x N n ?=-=5.指数序列 n a n x =在MATLAB 中na x N n .^1:0=-=三、MATLAB 基本使⽤⽅法1、MATLAB 运⾏平台如图所⽰:在“>>”提⽰符后输⼊命令并回车,执⾏结果会显⽰在屏幕上。
例如:输⼊y=3+5回车,显⽰结果如图所⽰。
另外在输⼊命令时,有时我们希望有些中间过程的结果不显⽰在屏幕上,⽽只显⽰最后的结果,这时我们需要在不显⽰执⾏结果的命令后加上“;”,该命令执⾏的结果不回显在屏幕上。
例如:计算z=x+y,其中x=2+1,y=3+5,我只想看到z的值,输⼊命令格式如图所⽰,我们可以看到x,y的结果没有在屏幕上显⽰,只显⽰z的值。
2、MATLAB中矩阵的输⼊⽅法:矩阵的输⼊⽅法有两种,第⼀种⽅式如图所⽰;第⼆种⽅式如图所⽰3、M⽂件的使⽤:在处理⼀些包含多条命令的问题时,如果在MATLAB的命令窗⼝中进⾏处理,当出现错误时不好修改,这时我们需要借助MATLAB提供的M⽂件⽅式来处理。
常见离散信号的MATLAB产生和图形显示
![常见离散信号的MATLAB产生和图形显示](https://img.taocdn.com/s3/m/dc719739a32d7375a417805a.png)
实验一 常见离散信号的MATLAB 产生和图形显示一、 实验目的加深对常见离散信号的理解二、实验内容及步骤编制程序产生以下信号,并绘出其图形。
1)产生64点的单位抽样序列)(n δN=64x=[1,zeros(1,N-1)]stem(x)2)产生64点并移位20位的单位抽样序列)20(-n δN=64x=[0,zeros(1,N-1)]x(20)=1stem(x)3)任意序列)5(7.0)4(9.2)3(6.5)2(8.1)1(4.3)(0.8)(-+-+-+-+-+=n n n n n n n f δδδδδδ4)产生幅度A=3,频率f=100,初始相位ϕ=1.2,点数为32 点的正弦序列。
n=0:31;x=3*exp(j*314*n)figure(1)stem(n,x)5)产生幅度A=3,角频率ω=314,点数为32 点的复正弦序列。
n=0:31A=3;w=314;x=A*exp(w*j*n)stem(x)6)产生幅度A=3,a=0.7,点数为32 点的实指数序列。
n=0:31;A=3;a=0.7;x=A*a.^nstem(x)实验二 离散系统的时域分析一、 实验目的(1)熟悉并掌握离散系统的差分方程表示方法(2)加深对冲激响应和卷积方法的理解二、 实验内容与要求编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
要求分别用 filter 、conv 、impz 三种函数完成。
y [n ]+ 0.75y [n −1]+ 0.125y [n − 2] = x [n ]− x [n −1]y [n ] = 0.25{x [n −1]+ x [n − 2]+ x [n −3]+ x [n − 4]}给出理论计算结果和程序计算结果并讨论。
三、实验原理系统响应为如下的卷积计算公式:][][][*][][m n h m x n h n x n y m -==∑∞-∞=h[n]是有限长度的(n:0,M),称系统为FIR系统;反之,称系统为IIR系统。
连续时间信号和离散时间信号在MATLAB中的绘制
![连续时间信号和离散时间信号在MATLAB中的绘制](https://img.taocdn.com/s3/m/efc9a8a5172ded630b1cb659.png)
南京信息工程大学实验(实习)报告实验(实习)名称实验一实验(实习)日期 2019年3月19 指导教师院专业年级班次姓名学号一、实验目的(1)学会使用MA TLAB产生常见的连续时间信号和离散时间信号;(2)学会使用MA TLAB完成一些信号的基本运算;(3)熟悉MATLAB的基本操作,以及一些基本函数的使用,为后续的实验奠定基础。
二、实验内容1.利用MATLAB绘制单位冲击信号,单位阶跃信号,指数信号,单位矩形信号,抽样信号,正弦信号(分别取不同周期)(1)单位冲击信号代码:T=1000;t=linspace(0,10,T);t1=linspace(-5,5,T);f1=stepfun(t1,-1/T)-stepfun(t1,1/T);plot(t1,f1);grid on;axis([-5 5 -1 2])xlabel('t');ylabel('c(t)');title('单位冲击信号');(2)单位阶跃信号T=1000;t=linspace(-5,5,T);f1=stepfun(t,0);plot(t,f1);grid on;axis([-5 5 -1 2]);xlabel('t');ylabel('u(t)');title('单位阶跃信号');(3)指数信号T=1000;t=linspace(-5,5,T);xe=exp(t);subplot(2,1,1);plot(t,xe);grid on;axis([-5 3 -0.5 20]); xlabel('t');ylabel('x(t)');title('指数信号1');subplot(2,1,2);xe=exp(-t);plot(t,xe);grid on;axis([-3 3 -0.5 20]); xlabel('t');ylabel('x(-t)');title('指数信号2');(4)单位矩形信号T=1000;t=linspace(-5,5,T);xt=rectpuls(t,1);plot(t,xt);grid on;axis([-2 2 -0.5 1.5]); xlabel('t');ylabel('x(t)');title('单位矩形信号');(5)抽样信号T=10000;t=linspace(-100,100,T);xt=sinc(t/pi);plot(t,xt);grid on;axis([-100 100 -0.3 1.1]);(6)正弦信号w=100;T=12000;t=linspace(-1,10,T);xt=sin(w*t);subplot(3,1,1);plot(t,xt);grid on;axis([-0.2 0.2 -1.5 1.5]); xlabel('t');ylabel('x(t)');title('w=100');w2=50;T=12000;t=linspace(-1,10,T);xe=sin(w2*t);subplot(3,1,2);plot(t,xe);grid on;axis([-0.2 0.2 -1.5 1.5]); xlabel('t');ylabel('x(t)');title('w=50');w3=200;T=12000;t=linspace(-1,10,T);xr=sin(w3*t);subplot(3,1,3);plot(t,xr);grid on;axis([-0.2 0.2 -1.5 1.5]); xlabel('t');ylabel('x(t)');title('w=200');2.利用MATLAB绘制单位冲击序列,单位阶跃序列,实指数序列(1)单位冲击序列n=50;x=zeros(1,n);x(1)=1;xn=0:n-1;stem(xn,x);grid on;axis([-1 25 0 1.2]);xlabel('n');ylabel('c(n)');title('单位冲击序列');(2)单位阶跃序列n=50;x=ones(1,n);xn=0:n-1;stem(xn,x);grid on;axis([-5 25 0 1.2]);xlabel('n');ylabel('u(n)');title('µ¥Î»½×Ô¾ÐòÁÐ');(3)实指数序列n=0:20;a1=2;a2=-2;a3=0.5;a4=-0.5;xn1=a1.^n;xn2=a2.^n;xn3=a3.^n;xn4=a4.^n;subplot(2,2,1);stem(xn1);grid on;axis([0 20 0 600000]);xlabel('n');ylabel('xn1(n)');title('实指数序列xn1(n)[a>1]');subplot(2,2,2);stem(xn2);grid on;axis([0 20 -150000 300000]); xlabel('n');ylabel('xn2(n)');title('实指数序列xn2(n)[a<-1]');subplot(2,2,3);stem(xn3);grid on;axis([0 20 0 1.3]);xlabel('n');ylabel('xn3(n)');title('实指数序列xn3(n)[1>a>0]');subplot(2,2,4);stem(xn4);grid on;axis([0 20 -0.7 1.3]);xlabel('n');ylabel('xn4(n)');title('实指数序列xn4(n)[0>a>-1]');3.讨论题:已知连续信号,当抽样间隔分别取T=0.08, 0.16,和0.24时所对应的离散余弦信号的波形。
离散信号的MATLAB实现
![离散信号的MATLAB实现](https://img.taocdn.com/s3/m/7708c4f5f61fb7360b4c65d5.png)
1.9离散信号和系统分析的MATLAB实现1.9.1利用MATLAB产生离散信号用MATLAB表示一离散序列x[k]时,可用两个向量来表示。
其中一个向量表示自变量k的取值范围,另一个向量表示序列x[k]的值。
例如序列x[k]={2,1,1,-1,3,0,2}可用 MATLAB表示为K=-2:4;x=[2,1,1,-1,3,0,2]可用stem(k,f)画出序列波形。
当序列是从k=0开始时,可以只用一个向量x来表示序列。
由于计算机内寸的限制,MATLAB无法表示一个无穷长的序列。
例1-38利用MATLAB计算单位脉冲序4δ-k在-k≤]24[≤范围内各点的取值。
解:%progran 1_1 产生单位脉冲序列Ks=-4;ke=4;n=2;K=[ks:ke];X=[(k-n)==0];Stem(k,x):xlabel(‘k’);程序产生的序列波形如图1-49所示。
例1-39利用MATLAB画出信号X[k]=10sin(0.02kπ)+n[k], 1000≤≤k的波形。
其中n[k]表示为均值为0方差为1的Gauss分布随机信号。
解:MALAB提供了两个产生(伪)随机序列的函数。
Rand(1,N)产生1行N列的[0,1]均匀分布随机数。
Randn(1,N)产生1行N列均值为0方差为1的Gauss分布随机数。
%program 1_2 产生受噪声干扰的正弦信号N=100;k=0:N;X=10*sin(0.02*pi*k)+randn(1,N+1);Plot(k,x);Xlabel(‘k’);Ylabel(‘x[k]’);程序产生序列如图1-50所示。
1.9.2 离散卷积的计算离散卷积是数字信号处理中的一个基本运算,MTLAB提供的计算两个离散序列卷积的函数是conv,其调用方式为y=conv(x,h)其中调用参数x,h为卷积运算所需的两个序列,返回值y是卷积结果。
MATLAB函数conv的返回值y中只有卷积的结果,没有y的取值范围。
实验一 常见离散信号的MATLAB产生和图形显示
![实验一 常见离散信号的MATLAB产生和图形显示](https://img.taocdn.com/s3/m/ae0183523b3567ec102d8a5c.png)
实验一 常见离散信号的MATLAB 产生和图形显示授课课时:2学时一、实验目的:(1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。
(2)掌握MATLAB 在时域内产生常用离散时间信号的方法。
(3)掌握离散信号的基本运算。
(4)掌握简单的绘图命令。
二、实验原理:(一)信号的表示和产生① 单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n 参考程序:例1-1:)2010(()(<<-=n n n x )δclear all n1=-10;n2=20;n0=0;%在起点为n1,终点为n2的范围内,于n0处产生冲激。
n=n1:n2;%生成离散信号的时间序列x=[n==n0];%生成离散信号x(n)stem(n,x);%绘制脉冲杆图xlabel(' n');ylabel('x(n)');%横坐标和纵坐标的标注说明。
title('Unit Sample Sequence');%图形上方标注图名axis([-10 20 0 1.2]);%确定横坐标和纵坐标的取值范围② 单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n 例1-2:)202((u )(<<-=n n n x )clear alln1=-2;n2=20;n0=0;n=n1:n2;%生成离散信号的时间序列x=[n>=n0];%生成离散信号x(n)stem(n,x,'filled');xlabel('n');ylabel('x(n)');title('Unit step Sequence');axis([-2 20 0 1.2]);③ 正弦序列)sin()(ϕ+=wn A n x例1-3:一正弦信号的频率为1HZ ,振幅值幅度A 为1V ,在窗口显示2个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号并显示该连续信号和离散信号的波形。
实验一 离散信号的MATLAB实现
![实验一 离散信号的MATLAB实现](https://img.taocdn.com/s3/m/63581c956bec0975f465e21e.png)
实验一离散信号的MATLAB实现一、目的要求1)学习典型的离散时间信号的MATLAB实现方法;2)学习离散时间序列的基本运算:相加、相乘、移位等;3)学习噪声的产生;4)掌握两个序列的卷积和相关运算5)掌握离散系统单位脉冲响应的求解。
二、实验内容1)典型的离散信号的表示方法:用matlab产生单位抽样信号δ(n) 、单位阶跃序列u(n) 、矩形序列R N(n) 、实指数序列a n u(n)、正弦序列sin(ωn)。
编写程序、并画出图形。
n=-20:20;n0=0;n1=10;w0=pi/4;x=[(n-n0)==0];x1=[(n-n0)>=0];x2=[(n-n0)>=0& (n-n1)<=0];x3=0.9.^n.*x1;x4=sin(w0*n);subplot(511);stem(n,x);axis([ -20 20 0 2]);ylabel('\sigma(n)'); subplot(512);stem(n,x1);axis([ -20 20 0 2]);ylabel('u(n)');subplot(513);stem(n,x2);axis([ -20 20 0 2]);ylabel('B N(n)');subplot(514);stem(n,x3);axis([ -20 20 0 2]);ylabel('a n u(n)');subplot(515);stem(n,x4);axis([ -20 20 -2 2]);ylabel('sin(w0n)');xlabel('n');2)离散信号的基本运算:对序列x(n)={2,3,4,1,2,5} ,n=0,1,2,3,4,5,的移位、乘法、加法、翻转及尺度变换。
编写程序、并画出图形。
n=-10:10;k=2;N=length(n);x=zeros(size(n));x1=zeros(size(n));y=zeros(size(n));y1=zeros(size(n));y2=zeros(size(n));y3=zeros(size(n));y4=zeros(size(n));x(11:16)=[2 3 4 1 2 5];x1(11:16)=[1 2 3 4 5 6];y(1+k:N)=x(1:N-k);y1(1:N-k)=x(1+k:N);y2=x.*x1;y3=x+x1;y4=fliplr(x);y5=x(1:2:N);n1=fix(n(1:2:N)/2);subplot(421);stem(n,x);xlabel('n');ylabel('x(n)');subplot(422);stem(n,x1);xlabel('n');ylabel('x1(n)');subplot(423);stem(n,y);xlabel('n');ylabel('x(n-2)');subplot(424);stem(n,y1);xlabel('n');ylabel('x(n+2)');subplot(425);stem(n,y2);xlabel('n');ylabel('x(n)*x1(n)');subplot(426);stem(n,y3);xlabel('n');ylabel('x(n)+x1(n)');subplot(427);stem(n,y4);xlabel('n');ylabel('x(-n)');subplot(428);stem(n1,y5);xlabel('n');ylabel('x(2n)');3)噪声的产生:产生方差为1,2,0.5的白噪声。
实验一离散信号与系统时域分析的Matlab实现
![实验一离散信号与系统时域分析的Matlab实现](https://img.taocdn.com/s3/m/97ac2901876fb84ae45c3b3567ec102de2bddfa1.png)
实验1 离散信号与系统时域分析的Matlab实现一、实验目的1.掌握用Matlab表示常用离散信号的方法;2.掌握用Matlab求解离散系统的单位取样响应与零状态响应;3.掌握用Matlab实现离散信号卷积的方法;二、实验原理与内容1. Matlab基本操作打开Matlab 6.5,只保留命令窗口(Command Window),点击文本编辑窗口(M-file)创建、编辑M程序。
图1命令窗口在文本编辑窗口输入指令程序。
当输入完整程序后,点击DEBUG→RUN运行程序,或用键盘F5键直接运行。
另外,也可点击窗口快捷运行程序键。
图2文本编辑窗口编辑完成一个程序后,第一次运行或另存为时,需要保存M程序,保存的路径为命令窗口所示的当前目录路径(Current Directory),该路径可自行设置。
图3当前目录路径注意:M 文件在命名时有一定规则,错误命名时会使M 文件不能正常运行。
(1)M 文件名首字符不能是数字或下划线。
(2)M 文件名不能与Matlab 的内部函数名相同(3)M 文件名中不能有空格,不能含有中文。
一般应采用英文或拼音对M 文件命名。
2.离散信号的Matlab 表示表示离散时间信号x(n)需要两个行向量,一个是表示序号n=[ ],一个是表示相应函数值x=[ ],画图指令是stem 。
(1)正、余弦序列正、余弦序列为MATLAB 内部函数,可直接调用,文件名为sin 和cos 。
例1-1 画出()sin()4x n n π=的波形。
打开文本编辑窗口,输入波形程序:n=0:40;xn=sin(pi*n/4);stem(n,xn,'.')title('sin(pi*n/4)')运行,输出波形如下图4。
图4 ()x n 的波形图对于0cos()n ωϕ+或0sin()n ωϕ+,当2/πω是整数或有理数时,才是周期信号。
练习:(1)把上述程序中第三行分别改为stem(n,xn)、stem(n,xn,'*') 、stem(n,xn,' filled ') 后依次运行,看输出波形有何变化。
实验一MATLAB编程环境及常用信号的生成及波形仿真
![实验一MATLAB编程环境及常用信号的生成及波形仿真](https://img.taocdn.com/s3/m/61d101876aec0975f46527d3240c844769eaa0f7.png)
实验⼀MATLAB编程环境及常⽤信号的⽣成及波形仿真实验⼀ MATLAB 编程环境及常⽤信号的⽣成及波形仿真⼀、实验⽬的1、学会运⽤Matlab 表⽰常⽤连续时间信号的⽅法2、观察并熟悉这些信号的波形和特性:3、实验内容:编程实现如下常⽤离散信号:单位脉冲序列,单位阶跃序列,矩形序列,实指数序列,正弦序列,复指数序列;⼆、实验原理及实例分析2、如何表⽰连续信号?从严格意义上讲,Matlab 数值计算的⽅法不能处理连续时间信号。
然⽽,可利⽤连续信号在等时间间隔点的取样值来近似表⽰连续信号,即当取样时间间隔⾜够⼩时,这些离散样值能被Matlab 处理,并且能较好地近似表⽰连续信号。
3、Matlab 提供了⼤量⽣成基本信号的函数。
如:(1)指数信号:K*exp(a*t)(2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi)(3)复指数信号:K*exp((a+i*b)*t)(4)抽样信号:sin(t*pi)注意:在Matlab 中⽤与Sa(t)类似的sinc(t)函数表⽰,定义为:)t /()t (sin )t (sinc ππ=(5)矩形脉冲信号:rectpuls(t,width)(6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表⽰信号的占空⽐DUTY%,即在⼀个周期脉冲宽度(正值部分)与脉冲周期的⽐值。
占空⽐默认为0.5。
(7)三⾓波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。
(8)周期三⾓波信号:sawtooth(t, width)(9)单位阶跃信号:y=(t>=0)常⽤的图形控制函数1)学习clc, dir(ls), help, clear, format,hold, clf控制命令的使⽤和M⽂件编辑/调试器使⽤操作;2)主函数函数的创建和⼦程序的调⽤;3)plot,subplot, grid on, figure, xlabel,ylabel,title,hold,title,Legend,绘图函数使⽤;axis([xmin,xmax,ymin,ymax]):图型显⽰区域控制函数,其中xmin为横轴的显⽰起点,xmax为横轴的显⽰终点,ymin为纵轴的显⽰起点,ymax为纵轴的显⽰终点。
《数字信号处理》实验讲义(信息计算)
![《数字信号处理》实验讲义(信息计算)](https://img.taocdn.com/s3/m/f02d175bad02de80d4d84076.png)
《数字信号处理》实验指导书实验一 常见离散信号的产生一、实验目的1. 加深对离散信号的理解。
2. 掌握典型离散信号的Matlab 产生和显示。
二、实验原理及方法在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x ,表示如下: n=[…,-3,-2,-1,0,1,2,3,…]x=[…,6,3,5,2,1,7,9,…]一般程序都从0 位置起始,则x= [x(0), x(1), x(2),…]对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。
数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth 等函数来实现。
三、实验内容1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列:①单位冲击响应序列:()n δ可用MATLAB 中zeros 函数来实现; ②单位阶跃序列:u(n)可用MATLAB 中ones 函数来实现; ③正弦序列:()sin()x n n ω=; ④指数序列:(),nx n a n =-∞<<+∞⑤复指数序列:用exp 函数实现()0()a jb nx n K e+=,并给出该复指数序列的实部、虚部、幅值和相位的图形。
(其中00.2,0.5,4,40a b K N =-===.)参考流程图:四、实验报告要求1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘 出复指数序列的实部、虚部、幅值和相位的图形。
2. 序列信号的实现方法。
3. 在计算机上实现正弦序列0()sin(2)x n A fn πϕ=+。
实验二 离散信号的运算一、实验目的1. 掌握离散信号的时域特性。
2. 用MATLAB 实现离散信号的各种运算。
离散时间信号与系统实验的matlab实现
![离散时间信号与系统实验的matlab实现](https://img.taocdn.com/s3/m/6a19f2056fdb6f1aff00bed5b9f3f90f76c64d13.png)
离散时间信号与系统[实验目的]1.了解信号处理的基本操作2.熟悉一些常用的序列及其应用[实验原理]我们所接触的信号大多为连续信号,为使之便于处理,往往要对其进行采样,对信号抽样并保证其能完全恢复,对抽样频率有一定的限制。
基本的离散序列的定义如下:1.单位采样序列2.单位阶跃序列3.实指数序列,;a为实数4.复数指数序列,5.正余弦序列,6.周期序列,[实验内容]1.用MATLAB实现函数impseq(n0,n1,n2),使函数实现,。
函数定义:function [x,n]=impseq(n0,n1,n2)if (n1>n2||n0>n2||n0<n1)error('parameter error');end;if (n1<=n2)for n=1:n2-n1+1if (n==n0)x(1,n)=n1-1+n;x(2,n)=1;end;x(1,n)=n1-1+n;x(2,n)=0;end;x(2,n0-n1+1)=1;end;运行结果:impseq(3,1,9)ans =6 7 8 9 10 11 12 13 140 0 0 0 1 0 0 0 0注:上面一行为自变量n,下面一行为函数值,以下运行结果为两行的,都与此题同,不在表明。
2.用MATLAB实现函数stepseq(n0,n1,n2),使函数实现u(n-n0),。
函数定义:function [x,n]=stepseq(n0,n1,n2)if (n0>n2||n0<n1||n1>n2)error('parameter error');end;for n=1:n2-n1+1if (n+n1-1<n0)x(1,n)=n1+n-1;x(2,n)=0;elsex(1,n)=n1+n-1;x(2,n)=1;end;end;运行结果:Stepseq(4,2,10)ans =2 3 4 5 6 7 8 9 100 0 1 1 1 1 1 1 1 注:与上同,上面一行是自变量,下面一行是函数值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n=0:n-1;a=0.6;x3=a.^n; %实指数序列
w0=pi/3; ang=pi/15; x4=sin(n*w0+ang);%正弦序列
x5=exp((a+j*w0)*n); %复指数序列
figure(1); %建立一个绘制框
subplot(3,1,1);stem(x1); %绘制单位冲激序列
ylabel('x_1(n)=\delta(n)'); %在Y轴上描述
subplot(3,1,2);stem(x2); %绘制单位阶跃序列
ylabel('x_2(n)=u(n)');
subplot(3,1,3);stem(x3); %绘制实指数序列
ylabel('x_3(n)=0.6^n');xlabel('n');
5、变量名可以由字母、数字和下划线组成。但必须以字母开头。变量名区分大小写。字符长度不超过63。
6、可以编写以.m为扩展名的文件:有两种形式,一是命令叠加;二是function定义函数形式,不需要end结尾。
3、直接表达法描述序列:
n=50; %序列长度
x1=[1,zeros(1,n-1)]; %单位冲激序列
figure(2);
subplot(2,1,1);stem(x4); %绘制正弦序列
ylabel('x_4(n)=sin(\pin/3+\pi/15)');
subplot(2,1,2);stem(abs(x5)); %绘制复指数序列
ylabel('x_5(n)=e^(^0^.^6^+^j^*^\pi^/^3^)^*^n');xlabel('n');%结果1-1和1-2
实验题目
基本离散信号的MATLAB产生和图形显示
实验时间
实验台号
实验目的
熟悉单位冲激序AB命令格式要求,参数的设置规范;
实验仪器
PC台式机,软件MATLAB
实验预习
1、单位冲激序列,单位阶跃序列,正弦序列的表示方法、图形;
2、MATLAB基本参数设置规范;
y1=(n==0);%单位冲激序列
y2=(n>=0);%单位阶跃序列
R10=((n>=0)&(n-9)<=0);%矩形序列
subplot(3,1,1);stem(n,y1);
subplot(3,1,2);stem(n,y2);
subplot(3,1,3);stem(n,R10);%结果1-3
实验数据结果及分析
3、涉及函数有zeros();ones();
实验步骤
1、介绍MATLAB操作界面。
2、介绍操作MATLAB注意事项:
1、按Enter执行,不需要执行在后面加“;”。
2、可以输入字母、汉子,但标点符号必须在英文状态下书写。
3、不需专门定义变量类型,系统可以自动根据表达式的值或输入的值来确定变量类型。
4、MATLAB中数据是以矩阵的形式存储的。
1-1
1-2
1-3
思考题
用区间法画出 的图像。
教师评语
成绩:
日期:
4、定义函数法描述序列:
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];
5、取值范围描述序列:
n=0:50;