卷積的運算過程及matlab實現

2021-10-09 13:23:44 字數 1376 閱讀 2014

卷積是訊號處理領域最為常見的運算,對於乙個線性時不變系統而言,只要知道了系統的單位衝擊響應,則可以由輸入序列x[n]和單位衝擊響應h[n]經卷積運算得到系統的輸出。下面給出輸入訊號x = [1 2 3 4];單位衝擊響應h = [2 1 1]時,系統輸出的運算過程,雖然matlab自帶了卷積函式conv,但是通過親手編寫**可以加深對卷積的運算。

可以由這個例子得出,卷積之後的y[n]序列的長度等於x[n]長度值與h[n]長度值的和再減1。

clc;%清螢幕

clear all;%清除工作區間內所有變數

x = [1 2 3 4];%輸入訊號

h = [2 1 1];%單位脈衝響應

[m1,n1] = size(x);%獲取x[n]的行數和列數

[m2,n2] = size(h);%獲取h[n]的行數和列數

n3 = n1+n2-1;%輸出序列的長度,即x[n]序列長度和h[n]序列長度之和,再減1

xsub = 0:n1-1;%輸入序列x[n]的下標

hsub = 0:n2-1;%衝擊響應h[n]的下標

ysub = 0:n3-1;%輸出序列y[n]的下標

subplot(3,1,1);%選擇3x1區域中的1號區

stem(xsub,x);axis([0,10,-0.2,15]);title('x[n]');

subplot(3,1,2);%選擇3x1區域中的2號區

stem(hsub,h,'r');axis([0,10,-0.2,15]);title('h[n]'); 

a = zeros(6,6);b = zeros(6,1);%先生成乙個0矩陣和0向量,x和h中維度高的作為0向量中的一部分元素;

%維度小的去填充矩陣

piec = ones(m2,n2);%piece為迴圈移位的非0值向量

for i = 1:n2

piec(m2,i) = h(m2,n2+1-i);%對衝擊響應矩陣h[n]進行翻轉,儘管matlab自帶了flipfl函式可以進行翻轉,但這個過程非常簡單,幾行程式就實現了

endpiec%

b(n3-n1+1:n3) = x'

a=[1 1 2 0 0 0 ;0 1 1 2 0 0;0 0 1 1 2 0;0 0 0 1 1 2;0 0 0 0 1 1;0 0 0 0 0 1];%迴圈移位,對應點相乘,通過矩陣相乘即可實現

%b=[0 0 1 2 3 4]';%行向量轉置為列向量

y=a*b;

subplot(3,1,3);%選擇3x1區域中的3號區

矩陣卷積運算過程講解

在爬蟲處理驗證碼的過程中接觸到矩陣卷積運算,關於該類運算,記錄一下自己的心得。理論知識 在講述卷積過程前,我們來了解一下卷積公式。根據離散二維卷積公式 其中a為被卷積矩陣,k為卷積核,b為卷積結果,該公式中,三個矩陣的排序均從0開始。現在對於上面卷積過程進行分析 我們用來做例子的 a 矩陣為 m m...

MATLAB中的卷積運算

imfilter 線性空間濾波 conv2 二位卷積 conv2 a,b,same 將b作為模版在a上平移,最後的矩陣大小與a相同 例如 a 1 2 3 4 5 6 7 8 9 b 1 1 1 1 1 1 1 1 1 conv2 a,b,same 12 21 16 27 45 33 24 39 28...

遺傳演算法的運算過程

遺傳演算法 genetic algorithm 是一類借鑑生物界的進化規律 適者生存,優勝劣汰遺傳機制 演化而來的隨機化搜尋方法。它是由美國的j.holland教授1975年首先提出,其主要特點是直接對結構物件進行操作,不存在求導和函式連續性的限定 具有內在的隱並行性和更好的全域性尋優能力 採用概率...