File:Circular convolution example.png
頁面內容不支援其他語言。
外觀
Circular_convolution_example.png (488 × 516 像素,檔案大小:12 KB,MIME 類型:image/png)
摘要
描述Circular convolution example.png | Circular convolution can be expedited by the FFT algorithm, so it is often used with an FIR filter to efficiently compute linear convolutions. These graphs illustrate how that is possible. | |||||
日期 | ||||||
來源 | 自己的作品 | |||||
作者 | Bob K | |||||
授權許可 (重用此檔案) |
|
|||||
其他版本 |
Derivative works of this file: Circular convolution example.svg
|
|||||
PNG開發 InfoField | 本PNG 點陣圖使用LibreOffice創作。 |
|||||
Octave/gnuplot source InfoField | click to expand
This graphic was created with the help of the following Octave script: graphics_toolkit gnuplot
% "color" is temporary, because of gnuplot bug (see below)
hfig = figure("color", .85*[1 1 1], "position", [100 100 488 512]);
set(gca, "color", .85*[1 1 1])
xmax = 3000;
% subplot() undoes the "color" attempts above. (gnuplot bug)
subplot(6,1,1)
L = 100;
f = ones(1,L)/L;
plot(-100:200-1, [zeros(1,100) f*L zeros(1,100)], "linewidth", 2, "color", "magenta")
set(gca, "color", "white")
title("Circular convolution example", "FontSize",12)
text(100, 1.6, "h[n]")
text(xmax/2, 0.4, '\leftarrow n \rightarrow')
ylim([0 2])
xlim([-100 xmax])
set(gca,"XTick",[]); set(gca,"YTick",[])
subplot(6,1,2)
a = [zeros(1,20) ones(1,L) zeros(1,300) 0.5*ones(1,100) zeros(1,1000-L-20-400)];
b = [zeros(1,1000-L-20) ones(1,L) zeros(1,20)];
a1 = [zeros(1,1000) a zeros(1,1000)];
b1 = [zeros(1,1000) b zeros(1,1000)];
plot(1:length(a1), a1, "color", "blue", 1:length(a1), b1, "color", "red")
set(gca, "color", "white")
text(200, 1.6, "X[n]")
ylim([0 2])
xlim([0 xmax])
set(gca,"XTick",[]); set(gca,"YTick",[])
subplot(6,1,3)
a1 = conv(a1,f);
b1 = conv(b1,f);
plot(1:length(a1), a1+b1, "color", "green", "linewidth", 2)
set(gca, "color", "white")
text(200, 1.6, "X[n] * h[n]")
ylim([0 2*max(a1)])
xlim([0 xmax])
set(gca,"XTick",[]); set(gca,"YTick",[])
subplot(6,1,4)
a = [a a a];
b = [b b b];
L = 1:length(a);
plot(L, a, "color","blue", L, b, "color","red")
set(gca, "color", "white")
text(200, 2.0, 'X_N[n]')
ylim([0 2.5])
xlim([0 xmax])
set(gca,"XTick", [1000 2000])
set(gca,"XTickLabel",["N"; "2N"])
set(gca,"YTick",[])
subplot(6,1,5)
a1 = conv(a,f);
b1 = conv(b,f);
b1(1:90) = b1(3000+[1:90]);
L = 1:length(a1);
plot(L,a1,"color","blue", L,b1, "color","red")
set(gca, "color", "white")
text(200, 1.6, 'components of X_N[n] * h[n]')
ylim([0 2*max(a1)])
xlim([0 xmax])
set(gca,"XTick",[]); set(gca,"YTick",[])
subplot(6,1,6)
c = a1+b1;
L = length(c);
k=1100;
plot(1:k, c(1:k), "color","red", k+(1:900), c(k+(1:900)), "color", "green", "linewidth", 2, (k+900+1):xmax, c((k+900+1):xmax), "color","red")
set(gca, "color", "white")
text(200, 1.6, 'X_N[n] * h[n]')
ylim([0 2*max(a1+b1)])
xlim([0 xmax])
set(gca,"XTick",[]); set(gca,"YTick",[])
text(1163, -1, "X[n] * h[n]", "fontsize", 16)
annotation("line", [.414 .414], [.136 .045])
annotation("line", [.647 .647], [.136 .045])
% I prefer the version created by the export function on the GNUPlot figure,
% because the dimensions are better.
print(hfig,"-dpng","-color", 'C:\Users\BobK\Circular convolution example.png')
|
在此檔案描寫的項目
描繪內容
著作權狀態 繁體中文 (已轉換拼寫)
保有知識產權並由其所有者公開於公有領域 繁體中文 (已轉換拼寫)
著作權持有者釋出至公有領域 繁體中文 (已轉換拼寫)
16 4 2008
多媒體型式 繁體中文 (已轉換拼寫)
image/png
11,826 位元組
516 像素
488 像素
檔案歷史
點選日期/時間以檢視該時間的檔案版本。
日期/時間 | 縮圖 | 尺寸 | 用戶 | 備註 | |
---|---|---|---|---|---|
目前 | 2013年2月19日 (二) 15:29 | 488 × 516(12 KB) | Bob K | Add title. Add tick marks to 4th subplot. Use Octave & gnuplot. | |
2008年4月16日 (三) 17:12 | 386 × 504(9 KB) | Bob K | Crop image to the correct size. | ||
2008年4月16日 (三) 16:28 | 960 × 720(5 KB) | Bob K | {{Information |Description= Illustration of circular convolution |Source=self-made |Date=16-Apr-2008 |Author= Bob K }} |
檔案用途
下列頁面有用到此檔案:
詮釋資料
此檔案中包含擴展的資訊。這些資訊可能是由數位相機或掃描器在建立時或數位化過程中所加入。
如果此檔案的來源檔案已被修改,一些資訊在修改後的檔案中將不能完全反映出來。
PNG 檔案備註 |
|
---|---|
水平解析度 | 28.35 dpc |
垂直解析度 | 28.35 dpc |
檔案修改日期時間 | 2013年2月19日 (二) 15:22 |
隱藏分類: