קובץ:Overlap-save algorithm.png
תוכן הדף אינו נתמך בשפות אחרות.
מראה
מתוך ויקיפדיה, האנציקלופדיה החופשית
גודל התצוגה המקדימה הזאת: 800 × 481 פיקסלים. רזולוציות אחרות: 320 × 192 פיקסלים | 640 × 385 פיקסלים | 912 × 548 פיקסלים.
לקובץ המקורי (912 × 548 פיקסלים, גודל הקובץ: 110 ק"ב, סוג MIME: image/png)
זהו קובץ שמקורו במיזם ויקישיתוף. תיאורו בדף תיאור הקובץ המקורי (בעברית) מוצג למטה. |
תקציר
תיאורOverlap-save algorithm.png |
English: A sequence of 4 plots depicts one cycle of the Overlap-save convolution algorithm. The first plot is a long sequence of data to be processed with a lowpass FIR filter. The 2nd plot is one segment of the data to be processed in piecewise fashion. The 3rd plot is the filtered segment, with the useable portion colored red. The 4th plot is the output stream with the filtered segment appended to it. |
|||
תאריך יצירה | ||||
מקור | נוצר על־ידי מעלה היצירה | |||
יוצר | Bob K | |||
אישורים והיתרים (שימוש חוזר בקובץ זה) |
אני, בעל זכויות היוצרים על עבודה זו, מפרסם בזאת את העבודה תחת הרישיון הבא:
|
|||
גרסאות אחרות |
|
|||
PNGהתפתחות InfoField | LibreOffice עם נוצרה ה PNG תמונת מפת סיביות |
|||
Octave/gnuplot source InfoField | click to expand
This graphic was created with the help of the following Octave script: graphics_toolkit gnuplot
M = 16; % filter length
h = ones(1,M)/M; % filter impulse response
L = 100; % output segment length
La = 500; % input data length
a = 1 + randn(1,La)/3; % data to be filtered
seg = 2; % segment to be computed
N = L + M-1; % DFT size
Xa = seg*L + (1:N); % indices of segment to be filtered
frame_background = .95*[1 1 1];
%=======================================================
hfig = figure("position",[100 100 912 650], "color",frame_background);
set(gca,"color",frame_background)
set(gcf,"color",frame_background)
x1 = .02; % left margin
x2 = .02; % right margin
y1 = .09; % bottom margin for annotation
y2 = .08; % top margin for title
dy = .05; % vertical space between rows
width = 1-x1-x2;
height= (1-y1-y2-3*dy)/4; % space allocated for each of 4 rows
x_origin = x1;
y_origin = 1; % start at top of graph area
%=======================================================
y_origin = y_origin -y2 -height; % position of top row
% subplot() undoes all the "color" attempts above. (gnuplot bug)
subplot("position",[x_origin y_origin width height])
set(gca,"fontsize",10)
plot(1:La, a, "color", "blue", Xa, a(Xa), "color", "red", "linewidth", 2)
set(gca, "color", "white")
title("One segment of an Overlap-save algorithm", "fontsize",14);
text(1, 2.2, "X[n], with segment k=2 in red")
xlim([0 La])
ylim([0 2])
set(gca, "ytick",[0:2])
set(gca, "xtick",[100:100:La])
grid("on")
%=======================================================
y_origin = y_origin -dy -height;
subplot("position",[x_origin y_origin width height])
set(gca,"fontsize",10)
plot(1:L+M-1, a(Xa), "color", "red")
set(gca, "color", "white")
text(250, 1.6, 'X_k[n]', "fontsize",12)
xlim([0 La])
ylim([0 2])
set(gca, "ytick",[0:2])
set(gca, "xtick",[100:100:La])
grid("on")
%=======================================================
y_origin = y_origin -dy -height;
subplot("position",[x_origin y_origin width height])
% Here we use the conv() function, to demonstrate just the "overlap & discard" part of the process.
% The efficiency of the algorithm is realized by replacing conv() with circular convolution.
% Note that length(b) is different for the two implementations. Circular convolution "folds"
% the trailing transition region ("fall time") back onto the "rise time" transition region.
% Circular convolution
% H = fft(h,N);
% b = real(ifft(H .* fft(a(Xa)))); % length(b) = L+M-1 = N
%Linear convolution
b = conv(h,a(Xa)); % length(b) = N+M-1
Xb = M-1 + (1:L);
set(gca,"fontsize",10)
plot(1:length(b), b, "color", "blue", Xb, b(Xb), "color", "red", "linewidth", 2);
set(gca, "color", "white")
text(250, 1.6, 'Y_k[n], output of FIR lowpass filter', "fontsize",12);
xlim([0 La])
ylim([0 2])
set(gca, "ytick",[0:2])
set(gca, "xtick",[100:100:La])
grid("on")
%=======================================================
y_origin = y_origin -dy -height;
subplot("position",[x_origin y_origin width height])
c = conv(h,a);
Xc1 = 1 : M-1 + (seg+1)*L;
Xc2 = M-1 + seg*L + (1:L);
set(gca,"fontsize",10)
plot(Xc1, c(Xc1), "color", "blue", Xc2, c(Xc2), "color", "red", "linewidth", 2)
set(gca, "color", "white")
text(250, 1.6, "Y[n], after segment k")
xlim([0 La])
ylim([0 2])
set(gca, "ytick",[0:2])
set(gca, "xtick",[100:100:La])
grid("on")
xlabel('\leftarrow n \rightarrow', "fontsize",12)
|
פריטים שמוצגים בקובץ הזה
מוצג
ערך כלשהו ללא פריט ויקינתונים
16 בפברואר 2013
היסטוריית הקובץ
ניתן ללחוץ על תאריך/שעה כדי לראות את הקובץ כפי שנראה באותו זמן.
תאריך/שעה | תמונה ממוזערת | ממדים | משתמש | הערה | |
---|---|---|---|---|---|
נוכחית | 03:00, 15 באפריל 2015 | 548 × 912 (110 ק"ב) | Bob K | Annotate the portion of the current segment that is "saved" for the next segment. | |
19:11, 19 בפברואר 2013 | 681 × 1,133 (63 ק"ב) | Bob K | Change figure background to a light gray. | ||
04:00, 17 בפברואר 2013 | 684 × 1,122 (26 ק"ב) | Bob K | User created page with UploadWizard |
שימוש בקובץ
אין בוויקיפדיה דפים המשתמשים בקובץ זה.
שימוש גלובלי בקובץ
אתרי הוויקי השונים הבאים משתמשים בקובץ זה:
- שימוש באתר pt.wikipedia.org
מטא־נתונים
קובץ זה מכיל מידע נוסף, שכנראה הגיע ממצלמה דיגיטלית או מסורק שבהם הקובץ נוצר או עבר דיגיטציה.
אם הקובץ שונה ממצבו הראשוני, כמה מהנתונים להלן עלולים שלא לשקף באופן מלא את הקובץ הנוכחי.
הערה בקובץ PNG |
|
---|---|
רזולוציה אופקית | 28.35 dpc |
רזולוציה אנכית | 28.35 dpc |
התאריך והשעה של שינוי הקובץ | 23:53, 14 באפריל 2015 |