常见离散信号产生和实现实验

合集下载

xjtu数字信号处理“实验报告”

xjtu数字信号处理“实验报告”

数字信号处理实验报告实验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)的图形结果可以看出,复指数序列实部和虚部均为按指数衰减(上升)的序列,两者的均是震荡的,实部震荡周期与指数的实部有关,虚部震荡周期与指数的实虚部有关。

信号分析1

信号分析1

机电工程学院实验报告课程名称:测试信号分析与处理Array实验项目名称:常见离散信号的MATLAB产生和图形显示实验时间:班级:测控141 姓名:罗瑞恒学号:实验目的:1. 学会用MATLAB在时域中产生一些基本的离散时间信号。

2. 了解信号的各种运算。

实验环境:装有matlab的计算机实验内容及过程:1.产生一个单位样本序列x1(n),起点为ns= -10, 终点为nf=20, 在n0=0时有一单位脉冲并显示它。

修改程序,以产生带有延时11个样本的延迟单位样本序列x2(n)= x1(n-11),在同一窗口显示它。

程序代码如下:>> clf;n=[-10:20];x1=[zeros(1,10) 1 zeros(1,20)];stem(n,x1);xlabel('n');ylabel('m');title('单位样本序列');axis([-10 20 0 1.2 ]);延迟后>> clf;n=[-10:20];x1=[zeros(1,21) 1 zeros(1,9)];stem(n,x1);xlabel('n');ylabel('m');title('单位样本序列');axis([-10 20 0 1.2 ]);2.已知c= -(1/12)+(pi/6)*i;产生一个复数值的指数序列x2(n)=2*exp(c*n),起点为ns= 0, 终点为nf=40;并显示它。

程序代码如下:>> clf;c=-(1/12)+(pi/6)*i;K=2;n=0:40;x=K*exp(c*n);subplot(2,1,1)stem(n,real(x));subplot(2,1,2);stem(n,imag(x));xlabel('时间序列');ylabel('振幅');title('虚部');3.产生一个正弦序列x3(n) =1.5*cos(2*pi*f*n);起点为ns= 0, 终点为nf=40;并显示它。

常见离散信号产生和实现实验报告

常见离散信号产生和实现实验报告

常见离散信号产生和实现实验报告实验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-的函数。

时域离散信号实验报告(3篇)

时域离散信号实验报告(3篇)

第1篇一、实验目的1. 理解时域离散信号的基本概念和特性。

2. 掌握时域离散信号的表示方法。

3. 熟悉常用时域离散信号的产生方法。

4. 掌握时域离散信号的基本运算方法。

5. 通过MATLAB软件进行时域离散信号的仿真分析。

二、实验原理时域离散信号是指在时间轴上取离散值的一类信号。

这类信号在时间上不连续,但在数值上可以取到任意值。

时域离散信号在数字信号处理领域有着广泛的应用,如通信、图像处理、语音处理等。

时域离散信号的基本表示方法有:1. 序列表示法:用数学符号表示离散信号,如 \( x[n] \) 表示离散时间信号。

2. 图形表示法:用图形表示离散信号,如用折线图表示序列。

3. 时域波形图表示法:用波形图表示离散信号,如用MATLAB软件生成的波形图。

常用时域离散信号的产生方法包括:1. 单位阶跃信号:表示信号在某个时刻发生突变。

2. 单位冲激信号:表示信号在某个时刻发生瞬时脉冲。

3. 正弦信号:表示信号在时间上呈现正弦波形。

4. 矩形脉冲信号:表示信号在时间上呈现矩形波形。

时域离散信号的基本运算方法包括:1. 加法:将两个离散信号相加。

2. 乘法:将两个离散信号相乘。

3. 卷积:将一个离散信号与另一个离散信号的移位序列进行乘法运算。

4. 反褶:将离散信号沿时间轴翻转。

三、实验内容1. 实验一:时域离散信号的表示方法(1)使用序列表示法表示以下信号:- 单位阶跃信号:\( u[n] \)- 单位冲激信号:\( \delta[n] \)- 正弦信号:\( \sin(2\pi f_0 n) \)- 矩形脉冲信号:\( \text{rect}(n) \)(2)使用图形表示法绘制以上信号。

2. 实验二:时域离散信号的产生方法(1)使用MATLAB软件生成以下信号:- 单位阶跃信号- 单位冲激信号- 正弦信号(频率为1Hz)- 矩形脉冲信号(宽度为2)(2)观察并分析信号的波形。

3. 实验三:时域离散信号的基本运算(1)使用MATLAB软件对以下信号进行加法运算:- \( u[n] \)- \( \sin(2\pi f_0 n) \)(2)使用MATLAB软件对以下信号进行乘法运算:- \( u[n] \)- \( \sin(2\pi f_0 n) \)(3)使用MATLAB软件对以下信号进行卷积运算:- \( u[n] \)- \( \sin(2\pi f_0 n) \)(4)使用MATLAB软件对以下信号进行反褶运算:- \( u[n] \)4. 实验四:时域离散信号的仿真分析(1)使用MATLAB软件对以下系统进行时域分析:- 系统函数:\( H(z) = \frac{1}{1 - 0.5z^{-1}} \)(2)观察并分析系统的单位冲激响应。

MATLAB离散信号的产生和频谱分析实验报告

MATLAB离散信号的产生和频谱分析实验报告

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 运算。

常见离散信号的MATLAB产生和图形显示

常见离散信号的MATLAB产生和图形显示

实验一 常见离散信号的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产生和图形显示

实验一 常见离散信号的MATLAB 产生和图形显示实验目的:加深对常用离散信号的理解; 实验原理:1.单位抽样序列⎩⎨⎧=01)(n δ≠=n n 在MATLAB 中可以利用zeros()函数实现。

;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n kn2.单位阶跃序列⎩⎨⎧01)(n u00<≥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.指数序列n a n x =)(在MATLAB 中na x N n .^1:0=-=实验内容:编制程序产生上述5种信号(长度可输入确定),并绘出其图形。

实验要求:讨论复指数序列的性质。

实验过程: 1. 单位冲击序列:>> n=0:10;>> x1=[1 zeros(1,10)];>> x2=[zeros(1,8) 1 zeros(1,8)]; >> subplot(1,2,1); >> stem(n,x1);>> xlabel ('时间序列n'); >> ylabel('幅度');>> title('单位冲激序列δ(n )'); >> subplot(1,2,2); >> stem(x2);>> xlabel('时间序列n'); >> ylabel('幅度');>> title('延时了8个单位的冲激序列δ(n-8)'); >>>> n=0:10;>> u=[ones(1,11)];>> stem(n,u);>> xlabel ('时间序列n');>> ylabel('信号幅度');>> title('单位阶跃序列u(n)');>>3.正弦序列:>> n=1:30;>> x=2*sin(pi*n/6+pi/4);>> stem(n,x);>> xlabel ('时间序列n');>> ylabel('振幅');>> title('正弦函数序列x=2*sin(pi*n/6+pi/4)'); >>>> n=1:30;>> x=5*exp(j*3*n);>> stem(n,x);>> xlabel ('时间序列n');>> ylabel('振幅');>> title('复指数序列x=5*exp(j*3*n)');>>5.指数序列:>> n=1:30;>> x=1.8.^n;>> stem(n,x);>> xlabel ('时间序列n');>> ylabel('振幅');>> title('指数序列x=1.8.^n');>>复指数序列的周期性讨论:为了研究复指数序列的周期性质,我们分别作了正弦函数x1=1.5sin(0.3πn)和x2=sin(0.6n); 的幅度特性图像。

离散系统的时域分析matlab.(DOC)

离散系统的时域分析matlab.(DOC)

实验一 常见离散信号的MATLAB 产生和图形显示一、 实验目的加深对常见离散信号的理解 二、实验原理1、单位抽样序列的产生,10,0{=≠=n n n )(δ在MATLAB 中可以用zeros()函数实现 x=[1,zeros(1,N-1)]; 或x=zeros(1,N); x(1)=1;2、单位阶跃序列的产生0,10,0{u ≥<=n n n )(在MATLAB 中可以用ones()函数实现 x=one(1,N); 3、正弦序列的产生 在MATLAB 中实现方法如下: N=0:N-1X=A*sin(2*pi*f*n/fs+fai) 4、复正弦序列的产生jwn e A n x *)(=在MATLAB 中实现方法如下:n)*w *exp(j *A 1:0=-=x N n5、实指数序列的产生na A n x *)(= 在MATLAB 中实现方法如下:na A x N n .^*1:0=-=三、实验内容及步骤编制程序产生以下信号,并绘出其图形。

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)=1 stem(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 δδδδδδ b=[1];a=[8,3.4,1.8,5.6,2.9,0.7]; xh=[1,zeros(1,20)]; h=filter(b,a,xh) figure(1); n=0:20; stem(n,h,) legend('冲激')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 点的复正弦序列。

数字信号处理实验报告-实验3

数字信号处理实验报告-实验3

数字信号处理实验报告林鸿运10282039 生医1002实验1 常见离散信号的matlab产生和图形显示五个常见离散信号1.单位抽样序列程序源代码:clcclear alln=0:10;x=[n==0];subplot(2,2,1);stem(n,x);title('单位抽样序列');xlabel('n');ylabel('x(n)');程序运行截图2.单位阶跃序列程序源代码:clcclear alln=0:10;x=[n>=0];subplot(2,2,1);stem(n,x);title('单位阶跃序列');xlabel('n');ylabel('x(n)');程序运行截图:3.正弦序列程序源代码:clcclear alln=0:20;A=5;f=2/pi;Fs=4;b=2*pi;x=A*sin(2*pi*f*n/Fs+b);subplot(2,2,1);stem(n,x);title('正弦序列');xlabel('n');ylabel('x(n)');程序运行截图:4.实指数序列程序源代码:clcclear alln=0:0.5:10;a=10;x=a.^n;subplot(2,2,1);stem(n,x);title('实指数序列');xlabel('n');ylabel('x(n)');程序运行截图:5.复指数序列程序源代码:clcclear alln=0:0.5:10;a=10;b=10x=exp((a+j*b)*n);subplot(2,2,1);stem(n,x);title('复指数序列');xlabel('n');ylabel('x(n)');程序运行截图:实验内容1.实验内容11.产生x(n)=δ(n+2)-2δ(n-1) (-5<=n<=5)序列的波形图2. 产生x(n)=u(n)-u (n-5) (0<=n<10)序列的波形图3. 产生x(n)=2sin(0.04πn+π/3) (0<=n<50)序列的波形图4. 产生x(n)=0.8n (0<=n<10)序列的波形图程序源代码:clcclear alln=-5:5;x=[(n+2)==0]-2*[(n-1)==0];subplot(2,2,1);stem(n,x);title('抽样序列');xlabel('n');ylabel('x(n)');n=0:10;x=[n>=0]-[(n-5)>=0];subplot(2,2,2);stem(n,x);title('阶跃序列');xlabel('n');ylabel('x(n)');n=0:50;x=2*sin(0.04*pi*n+pi/3); subplot(2,2,3);stem(n,x);title('正弦序列');xlabel('n');ylabel('x(n)');n=0:10;x=0.8.^n;subplot(2,2,4);stem(n,x);title('实指数序列'); xlabel('n');ylabel('x(n)');程序运行截图:产生复指数序列x(n)=e(-0.1+j0.3)n(-20<=n<20),画出它的实部、虚部、幅值和相位图,以此讨论复指数序列的性质程序源代码:clcclear alln=-20:20;x=exp((-0.1+0.3j)*n);subplot(2,2,1);stem(n,real(x));title('实部');xlabel('n');subplot(2,2,2);stem(n,imag(x));title('虚部');xlabel('n');subplot(2,2,3);stem(n,abs(x));title('幅值');xlabel('n');subplot(2,2,4);stem(n,(180/pi)*angle(x));title('相位');xlabel('n');程序运行截图:复指数序列的性质:2.实验内容2(1).产生x(n)= (n.^2).*{ [(n-5)>=0]-[(n-6)>=0]} +10*[n==0]+ 20*(0.5.^n).*{ [(n-4)>=0]-[(n-10)>=0]} (-10<=n<10)序列的样本,要求用四个框图分别显示表达式中的三个相加项和x(n)波形程序源代码:clcclear alln=-10:10;a=[(n-5)>=0]-[(n-6)>=0];b=[(n-4)>=0]-[(n-10)>=0];x1=(n.^2).*a;x2=10*[n==0];x3=20*(0.5.^n).*b;x=x1+x2+x3;subplot(2,2,1);stem(n,x1);title('x1(n)');xlabel('n');subplot(2,2,2);stem(n,x2);title('x2(n)');xlabel('n');subplot(2,2,3);stem(n,x3);title('x3(n)');xlabel('n');subplot(2,2,4);stem(n,x);title('x(n)');xlabel('n');程序运行截图:(2)a .程序源代码:clcclear alln=-20:20;x1=cos(0.3*pi*n);x2=cos(0.4*pi*n);subplot(2,1,1);stem(n,x1);title('余弦序列1');xlabel('n');ylabel('x1(n)');subplot(2,1,2);stem(n,x2);title('余弦序列2');xlabel('n');ylabel('x2(n)');程序截图:分析:两个序列都是周期序列,基本周期是20,如果f0=K/N是一个有理数,N为周期;K代表一个周期里有多少个震荡。

实验一离散信号的MATLAB实现

实验一离散信号的MATLAB实现

实验一离散信号的MATLAB实现实验一:离散信号的MATLAB实现一、实验目的本实验旨在通过MATLAB实现离散信号的生成、绘制和基本操作,加深对离散信号处理的理解,并为后续实验做好准备。

二、实验原理离散信号是指在时间域或幅值域上取值有限的信号。

常见的离散信号包括矩形波、三角波、正弦波等。

在MATLAB中,可以使用不同的函数和参数来生成这些离散信号。

同时,使用MATLAB的绘图功能可以将离散信号绘制出来,以便观察和分析。

三、实验步骤1.生成离散信号首先,我们需要生成一个离散信号。

在MATLAB中,可以使用以下代码生成一个长度为N的离散信号:N = 100; % 信号长度t = 0:N-1; % 时间向量x = sin(2*pi*t/N); % 离散正弦波信号这段代码将生成一个长度为100、采样频率为N Hz的正弦波信号。

其中,t是时间向量,表示信号在每个采样点上的时间;x是信号的幅值向量,表示在每个采样点上的幅值。

2.绘制离散信号生成离散信号后,我们可以使用MATLAB的绘图功能将其绘制出来。

在MATLAB 中,可以使用以下代码将离散信号绘制出来:plot(t, x); % 绘制离散正弦波信号xlabel('Time (s)'); % 设置X轴标签ylabel('Amplitude'); % 设置Y轴标签title('Discrete Sine Wave'); % 设置标题这段代码将绘制出离散正弦波信号的图形,并添加了X轴和Y轴标签以及标题。

3.基本操作除了生成和绘制离散信号外,我们还可以对离散信号进行一些基本操作,如加减、乘除、翻转等。

例如,我们可以使用以下代码将两个离散信号相加:y = x + 2; % 将离散正弦波信号加上2这段代码将生成一个新的离散信号y,它是原来信号x的基础上加上2。

同样地,我们还可以对离散信号进行其他基本操作。

四、实验结果与分析通过本实验,我们成功地生成了离散正弦波信号,并将其绘制出来。

【免费下载】常见离散信号的Matlab产生和图形显示

【免费下载】常见离散信号的Matlab产生和图形显示

实验一 实验名称:常见离散信号的Matlab 产生和图形显示一、实验目的1、加深对常用离散信号的理解;2、掌握matlab 中一些基本函数的建立方法。

二、实验步骤(附源代码及仿真结果图)1、使用状况1)创建M 文件File-→New-→M-file 2)运行Debug->run 2、实验原理1)单位抽样序列 ⎩⎨⎧=01)(n δ00≠=n n 在MATLAB 中可以利用zeros()函数实现。

%创建一个1行N 列的0矩阵,将第一个值重新赋值为1;1)1();,1(==x N zeros x 如果在时间轴上延迟了k 个单位,得到即:)(n δ)(k n -δ ⎩⎨⎧=-01)(k n δ0≠=n k n 2)单位阶越序列⎩⎨⎧01)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。

%一个长度为N 的零矩阵);,1(N ones x =3)正弦序列)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-=4)复指数序列nj e r n x ϖ⋅=)(在MATLAB 中)**exp(1:0n w j r x N n ⋅=-=5)指数序列n a n x =)(在MATLAB 中n a x N n .^1:0=-=3、实验内容(1)、单位抽样序列(2)、单位阶越序列)正弦函数(3(4)2、绘出信号,当、时、、zn e n x =)(6)12/1(πj z +-=6)12/1(πj z +=121=z 、时的信号实部和虚部图;62πj z +=6πj z =程序如下: 由上图的实部部分可以看出,Z=pi/6时,序列周期为12。

计算序列周期为2*6=12。

实验和理论相符。

3、绘出信号的频率是多少?周期是多少?产生一个数)1.0*2sin(5.1)(n n x π=字频率为0.9的正弦序列,并显示该信号,说明其周期?程序如下:由上图看出:x1=1.5*sin(2*pi*0.1*n)的周期是10,而x2=sin(0.9*n)是非周期的。

实验1常见离散信号的DTFT和DFT

实验1常见离散信号的DTFT和DFT

实验1 离散信号的DTFT 和DFT实验目的:加深对离散信号的DTFT 和DFT 的及其相互关系的理解。

实验原理:序列x[n] 的DTFT 定义:∑=∞-∞=-n jn ωj ωx[n]e )X(eN 点序列x[n] 的DFT 定义: ∑∑-=-=-===101022][][)(][N n kn NN n kn N j k N j W n x e n x eX k X ππ 在MATLAB 中,对形式为ωωωωωωωjN N j jM M j j j j e d e d d e p e p p e D e p e X ----++++++==......)()()(1010的DTDFT 可以用函数H=Freqz (num ,den ,w )计算;可以用函数U=fft (u ,N )和u=ifft (U ,N )计算N 点序列的DFT 正、反变换。

实验内容: 分别计算16点序列150,165cos )(≤≤=n n n x π的16点和32点DFT ,绘出幅度谱图形,并绘出该序列的DTFT 图形。

实验要求:讨论DTFT 和DFT 之间的相互关系。

说明实验产生的现象的原因。

实验步骤:①16点序列X(n)的16点及32点DFT:>> N=16;>> n=1:16;>> x= sin(5*pi*n/16);>> X1=fft(x,16);>> X11=abs(X1);>> subplot(2,1,1);>> stem(X11);>> xlabel('频率');>> ylabel('幅度');>> title('16点序列x (n )的16点DFT');>> X2=fft(x,32);>> X22=abs(X2);>> subplot(2,1,2);>> stem(X22);>> xlabel('频率');>> ylabel('幅度');>> title('16点序列x(n)的32点DFT'); >>②序列x(n)的DTFT:>> x= sin(5*pi*n/16);>> X1=fft(x);>> X11=abs(X1);>> stem(X11);>> xlabel('频率');>> ylabel('幅度');>> title('序列x(n)的DTFT');>>DTFT和DFT之间的区别和关系:。

实验一 常见离散信号的MATLAB产生和图形显示

实验一  常见离散信号的MATLAB产生和图形显示

实验一 常见离散信号的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点采样获得离散信号并显示该连续信号和离散信号的波形。

实验1_常见离散信号产生和实现

实验1_常见离散信号产生和实现

实验1 常见离散信号产生和实现一、实验目的:1、加深对常用离散信号的理解;2、掌握matlab 中一些基本函数的建立方法。

二、实验原理:1.单位抽样序列⎩⎨⎧=01)(k δ 00≠=k k在MATLAB 中可以利用zeros()函数实现。

;1)1();,1(==x N zeros x 如果)(k δ在时间轴上延迟了n 个单位,得到)(n k -δ即:⎩⎨⎧=-01)(n k δ nk n k ≠= 2.单位阶越序列⎩⎨⎧01)(k u 00<≥k k在MATLAB 中可以利用ones()函数实现。

);,1(N ones x =3.正弦序列)/2sin()(ϕπ+=Fs fk A k x在MATLAB 中)/***2sin(*1:0fai Fs k f pi A x N k +=-=4.复指数序列k j e r k x ϖ⋅=)(在MATLAB 中)**exp(1:0k w j r x N k ⋅=-=5.指数序列k a k x =)(在MATLAB 中k a x N k .^1:0=-= 三、实验内容1、五种基本函数的图形生成(1)、单位抽样序列% 单位抽样序列和延时的单位抽样序列clf;n=0:10;x1=[1 zeros(1,10)];x2=[zeros(1,5) 1 zeros(1,5)];subplot(1,2,1);stem(n,x1);xlabel ('时间序列n');ylabel('振幅');title('单位抽样序列x1');subplot(1,2,2);stem(n,x2); xlabel('时间序列n');ylabel('振幅');title('延时了5的单位抽样序列');(2)、单位阶越序列clf;n=0:10;u=[ones(1,11)];stem(n,u);xlabel ('时间序列n');ylabel('振幅');title('单位阶越序列');所得的图形如下所示:(3)正弦函数clf;n=1:30;x=2*sin(pi*n/6+pi/3);stem(n,x); xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列x=2*sin(pi*n/6+pi/3)');(4)、复指数序列clf;n=1:30;x=2*exp(j*3*n);stem(n,x); xlabel ('时间序列n');ylabel('振幅');title('复指数序列x=2*exp(j*3*n)');图形如下:(5)实指数序列clf;n=1:30;x=1.2.^n;stem(n,x); xlabel ('时间序列n');ylabel('振幅');title('指数序列x=1.2.^n');2、使用帮助功能学习square(方波), sawtooth(锯齿波)和sinc 函数,并绘图。

实验一 离散信号的MATLAB实现

实验一  离散信号的MATLAB实现

实验一离散信号的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的白噪声。

电子科大 数字信号处理 实验1_多种离散信号产生

电子科大 数字信号处理 实验1_多种离散信号产生

电 子 科 技 大 学实 验 报 告学生姓名:Shrimp 学 号: 指导教师: yanglian一、实验室名称:数字信号处理实验室 二、实验项目名称:多种离散时间信号的产生 三、实验原理:1、基本离散时间信号利用MATLAB 强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB 函数来构成信号。

常见的基本信号可以简要归纳如下: (1).单位采样序列⎩⎨⎧=01)(n δ0≠=n n在MATLAB 中可以利用zeros()函数实现。

;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n kn(2).单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n在MATLAB 中可以利用ones()函数实现。

);,1(N ones x =(3).正弦序列)2sin()(ϕπ+=fn A n x采用MATLAB 的实现方法,如:)***2sin(*1:0ϕ+=-=n f pi A x N n(4).实指数序列n a A n x ⋅=)(其中,A 、a 为实数。

采用MATLAB 的实现方法,如:na x N n .^1:0=-=(5).复指数序列n j e A n x )(0)(ωσ+⋅=采用MATLAB 的实现方法,如:)*)*exp((*1:00n j A x N n ωσ+=-=为了画出复数信号x [n ],必须要分别画出实部和虚部,或者幅值和相角。

MATLAB 函数real 、imag 、abs 和angle 可以逐次计算出一个复数向量的这些函数。

2、基本数字调制信号(1).二进制振幅键控(2ASK )最简单的数字调制技术是振幅键控(ASK ),即二进制信息信号直接调制模拟载波的振幅。

二进制幅度键控信号的时域表达式:∑-=nc s n ASK t nT t g a t S ωcos )]([)(其中,a n 为要调制的二进制信号,g (t)是单极性脉冲信号的时间波形,Ts 表示调制的信号间隔。

《数字信号处理》实验讲义(信息计算)

《数字信号处理》实验讲义(信息计算)

《数字信号处理》实验指导书实验一 常见离散信号的产生一、实验目的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 实现离散信号的各种运算。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1 常见离散信号产生和实现一、实验目的1、加深对常用离散信号的理解;2、熟悉使用MATLAB 在时域中产生一些基本的离散时间信号。

二、实验原理MATLAB 语言提供了一系列函数用来产生信号,如exp, sin, cos, square, sawtooth ,ones, zeros 等函数。

1. 基本信号序列 1) 单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n 程序:n=-10:20; %生成一个从-10到20的序列u=[zeros(1,10) 1 zeros(1,20)]; %生成一个前10位为0,第十一位为1,后20位为0的矩阵stem(n,u); %画出n 为横轴,u 为纵轴的序列xlabel('Time indexn');ylabel('Amplitude'); %添上x y 轴的标签title('Unit Sample Sequence'); %图表的标签axis([-10 20 0 1.2]); %规定横轴,纵轴的显示范围图形:如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n k n程序:n=-10:20;u=[zeros(1,15) 1 zeros(1,15)];stem(n,u);xlabel('Time indexn');ylabel('Amplitude');title('Unit Sample Sequence');axis([-10 20 0 1.2]);图形:2) 单位阶跃序列⎩⎨⎧01)(n u 00<≥n n 程序:n=-10:20;x=[zeros(1,10),ones(1,21)];stem(n,x);图形:3) 实指数序列 R a n a n x n∈∀=,)(程序:a1=1.1;a2=0.9;a3=-1.1;a4=-0.9;n=[-5:15];x1=(a1.^n);x2=(a2.^n);x3=(a3.^n);x4=(a4.^n); subplot(2,2,1);stem(n,x1,'.k');title('a>1');axis([-5,15,-0.5,5]);subplot(2,2,2);stem(n,x2,'.k');title('0<a<1');axis([-5,15,-0.2,1.2]);subplot(2,2,3);stem(n,x3,'.k');title('a<-1');axis([-5,15,-6,4]);subplot(2,2,4);stem(n,x4,'.k');title('<-1a<0');axis([-5,15,-1,1.2]);图形:4) 复指数序列n e n x nj ∀=+)()(ωσ程序:n=0:10;lu=0.2;w0=pi;x=exp((lu+j*w0)*n);stem(n,x);xlabel('Time indexn');ylabel('Amplitude');title('Unit Sample Sequence'); axis tight图形:5)随机序列程序:x=rand(1,20);stem(x);xlabel('Time indexn');ylabel('Amplitude');title('Unit Sample Sequence');axis tight图形:基本周期波形1)方波程序:t=0:0.1*pi:6*pi; %定义t为从0开始,间距为0.1pi,截止为6pi的序列y=square(t); %由函数生成方波axis([0 7*pi -1.5 1.5]); %规定尺度距离plot(t,y); %画出横轴为t 纵轴为y 的方波函数xlabel(‘时间 t’); % 为x 轴添加标签ylabe l(‘幅度y’); % 为y 轴添加标签axis([0 20 0 2])图形:2) 正弦波)/2sin()(ϕπ+=Fs fn A n x程序:t=0:0.1:15;A=2;x=A*sin(0.7*pi*t+0.5);plot(t,x);xlabel('Time index t');ylabel('Amplitude x');axis([0 2*pi -3 3])title('正弦波')图形:3)锯齿波程序:Fs=10000;t=0:1/Fs:2;x=sawtooth(2*pi*40*t);plot(t,x);xlabel('Time index t');ylabel('Amplitude x');axis([0 0.2 -2 2])title('锯齿波')图形:2.基本非周期波形程序:t=0:1/1000:2;x=chirp(t,0.1,80);plot(t,x);xlabel('Time index t');ylabel('Amplitude x'); specgram(x,256,100,256,250); title('基本非周期波形')图形:3.sinc信号程序:t=linspace(-5,5);x=sinc(t);plot(t,x);xlabel('Time index t');ylabel('Amplitude x');title('sinc信号')图形:4.序列的操作1)信号加x(n)=x1(n)+x2(n)MATLAB实现:x=x1+x2;注意:x1和x2序列应该具有相同的长度,位置对应,才能相加。

2)信号乘x(n)=x1(n)*x2(n)MATLAB实现:x=x1.*x2; %数组乘法程序:w0=pi/20;a=1.05;n1=[-20:20];n2=[-20:20];subplot(2,2,1);stem(n1,sin(w0.*n1),'.k');title('x1(n)');axis([-20,20,-1,3]);subplot(2,2,2);stem(n2,a.^n2,'.k');title('x2(n)');axis([-20,20,-1,3]);n=[min(min(n1),min(n2));max(max(n1),max(n2))];x1=zeros(1,length(n));x2=zeros(1,length(n));x1=sin(w0.*n1);x2=a.^n2;y1=x1+x2;y2=x1.*x2;subplot(2,2,3);stem(n1,y1,'.k');title('y1(n)');axis([-20,20,-1,3]); subplot(2,2,4);stem(n2,y2,'.k');title('y2(n)');axis([-20,20,-1,3]); 图形:3)改变比例y(n)=k*x(n)MATLAB实现:y=k*x;4)折叠y(n)=x(-n);程序:x1=[1,2,3,4,2,3,4,5];y1=x1;y2=fliplr(x1) ;subplot(2,1,2);stem(x1,y1,'.r');title('x(-n)');subplot(2,1,1);stem(x1,y2,'.r');title('x(n)');图形:5) 抽样和 ∑==21)(n n n n x y 程序:N=input('N=')n=1;sum=0;while n<=Nxn=[1,2,3,4;2,3,4,5];sum=sum+xn;n=n+1;end运行结果:N=20Sum=20 40 60 8040 60 80 1006) 抽样积 ∏==21)(n n n n x y程序:a=input('a=');N=input('N=');y=1;n=0;while n<=N-1;xn=a.^n;y=xn*y;n=n+1;end运行结果:a=5 N=30 y=1.1271e+3407) 信号能量2|)(|∑∞-∞==n n x Ex程序:a=input('a='); N=input('N=');sum=0;n=0;while n<=N-1;xn=a.^n ;e=abs (xn ).^2sum=0+e;n=n+1;endE=sum运行结果:a=6 N=20 E=3.7132e+0298)信号功率21|)(|1∑-==NnnxNPxMATLAB实现:Px=sum(abs(x).^2)/ N;三、实验内容绘出信号,当、时、、时的信号实部和虚部图;当时呢?此时信号周期为多少?程序:z=input('z=')n=1:20;x=exp(z*n);stem(n,x)z=-(1/12)+pi/6*i 图形:z=(1/12)+pi/6*I 图形:z =2+ pi/6*i 图形: z=1/12, 图形:z= pi/6*i 图形:周期T=12四.小结复指数序列X(n)=e.^[(a+jw)n]=cos(nw).*[e.^(an)]+jsin(nw).*[e.^(an)]最常用的一种形式X(n)=e.^( jwn)=cos(nw) +jsin(nw)若用极坐标表示,则用幅度和相角复指数序列e.^( jwn) (w=pi/15)幅度特性和相位特性的MA TLAB 实现程序:clcw=pi/15;n=[-15:15];x=exp(j.*w.*n);subplot(2,1,1);stem(n,abs(x),'.k');title('幅度特');axis([-15,15,-0.2,1.5]);subplot(2,1,2);stem(n,angle(x),'.k');title('相位特性');通过本实验的学习基本上掌握了使用MATLAB 在时域中产生一些基本的离散时间信号,使我加 对常用离散信号的理解.(一) 离散信号的产生离散信号的图形显示使用stem 指令。

相关文档
最新文档