数字信号处理实验报告二Word文档下载推荐.docx
- 文档编号:20174299
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:15
- 大小:186.48KB
数字信号处理实验报告二Word文档下载推荐.docx
《数字信号处理实验报告二Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告二Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
2、加深对冲激响应和卷积分析方法的理解。
实验要求
1、在MATLAB中,熟悉利用函数
实现差分方程的仿真;
2、在MATLAB中,熟悉用函数
计算卷积,用
求系统冲激响应的过程。
实验原理
在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下:
其输入、输出关系可用以下差分方程描述:
输入信号分解为冲激信号,
记系统单位冲激响应
,则系统响应为如下的卷积计算式:
当
时,h[n]是有限长度的(n:
[0,M]),称系统为FIR系统;
反之,称系统为IIR系统。
实验仪器
PcMATLAB
实验内容
1、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;
具体分析当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要如何补零?
%ProgramP2_7
clf;
h=[321-210-403];
%impulseresponse
x=[1-23-4321];
%inputsequence
y=conv(h,x);
n=0:
14;
subplot(2,1,1);
stem(n,y);
xlabel('
Timeindexn'
);
ylabel('
Amplitude'
title('
OutputObtainedbyConvolution'
grid;
x1=[xzeros(1,8)];
y1=filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
title('
OutputGeneratedbyFiltering'
2、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
要求分别用filter、conv、impz三种函数完成。
,
给出理论计算结果和程序计算结果并讨论。
实验步骤
及实验数据
程序运行结果:
由图可看出,y与y1并无差别。
使用x[n]补零后的x1来产生y1,是因为存在边界效应,只要脉冲响应采样电部分位于输入信号采样值之外,输出就不确定,如:
x1-23-43212
h30-401-2123241
需变换成如下才能确定输出:
x1-23-4321200000000000
此时n=18。
用conv函数计算能再输入序列后自动补零,而filter函数不能。
分析:
(1)
h=[142321-210-403];
%impulseresponsei=12
x=[1-23-43212];
%inputsequencej=8
17;
x1=[xzeros(1,10)];
%补十个零值
grid
(1)图
(2)
18;
x1=[xzeros(1,11)];
%补11个零值
grid
(2)图
(3)
30;
x1=[xzeros(1,23)];
%补23个零值
(3)图
对照
(1)、
(2)图,当n=18时两图有区别,
(2)图能完全卷积,当补零数少于j-1,就不能完全卷积。
对照
(2)、(3)图可知,不零数可大于j-1,须满足n的长度与补零后x1的长度相等。
h[n]有i个值,x[n]有j个值,以n为x轴,n=0:
N,使用x[n]补零后的x1来产生y1,由上述图可知,要完全卷积,x1至少需补j-1个零值。
其中N>
=(i+j-1)-1,n的长度与补零后x1的长度相等,若x1中补a个零值(a>
=j-1),则N=i+a-1。
理论计算结果:
单位冲激响应:
n012345……
h[n]1-1.751.19-0.670.355-0.18…….
Y[n]1-1.751.19-0.670.355-0.18……
单位阶跃响应:
Y[n]1-0.750.44-0.2340.12-0.06……
Y[n]00.250.250.250.250……
Y[n]00.250.50.7511……
程序计算结果:
I.
a.单位冲激响应:
(1)用filter函数
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:
20;
x1=[1zeros(1,20)];
y1filter=filter(b1,a1,x1);
stem(n,y1filter);
y1filter'
x'
ylabel('
y'
(2)用conv函数
x1=[1zeros(1,10)];
[h]=impz(b1,a1,10);
y1conv=conv(h,x1);
19;
stem(n,y1conv,'
filled'
)
(3)用impz函数
impz(b1,a1,21);
b.单位阶跃响应:
(1)用filter函数
x2=ones(1,21);
y1filter=filter(b1,a1,x2);
y1filter_step'
[h]=impz(b1,a1,20);
y1=conv(h,x2);
y1conv=y1(1:
21);
%为何y1conv要取y1中1:
21的值,解释见
n1=0:
%y2单位阶跃响应用conv函数中注释
stem(n1,y1conv,'
y1conv'
n'
y1[n]'
a=[1,0.75,0.125];
b=1;
impz(b,a)
II.y[n]=0.25(x[n-1]+x[n-2]+x[n-3]+x[n-4])
a2=1;
b2=[00.25*ones(1,4)];
9;
x1=[1zeros(1,9)];
y2filter=filter(b2,a2,x1);
stem(n,y2filter);
y2filter'
x1=[1zeros(1,5)];
[h]=impz(b2,a2,5);
y2conv=conv(h,x1);
stem(n,y2conv,'
impz(b2,a2,10);
y2filter=filter(b2,a2,x2);
y2filter_step'
h=[00.25*ones(1,4)];
y2=conv(h,x2);
y2conv=y2(1:
%当x[n]输入序列为无限时,因为画图需取有
%限个值,题中x2取21个值,h有5个值,卷积
y2conv'
%结果y2有21+5—1=25个值,进行卷积时,
%x2有限个值后与y2对应位置以补零进行计
y[n]'
)%算,而实际这部分值为1,所以,应将y2中对
%应x2补零位置的值去掉。
当x[n]为有限序列
%时,不用如上考虑。
S[n]=y[n]=0.25
+0.5
+0.75
+u[n-4]
源程序:
b=[0,0.25,0.5,0.75,ones(1,17)];
a=1;
impz(b,a,21)
实验总结
指导教师意见
签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验 报告