数字信号处理MATLAB仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 数字信号处理的Matlab 仿真
一、实验目的
1、掌握连续信号及其MA TLAB 实现方法;
2、掌握离散信号及其MA TLAB 实现方法
3、掌握离散信号的基本运算方法,以及MA TLAB 实现
4、了解离散傅里叶变换的MA TLAB 实现
5、了解IIR 数字滤波器设计
6、了解FIR 数字滤波器设计1
二、实验设备
计算机,Matlab 软件
三、实验内容
(一)、 连续信号及其MATLAB 实现
1、 单位冲击信号
()0,0()1,0
t t t dt εεδδε-⎧=≠⎪⎨=∀>⎪⎩⎰ 例1.1:t=1/A=50时,单位脉冲序列的MA TLAB 实现程序如下:
clear all;
t1=-0.5:0.001:0;
A=50;
A1=1/A;
n1=length(t1);
u1=zeros(1,n1);
t2=0:0.001:A1;
t0=0;
u2=A*stepfun(t2,t0);
t3=A1:0.001:1;
n3=length(t3);
u3=zeros(1,n3);
t=[t1 t2 t3];
u=[u1 u2 u3];
plot(t,u)
axis([-0.5 1 0 A+2])
2、 任意函数
()()()f t f t d τδττ+∞
-∞=-⎰
例1.2:用MA TLAB 画出如下表达式的脉冲序列
()0.4(2)0.8(1) 1.2() 1.5(1) 1.0(2)0.7(3)f n n n n n n n δδδδδδ=-+-+++++++
clear all;
t=-2:1:3;
N=length(t);
x=zeros(1,N);
x(1)=0.4;
x(2)=0.8
x(3)=1.2;
x(4)=1.5;
x(5)=1.0;
x(6)=0.7;
stem(t,x);
axis([-2.2 3.2 0 1.7])
3、 单位阶跃函数
1,0()0,0t u t t ⎧≥⎪=⎨<⎪⎩
例1.3:用MA TLAB 实现单位阶跃函数
clear all;
t=-0.5:0.001:1;
t0=0;
u=stepfun(t,t0);
plot(t,u)
axis([-0.5 1 -0.2 1.2])
4、 斜坡函数
0()()g t B t t =-
例1.4:用MA TLAB 实现g(t)=3(t-1)
clear all;
t=0:0.01:3;
B=3;
t0=1;
u=stepfun(t,t0);
n=length(t);
for i=1:n
u(i)=B*u(i)*(t(i)-t0);
end
plot(t,u)
axis([-0.2 3.1 -0.2 6.2])
5、 实指数函数
()at
f t Ae =
例1.5:用MA TLAB 实现0.5()3t f t e =
clear all;
t=0:0.001:3;
A=3;
a=0.5;
u=A*exp(a*t);
plot(t,u)
axis([-0.2 3.1 -0.2 14])
6、 正弦函数
02()cos()t
f t A T πϕ=+
例1.6:用MA TLAB 实现正弦函数f(t)=3cos(10πt+1)
clear all;
t=-0.5:0.001:1;
A=3;
f=5;
fai=1;
u=A*sin(2*pi*f*t+fai);
plot(t,u)
axis([-0.5 1 -3.2 3.2])
(二)、离散信号及其MATLAB 实现
1、 单位冲激序列
1,0()0,0n n n δ⎧=⎪=⎨≠⎪⎩
例2.1:用MA TLAB 产生64点的单位冲激序列
clear all;
N=64;
x=zeros(1,N);
x(1)=1;
xn=0:N-1;
stem(xn,x)
axis([-1 65 0 1.1])
2、 任意序列
()()()m f n f m n m δ∞
=-∞=-∑
例2.2:用MA TLAB 画出如下表达式的脉冲序列
()8.0() 3.4(1) 1.8() 5.6(3) 2.9(4)0.7(5)f n n n n n n n δδδδδδ=+-++-+-+-
clear all;
N=8;
x=zeros(1,N);
x(1)=8.0;
x(2)=3.4
x(3)=1.8;
x(4)=5.6;
x(5)=2.9;
x(6)=0.7;
xn=0:N-1;
stem(xn,x)
axis([-1 8 0 8.2])
3、 单位阶跃序列
1,0()0,0n u n n ⎧≥⎪=⎨<⎪⎩
例2.3:用MA TLAB 实现单位阶跃函数
clear all;
N=32;
x=ones(1,N);
xn=0:N-1;
stem(xn,x)
axis([-1 32 0 1.1])
4、 斜坡序列
0()()g n B n n =-
例2.4:用MA TLAB 实现g(n)=3(n-4)点数为32的斜坡序列
clear all;
N=32;
k=4
B=3;
t0=1;
x=[zeros(1,k) ones(1,N-k)];
for i=1:N
x(i)=B*x(i)*(i-k);
end
xn=0:N-1;
stem(xn,x)
axis([-1 32 0 90])
5、 正弦序列
()sin(2)x n A fn πϕ=+