matlab实现信号与系统中卷积的计算的两种方法
卷積計(jì)算
- 前言
- 一、卷積是什么?
- 二、計(jì)算方法
- 1.符號(hào)運(yùn)算
- 2.數(shù)值運(yùn)算
- 遇到的一些問題和解決方法
- 一些總結(jié)
前言
用matlab也可以實(shí)現(xiàn)的卷積計(jì)算操作,主要有兩種方法,第一種直接用符號(hào)運(yùn)算,第二種就是用數(shù)值運(yùn)算。
一、卷積是什么?
卷積積分是信號(hào)與系統(tǒng)時(shí)域分析中的重要方法之一。連續(xù)信號(hào)的卷積積分定義如下:
MATLAB進(jìn)行卷積計(jì)算可以通過符號(hào)運(yùn)算方法和數(shù)值計(jì)算方法來實(shí)現(xiàn)。
符號(hào)運(yùn)算求解主要是從卷積積分的定義出發(fā),采用積分公式直接計(jì)算,此時(shí)要注意積分變量和積分限的選取。
數(shù)值計(jì)算方法是通過時(shí)間間隔取足夠小的離散時(shí)間信號(hào)的來實(shí)現(xiàn)的。可調(diào)用MATLAB中的conv()函數(shù)近似地?cái)?shù)值求解連續(xù)信號(hào)的卷積積分。如果對(duì)連續(xù)時(shí)間信號(hào)和進(jìn)行等時(shí)間間隔均勻抽樣,則連續(xù)信號(hào)變?yōu)殡x放序列。當(dāng)取樣間隔夠小時(shí),即為連續(xù)時(shí)間信號(hào)和。因此連續(xù)時(shí)間信號(hào)的卷積積分運(yùn)算轉(zhuǎn)換為
采用數(shù)值計(jì)算法,只求當(dāng)t=n▲的卷積積分的值,n為整數(shù),即
實(shí)際上就是離散序列和的卷積和。當(dāng)▲足夠小時(shí),上式就是卷積積分的結(jié)果,即對(duì)連續(xù)時(shí)間信號(hào)的較好數(shù)值近似
當(dāng)取樣間隔足夠夠小時(shí),有
通過 MATLAB實(shí)現(xiàn)連續(xù)信號(hào)和的卷積,可以利用各自抽樣后的離散時(shí)間序列的卷積再乘上抽樣間隔。抽樣間隔越小,誤差也就越小。
二、計(jì)算方法
1.符號(hào)運(yùn)算
其中用heaviside(t)表示階躍函數(shù),subs()是符號(hào)計(jì)算函數(shù),表示將符號(hào)表達(dá)式中的某些符號(hào)變量替換為指定的新的變量,再進(jìn)行積分操作,類似我們用圖示法求解卷積的過程。
syms tao; t=sym('t','positive'); %t是限定符號(hào)變量 xt1=str2sym('heaviside(t)-heaviside(t-2)'); xt2=str2sym('heaviside(t)-heaviside(t-3)+heaviside(t-1)-heaviside(t-2)'); xt_tao=subs(xt1,t,tao)*subs(xt2,t,t-tao); yt=int(xt_tao,tao,0,t); yt=simplify(yt) ezplot(yt,[0,10]),grid on title('符號(hào)運(yùn)算法求解卷積');2.數(shù)值運(yùn)算
conv函數(shù)用于多項(xiàng)式乘法計(jì)算和矩陣卷積,用在離散信號(hào)相乘結(jié)果比較合適,然后再進(jìn)行一些細(xì)節(jié)上的操作和繪圖。
最后一個(gè)是階躍函數(shù)的封裝,matlab中的表示為
y=(t>0)
遇到的一些問題和解決方法
1.sym還是str2sym
在吧heaviside表示為階躍函數(shù)的符號(hào)定義中采用的sym在matlab版本中報(bào)錯(cuò),修改為strtosym可以正常運(yùn)行。
2,Heaviside還是heaviside
根據(jù)報(bào)錯(cuò)信息,修改為小寫即可。
一些總結(jié)
采用了兩種方法來計(jì)算卷積,第一種是比較直觀的符號(hào)計(jì)算法,采用sym定義符號(hào)變量,得到要計(jì)算的兩個(gè)函數(shù)符號(hào)表示,其中階躍函數(shù)采用heaviside來進(jìn)行表示,然后再利用subs操作換元,進(jìn)而進(jìn)行積分計(jì)算,簡(jiǎn)化后得到最終結(jié)果,ezplot繪圖。第二種是更難理解的數(shù)值計(jì)算方法。巧妙利用了conv函數(shù)近似數(shù)值求解連續(xù)信號(hào)的積分。
總結(jié)
以上是生活随笔為你收集整理的matlab实现信号与系统中卷积的计算的两种方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Maven开发笔记(四)—— Maven
- 下一篇: python3学习者的福音