数字信号处理线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字信号处理线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )相关的知识,希望对你有一定的参考价值。
文章目录
一、使用 matlab 求解 “ 线性常系数差分方程 “ 示例
描述 某个 " 线性时不变系统 " 的 " 线性常系数差分方程 " 如下 :
y ( n ) = 1.5 x ( n ) + 0.7 y ( n − 1 ) y(n) = 1.5x(n) + 0.7y(n-1) y(n)=1.5x(n)+0.7y(n−1)
输入序列 :
x ( n ) = δ ( n ) x(n) = \\delta (n) x(n)=δ(n)
边界条件 / 初始条件 :
y ( − 1 ) = 1 y(-1) = 1 y(−1)=1
求该 LTI 系统的 输出序列 ;
线性常系数差分方程 公式 :
y ( n ) = ∑ i = 0 M b i x ( n − i ) − ∑ i = 1 N a i y ( n − i ) n ≥ M y(n) = \\sum_i = 0^M b_i x(n - i) - \\sum_i = 1^N a_i y(n - i) \\ \\ \\ \\ \\ \\ \\ n \\geq M y(n)=i=0∑Mbix(n−i)−i=1∑Naiy(n−i) n≥M
1、B 向量元素 : x(n) 参数
讨论 B B B 向量 , B B B 向量是 x ( n ) x(n) x(n) 的参数 , 有几个 x ( n ) x(n) x(n) 项 , B B B 向量 就有几个元素 ;
上式中 M = 0 M = 0 M=0 , x ( n ) x(n) x(n) 的项只有 1 1 1 项 , ∑ i = 0 M b i x ( n − i ) \\sum_i = 0^M b_i x(n - i) ∑i=0Mbix(n−i) 只有一项 , 加和式只有一项 , 因此对应的 B B B 向量 , 只有 1 1 1 个元素 ;
B = [1.5];
2、A 向量元素 : y(n) 参数
下面讨论 A A A 向量 , A A A 向量是 y ( n ) y(n) y(n) 的参数 , 有几个 y ( n ) y(n) y(n) 项 , A A A 向量 就有几个元素 ;
线性常系数差分方程 :
y ( n ) = 1.5 x ( n ) + 0.7 y ( n − 1 ) y(n) = 1.5x(n) + 0.7y(n-1) y(n)=1.5x(n)+0.7y(n−1)
将 0.7 y ( n − 1 ) 0.7y(n-1) 0.7y(n−1) 移到左边 , 得到 :
y ( n ) − 0.7 y ( n − 1 ) = 1.5 x ( n ) y(n) - 0.7y(n-1) = 1.5x(n) y(n)−0.7y(n−1)=1.5x(n)
这里有 2 2 2 个 y ( n ) y(n) y(n) 项 , A A A 向量的元素有两个 , 1 , − 0.7 1 , -0.7 1,−0.7 ;
A = [1, -0.7];
3、输入序列
输入序列 :
x ( n ) = δ ( n ) x(n) = \\delta (n) x(n)=δ(n)
输入序列 的元素个数 , 等于 输出序列 的元素个数 ;
n = 0 n = 0 n=0 时 , x ( n ) = 1 x(n) = 1 x(n)=1 , 然后再次生成 30 30 30 个 0 0 0 元素 , 放到 输入序列 中 ;
输入序列为 1 , 0 , 0 , ⋯ , 0 ⏟ 30 个 0 \\ 1, \\underbrace 0 , 0 , \\cdots , 0_30 个 0 \\ 1,30个0 0,0,⋯,0 , 共 31 31 31 个元素 ;
对应的 matlab 代码为
xn=[1,zeros(1,30)];
4、matlab 代码
matlab 代码 :
% 边界条件 y(-1) = 1 , 这里设置 ys = 1
ys = 1;
% 输入序列 为 单位脉冲序列
xn=[1,zeros(1,30)];
% 线性常系数差分方程 中的 x(n) 项系数
B=1.5;
% 线性常系数差分方程 中的 y(n) 项系数
A=[1, -0.7];
% 等效 初始条件 的 输入序列 xi
xi=filtic(B,A,ys);
% 输出序列
yn=filter(B,A,xn,xi);
%建立幕布
figure;
%绘制 "输出序列" 图像 , 点用上三角表示
plot(yn, '^');
% 打开网格
grid on;
绘图效果 :
以上是关于数字信号处理线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )的主要内容,如果未能解决你的问题,请参考以下文章
数字信号处理线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例 | 使用递推方法证明 )
数字信号处理线性常系数差分方程 ( “ 线性常系数差分方程 “ 与 “ 线性时不变系统 “ 关联 | 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 线性时不变系统方法 )
数字信号处理线性常系数差分方程 ( 线性常系数差分方程 与 边界条件 总结 ) ★★★
数字信号处理线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例二 | 修改边界条件 | 使用递推方法证明 )
数字信号处理线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )
数字信号处理线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例 | 根据 “ 线性时不变系统 “ 定义证明 )