File:8-point Hann windows.png

Summary

Description
English: We illustrate two different ways to generate Hann window functions for spectral analysis applications. MATLAB calls them "symmetric" and "periodic". The latter is also called "DFT Even" in the classic Frederic Harris paper.
Date
Source Own work
Author Bob K
Other versions Derivative works of this file:  8-point Hann windows.svg: Category:Files with derivative versions
File:8-point Hann windows.svg is a vector version of this file. It should be used in place of this PNG file when not inferior.Category:Vector version available

File:8-point Hann windows.png → File:8-point Hann windows.svg

For more information, see Help:SVG.

In other languages
Alemannisch  العربية  беларуская (тарашкевіца)  български  বাংলা  català  нохчийн  čeština  dansk  Deutsch  Ελληνικά  English  British English  Esperanto  español  eesti  euskara  فارسی  suomi  français  Frysk  galego  Alemannisch  עברית  हिन्दी  hrvatski  magyar  հայերեն  Bahasa Indonesia  Ido  italiano  日本語  ქართული  한국어  lietuvių  македонски  മലയാളം  Bahasa Melayu  မြန်မာဘာသာ  norsk bokmål  Plattdüütsch  Nederlands  norsk nynorsk  norsk  occitan  polski  prūsiskan  português  português do Brasil  română  русский  sicilianu  Scots  slovenčina  slovenščina  српски / srpski  svenska  தமிழ்  ไทย  Türkçe  татарча / tatarça  українська  vèneto  Tiếng Việt  中文  中文(中国大陆)  中文(简体)  中文(繁體)  中文(马来西亚)  中文(新加坡)  中文(臺灣)  +/−
New SVG image

PNG development
InfoField
Octave/gnuplot source
InfoField
click to expand

This graphic was created by the following Octave script:

pkg load signal
graphics_toolkit gnuplot
clear all; close all; clc

 M=5600;        % big number, divisible by 7 and 8
% Generate M+1 samples of a Hann window
 window = hann(M+1);
 N=8;           % actual window size, in "hops"

% Sample the window.
% Scale the abscissa. 0:M samples --> 0:7 "hops", and take 8 symmetrical hops, from 0 to 7
 sam_per_hop_7 = M/7;
 symmetric = window(1+(0:7)*sam_per_hop_7);

% Scale the abscissa. 0:M samples --> 0:8 "hops", and take 8 asymmetrical hops, from 0 to 7
 sam_per_hop_8 = M/8;
 periodic = window(1+(0:7)*sam_per_hop_8);

% Compare equivalent noise bandwidths (info only)
 ENBW_symmetric = N*sum(symmetric.^2)/sum(symmetric)^2                            % 
 ENBW_periodic  = N*sum(periodic.^2) /sum(periodic)^2                             % 

%Replace above with the equivalent formulaic versions
%This step just proves that formulas match window() array.
 symmetric = .5*(1-cos(2*pi*(0:7)/7));
 periodic  = .5*(1-cos(2*pi*(0:7)/8));     % aka "DFT Even"

%Compare equivalent noise bandwidths (info only)
 ENBW_symmetric = N*sum(symmetric.^2)/sum(symmetric)^2       % 1.7143
 ENBW_periodic  = N*sum(periodic.^2) /sum(periodic)^2        % 1.5
 
%Plot the coefficients as dots
 figure
 plot(0:7, symmetric, 'color', 'red', '.', 'MarkerSize', 10)
 box off                                    % no border around plot
 hold on                                    % same axes for next 3 plots
 
 plot(0:7, periodic,  'color', 'blue', '.', 'MarkerSize', 10)
 
% Connect the dots
 hops = (0:M)/sam_per_hop_8;
 plot(hops, window, "color","blue")          % periodic

 hops = (0:M)/sam_per_hop_7;
 plot(hops, window, "color","red")           % symmetric
 
xlim([0 8])
set(gca,'FontSize',14)
set(gca, "yaxislocation", "origin")
set(gca, 'xgrid', 'on')
set(gca, 'ygrid', 'on')
set(gca, 'ytick', [0:.25:1])
set(gca, 'xtick', [0:8])
text(3.3, 0.27, 'Matlab "symmetric" \rightarrow', 'color', 'red', 'FontSize',12)

str = {'\leftarrow Matlab "periodic"','     ("DFT-even")'};
text(5.5, 0.74, str, 'color', 'blue', 'FontSize',12)

title('Two 8-point Hann window functions', 'FontSize',12);
xlabel('\leftarrow  n  \rightarrow')

Licensing

Bob K, the copyright holder of this work, hereby publishes it under the following license:
Creative Commons CC-Zero This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication.
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Category:CC-Zero#8-point%20Hann%20windows.png
Category:Self-published work

Original upload log

Date/TimeDimensionsUserComment
27 August 2013, 04:03:10636 × 374 (12992 bytes)Bob K (talk · contribs)User created page with UploadWizard
Category:Digital signal processing Category:Window function Category:Created with GNU Octave Category:Images with Octave source code Category:Images with Gnuplot source code
Category:CC-Zero Category:Created with GNU Octave Category:Digital signal processing Category:Files with derivative versions Category:Images with Gnuplot source code Category:Images with Octave source code Category:PNG created with Octave Category:Self-published work Category:Vector version available Category:Window function