实验1 常见离散时间
信号的MATLAB产生和图形显示
一. 实验目的
加深对常用离散信号的理解;掌握用MATLAB实现常用离散时间信号的方法。
二. 实验原理
1.单位抽样序列
(n)
1 0
n 0
n 0
x zeros(1,N);
x(1) 1;
在MATLAB中可以利用zeros()函数实现,
如果 (n)在时间轴上延迟了k个单位,得到 (n k)即:
1n k
(n k)
0n 0
2.单位阶跃序列
n 0 1
u(n)
n 0 0
在MATLAB中可以利用ones()函数实现,x
3.正弦序列
ones(1,N);
x(n) Asin(2 f0n/fS )
在MATLAB中 x A*sin(2*pi*f0*n/fs fai),n 0:N 1 4.复正弦序列
x(n) ej n
在MATLAB中 x exp(j*w*n),n 0:N 1
5.指数序列
x(n) an
在MATLAB中 x a.^n,n 0:N 1
三. 实验内容
编制程序产生上述5种信号(长度可输入确定),并绘出其图形。
四. 实验程序与结果分析
1. 单位抽样序列
clear all; close all; clc;
x=zeros(1,25); x(1)=1;
stem(0:24,x); xlabel('n'); ylabel('fudu'); grid on;
fudu
n
2. 单位阶跃序列
clear all; close all; clc; N=25;
x=ones(1,N); stem(0:24,x); xlabel('n'); ylabel('幅度'); grid on;
幅度
5
10
n
15
20
25
3. 正弦序列
clear all; close all; clc;
f0=input('please input f0:') fs=input('please input fs:') A=input('please input A:') fai=pi/3; n=0:99;
x=A*sin(2*pi*f0*n/fs+fai); stem(x)
(1)f0=10Hz fs=30Hz;
10.8
0.60.40.20-0.2-0.4-0.6-0.8-10
10
20
30
40
50
60
70
80
90
100
(2) A=1,f0=10Hz fs=50Hz;
(3A=1,)f0=10Hz fs=100Hz;
10.80.60.40.20-0.2-0.4-0.6-0.8-1
(4)A=1,f0=10Hz fs=1000Hz;
改变发f0和fs,由w=2*pi*f0/fs的序列的数字角频率发生变化,这里f0/fs均为有理数,所以所得序列是周期的,随着w的变化,序列的周期也在变化。同时随着采样频率的增大,采样点数N也在增加,使得原信号的包络更为明显
4.复正弦序列
clear all; close all; clc; w=314; n=0:99;
x=exp(j*w*n); stem(x)
5. 指数序列
clear all; close all; clc; a=1.5; n=0:24; x=a.^n; stem(x)