離散信號的卷積
① 初學,離散信號中求卷積一般是做什麼用的
卷積歸根溯源有點像概率論的mgp,在線性信號系統中,相當於一個信號通過一個系統得到輸出的過程。前提系統是線性的
② 離散卷積的公式
「離散卷積」是兩個離散序列和之間按照一定的規則將它們的有關序列值分別兩兩相乘再專相加的一
種特殊屬的運算。具體可用公式表示為
其中就是經過卷積運算以後所得到的一個新的序列。根據上式,在運算過程中,要使序列「不動」,並將自變數改為,以表示與卷積結果的自變數有所區別。而將另外一個序列的自變數改為i以後,再取它對於縱坐標的「鏡像」(式中的「-」號即是此意)。為求兩者的卷積,先將在相同的下與的每一個值兩兩相乘再相加,就得到了時的卷積值。接下來,將向右移動自變數的一個間隔,構成,同樣在相同的下與的各個值兩兩相乘再相加,就得到卷積值,……,如此反復,直到所有的序列值都算完為止。其中要注意,對於的卷積值,要把向右移,而對於的卷積值,要把向左移。
③ 用MATLAB怎麼實現離散信號的卷積啊 編程
在MATLAB中,可以用函數y=filter(p,d,x)實現差分方程的模擬,也可以用函數 y=conv(x,h)計算卷積。
(1)即y=filter(p,d,x)用來實現差分方程,d表示差分方程輸出y的系數,p表示輸入x的系數,而x表示輸入序列。輸出結果長度數等於x的長度。
實現差分方程,先從簡單的說起:
filter([1,2],1,[1,2,3,4,5]),實現y[k]=x[k]+2*x[k-1]
y[1]=x[1]+2*0=1 (x[1]之前狀態都用0)
y[2]=x[2]+2*x[1]=2+2*1=4
(2)y=conv(x,h)是用來實現卷級的,對x序列和h序列進行卷積,輸出的結果個數等於x的長度與h的長度之和減去1。
卷積公式:z(n)=x(n)*y(n)= ∫x(m)y(n-m)dm.
程序一:以下兩個程序的結果一樣
(1)h = [3 2 1 -2 1 0 -4 0 3]; % impulse response
x = [1 -2 3 -4 3 2 1]; % input sequence
y = conv(h,x);
n = 0:14;
subplot(2,1,1);
stem(n,y);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Obtained by Convolution'); grid;
(2)x1 = [x zeros(1,8)];
y1 = filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Generated by Filtering'); grid;
程序二:filter和conv的不同
x=[1,2,3,4,5];
h=[1,1,1];
y1=conv(h,x)
y2=filter(h,1,x)
y3=filter(x,1,h)
結果:y1 = 1 3 6 9 12 9 5
y2 = 1 3 6 9 12
y3 = 1 3 6
可見:filter函數y(n)是從n=1開始,認為所有n<1都為0;而conv是從卷積公式計算,包括n<1部分。
因此filter 和conv 的結果長短不同
程序三:濾波後信號幅度的變化
num=100; %總共1000個數
x=rand(1,num); %生成0~1隨機數序列
x(x>0.5)=1;
x(x<=0.5)=-1;
h1=[0.2,0.5,1,0.5,0.2];
h2=[0,0,1,0,0];
y1=filter(h1,1,x);
y2=filter(h2,1,x);
n=0:99;
subplot(2,1,1);
stem(n,y1);
subplot(2,1,2);
stem(n,y2);
MATLAB中提供了卷積運算的函數命令conv2,其語法格式為:
C = conv2(A,B)
C = conv2(A,B)返回矩陣A和B的二維卷積C。若A為ma×na的矩陣,B為mb×nb的矩陣,則C的大小為(ma+mb-1)×(na+nb-1)。
例:
A=magic(5)
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> B=[1 2 1 ;0 2 0;3 1 3]
B =
1 2 1
0 2 0
3 1 3
>> C=conv2(A,B)
C =
17 58 66 34 32 38 15
23 85 88 35 67 76 16
55 149 117 163 159 135 67
79 78 160 161 187 129 51
23 82 153 199 205 108 75
30 68 135 168 91 84 9
33 65 126 85 104 15 27
MATLAB圖像處理工具箱提供了基於卷積的圖象濾波函數filter2,filter2的語法格式為:
Y = filter2(h,X)
其中Y = filter2(h,X)返回圖像X經運算元h濾波後的結果,默認返回圖像Y與輸入圖像X大小相同。例如:
其實filter2和conv2是等價的。MATLAB在計算filter2時先將卷積核旋轉180度,再調用conv2函數進行計算。
Fspecial函數用於創建預定義的濾波運算元,其語法格式為:
h = fspecial(type)
h = fspecial(type,parameters)
參數type制定運算元類型,parameters指定相應的參數,具體格式為:
type='average',為均值濾波,參數為n,代表模版尺寸,用向量表示,默認值為[3,3]。
type= 'gaussian',為高斯低通濾波器,參數有兩個,n表示模版尺寸,默認值為[3,3],sigma表示濾波器的標准差,單位為像素,默認值為0.5
④ 求一道關於離散卷積的練習解,是信號與系統的題目,要詳細解題過程。
不是回答過了嗎?
http://..com/question/504888182.html?oldq=1
讓 a=b=1,就得到(k+1)u(k),u(k)是單位階躍序列。
或u(k)是求和回器,看成u(k)經過求和器,輸出答= 對u(k)求和---類似積分器
還可用 Z變換來做
⑤ 信號與系統離散卷積問題
信號與系統離散卷積問題是不相同的,他們之間互相結合互相融通!
⑥ 證明兩個離散序列的卷積滿足交換律和結合律
1、交換律可用以下方法證明:
兩個序列先行相加運算再與第3個序列做卷和運算,回其結果等於這兩個答序列分別與第3個序列先做卷和運算,然後二者再相加。即
與連續信號卷積積分運算規則對照,離散序列信號卷積和運算也有相應的一些運算規則,不過卷積和的差分規則、累和規則用得很少,常用的離散信號卷積和運算的幾個基本運算規則是交換律,結合律和分配律。
卷和運算的交換律、結合律、分配律可仿照卷積運算的交換律、結合律、分配律推導過程證明成立,這里應強調的是,結合律與分配律應用於系統分析時主要用來等效化簡復合系統:兩個子系統並聯組成的復合系統,其單位序列響應等於相並兩子系統單位序列響應的代數和。
⑦ 離散信號求卷積
離散信號求卷積無非是三大類方法,一種是常見信號的卷積形式,這個屬於牢記運用了。第2類方法就是變換域求解,也就是通過離散傅里葉變換在頻率求乘積之後再進行反變換。第3類方法就是按照定義求解。