Archivo:Window function (comparsion).png
Tamaño de esta previsualización: 800 × 588 píxeles. Otras resoluciones: 320 × 235 píxeles · 640 × 470 píxeles · 988 × 726 píxeles.
Ver la imagen en su resolución original (988 × 726 píxeles; tamaño de archivo: 54 kB; tipo MIME: image/png)
Este es un archivo de Wikimedia Commons, un depósito de contenido libre hospedado por la Fundación Wikimedia. Más abajo se reproduce su página de descripción con la información sobre su origen y licencia. |
Sumario
Resumen
DescripciónWindow function (comparsion).png |
English: Comparison of different window functions |
||||||||
Fecha | |||||||||
Fuente | Own Work by user Marcel Müller | ||||||||
Autor | Marcel Müller | ||||||||
Permiso (Reutilización de este archivo) |
Marcel Müller de la Wikipedia en inglés, titular de los derechos de autor de esta obra, la publica en los términos de la siguiente licencia:
|
Esta imagen debería volverse a crear como imágenes vectoriales SVG. Esto proporciona muchas ventajas, véase Commons:Media for cleanup (en inglés) para más información. Si ya hay una versión SVG de esta imagen disponible, por favor súbala a Commons. Tras subirla, reemplace esta plantilla con la plantilla
{{vector version available|nuevo nombre de imagen.svg}} en esta imagen. |
Image details and source code
The image is created with Mathematica 3.0 and some beautifications with CorelDraw 7.0. Due to the old versions no SVG export is available.
Init
<< Graphics`Graphics` << Graphics`Legend`
Parameters
Len = 4096; (* Window length *) Oversamp = 8; (* Oversampling *)
Helper functions
CreateWindow[winfn_] := Table[winfn[p/Len], {p,0,Len}] DoFFT[data_] := Chop@Take[ Fourier[RotateLeft[Join[data, Table[0, {Oversamp*(Length[data]-1)-Length[data]}]], (Length[data]-1)/2]], (Length[data]-1)*Oversamp/2+1] GetEnvelope[data_] := Block[ {min = 1, max, last = data[[1]]}, While[data[[min+1]] < last*1.001, last=data[[++min]]]; Map[ {#,data[[#]]}&, {Range[min], Select[Range[2, Length[data]-1], # > min && data[[#-1]] < data[[#]] > data[[#+1]]&]}, {2}] ] PlotWin[winfo_,opt___] := Block[ {fft = Abs@DoFFT@CreateWindow@winfo[[2]]}, ListPlot[ 20*Log[10, fft/fft[[1]]+1*^-12], GridLines->Automatic, PlotJoined->True, Frame->True, PlotRange->All, opt] ] PlotWin2[winfo_,opt___] := Block[ {fft = GetEnvelope@Abs@DoFFT@CreateWindow@winfo[[2]]}, {LogLinearListPlot[ {#[[1]]/Oversamp, 20*Log[10,#[[2]]/fft[[1,1,2]]+1*^-12]}& /@ fft[[1]], GridLines->Automatic, PlotJoined->True, Frame->True, PlotRange->All, opt], LogLinearListPlot[ {#[[1]]/Oversamp, 20*Log[10,#[[2]]/fft[[1,1,2]]+1*^-12]}& /@ fft[[2]], GridLines->Automatic, PlotJoined->True, Frame->True, PlotRange->All, opt]} ] Colors = Apply[ RGBColor, {{0,0,0}, {1,0,0}, {0,0,1}, {0,.7,0}, {.8,0,.8}, {0,.6,.6}, {.6,.6,0}, {.5,.5,.5}}, {1}]; Dashings = AbsoluteDashing/@(2{{} (*, {4,2}, {4,2,2,2}*)}); GetStyle[i_] := {Colors[[Mod[i-1,Length[Colors]]+1]], Dashings[[Mod[Quotient[i-1,Length[Colors]], Length[Dashings]]+1]]}
Window Functions
GaussWin[sigma_] = Exp[-.5 * ((2#-1)/sigma)^2]&; CosWin[a__] = Apply[Plus, {a} * Table[(-1)^p Cos[2 Pi p #], {p, 0, Length[{a}]-1}]]&; KaiserWin[alpha_] = BesselI[0, Pi alpha Sqrt[1 - (2#-1)^2]] / BesselI[0, Pi alpha]&; WinFN = { {"Recangular", 1&, 1.}, {"Gauss \[Sigma]=.4", GaussWin[.4], 1.45}, {"Hamming", CosWin[.53836,.46164], 1.37}, {"Hann", CosWin[.5,.5], 1.5}, {"Bartlett", 1-Abs[2#-1]&, 1.33}, {"Bartlett-Hann", .62-.48Abs[#-.5]-.38Cos[2Pi#]&, 1.46}, {"Blackman", CosWin[.42,.5,.08], 1.73}, {"Kaiser \[Alpha]=1", KaiserWin[1], 1.2}, {"Kaiser \[Alpha]=2", KaiserWin[2], 1.5}, {"Kaiser \[Alpha]=3", KaiserWin[3], 1.8}, {"Nutall", CosWin[.355768,.487396,.144232,.012604], 2.01}, {"Blackman-Harris", CosWin[.35875,.48829,.14128,.01168], 2.01}, {"Blackman-Nutall", CosWin[.3635819,.4891775,.1365995,.0106411], 1.98}, {"Flat top", CosWin[1,1.93,1.29,.388,.032], 3.77} };
Test Results
PlotWin[WinFN[[-1]]]; PlotWin2[WinFN[[-1]]]; ListPlot@CreateWindow[WinFN[[-1,2]]]; LogLogListPlot[DoFFT@CreateWindow[WinFN[[-1,2]]], PlotRange->All, PlotJoined->True, GridLines->Automatic]; DoFFT@CreateWindow[WinFN[[-1,2]]] GetEnvelope[Abs@DoFFT[CreateWindow[WinFN[[1,2]]]]]
Results
gr = Show[MapIndexed[ PlotWin2[#, DisplayFunction->Identity, PlotStyle->GetStyle[#2[[1]]]&, WinFN], DisplayFunction->$DisplayFunction, PlotRange->{All, {-145,5}}]; gr2 = ShowLegend[ gr, {MapIndexed[{Graphics[Append[GetStyle[#2[[1]]], Line[{{0,0},{1,0}}]]],#[[1]]}&, WinFN], LegendShadow->{0,0}, LegendPosition->{-.8,-.5}, LegendSize->{.4,.55}, LegendTextSpace->5}];
Licencia
Marcel Müller de la Wikipedia en inglés, titular de los derechos de autor de esta obra, la publica en los términos de la siguiente licencia:
Este archivo se encuentra bajo la licencia Creative Commons Genérica de Atribución/Compartir-Igual 3.0. Sujeto a disclaimer. | ||
Atribución: Marcel Müller de la Wikipedia en inglés | ||
| ||
Esta etiqueta de licencia fue agregada a este archivo como parte de la actualización de la licencia GFDL.http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
Se autoriza la copia, distribución y modificación de este documento bajo los términos de la licencia de documentación libre GNU, versión 1.2 o cualquier otra que posteriormente publique la Fundación para el Software Libre; sin secciones invariables, textos de portada, ni textos de contraportada. Se incluye una copia de la dicha licencia en la sección titulada Licencia de Documentación Libre GNU. Sujeto a disclaimer.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Registro original de carga
Aquí se muestra la página de descripción original. Los siguientes nombres de usuario se refieren a en.wikipedia.
- 2007-01-19 20:25 Marcel Müller 988×726×??? (82239 bytes) Frequency response of the window functions. The double logarithmic plot shows the magnitude in dB over the normalized frequency. Besides the main lobe only the envelope of the frequency response is shown. This is more clearly and allows a quick comparsion
Elementos representados en este archivo
representa a
21 jul 2006
Historial del archivo
Haz clic sobre una fecha y hora para ver el archivo tal como apareció en ese momento.
Fecha y hora | Miniatura | Dimensiones | Usuario | Comentario | |
---|---|---|---|---|---|
actual | 21:53 2 oct 2016 | 988 × 726 (54 kB) | Cmdrjameson | Compressed with pngout. Reduced by 26kB (33% decrease). | |
01:42 23 ago 2008 | 988 × 726 (80 kB) | File Upload Bot (Magnus Manske) | {{BotMoveToCommons|en.wikipedia}} {{Information |Description={{en|Comparison of different window functions}} |Source=Transferred from [http://en.wikipedia.org en.wikipedia]; transferred to Commons by User:Sfan00_IMG using [http://tools.wikimedia.de/~ |
Usos del archivo
La siguiente página usa este archivo:
Uso global del archivo
Las wikis siguientes utilizan este archivo:
- Uso en it.wikipedia.org
- Uso en nl.wikipedia.org