filtic函數 matlab_matlab filtic 函數應用 filter 解差分方程 dft 函數

matlab ?filtic 函數應用 filter 解差分方程 dft 函數

一、 解差分方程

說明都在代碼注釋里面了

%這里要利用filtic函數 為濾波器的直接II型實現選擇初始條件

%求解查分方程 y(n) - 0.4y(n-1) - 0.45y(n-2) = 0.45x(n) +0.4x(n-1) - x(n-2)

%y(-1) = 0 y(-2) = 1 x(-1) = 1 x(-2) = 2

%x(n) = 0.8 ^u(n) 狀態方程H(z) = (0.45 + 0.4z^-1 - z^-2)/(1- 0.4z^-1-0.45z^-2)

% x 為濾波前序列 y 為輸出 序列

% 總結一下 首先把num 和den 寫出來

num = [ 0.45 0.4 -1];

den = [1 -0.4 -0.45]

% 其次把初始條件寫來

x0 = [1 2] ;

y0= [0 1];

N = 50 ;

n = [1 :N-1]';

x = 0.8.^n;

%生成初始條件

Zi = filtic(num, den , y0 , x0);

[y , Zf] = filter(num , den ,x, Zi);

plot(n , x ,'R-', n, y, 'b--');

xlabel('n'); ylabel('(n)--y(n)');

legend('Input x' , 'Output y', 1);

grid;運行結果:

c3506004a94b478e0d9c9fe0c51e6aef.png

二、和上面類似簡單的解差分方程

%這里要借助filter 和filtic 解差分方程

%假設輸入信號為 x = 0.8.^n;

%求輸出序列

%差分方程y(n) = x(n) - 5x(n-1)+ 8x(n-3)

num = [1 -5 0 8];

N = 30 ;

n =[0: N-1] ;

x = 0.8.^n;

y = filter(num , 1, x);

stem(n, y) ;

title('Response');

grid

運行結果:

90c471491f70f237c46d9804f830c832.png

三、dft 函數

%這里寫出一個dft函數

% Xk = DFT[xn] = 公式

% 總結一下dft 寫法首先確定xn N WN = exp(-j*2*pi/N)

%其次 確定nk = n'* k 再確定WNnk Xk = xn*WNnk

function [Xk] = dft(xn, N)

n = [0 :1 : N-1];

k = n ;

WN = exp(-j*2*pi/N);

nk = n'*k;

WNnk = WN.^nk;

Xk = xn*WNnk;

end

四、dft 應用

% x(n) = cos(0.48*pi*n) + cos(0.52*pi*n)

%繪制x(n) Xk(k) dft 變換

clf;

N = 100;

n = 0: N-1;

xn = cos(0.48*pi*n) + cos(0.52*pi*n);

Xk = dft(xn,N);

%幅度值 相位值

magXk = abs(Xk);

phaXk = angle(Xk);

% 原函數圖像

subplot(221);

plot(n,xn);

xlabel('n'); ylabel('x(n)');

title('xn');

%幅度頻率特性

subplot(222);

k = 0:length(magXk) - 1;

plot(k, magXk);

xlabel('k');

ylabel('abs(Xk)');

title('Xk');

運行結果:

d06187db873982b0c90aa3fa941af355.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530330.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530330.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530330.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

rabbitmq進階一

上一篇文章有講到rabbitmq的安裝、web管理端和springboot簡單集成rabbitmq 本文重點介紹rabbitmq相關api的使用 按照官網常用的五種模式的順序:HelloWorld、Work queues、Publish/Subscribe、Routing、Topics 模式簡單介紹 HelloWorld 一個生產者,一…

mysql 相關搜索_MySQL單詞搜索相關度排名

一個單詞搜索的相關度排名,這個例子演示了一個單詞搜索的相關度排名計算。mysql> CREATE TABLE articles (-> id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,-> title VARCHAR(200),-> body TEXT,-> FULLTEXT (title,body)-> ) ENGINEInnoDB;Query O…

IDEA使用總結

idea中使用tomcat IntelliJ IDEA配置Tomcat(完整版圖文教程)_猿Bug的博客-CSDN博客_intellij tomcat配置 用上面的方式發現缺少文件,在edit configuration頁面選擇before lanuch前選擇Run maven goal package

mysql一直copying to tmp table_mysql提示Copying to tmp table on disk

網站運行的慢了,查找原因是Copying to tmp table on disk那怎么解決這個問題呢解決一例最近常常碰到網站慢的情況,登陸到后臺,查詢一下 /opt/mysql/bin/mysqladmin processlist;發現一個查詢狀態為: Copying to tmp table 而且此查…

idea cloud bootstrap是啥_application.yml與bootstrap.yml的區別

Spring Boot 默認支持 properties(.properties) 和 YAML(.yml .yaml ) 兩種格式的配置文件,yml 和 properties 文件都屬于配置文件,功能一樣。Spring Cloud 構建于 Spring Boot 之上,在 Spring Boot 中有兩種上下文,一種是 bootst…

python讀取日期_從文件中讀取日期和數據(Python)

我想從文件中讀取時間字符串和數據,但是當我使用loadtxt時,我不能同時讀取字符串和數字,因為字符串不是浮點型的。所以我嘗試使用genfromtxt并使用delimiter[][][]作為我所擁有的列,但是字符串的讀起來像nan。我希望像時間數組(da…

一個小白如何創建MYSQL數據表_MySQL小白掃盲(二)--建表、添加、查詢

1.SELECT子句字句名稱          使用目的select           確定結果集中應該包含哪些列from           指明所要提取數據的表,以及這些表示如何連接的where           過濾掉不需要的數據group by         用于…

元數據解決分表不可 mysql_MySQL InnoDB技術內幕:內存管理、事務和鎖

前面有多篇文章介紹過MySQL InnoDB的相關知識,今天我們要更深入一些,看看它們的內部原理和機制是如何實現的。一、內存管理我們知道,MySQl是一個存儲系統,數據最后都寫在磁盤上。我們以前也提到過,磁盤的速度特別是大容…

navicat for mysql 13_Navicat for MySQL下載

Navicat for MySQL 是一套管理和開發 MySQL 或 MariaDB 的理想解決方案。它使你以單一程序同時連接到 MySQL 和 MariaDB。這個功能齊備的前端軟件為數據庫管理、開發和維護提供了直觀而強大的圖形界面。它提供了一組全面的工具給 MySQL 或MariaDB 新手,同時給專業人…

mysql 日期型中文報錯_mysql日期類型默認值'0000-00-00' 報錯,是什么問題?

如題,本來是 從另一個數據庫中導出的sql文件,在我電腦上導入報這個錯誤,不知道是不是mysql 版本問題。多方搜索無果,所以上來求助。DROP TABLE IF EXISTS workreport_member;CREATE TABLE workreport_member (uid int(10) unsigne…

python在線作業_南開大學20春學期《Python編程基礎》在線作業參考答案

南開大學20春學期(1709、1803、1809、1903、1909、2003)《Python編程基礎》在線作業試卷總分:100 得分:98一、單選題(共20 道試題,共40 分)1.已知“stra\rb\r\nc\n”,則“str.splitlines()”的返回結果是( )。A.[a,b,c]B.[a\r,b\r\n,c\n]C.[a\r,b\r,c]D.[a\r,b,c]答案:A2.已知“…

spring兼容mysql_springboot 最新版本支持 mysql6.0.6嗎

縹緲止盈1.首先在pom文件中加入下列依賴,一個使用jpa所需依賴,一個連接MySQL使用的依賴:mysqlmysql-connector-javaorg.springframework.bootspring-boot-starter-data-jpa 123456789102.在配置文件中添加datasource配置和jpa配置,在mysql中已經提前創建了一個名為db_test的數據…

java集合map_JAVA中的集合類Map、Set、List

*精煉的總結:Collection 是對象集合, Collection 有兩個子接口 List 和 SetList 可以通過下標 (1,2..) 來取得值,值可以重復而 Set 只能通過游標來取值,并且值是不能重復的ArrayList , Vector , LinkedList…

java虛擬機內存監控_java虛擬機內存監控工具jps,jinfo,Jstack,jstat,jmap,jhat使用...

將會打印出很多jvm運行時參數信息,由于比較長這里不再打印出來,可以自己試試,內容一目了然Jstack(Stack Trace for Java):JVM堆棧跟蹤工具jstack用于打印出給定的java進程ID或core file或遠程調試服務的Java堆棧信息,如…

idea 調試java技巧_IDEA 調試Java代碼的兩個技巧

本文介紹兩個使用IDEA 調試Java代碼的兩個技巧:修改變量值使用RuntimeException終止代碼執行修改變量值在Java代碼調試過程中,我們可以修改變量值,使其達到走指定分支的目的,或者使其滿足某個條件。我們以給變量beanName賦值為例&…

java 10進制轉 000x_java 如何把 00 轉換成 0x00 或者 10 轉換成 0x10

public static void main(String[] args) {String s "00000018A0010098C68E00989A690000000000BC614E000055AA55AA";System.out.println(s);byte[] b HexString2Bytes(s);System.out.println(Bytes2HexString(b));}/*** 將指定byte數組以16進制的形式打印到控制臺*…

java免檢異常_java-異常

java提供了異常處理機制:程序運行受阻時候的處理方式。1、異常分類Error:系統錯誤,由java虛擬機拋出,很少發生;免檢異常RuntimeException:程序設計錯誤,通常由java虛擬機拋出;免檢異…

java編程需要數學知識嗎_初學Java編程,需要英語和數學基礎嗎?

原標題:初學Java編程,需要英語和數學基礎嗎?“學習Java編程英語和數學是必備條件嗎?”很多Java零基礎學習或者轉型IT行業的都會有這樣的疑問,其實剛開始學習Java編程是不需要太高深的數學和英語基礎的。剛開始學習Java…

java map put報錯_java 集合(Map)

-------------------|Map 儲存的數據都是以鍵值對的形式,鍵不可重復,值可重復。----------------------------| HashMap----------------------------| TreeMap----------------------------| HashTableMap接口的方法:添加:put(K…

java簡單數據結構_圖解Java常用數據結構

最近在整理數據結構方面的知識, 系統化看了下 Java 中常用數據結構, 突發奇想用動畫來繪制數據流轉過程.主要基于 jdk8, 可能會有些特性與 jdk7 之前不相同, 例如 LinkedList LinkedHashMap 中的雙向列表不再是回環的.HashMap 中的單鏈表是尾插, 而不是頭插入等等, 后文不再贅敘…