91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解數(shù)字信號處理之卷積運算

FPGA開源工作室 ? 來源:CSDN技術(shù)社區(qū) ? 作者:大熊背 ? 2021-05-02 09:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.數(shù)字信號處理原理

線性系統(tǒng)中,信號只能以乘以一個常數(shù)之后再相加的方式進(jìn)行組合。例如,一個信號不能直接乘以另外一個信號。如下圖所示,根據(jù)給出三個信號:x0[n],x1[n],x2[n]相加得到最終的信號x[n]。通過相乘和相加的形式進(jìn)行信號的組合被稱為信號的合成。

與信號合成相反的步驟,叫做信號的分解。即把原始信號分解為兩個或多個信號相加。信號的分解要比信號合成要復(fù)雜些。試想,假設(shè)我們把15和25相加,那么我們只能得到40,;相反,如果我們把40分解成兩個或多個數(shù)字的相加,那么這種分解會有無數(shù)種形式,比如1+39,2+38,-30.5+60+10.5。

8c6f643a-9d17-11eb-8b86-12bb97331649.png

圖1

數(shù)字信號處理中,最為關(guān)鍵的步驟是信號的疊加。假設(shè)有如下圖的輸入信號x[n],經(jīng)過一個線性系統(tǒng)之后,輸出信號為y[n]。輸入信號可以分解為多個更為簡單的信號:x1[n],x2[n],x3[n],這些被稱為輸入信號分量。之后把各個輸入信號分量單獨的輸入到線性系統(tǒng)中,產(chǎn)生與之對應(yīng)的輸出信號分量:y1[n],y2[n],y3[n]。原始的輸入信號經(jīng)過線性系統(tǒng)之后,得到的輸出信號y[n]即為各個輸出信號分量的合成。線性系統(tǒng)中,通過這種方式獲得的輸出信號和原始信號直接通過系統(tǒng)得到的輸出結(jié)果是一樣的。正因為如此,任何復(fù)雜的數(shù)字信號,我們應(yīng)該把它分解為更為簡單的輸入信號分量,經(jīng)過線性系統(tǒng)后把輸出信號分量進(jìn)行合成即為最終的輸出信號。但是,如果分解的輸入信號不夠簡單,那么這樣與分解之前的效果是一樣的,需要復(fù)雜的計算。

假設(shè)你需要計算2014乘以4的結(jié)果,我們可以這樣進(jìn)行計算:把2014分解為2000+10+4,分解的系數(shù)分別乘以4再相加即為最終的輸出結(jié)果。這種方法比直接把兩個數(shù)相乘要簡單得多。

8ca07b60-9d17-11eb-8b86-12bb97331649.png

圖2

2.卷積

脈沖分解

脈沖分解是卷積的基礎(chǔ)。如下圖所示,N個采樣信號經(jīng)過脈沖分解之后,形成N個信號分量,每個信號分量只包含原始信號的某一個采樣點信號,而其他采樣點的值為0。假若某個信號只有一個非零點,其他各點數(shù)值均為0,那么這個信號被稱為脈沖信號。

8d0eb062-9d17-11eb-8b86-12bb97331649.png

圖3

脈沖函數(shù)

Delta函數(shù)用希臘字母表示為o[n]。delta 函數(shù)是一個歸一化的脈沖信號,即在采樣點零點位置其值為1,其他采樣點位置各點數(shù)值均為0。

脈沖反應(yīng)

當(dāng)線性系統(tǒng)中輸入信號為delta函數(shù)時,其輸出的信號稱為脈沖反應(yīng)。如下圖所示。如果兩個不同的線性系統(tǒng),當(dāng)輸入信號均為delta函數(shù)時,其輸出分脈沖反應(yīng)也是不同的。就像離散數(shù)字信號中,用x[n]、y[n]分別表示輸入信號和輸出信號,脈沖反應(yīng)使用h[n]表示。當(dāng)然,你也可以使用其他的符號表示,比如f[n]等。

任何脈沖信號都可以看作是脈沖函數(shù)的平移和縮放。例如,假設(shè)信號a[n]只在采樣點8的位置有輸入,且其輸入值為-3,這就相當(dāng)于把delta函數(shù)平移到8的位置,在乘以-3.用公式表示為:a[n] = -3 o[n-8]。假如delta函數(shù)的脈沖反應(yīng)為h[n],那么a[n]的脈沖反應(yīng)為-3h[n-8]。

卷積就像數(shù)學(xué)的加減乘除一樣,是一種形式化的數(shù)學(xué)運算。數(shù)學(xué)運算中輸入兩個數(shù)得到第三個數(shù),卷積則是輸入兩個信號產(chǎn)生第三個信號。卷積被廣泛應(yīng)用于統(tǒng)計和概率中。在線性系統(tǒng)中,卷積描述的是輸入信號,脈沖反應(yīng)和輸出信號三者之間的關(guān)系。

8d17b720-9d17-11eb-8b86-12bb97331649.png

圖4

上圖描述的是卷積應(yīng)用于線性系統(tǒng)的示意圖。輸入信號x[n]進(jìn)入有脈沖反應(yīng)h[n]的線性系統(tǒng),產(chǎn)生輸出信號y[n]。用公式表示為:x[n]*h[n] = y[n]。

3.卷積運算

卷積可以從輸入信號的角度理解:輸入信號的每一個采樣點是如何貢獻(xiàn)于多個輸出信號采樣點,即每一個輸入信號分量進(jìn)入線性系統(tǒng)之后,都將產(chǎn)生多個平移和縮放版本的脈沖反應(yīng),輸出結(jié)果即為每個信號分量對應(yīng)的平移和縮放版的脈沖反應(yīng)進(jìn)行合成;從輸出信號的角度理解:每一個輸出信號的采樣點是如何從眾多輸入信號采樣點獲取信息。即對于每一個輸出信號,都將由多個輸入信號貢獻(xiàn)其脈沖響應(yīng),輸出結(jié)果即為對應(yīng)脈沖響應(yīng)的線性加權(quán)。

這兩個理解只是對卷積運算的不同角度的理解,其結(jié)果都是一樣的。

從輸入信號的角度理解

8d2695c4-9d17-11eb-8b86-12bb97331649.png

圖5

上圖是一個簡單的卷積計算。輸入信號x[n]有九個點,輸入一個有四個脈沖反應(yīng)h[n]的線性系統(tǒng)中,得到9+4-1輸出信號y[n]。用數(shù)學(xué)術(shù)語表示為:x[n]卷積h[n]輸出結(jié)果y[n]。以第一種角度理解卷積:分解輸入信號,把輸入信號分量通過線性系統(tǒng),然后把每一個輸出分量進(jìn)行合成。在這個例子中,輸入信號的每一個采樣點都將產(chǎn)生一個平移和縮放版的脈沖反應(yīng),輸出信號即把這些平移和縮放版的脈沖反應(yīng)疊加生成最終的輸出信號y[n]。其具體的計算過程如下圖所示:

8d353750-9d17-11eb-8b86-12bb97331649.png

圖6

圖6:輸入信號中的每一個分量都將產(chǎn)生一個平移和縮放版的脈沖反應(yīng)。即用方形所表示的脈沖反應(yīng)結(jié)果。除了方形之外的所有點起數(shù)值均為0.

假設(shè)我們從輸入信號的第四個采樣點x[4]開始。這個采樣點的下標(biāo)為4,其值為1.4。當(dāng)輸入信號分解之后,這個采樣點可以用脈沖函數(shù)表示為:1.4 o[n-4]。經(jīng)過線性系統(tǒng)之后,該采樣點所對應(yīng)的輸出信號分量為1.4h[n-4]。如上圖中間位置圖像所示。注意到輸出信號分量脈沖反應(yīng)乘以1.4,并把采樣點右移到下表為四的采樣點。0-3,8-11各點數(shù)值均為0.

上圖中方塊形狀表示的即為平移和縮放的脈沖反應(yīng)數(shù)值,鉆石形狀的點其值為0.

當(dāng)輸入信號是四個采樣,經(jīng)過有九個點的脈沖反應(yīng)線性系統(tǒng),其輸出的結(jié)果與上圖所示的方法結(jié)果相同。

8d6733c2-9d17-11eb-8b86-12bb97331649.png

圖7

8d9503ba-9d17-11eb-8b86-12bb97331649.png

圖8

上述兩種計算方法結(jié)果相同,揭示了卷積的一個重要性質(zhì):卷積的交換律。即a[n]*b[n]=b[n]*a[n]。即卷積并不關(guān)心哪個信號是輸入信號哪個信號是脈沖反應(yīng)。

假設(shè)輸入信號為{1,2,3,4,1,2,3,4,5};脈沖反應(yīng)為:{2,3,1,4};則卷積計算過程相當(dāng)于如下所示,每一個輸入信號分量分解為單個脈沖函數(shù),經(jīng)過四個點的h[n]線性系統(tǒng)之后,其輸出結(jié)果即為h[n]+2*h[n-1]+3*h[n-2]+4*h[n-3]+ h[n-4]+2*h[n-1-5]+3*h[n-6]+4*h[n-7]+5h[n-8]。

8d9f89de-9d17-11eb-8b86-12bb97331649.png

圖9

8e1b01cc-9d17-11eb-8b86-12bb97331649.png

圖10

從輸入信號角度理解卷積代碼示例:

#include《math.h》#include《stdio.h》#include《stdlib.h》 int main(){ int InputSignal[9] = {1,2,3,4,1,2,3,4,5}; int ImpulseCorres[4] = {2,3,1,4}; int OutPut[12] = {0}; int i,j; //input view for(i = 0;i 《 9;i++) { for(j = 0;j 《 4;j++) OutPut[i+j] = OutPut[i+j]+InputSignal[i]*ImpulseCorres[j]; } for(i = 0;i 《 12;i++) { printf(“%d ”,OutPut[i]); } return 0;}

從輸出信號的角度理解

從輸出信號角度理解卷積,分析的是每一個輸入信號的采樣點是如何影響眾多輸出信號的采樣點。而從輸出角度理解卷積,分析的是輸出信號的每一個采樣點是由哪些輸入信號影響的。這種方式對數(shù)學(xué)角度和實踐應(yīng)用角度理解卷積都相當(dāng)有作用。用公式表示即為:y[n]=其他變量的組合。換句話說,輸出信號采樣點n等于眾多輸入信號和脈沖反應(yīng)的線性組合。

從如圖6可以看出,單個輸出信號是如何受到眾多輸入型號的影響的。假設(shè)我們以y[6]為例,在圖6中找到在n=6的位置,九個輸入信號中有哪些數(shù)值為非零的采樣點作用于該位置。由圖可以看出五個輸入信號在n = 6的位置其數(shù)值為0,只有四格輸入信號作用于n = 6的時候其數(shù)值不為零。分別是x[3],x[4],x[5],x[6]。y[6]的最終結(jié)果即為這四個輸入信號作用單獨作用于線性系統(tǒng)的后輸出信號分量之和。即y[6] = x[3]*h[3]+x[4]*h[2]+x[5]*h[1]+x[6]*h[0]。

圖11,從輸出信號角度理解卷積,其相當(dāng)于一個卷積機(jī)器。如圖所示,假設(shè)輸入信號x[n],輸出信號y[n], 虛線方框里表示的是卷積機(jī)器,可以從左到右從右到左自由移動。卷積機(jī)器放置的位置應(yīng)該與我們需要求得輸出信號采樣點對其,輸入信號的四個采樣點進(jìn)入到卷積機(jī)器,四個采樣點的數(shù)字分別于其對應(yīng)的脈沖反應(yīng)相乘,再把其乘積相加。例如為了計算y[6],需要把x[3],x[4],x[5],x[6]四個輸入信號輸送到卷積機(jī)器。相應(yīng)的,為了計算y[7],卷積機(jī)器必須右移一位到采樣點7的位置,這樣,進(jìn)入到卷積的四個信號分別是x[4],x[5],x[6], x[7],如此循環(huán)直到所有輸出信號分量被計算完成。

8e419b48-9d17-11eb-8b86-12bb97331649.png

圖11

卷積機(jī)器中脈沖反應(yīng)排列順序是相當(dāng)重要的。卷積機(jī)器中的脈沖反應(yīng)與原始的脈沖反應(yīng)做了一個鏡像的翻轉(zhuǎn)。為什么需要翻轉(zhuǎn)呢?

即假設(shè)我們計算y[4]的輸出結(jié)果,由上圖可知y[4] = x[4]*h[0]+x[3]*h[1]+x[2]*h[2]+x[1]*h[3]+x[0]*h[4]。即當(dāng)前輸入信號點輸入到線性系統(tǒng)對應(yīng)的輸出結(jié)果是當(dāng)前信號和之前各個信號對當(dāng)前點的脈沖反應(yīng)的一個線性加權(quán)。如公式所述,為了計算y[4]的結(jié)果,我們必須把輸入x[0],x[1],x[2],x[3],x[4]作用在n = 4的位置的脈沖響應(yīng)進(jìn)行線性加權(quán)。也就是說,當(dāng)x[0]進(jìn)入系統(tǒng)的時候,在n = 4的位置對應(yīng)的脈沖反應(yīng)為h[4],其輸出為x[0]*h[4],當(dāng)x[1]進(jìn)入系統(tǒng)后,在n = 4的位置對應(yīng)的脈沖反應(yīng)為h[3],其輸出結(jié)果為x[1]*h[3]以此類推。由此可以看出,輸出信號的每一個分量都是有收到輸入信號影響的權(quán)重線性組合,其權(quán)重恰好是脈沖反應(yīng)的鏡像翻轉(zhuǎn)對應(yīng)的權(quán)重值。這也就是為什么卷積公式中需要把輸入信號進(jìn)行翻轉(zhuǎn)在進(jìn)行線性疊加的原因。

假設(shè)有N個點的輸入信號x[n],采樣點從0-N-1,有M個點,脈沖反應(yīng)為h[n]的線性系統(tǒng),信號點從0-M-1。則這兩個信號的卷積將輸出有N+M-1個采樣點的信號,下標(biāo)從0-N+M-2。用公式表示為:

8e7a6784-9d17-11eb-8b86-12bb97331649.png

從輸出信號角度理解卷積代碼示例:

#include《math.h》#include《stdio.h》#include《stdlib.h》 int main(){ int InputSignal[9] = {1,2,3,4,1,2,3,4,5}; int ImpulseCorres[4] = {2,3,1,4}; int OutPut[12] = {0}; int i,j; //output view for(i = 0;i 《 12;i++) { OutPut[i] = 0; for(j = 0; j 《 4;j++) { if((i-j)《0) continue; if((i-j)》8) continue; OutPut[i] += ImpulseCorres[j]*InputSignal[i-j]; } } for(i = 0;i 《 12;i++) { printf(“%d ”,OutPut[i]); } return 0; }

4.圖像中的卷積

假設(shè)二維函數(shù)I和H,對應(yīng)的卷積操作可以表示為:

8e8fdb28-9d17-11eb-8b86-12bb97331649.png

也可以表示為:

8ec193c0-9d17-11eb-8b86-12bb97331649.png

應(yīng)用于圖像領(lǐng)域時,其卷積公式也可以表示為:

8ecdb2e0-9d17-11eb-8b86-12bb97331649.png

當(dāng)濾波函數(shù)H*(I,j) = H(-I,-j)進(jìn),H(I,j)進(jìn)行了180度旋轉(zhuǎn)之后,其結(jié)果與線性濾波時一樣的。

圖像中的線性濾波可以表示為:

8ed8b956-9d17-11eb-8b86-12bb97331649.png

其原理為:

8ef1aa24-9d17-11eb-8b86-12bb97331649.png

由兩者的公式可以看出,線性濾波其實是把濾波函數(shù)進(jìn)行180度旋轉(zhuǎn)之后進(jìn)行卷積的結(jié)果。

以待吧!
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)字信號處理
    +關(guān)注

    關(guān)注

    16

    文章

    573

    瀏覽量

    47819
  • 卷積
    +關(guān)注

    關(guān)注

    0

    文章

    95

    瀏覽量

    19017

原文標(biāo)題:數(shù)字信號處理之卷積

文章出處:【微信號:leezym0317,微信公眾號:FPGA開源工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    TMS320VC5503 定點數(shù)字信號處理器深度剖析

    TMS320VC5503 定點數(shù)字信號處理器深度剖析 在數(shù)字信號處理領(lǐng)域,TI 的 TMS320VC5503 定點數(shù)字信號
    的頭像 發(fā)表于 03-09 10:45 ?184次閱讀

    TMS320C6418定點數(shù)字信號處理器:特性、功能與應(yīng)用詳解

    TMS320C6418定點數(shù)字信號處理器:特性、功能與應(yīng)用詳解 在當(dāng)今數(shù)字化的時代,數(shù)字信號處理
    的頭像 發(fā)表于 03-09 10:35 ?182次閱讀

    SMx320VC33數(shù)字信號處理器:特性、參數(shù)與應(yīng)用全解析

    SMx320VC33數(shù)字信號處理器:特性、參數(shù)與應(yīng)用全解析 引言 在數(shù)字信號處理領(lǐng)域,高性能、低功耗的處理器一直是工程師們追求的目標(biāo)。德州儀
    的頭像 發(fā)表于 03-09 09:50 ?338次閱讀

    TMS320LC548定點數(shù)字信號處理詳解

    TMS320LC548定點數(shù)字信號處理詳解 作為一名資深電子工程師,在數(shù)字信號處理領(lǐng)域摸爬滾打多年,我深知一款性能卓越的
    的頭像 發(fā)表于 03-09 09:50 ?333次閱讀

    TMS320VC5416 定點數(shù)字信號處理器全面解析

    TMS320VC5416 定點數(shù)字信號處理器全面解析 引言 在數(shù)字信號處理領(lǐng)域,TMS320VC5416 定點數(shù)字信號
    的頭像 發(fā)表于 03-09 09:45 ?340次閱讀

    SM320VC33-EP數(shù)字信號處理器:高性能與靈活性的完美結(jié)合

    SM320VC33-EP數(shù)字信號處理器:高性能與靈活性的完美結(jié)合 在數(shù)字信號處理領(lǐng)域,德州儀器(TI)的SM320VC33 - EP數(shù)字信號
    的頭像 發(fā)表于 03-09 09:35 ?327次閱讀

    TMS320VC5402 定點數(shù)字信號處理器深度解析

    TMS320VC5402 定點數(shù)字信號處理器深度解析 在數(shù)字信號處理領(lǐng)域,TMS320VC5402 定點數(shù)字信號
    的頭像 發(fā)表于 03-06 17:10 ?1148次閱讀

    SMJ320C80數(shù)字信號處理器:架構(gòu)、特性與應(yīng)用全解析

    SMJ320C80數(shù)字信號處理器:架構(gòu)、特性與應(yīng)用全解析 在當(dāng)今數(shù)字化的時代,數(shù)字信號處理器(DSP)在眾多領(lǐng)域中發(fā)揮著至關(guān)重要的作用。SM
    的頭像 發(fā)表于 03-06 16:55 ?1023次閱讀

    HXS320F280049C數(shù)字信號處理器(DSP)芯片

    國產(chǎn)化數(shù)字信號處理提供高性價比解決方案。一、核心硬件參數(shù)內(nèi)核架構(gòu)基于中科昊芯自主研發(fā)的H28x內(nèi)核,采用32位RISC-V DSP架構(gòu),支持單/雙精度浮點運算,主頻高達(dá)160MHz,提供強(qiáng)大的計算能力
    發(fā)表于 01-22 09:04

    卷積運算分析

    卷積運算的基礎(chǔ)運算是乘加運算(MAC,Multiplication and Accumulation),本文設(shè)計了基本運算單元PE模塊來實現(xiàn)
    發(fā)表于 10-28 07:31

    國產(chǎn)32位高性能Audio音頻數(shù)字信號處理器(DSP)芯片-DU561

    音頻數(shù)字信號處理器(DSP)的工作原理主要通過數(shù)字化處理提升音頻質(zhì)量,其核心流程包括信號采集、處理和輸出三個關(guān)鍵環(huán)節(jié)。
    的頭像 發(fā)表于 10-22 09:47 ?1058次閱讀
    國產(chǎn)32位高性能Audio音頻<b class='flag-5'>數(shù)字信號</b><b class='flag-5'>處理</b>器(DSP)芯片-DU561

    數(shù)字信號處理,科學(xué)家與工程師指南(664頁)

    數(shù)字信號處理入門書籍,非常全面,清晰易懂 獲取完整文檔資料可下載附件哦?。。?! 如果內(nèi)容有幫助可以關(guān)注、點贊、評論支持一下哦~
    發(fā)表于 07-11 14:59

    數(shù)字信號處理的基本組成及其特點?

    數(shù)字信號處理 是指將事物的運動變化轉(zhuǎn)變?yōu)橐淮?b class='flag-5'>數(shù)字,并用計算的方法從中提取有用的信息,以滿足我們實際應(yīng)用的需求。 數(shù)字信號處理是利用
    的頭像 發(fā)表于 06-18 09:02 ?1357次閱讀
    <b class='flag-5'>數(shù)字信號</b><b class='flag-5'>處理</b>的基本組成及其特點?

    STM32數(shù)字示波器源碼+數(shù)字信號處理教程、配套實例

    STM32數(shù)字示波器源碼+數(shù)字信號處理教程、配套實例 部分截圖:
    發(fā)表于 05-28 21:25

    進(jìn)群免費領(lǐng)FPGA學(xué)習(xí)資料!數(shù)字信號處理、傅里葉變換與FPGA開發(fā)等

    ,并給出了具體應(yīng)用實例。由于數(shù)字信號處理主要是針對振動信號處理,因此介紹了振動的基礎(chǔ)知識;基本信號及其
    發(fā)表于 04-07 16:41