数字信号处理线性常系数差分方程 ( 卷积 与 “ 线性常系数差分方程 “ | 使用 matlab 求解 “ 线性常系数差分方程 “ )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字信号处理线性常系数差分方程 ( 卷积 与 “ 线性常系数差分方程 “ | 使用 matlab 求解 “ 线性常系数差分方程 “ )相关的知识,希望对你有一定的参考价值。
文章目录
一、卷积 与 " 线性常系数差分方程 "
" 线性常系数差分方程 " 不能使用 卷积函数 conv 函数进行求解 , 因为卷积的右侧没有 y ( n ) y(n) y(n) , 卷积公式如下 :
y ( n ) = ∑ m = − ∞ + ∞ x ( m ) h ( n − m ) = x ( n ) ∗ h ( n ) y(n) = \\sum^+\\infty_m = -\\infty x(m) h(n-m) = x(n) * h(n) y(n)=m=−∞∑+∞x(m)h(n−m)=x(n)∗h(n)
而 " 线性常系数差分方程 " 如下 :
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
在 " 线性常系数差分方程 " 公式的右侧比 卷积 公式中 , 多了一个 ∑ i = 1 N a i y ( n − i ) \\sum_i = 1^N a_i y(n - i) ∑i=1Naiy(n−i) 项 , 其中有 y ( n ) y(n) y(n) 序列 , 这样就无法使用 conv 卷积函数求解 " 线性常系数差分方程 " ;
二、使用 matlab 求解 " 线性常系数差分方程 "
matlab 中 , 使用 filter 函数, 求解 " 线性常系数差分方程 " ;
参考文档 :
- filter 函数 : https://ww2.mathworks.cn/help/matlab/ref/filter.html
- filtic 函数 : https://ww2.mathworks.cn/help/signal/ref/filtic.html
filter 函数语法如下 :
yn = filter(B, A, xn, xi)
xi = filtic(B, A, ys, xs)
" 线性常系数差分方程 " 公式如下 :
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
matlab 中的 filter 函数中的参数 与 " 线性常系数差分方程 " 公式项的对应关系 :
① B 参数 : filter 函数中的 B 向量
B = [ b 0 , b 1 , ⋯ , b M ] B = [b_0 , b_1, \\cdots,b_M] B=[b0,b1,⋯,bM]
就是公式中的 b i b_i bi , 注意 i i i 范围是 [ 0 , M ] [0,M] [0,M] ;
② A 参数 : filter 函数中的 A 向量
A = [ a 1 , a 2 , ⋯ , a N ] A = [a_1 , a_2, \\cdots,a_N] A=[a1,a2,⋯,aN]
就是公式中的 a i a_i ai , 注意 i i i 范围是 [ 1 , N ] [1,N] [1,N] ;
③ xn 参数 : 输入序列 对应的 向量 ;
④ xi 参数 : 该参数 与 ys 和 xs 条件有关 , ys 和 xs 是初始条件向量 , 分别是 :
y s = [ y ( − 1 ) , y ( − 2 ) , ⋯ , y ( − N ) ] y_s = [y(-1), y(-2), \\cdots , y(-N)] ys=[y(−1),y(−2),⋯,y(−N)]
x s = [ x ( − 1 ) , x ( − 2 ) , ⋯ , x ( − N ) ] x_s = [x(-1), x(-2), \\cdots , x(-N)] xs=[x(−1),x(−2),⋯,x(−N)]
xi 是通过 filtic 函数 计算出来的 , 需要传入 A , B A , B A,B 向量 , 和 ys 和 xs 条件 ;
以上是关于数字信号处理线性常系数差分方程 ( 卷积 与 “ 线性常系数差分方程 “ | 使用 matlab 求解 “ 线性常系数差分方程 “ )的主要内容,如果未能解决你的问题,请参考以下文章
数字信号处理线性常系数差分方程 ( 线性常系数差分方程 与 边界条件 总结 ) ★★★
数字信号处理线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例 | 根据 “ 线性时不变系统 “ 定义证明 )
数字信号处理线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例 | 使用递推方法证明 )
数字信号处理线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例二 | 修改边界条件 | 使用递推方法证明 )
数字信号处理线性常系数差分方程 ( 使用递推解法求解 “ 线性常系数差分方程 “ | “ 线性常系数差分方程 “ 初始条件的重要性 )
数字信号处理线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )