chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

圖1

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

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

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

圖2

2.卷積

脈沖分解

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

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

圖3

脈沖函數(shù)

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

脈沖反應

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

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

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

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

圖4

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

3.卷積運算

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

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

從輸入信號的角度理解

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

圖5

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

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

圖6

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

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

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

當輸入信號是四個采樣,經(jī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]。即卷積并不關心哪個信號是輸入信號哪個信號是脈沖反應。

假設輸入信號為{1,2,3,4,1,2,3,4,5};脈沖反應為:{2,3,1,4};則卷積計算過程相當于如下所示,每一個輸入信號分量分解為單個脈沖函數(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ù)學角度和實踐應用角度理解卷積都相當有作用。用公式表示即為:y[n]=其他變量的組合。換句話說,輸出信號采樣點n等于眾多輸入信號和脈沖反應的線性組合。

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

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

圖11

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

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

假設有N個點的輸入信號x[n],采樣點從0-N-1,有M個點,脈沖反應為h[n]的線性系統(tǒng),信號點從0-M-1。則這兩個信號的卷積將輸出有N+M-1個采樣點的信號,下標從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ù)I和H,對應的卷積操作可以表示為:

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

也可以表示為:

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

應用于圖像領域時,其卷積公式也可以表示為:

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

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

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

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

其原理為:

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

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

以待吧!
編輯:lyn

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

    關注

    16

    文章

    580

    瀏覽量

    47893
  • 卷積
    +關注

    關注

    0

    文章

    95

    瀏覽量

    19032

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    56F8322/56F8122數(shù)字信號控制器技術詳解

    56F8322/56F8122數(shù)字信號控制器技術詳解 在電子工程領域,數(shù)字信號控制器(DSC)扮演著至關重要的角色。今天,我們就來深入探討飛思卡爾(Freescale)的56F8322
    的頭像 發(fā)表于 04-09 10:20 ?166次閱讀

    56F8033/56F8023數(shù)字信號控制器深度解析

    56F8033/56F8023數(shù)字信號控制器深度解析 在電子工程領域,數(shù)字信號控制器(DSC)扮演著至關重要的角色,它結(jié)合了數(shù)字信號處理(DSP)的強大
    的頭像 發(fā)表于 04-09 10:05 ?156次閱讀

    dsPIC33EPXXGS50X系列數(shù)字信號控制器:數(shù)字電源應用的理想

    dsPIC33EPXXGS50X系列數(shù)字信號控制器:數(shù)字電源應用的理想選 在電子工程師的日常工作中,選擇一款性能卓越、功能豐富的數(shù)字信號控制器(DSC)對于
    的頭像 發(fā)表于 04-08 18:40 ?1098次閱讀

    通過對?數(shù)字音頻信號進行數(shù)學運算和算法處理的高性能Audio DSP-DU562

    高性能 Audio DSP(音頻數(shù)字信號處理器)的核心工作原理是通過對?數(shù)字音頻信號進行數(shù)學運算和算法處理?,實現(xiàn)音質(zhì)優(yōu)化、噪聲抑制、空間增
    的頭像 發(fā)表于 04-03 09:26 ?259次閱讀
    通過對?<b class='flag-5'>數(shù)字音頻信號</b>進行數(shù)學<b class='flag-5'>運算</b>和算法<b class='flag-5'>處理</b>的高性能Audio DSP-DU562

    ADSP-SC57x/ADSP-2157x處理器:高性能數(shù)字信號處理的理想

    ADSP-SC57x/ADSP-2157x處理器:高性能數(shù)字信號處理的理想選 在電子工程領域,數(shù)字信號
    的頭像 發(fā)表于 03-23 16:50 ?652次閱讀

    ADSP-2191M DSP:高性能數(shù)字信號處理解決方案

    ADSP-2191M DSP:高性能數(shù)字信號處理解決方案 在數(shù)字信號處理(DSP)領域,ADSP - 2191M 是一款備受關注的單芯片微計算機,它專為
    的頭像 發(fā)表于 03-23 16:20 ?129次閱讀

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

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

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

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

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

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

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

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

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

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

    卷積運算分析

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

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

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

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

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

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

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