Fitxer:Multirate upsampling (interpolation) filter.svg

De testwiki
Salta a la navegació Salta a la cerca
Fitxer original (fitxer SVG, nominalment 900 × 630 píxels, mida del fitxer: 43 Ko)

Aquest fitxer prové de Wikimedia Commons i pot ser usat per altres projectes. La descripció de la seva pàgina de descripció es mostra a continuació.

Resum

Descripció
English: Depiction of one dot product, resulting in one output sample (in green), computed by a multirate filter. This illustrates the formula at Upsampling by an integer factor, for the case L=4, n=9, j=3. Three (L-1) conceptual "inserted zeros" are depicted between each pair of input samples. Omitting them from the calculation is what distinguishes a multirate filter from a monorate filter.
Data
Font Treball propi
Autor Bob K
Permís
(Com reutilitzar aquest fitxer)
Jo, el titular dels drets d'autor d'aquest treball, el public sota la següent llicència:
Creative Commons CC-Zero L'ús d'aquest fitxer és regulat sota les condicions de Creative Commons de CC0 1.0 lliurament al domini públic universal.
La persona que ha associat un treball amb aquest document ha dedicat l'obra domini públic, renunciant en tot el món a tots els seus drets de d'autor i a tots els drets legals relacionats que tenia en l'obra, en la mesura permesa per la llei. Podeu copiar, modificar, distribuir i modificar l'obra, fins i tot amb fins comercials, tot sense demanar permís.

SVG genesis
InfoField
 El codi font d’aquest SVG no és vàlid perquè hi 5 han errors.
 Aquesta imatge vectorial ha estat creada amb LibreOffice
Gnu Octave source
InfoField
click to expand

This graphic was created with the help of the following Octave script:

pkg load signal
graphics_toolkit gnuplot

 M = 1000;
 darkgreen = [33 150 33]/256;
 interpolation_factor = 4;

% Generate M+1 samples of a Gaussian window (filter type not important)
 filter = .3*exp(-.5*(((0:M)-M/2)/(.4*M/2)).^2);
% Sample the window.
 N=24;
 sam_per_hop = M/N;
 window_dots = filter(1+(0:N)*sam_per_hop);
 normalize   = sum(window_dots)/interpolation_factor;

 window_scale_factor = 0.5;
 sam_per_hop = sam_per_hop*window_scale_factor;
 
%------------------------------------------------------------------
 figure("position", [100 200 900 600])

% Plot the continuous filter function
 xoffset = sam_per_hop*15;
 yoffset = 0.1;
 
 plot(xoffset+(0:M)*window_scale_factor, yoffset+filter,  "linestyle",":", "linewidth",1, "color","black")
 set(gca, "xaxislocation", "origin")
 xlim([0 M])
 ylim([-.06 .45])                    % allows space for negative samples (in case I change the signal)
 set(gca, "ygrid","off");
 set(gca, "xgrid","on");
 set(gca, "ytick",[0], "fontsize",14);
 xticks = [0:4*sam_per_hop:M];
 set(gca, "xtick",xticks)
 set(gca,"xticklabel",[0:length(xticks)])

% Plot the filter coefficients
 hold on
 plot(xoffset+(0:N)*sam_per_hop, yoffset+window_dots,  "color","red", ".", "markersize",10)

% Create signal to be interpolated
 samples_per_cycle = 4*M;
 signal = .2*sin(2*pi*(0:M)/samples_per_cycle);

 signal_dots = signal(1:sam_per_hop:end);
% Simulate "inserted zeros", for display
 signal_dots(2:4:end) = 0;
 signal_dots(3:4:end) = 0;
 signal_dots(4:4:end) = 0;

% Plot the data
 L = length(signal_dots);
 plot((0:L-1)*sam_per_hop, signal_dots,  "color","blue", ".", "markersize",10)
 
% Compute dot product, and plot it
 dot_product = sum(window_dots(24:-4:4).*signal_dots(17:4:37))/normalize;
 x = 27*sam_per_hop;
 plot(x, dot_product, "color",darkgreen, ".", "markersize",14)
 plot([x,x],[0,.45]);                                   % vertical line
 
% xlabel('\leftarrow  n  \rightarrow', "fontsize",16)
 text(465, -.05, '\leftarrow  n  \rightarrow', "fontsize",16)
 text(18, .1, "X[n]", "fontsize",16, "color","blue")

 title("Multirate interpolation filter", "fontsize",16, "fontweight","normal");

Llegendes

Afegeix una explicació d'una línia del que representa aquest fitxer

Elements representats en aquest fitxer

representa l'entitat

Historial del fitxer

Cliqueu una data/hora per veure el fitxer tal com era aleshores.

Data/horaMiniaturaDimensionsUsuari/aComentari
actual14:44, 24 des 2019Miniatura per a la versió del 14:44, 24 des 2019900 × 630 (43 Ko)wikimediacommons>Bob Kadd a vertical line for filter delay arrow to point at

La pàgina següent utilitza aquest fitxer: