离散系统的时域分析【数字信号处理二】

一、以下程序中分别使用 conv 和 filter 函数计算 h 和 x 的卷积 y 和 y1,运行程序,并分析 y 和 y1 是否有差别,为什么要使用 x[n]补零后的 x1 来产生 y1;具体分析当 h[n]有 i 个值,x[n]有 j 个值,使用 filter 完成卷积功能,需要如何补零?

% Program P2_7 
clf;
h = [3 2 1 -2 1 0 -4 0 3]; %impulse response
x = [1 -2 3 -4 3 2 1]; %input sequence
y = conv(h,x);
n = 0:14; 
subplot(2,1,1); 
stem(n,y); 
xlabel('Time index n');
ylabel('Amplitude'); 
title('Output Obtained by Convolution'); 
grid;
x1 = [x zeros(1,8)]; 
y1 = filter(h,1,x1);
subplot(2,1,2); 
stem(n,y1);
xlabel('Time index n');
ylabel('Amplitude'); 
title('Output Generated by Filtering'); 
grid; 

答:y和y1没有区别,补零是因为filter的输出长度为x[n]的长度,conv卷积的长度为i+j-1,因此要使用filter 完成卷积功能时需要将x[n] 的长度补到i+j-1,即补j-1个0。

二、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分别用 filter、 conv、impz 三种函数完成。给出理论计算结果和程序计算结果并讨论。

在这里插入图片描述

2.1 第一个系统

num=[1,-1];
den=[1,0.75,0.125];
len1=15;
n=0:len1;
n1=0:2*len1;

xn=[1,zeros(1,15)];
yn=ones(1,16);
hn1=filter(num,den,xn);
sn1=filter(num,den,yn);
subplot(2,3,1
  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字信号处理实验离散系统时域分析主要包括以下内容: 1. 离散时间系统的差分方程表示法 2. 冲激响应和卷积分析方法 3. 求解离散时间系统单位脉冲响应及任意输入序列引起的响应 4. 用MATLAB语言进行离散时间系统研究的基本方法 具体来说,离散时间系统的差分方程表示法是指将离散时间系统的输入和输出之间的关系用差分方程表示出来。冲激响应和卷积分析方法是指通过单位冲激响应和卷积运算来求解离散时间系统的响应。求解离散时间系统单位脉冲响应及任意输入序列引起的响应是指通过差分方程和卷积运算来求解离散时间系统的响应。用MATLAB语言进行离散时间系统研究的基本方法是指通过编写MATLAB程序来实现离散时间系统的分析和设计。 下面是一个例子,演示如何用MATLAB语言进行离散时间系统的时域分析: ```matlab % 离散时间系统的差分方程表示法 % y[n]+0.75y[n-1]+0.125y[n-2]=x[n]+x[n-1] % 求解该系统的单位脉冲响应和阶跃响应 % 求解单位脉冲响应 b = [1]; % 分子系数 a = [1, -0.75, -0.125]; % 分母系数 impulse_response = impz(b, a); % 求解单位脉冲响应 stem(impulse_response); % 绘制单位脉冲响应图形 title('Impulse Response'); % 求解阶跃响应 step_response = filter(b, a, ones(1, length(impulse_response))); % 求解阶跃响应 stem(step_response); % 绘制阶跃响应图形 title('Step Response'); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值