【数字信号处理】线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )
文章目錄
- 一、使用 matlab 求解 “ 線性常系數差分方程 “ 示例
- 1、B 向量元素 : x(n) 參數
- 2、A 向量元素 : y(n) 參數
- 3、輸入序列
- 4、matlab 代碼
一、使用 matlab 求解 “ 線性常系數差分方程 “ 示例
描述 某個 " 線性時不變系統 " 的 " 線性常系數差分方程 " 如下 :
y(n)=1.5x(n)+0.7y(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)=1y(-1) = 1y(?1)=1
求該 LTI 系統的 輸出序列 ;
線性常系數差分方程 公式 :
y(n)=∑i=0Mbix(n?i)?∑i=1Naiy(n?i)n≥My(n) = \sum_{i = 0}^M b_i x(n - i) - \sum_{i = 1}^N a_i y(n - i) \ \ \ \ \ \ \ n \geq My(n)=i=0∑M?bi?x(n?i)?i=1∑N?ai?y(n?i)???????n≥M
1、B 向量元素 : x(n) 參數
討論 BBB 向量 , BBB 向量是 x(n)x(n)x(n) 的參數 , 有幾個 x(n)x(n)x(n) 項 , BBB 向量 就有幾個元素 ;
上式中 M=0M = 0M=0 , x(n)x(n)x(n) 的項只有 111 項 , ∑i=0Mbix(n?i)\sum_{i = 0}^M b_i x(n - i)∑i=0M?bi?x(n?i) 只有一項 , 加和式只有一項 , 因此對應的 BBB 向量 , 只有 111 個元素 ;
B = [1.5];2、A 向量元素 : y(n) 參數
下面討論 AAA 向量 , AAA 向量是 y(n)y(n)y(n) 的參數 , 有幾個 y(n)y(n)y(n) 項 , AAA 向量 就有幾個元素 ;
線性常系數差分方程 :
y(n)=1.5x(n)+0.7y(n?1)y(n) = 1.5x(n) + 0.7y(n-1)y(n)=1.5x(n)+0.7y(n?1)
將 0.7y(n?1)0.7y(n-1)0.7y(n?1) 移到左邊 , 得到 :
y(n)?0.7y(n?1)=1.5x(n)y(n) - 0.7y(n-1) = 1.5x(n)y(n)?0.7y(n?1)=1.5x(n)
這里有 222 個 y(n)y(n)y(n) 項 , AAA 向量的元素有兩個 , 1,?0.71 , -0.71,?0.7 ;
A = [1, -0.7];3、輸入序列
輸入序列 :
x(n)=δ(n)x(n) = \delta (n)x(n)=δ(n)
輸入序列 的元素個數 , 等于 輸出序列 的元素個數 ;
n=0n = 0n=0 時 , x(n)=1x(n) = 1x(n)=1 , 然后再次生成 303030 個 000 元素 , 放到 輸入序列 中 ;
輸入序列為 {1,0,0,?,0?30個0}\{ 1, \underbrace {0 , 0 , \cdots , 0}_{30 個 0} \}{1,30個00,0,?,0??} , 共 313131 個元素 ;
對應的 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 代码 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数字信号处理】线性常系数差分方程 (
- 下一篇: 【数字信号处理】相关系数 ( 相关系数概