<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="id25383992">
  <name>FIR FILTER DESIGN: THE WINDOW DESIGN METHOD</name>
  <metadata>
  <md:version>1.1</md:version>
  <md:created>2008/06/18 22:47:21.371 GMT-5</md:created>
  <md:revised>2008/06/27 00:35:47.471 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="PhuongNguyen">
      <md:firstname>Phuong</md:firstname>
      <md:othername>Huu</md:othername>
      <md:surname>Nguyen</md:surname>
      <md:email>nhphuong@hcmuns.edu.vn</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="PhuongNguyen">
      <md:firstname>Phuong</md:firstname>
      <md:othername>Huu</md:othername>
      <md:surname>Nguyen</md:surname>
      <md:email>nhphuong@hcmuns.edu.vn</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  

  <md:abstract/>
</metadata>
  <content>
    <para id="id24669725">The design of a FIR filter starts with its specifications in either discrete-time domain or DTFT frequency domain, or both. In the time domain, the design objective is the impulse response. In the frequency domain, the requirement is on various parameters of the magnitude response, shown in Fig.5.8 for a lowpass filter. Important parameters are band edge frequencies 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ω rSub { size 8{p} } } {}</m:annotation></m:semantics></m:math> and 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ω rSub { size 8{s} } } {}</m:annotation></m:semantics></m:math>, passband </para>
    <figure id="element-153"><media type="image/jpeg" src="5.8.jpg">
    <param name="height" value="305"/>
    <param name="width" value="517"/>
  </media>
<caption> Typical normalized magnitude response specfications of a lowpass filter </caption></figure><para id="id24669856"><!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mo stretchy="false">[</m:mo><m:mn>0</m:mn><m:mo>,</m:mo><m:msub>
    <m:mi>ω</m:mi>
    <m:mi>p</m:mi>
   </m:msub>
   <m:mo stretchy="false">]</m:mo>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqaaeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaacUfacaaIWaGaaiilaiabeM8a3naaBaaaleaacaWGWbaabeaakiaac2faaaa@3C03@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
, transition band 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi fontstyle="italic">Δω</m:mi><m:mo stretchy="false">=</m:mo><m:mrow><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">−</m:mo><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{Δω=ω rSub { size 8{s} }  - ω rSub { size 8{p} } } {}</m:annotation></m:semantics></m:math>, stopband <!--Sorry, this media type is not supported.-->, cutoff frequency 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>c</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">=</m:mo><m:mo stretchy="false">(</m:mo></m:mrow><m:mrow><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">+</m:mo><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>c</m:mi></m:mrow></m:mstyle></m:msub></m:mrow><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">/</m:mo><m:mn>2</m:mn></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ω rSub { size 8{c} } = \( ω rSub { size 8{p} } +ω rSub { size 8{c} }  \) /2} {}</m:annotation></m:semantics></m:math>, passband ripple (or deviation) 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ rSub { size 8{p} } } {}</m:annotation></m:semantics></m:math> and stopband ripple
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ rSub { size 8{s} } } {}</m:annotation></m:semantics></m:math>. The two ripples are usually assumed equal . Notice that for ideal (desired) filter, the passband frequency magnitude is normalized to 1 and the stopband to 0 , and the frequency response of the designed filter oscillates between the high amplitude of 1 or the low amplitude of 0.</para>
    <para id="id24670230"><cnxn target="element-525" strength="9"/> illustrates the specifications of bandpass filter. Here there are two sets of edge frequencies, lower and upper. The rising bandwith <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mi>Δ</m:mi><m:msub>
    <m:mi>ω</m:mi>
    <m:mi>l</m:mi>
   </m:msub>
   
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaaiaacaqaaeaadaqaaqaaaOqaaiabfs5aejabeM8a3naaBaaaleaacaWGSbaabeaaaaa@3A52@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
 and the falling bandwidth <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mi>Δ</m:mi><m:msub>
    <m:mi>ω</m:mi>
    <m:mi>u</m:mi>
   </m:msub>
   
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaaiaacaqaaeaadaqaaqaaaOqaaiabfs5aejabeM8a3naaBaaaleaacaWG1baabeaaaaa@3A5B@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
are usually assumed equal. </para>
    <para id="id24670301">Even the initial requirement is imposed on magnitude response but we must design the filter having linear phase or generalized linear phase.</para>
    <para id="id24670307"><term> Overall filter design </term></para>
    <para id="id24670312">From the filter specifications, the first step is to choose between FIR and IIR filters based on their advantages and disadvantages. This chapter only concerns FIR filters. The next step is to select the proper linear phase FIR filters (section 5.2.3). A rather complete procedure for the design of FIR filters are as follows.</para>
    <list id="element-287" type="bulleted"><item>Specifications of the filter</item>
      <item>Choosing an appropriate linear phase filter type (section 5.2.3)</item>
      <item>Choosing the mothod of design such as window, optimal, frequency sampling…</item>
      <item>Calculation the filter coefficients (impulse response)</item>
      <item>Finding suitable structure</item>
      <item>Analysis of the finite wordlength effects (chapter 7)</item>
      <item>Implementation of the filter in hardware and/or software (chapter 7).Fig.5.9: Bandpass filter specifications</item>
    </list>
    <figure id="element-525"><media type="image/jpeg" src="5.9.jpg">
    <param name="height" value="254"/>
    <param name="width" value="537"/>
  </media>
<caption> Bandpass filter specifications </caption></figure><section id="id-627030101506">
      <name>Fixed windows</name>
      <para id="id24670407">The impulse response of ideal filters is infinite duration (IIR). We cannot evaluate the corresponding frequency response and, especially, implement the filter by hardware and/or software. Thus we must truncate the impulse response at both ends with respect to the central. Even we truncate the impulse response when it is small enough, but such a sudden cutoff will cause some undesired effects. The window method will reduce them.</para>
      <para id="id24670418">In the time domain, <term> windowing means that the we multiply the desired (usually ideal) infinite duration impulse response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>h</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h rSub { size 8{d} }  \( n \) } {}</m:annotation></m:semantics></m:math> by a finite duration window (or window function) 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{w \( n \) } {}</m:annotation></m:semantics></m:math></term> to get a soft truncation. The resulted impulse response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>h</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h \( n \) } {}</m:annotation></m:semantics></m:math> of the designed filter is the product</para>
      
      <equation id="element-429"><m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:mi>h</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:msub>
    <m:mi>h</m:mi>
    <m:mi>d</m:mi>
   </m:msub>
   <m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mi> </m:mi><m:mo>,</m:mo><m:mi> </m:mi><m:mi> </m:mi><m:mi> </m:mi><m:mi> </m:mi><m:mi> </m:mi><m:mi> </m:mi><m:mn>0</m:mn><m:mo>≤</m:mo><m:mi>n</m:mi><m:mo>≤</m:mo><m:mi>M</m:mi>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeqabiGaciaacaqaaeaadaqaaqaaaOqaaiaadIgacaGGOaGaamOBaiaacMcacqGH9aqpcaWGObWaaSbaaSqaaiaadsgaaeqaaOGaaiikaiaad6gacaGGPaGaam4DaiaacIcacaWGUbGaaiykaGqabiaa=bcacaGGSaGaa8hiaiaa=bcacaWFGaGaa8hiaiaa=bcacaWFGaGaaGimaiabgsMiJkaad6gacqGHKjYOcaWGnbaaaa@4CCC@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</equation><para id="id24670666">Here we assume that all desired impulse responses and windows are causal, from 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>n</m:mi><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{n=0} {}</m:annotation></m:semantics></m:math> to 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>n</m:mi><m:mo stretchy="false">=</m:mo><m:mi>M</m:mi></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{n=M} {}</m:annotation></m:semantics></m:math>, i.e. window length is 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">+</m:mo><m:mn>1</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M+1} {}</m:annotation></m:semantics></m:math> samples (time indices). Many authors start the design with 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>h</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h rSub { size 8{d} }  \( n \) } {}</m:annotation></m:semantics></m:math> and 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{w \( n \) } {}</m:annotation></m:semantics></m:math> bi-sided (noncausal), i.e. defined in the interval <!--Sorry, this media type is not supported.--> then shift to the right 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">/</m:mo><m:mn>2</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M/2} {}</m:annotation></m:semantics></m:math> indices to make them causal.</para>
      <para id="id24671060">Multiplying in time domain corresponds to convolution in frequency domain. Thus the frequency response of the designed filter (corresponding to the windowed impulse response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>h</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h \( n \) } {}</m:annotation></m:semantics></m:math>) is</para>
      <equation id="element-533"><m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">=</m:mo><m:msub><m:mi>H</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub></m:mrow><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">∗</m:mo><m:mi>W</m:mi></m:mrow><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">=</m:mo><m:mfrac><m:mn>1</m:mn><m:mn>2π</m:mn></m:mfrac></m:mrow><m:mrow><m:msubsup><m:mo stretchy="false">∫</m:mo><m:mstyle fontsize="8pt"><m:mrow><m:mrow><m:mo stretchy="false">−</m:mo><m:mi>π</m:mi></m:mrow></m:mrow></m:mstyle><m:mstyle fontsize="8pt"><m:mrow><m:mi>π</m:mi></m:mrow></m:mstyle></m:msubsup><m:mrow><m:msub><m:mi>H</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mi>'</m:mi><m:mo stretchy="false">)</m:mo><m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mrow><m:mi>ω</m:mi><m:mo stretchy="false">−</m:mo><m:mi>ω</m:mi></m:mrow><m:mi>'</m:mi><m:mo stretchy="false">)</m:mo><m:mi fontstyle="italic">dω</m:mi><m:mi>'</m:mi></m:mrow></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H \( ω \) =H rSub { size 8{d} }  \( ω \)  * W \( ω \) = {  {1}  over  {2π} }  Int rSub { size 8{ - π} }  rSup { size 8{π} }  {H rSub { size 8{d} }  \( ω' \) W \( ω - ω' \) dω'} } {}</m:annotation></m:semantics></m:math></equation>
      <para id="id24671346">where 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{W \( ω \) } {}</m:annotation></m:semantics></m:math> is the Fourier transform (DTFT) of the window
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{w \( n \) } {}</m:annotation></m:semantics></m:math>.</para>
      <para id="id24671476">In the window design method , we first evaluate the desired filter impulse response <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:msub>
    <m:mi>h</m:mi>
    <m:mi>d</m:mi>
   </m:msub>
   <m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaaiaacaqaaeaadaqaaqaaaOqaaiaadIgadaWgaaWcbaGaamizaaqabaGccaGGOaGaamOBaiaacMcaaaa@3A3B@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ --> from the given desired frequency response <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:msub>
    <m:mi>H</m:mi>
    <m:mi>d</m:mi>
   </m:msub>
   <m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeqabiGaciaacaqaaeaadaqaaqaaaOqaaiaadIeadaWgaaWcbaGaamizaaqabaGccaGGOaGaeqyYdCNaaiykaaaa@3B16@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->, 

and then apply an appropriate window . Thus the method should be called the Fourier – window method.</para>
      <para id="id24671520"><term> Retangular window </term></para>
      <para id="id24671524">Actually, the sudden truncation mentioned earlier is the simplest window called rectangular window, defined as (<cnxn target="element-912" strength="9"/>)</para>
      <figure id="element-912"><media type="image/jpeg" src="5.10.jpg">
    <param name="height" value="121"/>
    <param name="width" value="360"/>
  </media>
<caption> Rectangular window of order M or length M + 1 </caption></figure><equation id="element-48"><m:math display="block"><m:semantics><m:mrow><m:mrow><m:mtable><m:mtr><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">=</m:mo><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow><m:mn>1</m:mn><m:mrow/></m:mrow></m:mtd></m:mtr></m:mtable></m:mrow><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd></m:mtr></m:mtable><m:mi>,</m:mi><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow/></m:mtd></m:mtr></m:mtable><m:mrow><m:mrow><m:mn>0</m:mn><m:mo stretchy="false">≤</m:mo><m:mi>n</m:mi></m:mrow><m:mo stretchy="false">≤</m:mo><m:mi>M</m:mi></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow></m:mtr><m:mtr><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow><m:mn>0</m:mn><m:mrow/></m:mrow></m:mtd></m:mtr></m:mtable><m:mrow/></m:mrow></m:mtd></m:mtr></m:mtable><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd></m:mtr></m:mtable><m:mi>,</m:mi><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow/></m:mtd></m:mtr></m:mtable><m:mtext>otherwise</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow></m:mtr></m:mtable><m:mrow/></m:mrow></m:mrow><m:annotation encoding="StarMath 5.0">alignl { stack {
 size 12{w \( n \) = matrix {
 {} # 1{}
}  matrix {
{}
} , matrix {
 {} # {}
} 0 &lt;= n &lt;= M}  {} # 
 size 12{ matrix {
 {} #  {} #  matrix {
 {} # 0{}
} {}
}  matrix {
{}
} , matrix {
 {} # {}
} "otherwise"}  {} 
} } {}</m:annotation></m:semantics></m:math></equation>
      <para id="id24671709">The Fourier transform of this window is </para>
      <equation id="element-893"><m:math display="block">
 <m:semantics>
  <m:mtable columnalign="left">
   <m:mtr>
    <m:mtd>
     <m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mstyle displaystyle="true">
      <m:munderover>
       <m:mo>∑</m:mo>
       <m:mrow>
        <m:mi>n</m:mi><m:mo>=</m:mo><m:mo>−</m:mo><m:mi>∞</m:mi>
       </m:mrow>
       <m:mi>∞</m:mi>
      </m:munderover>
      <m:mrow>
       <m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:msup>
        <m:mi>e</m:mi>
        <m:mrow>
         <m:mo>−</m:mo><m:mi>j</m:mi><m:mi>ω</m:mi><m:mi>n</m:mi>
        </m:mrow>
       </m:msup>
       <m:mo>=</m:mo><m:mstyle displaystyle="true">
        <m:munderover>
         <m:mo>∑</m:mo>
         <m:mrow>
          <m:mi>n</m:mi><m:mo>=</m:mo><m:mn>0</m:mn>
         </m:mrow>
         <m:mi>M</m:mi>
        </m:munderover>
        <m:mrow>
         <m:msup>
          <m:mi>e</m:mi>
          <m:mrow>
           <m:mo>−</m:mo><m:mi>j</m:mi><m:mi>ω</m:mi><m:mi>n</m:mi>
          </m:mrow>
         </m:msup>
         
        </m:mrow>
       </m:mstyle><m:mo>=</m:mo><m:mfrac>
        <m:mrow>
         <m:mn>1</m:mn><m:mo>−</m:mo><m:msup>
          <m:mi>e</m:mi>
          <m:mrow>
           <m:mo>−</m:mo><m:mi>j</m:mi><m:mi>ω</m:mi><m:mo stretchy="false">(</m:mo><m:mi>M</m:mi><m:mo>+</m:mo><m:mn>1</m:mn><m:mo stretchy="false">)</m:mo>
          </m:mrow>
         </m:msup>
         
        </m:mrow>
        <m:mrow>
         <m:mn>1</m:mn><m:mo>−</m:mo><m:msup>
          <m:mi>e</m:mi>
          <m:mrow>
           <m:mo>−</m:mo><m:mi>j</m:mi><m:mi>ω</m:mi>
          </m:mrow>
         </m:msup>
         
        </m:mrow>
       </m:mfrac>
       
      </m:mrow>
     </m:mstyle>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow/>
       </m:mtd>
       <m:mtd>
        <m:mrow>
         <m:mtable>
          <m:mtr>
           <m:mtd>
            <m:mrow>
             <m:mtable>
              <m:mtr>
               <m:mtd>
                <m:mrow>
                 <m:mtable>
                  <m:mtr>
                   <m:mtd>
                    <m:mrow>
                     <m:mtable>
                      <m:mtr>
                       <m:mtd>
                        <m:mrow/>
                       </m:mtd>
                       <m:mtd>
                        <m:mrow/>
                       </m:mtd>
                      </m:mtr>
                      
                     </m:mtable>
                    </m:mrow>
                   </m:mtd>
                   <m:mtd>
                    <m:mrow/>
                   </m:mtd>
                  </m:mtr>
                  
                 </m:mtable>
                </m:mrow>
               </m:mtd>
               <m:mtd>
                <m:mrow/>
               </m:mtd>
               <m:mtd>
                <m:mrow/>
               </m:mtd>
              </m:mtr>
              
             </m:mtable>
            </m:mrow>
           </m:mtd>
           <m:mtd>
            <m:mrow>
             <m:mtable>
              <m:mtr>
               <m:mtd>
                <m:mrow>
                 <m:mtable>
                  <m:mtr>
                   <m:mtd>
                    <m:mrow>
                     <m:mtable>
                      <m:mtr>
                       <m:mtd>
                        <m:mrow/>
                       </m:mtd>
                       <m:mtd>
                        <m:mrow/>
                       </m:mtd>
                      </m:mtr>
                      
                     </m:mtable>
                    </m:mrow>
                   </m:mtd>
                   <m:mtd>
                    <m:mrow/>
                   </m:mtd>
                  </m:mtr>
                  
                 </m:mtable>
                </m:mrow>
               </m:mtd>
               <m:mtd>
                <m:mrow/>
               </m:mtd>
              </m:mtr>
              
             </m:mtable>
            </m:mrow>
           </m:mtd>
          </m:mtr>
          
         </m:mtable>
        </m:mrow>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow>
         <m:mo>=</m:mo><m:msup>
          <m:mi>e</m:mi>
          <m:mrow>
           <m:mo>−</m:mo><m:mi>j</m:mi><m:mfrac>
            <m:mi>M</m:mi>
            <m:mn>2</m:mn>
           </m:mfrac>
           <m:mi>ω</m:mi>
          </m:mrow>
         </m:msup>
         <m:mfrac>
          <m:mrow>
           <m:mi>sin</m:mi><m:mo>⁡</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">(</m:mo><m:mi>M</m:mi><m:mo>+</m:mo><m:mn>1</m:mn><m:mo stretchy="false">)</m:mo><m:mo>/</m:mo><m:mn>2</m:mn>
          </m:mrow>
          <m:mrow>
           <m:mi>sin</m:mi><m:mo>⁡</m:mo><m:mi>ω</m:mi><m:mo>/</m:mo><m:mn>2</m:mn>
          </m:mrow>
         </m:mfrac>
         
        </m:mrow>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow/>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mo>,</m:mo><m:mtext> </m:mtext><m:mi>ω</m:mi><m:mo>≠</m:mo><m:mn>0</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow/>
       </m:mtd>
       <m:mtd>
        <m:mrow>
         <m:mtable>
          <m:mtr>
           <m:mtd>
            <m:mrow>
             <m:mtable>
              <m:mtr>
               <m:mtd>
                <m:mrow>
                 <m:mtable>
                  <m:mtr>
                   <m:mtd>
                    <m:mrow>
                     <m:mtable>
                      <m:mtr>
                       <m:mtd>
                        <m:mrow/>
                       </m:mtd>
                       <m:mtd>
                        <m:mrow/>
                       </m:mtd>
                      </m:mtr>
                      
                     </m:mtable>
                    </m:mrow>
                   </m:mtd>
                   <m:mtd>
                    <m:mrow/>
                   </m:mtd>
                  </m:mtr>
                  
                 </m:mtable>
                </m:mrow>
               </m:mtd>
               <m:mtd>
                <m:mrow/>
               </m:mtd>
               <m:mtd>
                <m:mrow/>
               </m:mtd>
              </m:mtr>
              
             </m:mtable>
            </m:mrow>
           </m:mtd>
           <m:mtd>
            <m:mrow>
             <m:mtable>
              <m:mtr>
               <m:mtd>
                <m:mrow>
                 <m:mtable>
                  <m:mtr>
                   <m:mtd>
                    <m:mrow/>
                   </m:mtd>
                   <m:mtd>
                    <m:mrow/>
                   </m:mtd>
                  </m:mtr>
                  
                 </m:mtable>
                </m:mrow>
               </m:mtd>
               <m:mtd>
                <m:mrow/>
               </m:mtd>
               <m:mtd>
                <m:mrow/>
               </m:mtd>
              </m:mtr>
              
             </m:mtable>
            </m:mrow>
           </m:mtd>
          </m:mtr>
          
         </m:mtable>
        </m:mrow>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mi>M</m:mi><m:mo>+</m:mo><m:mn>1</m:mn><m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow/>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mo>,</m:mo><m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow/>
       </m:mtd>
       <m:mtd>
        <m:mrow>
         <m:mtext> </m:mtext><m:mtext> </m:mtext>
        </m:mrow>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mi>ω</m:mi><m:mo>=</m:mo><m:mn>0</m:mn>
    </m:mtd>
   </m:mtr>
  </m:mtable>
  
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeGabiGaciaacaqaaeaadaqaaqaaaOabaeqabaGaam4vaiaacIcacqaHjpWDcaGGPaGaeyypa0ZaaabCaeaacaWG3bGaaiikaiaad6gacaGGPaGaamyzamaaCaaaleqabaGaeyOeI0IaamOAaiabeM8a3jaad6gaaaGccqGH9aqpdaaeWbqaaiaadwgadaahaaWcbeqaaiabgkHiTiaadQgacqaHjpWDcaWGUbaaaaqaaiaad6gacqGH9aqpcaaIWaaabaGaamytaaqdcqGHris5aOGaeyypa0ZaaSaaaeaacaaIXaGaeyOeI0IaamyzamaaCaaaleqabaGaeyOeI0IaamOAaiabeM8a3jaacIcacaWGnbGaey4kaSIaaGymaiaacMcaaaaakeaacaaIXaGaeyOeI0IaamyzamaaCaaaleqabaGaeyOeI0IaamOAaiabeM8a3baaaaaabaGaamOBaiabg2da9iabgkHiTiabg6HiLcqaaiabg6HiLcqdcqGHris5aaGcbaqbaeqabeGaaaqaaaqaauaabeqabiaaaeaafaqabeqadaaabaqbaeqabeGaaaqaauaabeqabiaaaeaaaeaaaaaabaaaaaqaaaqaaaaaaeaafaqabeqacaaabaqbaeqabeGaaaqaauaabeqabiaaaeaaaeaaaaaabaaaaaqaaaaaaaaaauaabeqabeaaaeaacqGH9aqpcaWGLbWaaWbaaSqabeaacqGHsislcaWGQbWaaSaaaeaacaWGnbaabaGaaGOmaaaacqaHjpWDaaGcdaWcaaqaaiGacohacaGGPbGaaiOBaiabeM8a3jaacIcacaWGnbGaey4kaSIaaGymaiaacMcacaGGVaGaaGOmaaqaaiGacohacaGGPbGaaiOBaiabeM8a3jaac+cacaaIYaaaaaaafaqabeqabaaabaaaaiaacYcacaaMf8UaeqyYdCNaeyiyIKRaaGimaaqaauaabeqabiaaaeaaaeaafaqabeqacaaabaqbaeqabeWaaaqaauaabeqabiaaaeaafaqabeqacaaabaaabaaaaaqaaaaaaeaaaeaaaaaabaqbaeqabeWaaaqaauaabeqabiaaaeaaaeaaaaaabaaabaaaaaaaaaGaaGzbVlaaywW7caaMf8UaamytaiabgUcaRiaaigdafaqabeqabaaabaaaaiaacYcafaqabeqacaaabaaabaGaaGzbVlaaywW7aaGaaGzbVlaaywW7caaMe8UaeqyYdCNaeyypa0JaaGimaaaaaa@9C45@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</equation>
      <para id="id24671755">This is the same as Equation (3.54) when replacing
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>M</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M} {}</m:annotation></m:semantics></m:math> by 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mn>2N</m:mn></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{2N} {}</m:annotation></m:semantics></m:math>. Also, instead of the above expression we can use the sum of cosines (Equations (3.46), (3.53)). 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{W \( ω \) } {}</m:annotation></m:semantics></m:math> has includes a phase factor showing the time shift of a two-sided symmetric window to a causal window. The magnitude and phase responses are, respectively, </para>
      <figure id="element-237"><media type="image/jpeg" src="5.11.jpg">
    <param name="height" value="283"/>
    <param name="width" value="571"/>
  </media>
<caption> Normalized frequency response of rectangular window for M = 30 and 50 </caption></figure><equation id="element-75"><m:math display="block">
 <m:semantics>
  <m:mtable columnalign="left">
   <m:mtr>
    <m:mtd>
     <m:mrow><m:mo>|</m:mo> <m:mrow>
      <m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo>
     </m:mrow> <m:mo>|</m:mo></m:mrow><m:mo>=</m:mo><m:mrow><m:mo>|</m:mo> <m:mrow>
      <m:mfrac>
       <m:mrow>
        <m:mi>sin</m:mi><m:mo>⁡</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">(</m:mo><m:mi>M</m:mi><m:mo>+</m:mo><m:mn>1</m:mn><m:mo stretchy="false">)</m:mo><m:mo>/</m:mo><m:mn>2</m:mn>
       </m:mrow>
       <m:mrow>
        <m:mi>sin</m:mi><m:mo>⁡</m:mo><m:mi>ω</m:mi><m:mo>/</m:mo><m:mn>2</m:mn>
       </m:mrow>
      </m:mfrac>
      
     </m:mrow> <m:mo>|</m:mo></m:mrow><m:mtext> </m:mtext><m:mo>,</m:mo><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mi>ω</m:mi><m:mo>≠</m:mo><m:mn>0</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow>
         <m:mi>M</m:mi><m:mo>+</m:mo><m:mn>1</m:mn>
        </m:mrow>
       </m:mtd>
       <m:mtd>
        <m:mrow>
         <m:mo>,</m:mo><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext>
        </m:mrow>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mi>ω</m:mi><m:mo>=</m:mo><m:mn>0</m:mn>
    </m:mtd>
   </m:mtr>
  </m:mtable>
  
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqabeaadaqaaqaaaOabaeqabaWaaqWaaeaacaWGxbGaaiikaiabeM8a3jaacMcaaiaawEa7caGLiWoacqGH9aqpdaabdaqaamaalaaabaGaci4CaiaacMgacaGGUbGaeqyYdCNaaiikaiaad2eacqGHRaWkcaaIXaGaaiykaiaac+cacaaIYaaabaGaci4CaiaacMgacaGGUbGaeqyYdCNaai4laiaaikdaaaaacaGLhWUaayjcSdGaaGjbVlaacYcacaaMf8UaaGzbVlabeM8a3jabgcMi5kaaicdaaeaacaaMf8UaaGzbVlaaywW7caaMf8EbaeqabeGaaaqaaiaad2eacqGHRaWkcaaIXaaabaGaaiilaiaaywW7caaMf8UaaGzbVdaacaaMf8UaaGzbVlabeM8a3jabg2da9iaaicdaaaaa@6F96@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</equation>
      
      <equation id="element-398"><m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:mi>Φ</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mo>−</m:mo><m:mfrac>
    <m:mi>M</m:mi>
    <m:mn>2</m:mn>
   </m:mfrac>
   <m:mi>ω</m:mi><m:mo>+</m:mo><m:mi>β</m:mi>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeGabiGaciaacaqaaeaadaqaaqaaaOqaaiabfA6agjaacIcacqaHjpWDcaGGPaGaeyypa0JaeyOeI0YaaSaaaeaacaWGnbaabaGaaGOmaaaacqaHjpWDcqGHRaWkcqaHYoGyaaa@4265@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</equation><para id="id24671999">where 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>β</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{β} {}</m:annotation></m:semantics></m:math> is 0 or 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>π</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{π} {}</m:annotation></m:semantics></m:math> as discussed in previous section. Thus the window is linear phase. Fig.3.27 illustrates the variation of the amplitude of 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mo stretchy="false">∣</m:mo><m:mrow><m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow><m:mo stretchy="false">∣</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ lline W \( ω \)  rline } {}</m:annotation></m:semantics></m:math> (remember to replace 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mn>2N</m:mn></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{2N} {}</m:annotation></m:semantics></m:math> by 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>M</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M} {}</m:annotation></m:semantics></m:math>). It is maximum and equals to 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">+</m:mo><m:mn>1</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M+1} {}</m:annotation></m:semantics></m:math> at 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>ω</m:mi><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ω=0} {}</m:annotation></m:semantics></m:math>. The zero-crossing points are multiples of 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mn>2π</m:mn><m:mo stretchy="false">/</m:mo><m:mo stretchy="false">(</m:mo></m:mrow><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">+</m:mo><m:mn>1</m:mn></m:mrow><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{2π/ \( M+1 \) } {}</m:annotation></m:semantics></m:math>. The response consists of a main lobe and many sidelobes. As 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>M</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M} {}</m:annotation></m:semantics></m:math> gets larger the main-lobe gets smaller, and there are more sidelobes, also narrower but the amplitude of the first sidelobe remains the same (Fig.5.11). As 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">→</m:mo><m:mo stretchy="false">∞</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M rightarrow  infinity } {}</m:annotation></m:semantics></m:math>, 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{W \( ω \) } {}</m:annotation></m:semantics></m:math> tends to be an unit sample 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>δ</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ \( ω \) } {}</m:annotation></m:semantics></m:math>.</para>
      <figure id="element-835"><media type="image/jpeg" src="5.12.jpg">
    <param name="height" value="441"/>
    <param name="width" value="560"/>
  </media>
<caption> Magnitude response of designed lowpass filter when using rectangular window with M = 44 </caption></figure><para id="id24672697">The oscillatory 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mo stretchy="false">∣</m:mo><m:mrow><m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow><m:mo stretchy="false">∣</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ lline W \( ω \)  rline } {}</m:annotation></m:semantics></m:math> when convolved with the ideal lowpass response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>H</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H rSub { size 8{d} }  \( ω \) } {}</m:annotation></m:semantics></m:math> will result in a response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H \( ω \) } {}</m:annotation></m:semantics></m:math> having a non-zero transition width and ripples is both the passband and stopband. Fig.5.12 shows the designed lowpass filter when using rectangular window having 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">=</m:mo><m:mtext>44</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M="44"} {}</m:annotation></m:semantics></m:math> to abruptly truncate the impulse response of an ideal lowpass filter with cutoff frequency 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>c</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">=</m:mo><m:mrow><m:mi>π</m:mi><m:mo stretchy="false">/</m:mo><m:mn>2</m:mn></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{w rSub { size 8{c} } =π/2} {}</m:annotation></m:semantics></m:math>. 
Fig.5.13 shows the magnitude in linear scale for two case of filter order, M = 10 and M = 18.</para>
      <para id="id24673225">In order that 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H \( ω \) } {}</m:annotation></m:semantics></m:math> approaches 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>H</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H rSub { size 8{d} }  \( ω \) } {}</m:annotation></m:semantics></m:math> the rectangular window must be of infinite duration, i.e. we must take into account the whole impulse response without truncation. In frequency domain this means 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{W \( ω \) } {}</m:annotation></m:semantics></m:math> is an unit sample 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>δ</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ \( ω \) } {}</m:annotation></m:semantics></m:math> as said. We can reason in the reverse direction: Since 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">=</m:mo><m:msub><m:mi>H</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub></m:mrow><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">∗</m:mo><m:mi>δ</m:mi></m:mrow><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">=</m:mo><m:msub><m:mi>H</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub></m:mrow><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H \( ω \) =H rSub { size 8{d} }  \( ω \)  * δ \( ω \) =H rSub { size 8{d} }  \( ω \) } {}</m:annotation></m:semantics></m:math> then 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>δ</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ \( ω \) } {}</m:annotation></m:semantics></m:math> must be a unit sample and the windows must be of infinite duration. When we simulate 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H \( ω \) } {}</m:annotation></m:semantics></m:math>on a computer using Maltlab sofware, or else, with 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>M</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M} {}</m:annotation></m:semantics></m:math> in the hundreds we will still see the non-zero transition width and ripples due to the <term> Gibbs phenomenon </term> (section 3.1.4). An infinitely long windows is not practical, so the idea is to look for finite duration windows which perform better than the rectangular. </para>
      <para id="id24673841">Actually in examples 5.2.1 and 5.2.2 the truncation of the impulse responses of the ideal filters meant the rectangular window had been applied.</para>
      
      <figure id="element-489"><media type="image/jpeg" src="5.13.jpg">
    <param name="height" value="448"/>
    <param name="width" value="544"/>
  </media>
<caption> Magnitude response of designed filter for M = 10 and M = 18 </caption></figure><para id="id24673891"><term> Other windows </term></para>
      <para id="id24673895">The Gibbs phenomenon can be reduced considerably by the use of a softer (less abrupt) truncation, i.e. by tapering the rectangular smootly to zero at both ends. Unfortunately, the reduction in amplitude of sidelobes of 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H \( ω \) } {}</m:annotation></m:semantics></m:math>is accompanied by a widening of its mainlobe. For comparision, the window responses 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{W \( ω \) } {}</m:annotation></m:semantics></m:math>are usually plotted in 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mstyle fontstyle="italic"><m:mrow><m:mtext>dB</m:mtext></m:mrow></m:mstyle></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ ital "dB"} {}</m:annotation></m:semantics></m:math> scale. </para>
      <figure id="element-445"><media type="image/jpeg" src="5.14.jpg">
    <param name="height" value="175"/>
    <param name="width" value="525"/>
  </media>
<caption> Triangular window (Bartlett window) </caption></figure><para id="id24674084">Several smooth window functions have been proposed and used. It might come to our mind that the first applicant would be the <term> triangular window</term>, also called <term> Bartlett window </term>, depicted in Fig.5.14. From the figure we can write the window function ( table 5.1). Table 5.1 lists common fixed windows and Fig.5.15 plots their functions. Fig.5.16 plots the dB magnitude for <!--Sorry, this media type is not supported.--> and Fig.5.17 for M = 50.The first sidelobe is at -25dB compared to the -13dB of the corresponding (same length) rectangular window. However the mainlobe width is about twice as large.</para>
      <figure id="element-563"><media type="image/jpeg" src="5.15.jpg">
    <param name="height" value="267"/>
    <param name="width" value="494"/>
  </media>
<caption> Common window plotted as function of continuous time n (whereas actual windows are function of discrete index n) </caption></figure><para id="id24674188">The sidelobe of the triangular window is still high because the tapering is still rather coarse. For smoother tapering, cosinusoid is incorporated into the window function. This observation has led to the three well known windows: Hanning (or von Hann), Hamming, and Blackman, all defined in the interval 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mn>0</m:mn><m:mo stretchy="false">≤</m:mo><m:mi>n</m:mi></m:mrow><m:mo stretchy="false">≤</m:mo><m:mi>M</m:mi></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{0 &lt;= n &lt;= M} {}</m:annotation></m:semantics></m:math>, otherwise zero (table 5.1). We can check that the functions are normalized (peak value of 1 at 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>n</m:mi><m:mo stretchy="false">=</m:mo><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">/</m:mo><m:mn>2</m:mn></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{n=M/2} {}</m:annotation></m:semantics></m:math>) and zero at both ends except the rectangular and the Hamming (0.08 instead of 0). Besides, there are many other less-used fixed windows. </para>
      
      
      <para id="id25442553">Notice that all windows mentioned, from rectangular to Blackman, are simple functions easily evaluated, and their frequency responses concentrate around
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>ω</m:mi><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ω=0} {}</m:annotation></m:semantics></m:math>(the mainlobe) as expected. Also notice that all the windows mentioned are <term> symmetric about the mid-point </term>
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>n</m:mi><m:mo stretchy="false">=</m:mo><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">/</m:mo><m:mn>2</m:mn></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{n=M/2} {}</m:annotation></m:semantics></m:math>, this when combined with the symmetry or antisymmetry of the filter’s impulse response will make the corresponding designed filter linear phase or generalized linear phase. </para>
      
      
      <figure id="element-424"><media type="image/jpeg" src="5.16.jpg">
    <param name="height" value="595"/>
    <param name="width" value="320"/>
  </media>
<caption> dB magnitude frequency response of fixed windows for M = 20 (a) Bartlett, (b) Hanning, (c) Hamming, (d) Blackman </caption></figure><figure id="element-277"><media type="image/jpeg" src="5.17.jpg">
    <param name="height" value="599"/>
    <param name="width" value="308"/>
  </media>
<caption> dB magnitude frequency response of various windows for M = 50 (a) Bartlett, (b) Hanning, (c) Hamming, (d) Blackman </caption></figure><para id="id25442872">Table 5.2 lists various features of common windows for comparison. The passband ripple <!--Sorry, this media type is not supported.--> and the stopband ripple 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ rSub { size 8{s} } } {}</m:annotation></m:semantics></m:math>    and the stopband ripple <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:msub>
    <m:mi>δ</m:mi>
    <m:mi>s</m:mi>
   </m:msub>
   
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaciaacaqabeaadaqaaqaaaOqaaiabes7aKnaaBaaaleaacaWGZbaabeaaaaa@38AE@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->, 
are taken equal (the smaller of the two):</para>
      <equation id="element-288"><m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:mi>A</m:mi><m:mo>=</m:mo><m:mo>−</m:mo><m:mn>20</m:mn><m:msub>
    <m:mrow>
     <m:mi>log</m:mi><m:mo>⁡</m:mo>
    </m:mrow>
    <m:mrow>
     <m:mn>10</m:mn>
    </m:mrow>
   </m:msub>
   <m:mo stretchy="false">[</m:mo><m:mi>min</m:mi><m:mo>⁡</m:mo><m:mo stretchy="false">(</m:mo><m:msub>
    <m:mi>δ</m:mi>
    <m:mi>p</m:mi>
   </m:msub>
   <m:mo>,</m:mo><m:msub>
    <m:mi>δ</m:mi>
    <m:mi>s</m:mi>
   </m:msub>
   <m:mo stretchy="false">)</m:mo><m:mo stretchy="false">]</m:mo>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadgeacqGH9aqpcqGHsislcaaIYaGaaGimaiGacYgacaGGVbGaai4zamaaBaaaleaacaaIXaGaaGimaaqabaGccaGGBbGaciyBaiaacMgacaGGUbGaaiikaiabes7aKnaaBaaaleaacaWGWbaabeaakiaacYcacqaH0oazdaWgaaWcbaGaam4CaaqabaGccaGGPaGaaiyxaaaa@4ACA@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</equation>
      <para id="id25443018">Fig.5.16, Fig.5.17 and Table 5.2 show that no window is the best in all aspects but there is a tradeoff of features, and the choice of an appropriate window depending on our requirement. For smallest mainlobe width it’s the rectangular window, for best sidelobe attenuation it’s the Blackman. In between, the Hamming is a good choice. The Bartlett is the transition from the rectangular to the other windows. See section 5.3.3 for design examples.</para>
    </section>
    <section id="id-204753989047">
      <name>The Kaiser window</name>
      <para id="id25443045">The windows discussed so far are fixed windows, only the length 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mo stretchy="false">(</m:mo><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">+</m:mo><m:mn>1</m:mn></m:mrow><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ \( M+1 \) } {}</m:annotation></m:semantics></m:math> is adjustable. The Kaiser window has an additional <term> ripple parameter 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>β</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{β} {}</m:annotation></m:semantics></m:math> </term> , enabling the designer to tradeoff the transition and ripple. It is defined in the interval
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mn>0</m:mn><m:mo stretchy="false">≤</m:mo><m:mi>n</m:mi></m:mrow><m:mo stretchy="false">≤</m:mo><m:mi>M</m:mi></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{0 &lt;= n &lt;= M} {}</m:annotation></m:semantics></m:math>, otherwise zero:</para>
      <equation id="element-737"><m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mfrac>
    <m:mrow>
     <m:msub>
      <m:mi>I</m:mi>
      <m:mn>0</m:mn>
     </m:msub>
     <m:mrow><m:mo>{</m:mo> <m:mrow>
      <m:mroot>
       <m:mrow>
        <m:mn>1</m:mn><m:mo>−</m:mo><m:mrow><m:mo>(</m:mo>
         <m:mrow>
          <m:mfrac>
           <m:mrow>
            <m:mi>n</m:mi><m:mo>−</m:mo><m:mi>M</m:mi><m:mo>/</m:mo><m:mn>2</m:mn>
           </m:mrow>
           <m:mrow>
            <m:mi>M</m:mi><m:mo>/</m:mo><m:mn>2</m:mn>
           </m:mrow>
          </m:mfrac>
          
         </m:mrow>
        <m:mo>)</m:mo></m:mrow>
       </m:mrow>
       <m:mrow>
        <m:mi>β</m:mi><m:mtext> </m:mtext>
       </m:mrow>
      </m:mroot>
      <m:mtable>
       <m:mtr>
        <m:mtd>
         <m:mrow>
          <m:mover>
           <m:mrow/>
           <m:mn>2</m:mn>
          </m:mover>
          
         </m:mrow>
        </m:mtd>
       </m:mtr>
       
      </m:mtable>
     </m:mrow> <m:mo>}</m:mo></m:mrow>
    </m:mrow>
    <m:mrow>
     <m:msub>
      <m:mi>I</m:mi>
      <m:mn>0</m:mn>
     </m:msub>
     <m:mo stretchy="false">(</m:mo><m:mi>β</m:mi><m:mo stretchy="false">)</m:mo>
    </m:mrow>
   </m:mfrac>
   <m:mtable>
    <m:mtr>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
    </m:mtr>
    
   </m:mtable><m:mo>,</m:mo><m:mtable>
    <m:mtr>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
    </m:mtr>
    
   </m:mtable><m:mn>0</m:mn><m:mo>≤</m:mo><m:mi>n</m:mi><m:mo>≤</m:mo><m:mi>M</m:mi>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadEhacaGGOaGaamOBaiaacMcacqGH9aqpdaWcaaqaaiaadMeadaWgaaWcbaGaaGimaaqabaGcdaGadaqaamaakeaabaGaaGymaiabgkHiTmaabmaabaWaaSaaaeaacaWGUbGaeyOeI0Iaamytaiaac+cacaaIYaaabaGaamytaiaac+cacaaIYaaaaaGaayjkaiaawMcaaaWcbaqcLbyacqaHYoGycaaMe8oaaOqbaeqabeqaaaqaamaaxacabaaaleqabaGaaGOmaaaaaaaakiaawUhacaGL9baaaeaacaWGjbWaaSbaaSqaaiaaicdaaeqaaOGaaiikaiabek7aIjaacMcaaaqbaeqabeqaaaqaaaaacaGGSaqbaeqabeGaaaqaaaqaaaaacaaIWaGaeyizImQaamOBaiabgsMiJkaad2eaaaa@5897@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</equation>
      <para id="id25443284">where 
 <term> <m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>I</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mn>0</m:mn></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>x</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{I rSub { size 8{0} }  \( x \) } {}</m:annotation></m:semantics></m:math> is the modified zeroth-order Bessel function,</term>  computed by a power series expansion:</para>
      <equation id="element-789"><m:math display="block"><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>I</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mn>0</m:mn></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>x</m:mi><m:mrow><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">=</m:mo><m:mrow><m:mn>1</m:mn><m:mo stretchy="false">+</m:mo><m:mrow><m:munderover><m:mo stretchy="false">∑</m:mo><m:mstyle fontsize="8pt"><m:mrow><m:mrow><m:mi>k</m:mi><m:mo stretchy="false">=</m:mo><m:mn>1</m:mn></m:mrow></m:mrow></m:mstyle><m:mstyle fontsize="8pt"><m:mrow><m:mo stretchy="false">∞</m:mo></m:mrow></m:mstyle></m:munderover><m:msup><m:mfenced open="[" close="]"><m:mfrac><m:mrow><m:mi>x</m:mi><m:mo stretchy="false">(</m:mo><m:mn>2</m:mn><m:msup><m:mo stretchy="false">)</m:mo><m:mstyle fontsize="8pt"><m:mrow><m:mi>k</m:mi></m:mrow></m:mstyle></m:msup></m:mrow><m:mrow><m:mi>k</m:mi><m:mi>!</m:mi></m:mrow></m:mfrac></m:mfenced><m:mstyle fontsize="8pt"><m:mrow><m:mn>2</m:mn></m:mrow></m:mstyle></m:msup></m:mrow></m:mrow></m:mrow><m:mo stretchy="false">=</m:mo><m:mrow><m:mrow><m:mrow><m:mrow><m:mn>1</m:mn><m:mo stretchy="false">+</m:mo><m:mfrac><m:msup><m:mi>x</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mn>2</m:mn></m:mrow></m:mstyle></m:msup><m:mn>4</m:mn></m:mfrac></m:mrow><m:mo stretchy="false">+</m:mo><m:mrow><m:mrow><m:mfrac><m:mn>1</m:mn><m:msup><m:mn>2</m:mn><m:mstyle fontsize="8pt"><m:mrow><m:mn>2</m:mn></m:mrow></m:mstyle></m:msup></m:mfrac><m:mo stretchy="false">⋅</m:mo><m:mfrac><m:msup><m:mi>x</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mn>2</m:mn></m:mrow></m:mstyle></m:msup><m:mn>4</m:mn></m:mfrac></m:mrow><m:mo stretchy="false">⋅</m:mo><m:mfrac><m:msup><m:mi>x</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mn>2</m:mn></m:mrow></m:mstyle></m:msup><m:mn>4</m:mn></m:mfrac></m:mrow></m:mrow><m:mo stretchy="false">+</m:mo><m:mrow><m:mrow><m:mfrac><m:mn>1</m:mn><m:msup><m:mi>z</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mn>2</m:mn></m:mrow></m:mstyle></m:msup></m:mfrac><m:mo stretchy="false">⋅</m:mo><m:mfrac><m:msup><m:mi>x</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mn>2</m:mn></m:mrow></m:mstyle></m:msup><m:mn>4</m:mn></m:mfrac></m:mrow><m:mo stretchy="false">⋅</m:mo><m:mfrac><m:msup><m:mi>x</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mn>4</m:mn></m:mrow></m:mstyle></m:msup><m:mtext>16</m:mtext></m:mfrac></m:mrow></m:mrow><m:mo stretchy="false">+</m:mo><m:mrow><m:mrow/><m:mo stretchy="false">⋅</m:mo><m:mrow/></m:mrow></m:mrow></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{I rSub { size 8{0} }  \( x \) =1+ Sum cSub { size 8{k=1} }  cSup { size 8{ infinity } }  { left [ {  {x \( 2 \)  rSup { size 8{k} } }  over  {k!} }  right ]}  rSup { size 8{2} } =1+ {  {x rSup { size 8{2} } }  over  {4} } + {  {1}  over  {2 rSup { size 8{2} } } }  cdot  {  {x rSup { size 8{2} } }  over  {4} }  cdot  {  {x rSup { size 8{2} } }  over  {4} } + {  {1}  over  {z rSup { size 8{2} } } }  cdot  {  {x rSup { size 8{2} } }  over  {4} }  cdot  {  {x rSup { size 8{4} } }  over  {"16"} } + cdot  cdot  cdot } {}</m:annotation></m:semantics></m:math> </equation>
      <para id="id25443689">Following is the values of 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>I</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mn>0</m:mn></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>x</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{I rSub { size 8{0} }  \( x \) } {}</m:annotation></m:semantics></m:math> for small 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>x</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{x} {}</m:annotation></m:semantics></m:math>:</para>
      <para id="element-176"><m:math display="block">
 <m:semantics>
  <m:mtable columnalign="left">
   <m:mtr>
    <m:mtd>
     <m:mi>X</m:mi><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:msub>
      <m:mi>I</m:mi>
      <m:mn>0</m:mn>
     </m:msub>
     <m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mi>X</m:mi><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:msub>
      <m:mi>I</m:mi>
      <m:mn>0</m:mn>
     </m:msub>
     <m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mn>0.0</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>1.000</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>1.2</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>1.3938</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mn>0.1</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>1.002</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>2.0</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>2.2796</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mn>0.2</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>1.010</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>3.0</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>4.3306</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mn>0.4</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>1.040</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>4.0</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>11.302</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mn>0.6</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>1.092</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>5.0</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>27.240</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mn>0.8</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>1.166</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>6.0</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>67.235</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mn>1.0</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>1.266</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>7.0</m:mn><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>168.59</m:mn>
    </m:mtd>
   </m:mtr>
  </m:mtable>
  
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOabaeqabaGaamiwaiaaywW7caaMf8UaaGjbVlaaysW7caWGjbWaaSbaaSqaaiaaicdaaeqaaOGaaiikaiaad6gacaGGPaGaaGzbVlaaywW7caaMf8UaaGzbVlaadIfacaaMf8UaaGzbVlaaywW7caaMe8UaamysamaaBaaaleaacaaIWaaabeaakiaacIcacaWGUbGaaiykaaqaaiaaicdacaGGUaGaaGimaiaaywW7caaMf8UaaGymaiaac6cacaaIWaGaaGimaiaaicdacaaMf8UaaGzbVlaaywW7caaMf8UaaGymaiaac6cacaaIYaGaaGzbVlaaywW7caaMf8UaaGymaiaac6cacaaIZaGaaGyoaiaaiodacaaI4aaabaGaaGimaiaac6cacaaIXaGaaGzbVlaaywW7caaIXaGaaiOlaiaaicdacaaIWaGaaGOmaiaaywW7caaMf8UaaGzbVlaaywW7caaIYaGaaiOlaiaaicdacaaMf8UaaGzbVlaaywW7caaIYaGaaiOlaiaaikdacaaI3aGaaGyoaiaaiAdaaeaacaaIWaGaaiOlaiaaikdacaaMf8UaaGzbVlaaigdacaGGUaGaaGimaiaaigdacaaIWaGaaGzbVlaaywW7caaMf8UaaGzbVlaaiodacaGGUaGaaGimaiaaywW7caaMf8UaaGzbVlaaisdacaGGUaGaaG4maiaaiodacaaIWaGaaGOnaaqaaiaaicdacaGGUaGaaGinaiaaywW7caaMf8UaaGymaiaac6cacaaIWaGaaGinaiaaicdacaaMf8UaaGzbVlaaywW7caaMf8UaaGinaiaac6cacaaIWaGaaGzbVlaaywW7caaMf8UaaGymaiaaigdacaGGUaGaaG4maiaaicdacaaIYaaabaGaaGimaiaac6cacaaI2aGaaGzbVlaaywW7caaIXaGaaiOlaiaaicdacaaI5aGaaGOmaiaaywW7caaMf8UaaGzbVlaaywW7caaI1aGaaiOlaiaaicdacaaMf8UaaGzbVlaaywW7caaIYaGaaG4naiaac6cacaaIYaGaaGinaiaaicdaaeaacaaIWaGaaiOlaiaaiIdacaaMf8UaaGzbVlaaigdacaGGUaGaaGymaiaaiAdacaaI2aGaaGzbVlaaywW7caaMf8UaaGzbVlaaiAdacaGGUaGaaGimaiaaywW7caaMf8UaaGzbVlaaiAdacaaI3aGaaiOlaiaaikdacaaIZaGaaGynaaqaaiaaigdacaGGUaGaaGimaiaaywW7caaMf8UaaGymaiaac6cacaaIYaGaaGOnaiaaiAdacaaMf8UaaGzbVlaaywW7caaMf8UaaG4naiaac6cacaaIWaGaaGzbVlaaywW7caaMf8UaaGymaiaaiAdacaaI4aGaaiOlaiaaiwdacaaI5aaaaaa@0ADE@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</para><para id="id25443813">The upper limit of the summation does not need to be too large, say about 20 at the most.</para>
      <figure id="element-82"><media type="image/jpeg" src="5.18.jpg">
    <param name="height" value="590"/>
    <param name="width" value="383"/>
  </media>
<caption> (a) Kaiser window for <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mi>β</m:mi><m:mo>=</m:mo><m:mn>0</m:mn><m:mo>,</m:mo><m:mtext> </m:mtext><m:mn>3</m:mn>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiabek7aIjabg2da9iaaicdacaGGSaGaaGjbVlaaiodaaaa@3C3D@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ --> and 6 and M = 20, (b) Magnitude response corresponding to the windows in (a), (c) magnitude response for <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mi>β</m:mi><m:mo>=</m:mo><m:mn>6</m:mn>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiabek7aIjabg2da9iaaiAdaaaa@3949@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ --> and M = 10, 20,</caption></figure><para id="id25443818">For 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>β</m:mi><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{β=0} {}</m:annotation></m:semantics></m:math> both the numerator and denominator are 1 and the Kaiser window becomes the rectangular window, and for 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>β</m:mi><m:mo stretchy="false">=</m:mo><m:mn>5</m:mn></m:mrow><m:mtext>.</m:mtext><m:mtext>44</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{β=5 "." "44"} {}</m:annotation></m:semantics></m:math> it is near to the Hamming window. The parameter 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>β</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{β} {}</m:annotation></m:semantics></m:math>is so chosen that the magnitude response of the filter lies in the allowed region (see Fig.5.1). Fig.5.18 shows the Kaiser for various values of 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>β</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{β} {}</m:annotation></m:semantics></m:math> and 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>M</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M} {}</m:annotation></m:semantics></m:math>. Notice that the Kaiser is also symmetric. It has minimum stopband attenuation from 50dB (for 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>β</m:mi><m:mo stretchy="false">=</m:mo><m:mn>4</m:mn></m:mrow><m:mtext>.</m:mtext><m:mtext>54</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{β=4 "." "54"} {}</m:annotation></m:semantics></m:math>) to 90dB (for 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>β</m:mi><m:mo stretchy="false">=</m:mo><m:mn>8</m:mn></m:mrow><m:mtext>.</m:mtext><m:mtext>96</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{β=8 "." "96"} {}</m:annotation></m:semantics></m:math>), so we can choose a Kaiser window to have maximum stopband atternuation equal to the Blackman window (74, Table 5.2) or higher.</para>
      <para id="id25444223">For ideal filters (Fig.5.1 and Fig.5.2) the Kaiser window has equal ripple 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>δ</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ} {}</m:annotation></m:semantics></m:math> in both the passband and stopband. For real filters the ripples are slightly different . In design we take the common ripple as 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>δ</m:mi><m:mo stretchy="false">=</m:mo><m:mtext>min</m:mtext></m:mrow><m:mo stretchy="false">(</m:mo><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub><m:mi>,</m:mi><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ="min" \( δ rSub { size 8{p} } ,δ rSub { size 8{s} }  \) } {}</m:annotation></m:semantics></m:math> of the desired values 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub><m:mi>,</m:mi><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ rSub { size 8{p} } ,δ rSub { size 8{s} } } {}</m:annotation></m:semantics></m:math>. As said earlier, actually 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>δ</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ} {}</m:annotation></m:semantics></m:math> is usually specified in term of dBs: 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>A</m:mi><m:mo stretchy="false">=</m:mo><m:mrow><m:mo stretchy="false">−</m:mo><m:mtext>20</m:mtext></m:mrow></m:mrow><m:msub><m:mtext>log</m:mtext><m:mstyle fontsize="8pt"><m:mrow><m:mtext>10</m:mtext></m:mrow></m:mstyle></m:msub><m:mi>δ</m:mi></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{A= - "20""log" rSub { size 8{"10"} } δ} {}</m:annotation></m:semantics></m:math>, for example 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>δ</m:mi><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow><m:mtext>.</m:mtext><m:mtext>01</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ=0 "." "01"} {}</m:annotation></m:semantics></m:math> then 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>A</m:mi><m:mo stretchy="false">=</m:mo><m:mtext>40</m:mtext></m:mrow><m:mtext>dB</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{A="40""dB"} {}</m:annotation></m:semantics></m:math>, 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>δ</m:mi><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow><m:mtext>.</m:mtext><m:mtext>001</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ=0 "." "001"} {}</m:annotation></m:semantics></m:math> then 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>A</m:mi><m:mo stretchy="false">=</m:mo><m:mtext>60</m:mtext></m:mrow><m:mtext>dB</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{A="60""dB"} {}</m:annotation></m:semantics></m:math>. Since 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>δ</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ} {}</m:annotation></m:semantics></m:math> is a fraction of 1 then A is always ponsitive.</para>
      <para id="id25444874">Kaiser has developed empirical formulae and guide for the application of the window. Following is design steps for lowpass filters (similarly for other frequency selective filters). </para>
      <para id="id25444882">1/ Specifications of edge frequencies 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub><m:mi>,</m:mi><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ω rSub { size 8{p} } ,ω rSub { size 8{s} } } {}</m:annotation></m:semantics></m:math>; ripples 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub><m:mi>,</m:mi><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{δ rSub { size 8{p} } ,δ rSub { size 8{s} } } {}</m:annotation></m:semantics></m:math></para>
      <para id="id25445026">2/Evaluate the minimum ripple 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>A</m:mi><m:mo stretchy="false">=</m:mo><m:mrow><m:mo stretchy="false">−</m:mo><m:mtext>20</m:mtext></m:mrow></m:mrow><m:msub><m:mtext>log</m:mtext><m:mstyle fontsize="8pt"><m:mrow><m:mtext>10</m:mtext></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">[</m:mo><m:mtext>min</m:mtext><m:mo stretchy="false">(</m:mo><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub><m:mi>,</m:mi><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">]</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{A= - "20""log" rSub { size 8{"10"} }  \[ "min" \( δ rSub { size 8{p} } ,δ rSub { size 8{s} }  \)  \] } {}</m:annotation></m:semantics></m:math>, the cutoff frequency <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:msub>
    <m:mi>ω</m:mi>
    <m:mi>c</m:mi>
   </m:msub>
   <m:mo>=</m:mo><m:mo stretchy="false">(</m:mo><m:msub>
    <m:mi>ω</m:mi>
    <m:mi>p</m:mi>
   </m:msub>
   <m:mo>+</m:mo><m:msub>
    <m:mi>ω</m:mi>
    <m:mi>s</m:mi>
   </m:msub>
   <m:mo stretchy="false">)</m:mo><m:mo>/</m:mo><m:mn>2</m:mn>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiabeM8a3naaBaaaleaacaWGJbaabeaakiabg2da9iaacIcacqaHjpWDdaWgaaWcbaGaamiCaaqabaGccqGHRaWkcqaHjpWDdaWgaaWcbaGaam4CaaqabaGccaGGPaGaai4laiaaikdaaaa@4371@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
, the transition width <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mo>△</m:mo><m:mi>ω</m:mi><m:mo>=</m:mo><m:msub>
    <m:mi>ω</m:mi>
    <m:mi>s</m:mi>
   </m:msub>
   <m:mo>−</m:mo><m:msub>
    <m:mi>ω</m:mi>
    <m:mi>p</m:mi>
   </m:msub>
   
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiabloBjwjabeM8a3jabg2da9iabeM8a3naaBaaaleaacaWGZbaabeaakiabgkHiTiabeM8a3naaBaaaleaacaWGWbaabeaaaaa@414B@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</para>
      <para id="id25445213">3/ Determine the filter filter order M</para>
      <equation id="element-229"><m:math display="block"><m:semantics><m:mtable><m:mtr><m:mrow><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">=</m:mo><m:mfrac><m:mrow><m:mrow><m:mi>A</m:mi><m:mo stretchy="false">−</m:mo><m:mn>7</m:mn></m:mrow><m:mtext>.</m:mtext><m:mtext>95</m:mtext></m:mrow><m:mrow><m:mn>2</m:mn><m:mtext>.</m:mtext><m:mtext>285</m:mtext><m:mi fontstyle="italic">Δω</m:mi></m:mrow></m:mfrac></m:mrow><m:mtable><m:mtr><m:mtd><m:mrow><m:mrow/><m:mi>,</m:mi><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow/></m:mtd></m:mtr></m:mtable><m:mrow><m:mi>A</m:mi><m:mo stretchy="false">&gt;</m:mo><m:mtext>21</m:mtext></m:mrow></m:mrow></m:mtd></m:mtr></m:mtable><m:mrow/></m:mrow></m:mtr><m:mtr><m:mrow><m:mrow><m:mtable><m:mtr><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow/></m:mrow></m:mstyle><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi>M</m:mi><m:mo stretchy="false">=</m:mo><m:mfrac><m:mrow><m:mn>5</m:mn><m:mtext>.</m:mtext><m:mtext>79</m:mtext></m:mrow><m:mi fontstyle="italic">Δω</m:mi></m:mfrac></m:mrow><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd></m:mtr></m:mtable><m:mi>,</m:mi><m:mtable><m:mtr><m:mtd><m:mrow><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow/></m:mtd></m:mtr></m:mtable><m:mrow/></m:mrow></m:mtd><m:mtd><m:mrow/></m:mtd><m:mtd><m:mrow/></m:mtd></m:mtr></m:mtable><m:mtable><m:mtr><m:mtd><m:mrow/></m:mtd></m:mtr></m:mtable><m:mrow><m:mi>A</m:mi><m:mo stretchy="false">≤</m:mo><m:mtext>21</m:mtext></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow></m:mtr></m:mtable><m:mrow/></m:mrow></m:mrow></m:mtr></m:mtable><m:annotation encoding="StarMath 5.0">alignl { stack {
 size 12{M= {  {A - 7 "." "95"}  over  {2 "." "285"Δω} }  matrix {

} , matrix {
 {} #  {} # {}
} A&gt;"21"}  {} # 
 size 12{M= {  {5 "." "79"}  over  {Δω} }  matrix {
{}
} , matrix {
 matrix {
 {} # {}
}  {} #  {} # {}
}  matrix {
{}
} A &lt;= "21"}  {} 
} } {}</m:annotation></m:semantics></m:math> </equation>
      <para id="id25445431">4/ Determine the parameter 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>β</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{β} {}</m:annotation></m:semantics></m:math>, depending on A:</para>
      <equation id="element-253"><m:math display="block">
 <m:semantics>
  <m:mtable columnalign="left">
   <m:mtr>
    <m:mtd>
     <m:mi>β</m:mi><m:mo>=</m:mo><m:mn>0</m:mn><m:mo>,</m:mo><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mi>A</m:mi><m:mo>≤</m:mo><m:mn>21</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mi>β</m:mi><m:mo>=</m:mo><m:mn>0.5842</m:mn><m:msup><m:mrow>
      <m:mo stretchy="false">(</m:mo><m:mi>A</m:mi><m:mo>−</m:mo><m:mn>21</m:mn><m:mo stretchy="false">)</m:mo>
      </m:mrow>
        <m:mrow>
       <m:mn>0.4</m:mn>
      </m:mrow>
     </m:msup>
     <m:mo>+</m:mo><m:mn>0.07886</m:mn><m:mo stretchy="false">(</m:mo><m:mi>A</m:mi><m:mo>−</m:mo><m:mn>21</m:mn><m:mo stretchy="false">)</m:mo><m:mo>,</m:mo><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mn>21</m:mn><m:mo>≤</m:mo><m:mi>A</m:mi><m:mo>≤</m:mo><m:mn>50</m:mn>
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mi>β</m:mi><m:mo>=</m:mo><m:mn>0.1102</m:mn><m:mo stretchy="false">(</m:mo><m:mi>A</m:mi><m:mo>−</m:mo><m:mn>8.7</m:mn><m:mo stretchy="false">)</m:mo><m:mo>,</m:mo><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mi>A</m:mi><m:mo>≥</m:mo><m:mn>50</m:mn>
    </m:mtd>
   </m:mtr>
  </m:mtable>
  
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOabaeqabaGaeqOSdiMaeyypa0JaaGimaiaacYcacaaMf8UaaGzbVlaaywW7caaMf8UaaGzbVlaaywW7caaMf8UaaGzbVlaaywW7caaMf8UaaGzbVlaaywW7caaMf8UaaGzbVlaaywW7caaMf8UaaGzbVlaadgeacqGHKjYOcaaIYaGaaGymaaqaaiabek7aIjabg2da9iaaicdacaGGUaGaaGynaiaaiIdacaaI0aGaaGOmaiaacIcacaWGbbGaeyOeI0IaaGOmaiaaigdacaGGPaWaaWbaaSqabeaacaaIWaGaaiOlaiaaisdaaaGccqGHRaWkcaaIWaGaaiOlaiaaicdacaaI3aGaaGioaiaaiIdacaaI2aGaaiikaiaadgeacqGHsislcaaIYaGaaGymaiaacMcacaGGSaGaaGzbVlaaywW7caaMf8UaaGOmaiaaigdacqGHKjYOcaWGbbGaeyizImQaaGynaiaaicdaaeaacqaHYoGycqGH9aqpcaaIWaGaaiOlaiaaigdacaaIXaGaaGimaiaaikdacaGGOaGaamyqaiabgkHiTiaaiIdacaGGUaGaaG4naiaacMcacaGGSaGaaGzbVlaaywW7caaMf8UaaGzbVlaaywW7caaMf8UaaGzbVlaaywW7caaMf8UaaGzbVlaaywW7caWGbbGaeyyzImRaaGynaiaaicdaaaaa@9F66@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</equation>
      <para id="id25445538">5/ Computer the window coefficients 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{w \( n \) } {}</m:annotation></m:semantics></m:math>from the formula (5.40)</para>
      <para id="id25445606">6/ Compute the impulse response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>h</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h rSub { size 8{d} }  \( n \) } {}</m:annotation></m:semantics></m:math>of the desired filter which is linear phase</para>
      <para id="id25445680">7/ Compute the designed impulse response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>h</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">=</m:mo><m:msub><m:mi>h</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>d</m:mi></m:mrow></m:mstyle></m:msub></m:mrow><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h \( n \) =h rSub { size 8{d} }  \( n \) w \( n \) } {}</m:annotation></m:semantics></m:math>.</para>
      <para id="id25445787">8/ Find the frequency response <!-- MathType@Translator@5@5@MathML2 (m namespace).tdl@MathML 2.0 (m namespace)@ -->
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mi>I</m:mi><m:mi>D</m:mi><m:mi>T</m:mi><m:mi>F</m:mi><m:mi>T</m:mi><m:mo stretchy="false">[</m:mo><m:mi>h</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">]</m:mo>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadIeacaGGOaGaeqyYdCNaaiykaiabg2da9iaadMeacaWGebGaamivaiaadAeacaWGubGaai4waiaadIgacaGGOaGaamOBaiaacMcacaGGDbaaaa@43E8@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
 to check with specifications.
For bandpass filter the two transition bandwidths are usually equal, if not we take the smaller one.</para>
      
    </section>
    <section id="id-0349062115468">
      <name>Design examples</name>
      
      <example id="element-954"><para id="element-687">Design a linear phase lowpass filter using the Hamming window to meet the specifications</para><list id="element-862" type="bulleted"><item>Cutoff frequency 2.5 kHz</item>
        <item>Transition width 1.65 kHz</item>
        <item>Stopband attenuation &gt;50dB</item>
        <item>Sampling frequency 10kHz</item>
      </list>
</example>
      
      <para id="id25445883"><term> Solution </term></para>
      <para id="id25445887">The relation between the analog linear frequency 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>F</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{F} {}</m:annotation></m:semantics></m:math> samples/sec (or Hz) and the digital angular frequency 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>ω</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ω} {}</m:annotation></m:semantics></m:math> radians/sample is (Equation 1.40) is</para>
      <para id="id25445999"><m:math display="block">
          <m:semantics>
            <m:mrow>
              <m:mstyle fontsize="12pt">
                <m:mrow>
                  <m:mrow>
                    <m:mrow>
                      <m:mi>ω</m:mi>
                      <m:mo stretchy="false">=</m:mo>
                      <m:mn>2π</m:mn>
                    </m:mrow>
                    <m:mfrac>
                      <m:mi>F</m:mi>
                      <m:msub>
                        <m:mi>f</m:mi>
                        <m:mstyle fontsize="8pt">
                          <m:mrow>
                            <m:mi>s</m:mi>
                          </m:mrow>
                        </m:mstyle>
                      </m:msub>
                    </m:mfrac>
                  </m:mrow>
                </m:mrow>
              </m:mstyle>
              <m:mrow/>
            </m:mrow>
            <m:annotation encoding="StarMath 5.0"> size 12{ω=2π {  {F}  over  {f rSub { size 8{s} } } } } {}</m:annotation>
          </m:semantics>
        </m:math>
      </para>
      <para id="id25446075">where 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:msub><m:mi>f</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{f rSub { size 8{s} } } {}</m:annotation></m:semantics></m:math> is the sampling frequency (samples/sec, or Hz). Thus </para>
      <list type="bulleted" id="id25446139">
        <item>Cutoff frequency 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:msub><m:mi>ω</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>c</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">=</m:mo><m:mn>2π</m:mn></m:mrow><m:mrow><m:mfrac><m:mrow><m:mn>2</m:mn><m:mtext>.</m:mtext><m:mn>5</m:mn></m:mrow><m:mtext>10</m:mtext></m:mfrac><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow><m:mtext>.</m:mtext><m:mn>5π</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ω rSub { size 8{c} } =2π {  {2 "." 5}  over  {"10"} } =0 "." 5π} {}</m:annotation></m:semantics></m:math> rad/sample</item>
        <item>Transition width 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mi fontstyle="italic">Δω</m:mi><m:mo stretchy="false">=</m:mo><m:mn>2π</m:mn></m:mrow><m:mrow><m:mfrac><m:mrow><m:mn>1</m:mn><m:mtext>.</m:mtext><m:mtext>65</m:mtext></m:mrow><m:mtext>10</m:mtext></m:mfrac><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow><m:mtext>.</m:mtext><m:mtext>33</m:mtext><m:mi>π</m:mi></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{Δω=2π {  {1 "." "65"}  over  {"10"} } =0 "." "33"π} {}</m:annotation></m:semantics></m:math> rad/sample</item>
      </list>
      <para id="id25446336">Table 5.2 shows that the Hamming satisfy (so can the Blackman) the maximum stopband attenuation (
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mo stretchy="false">−</m:mo><m:mtext>20</m:mtext></m:mrow><m:msub><m:mtext>log</m:mtext><m:mstyle fontsize="8pt"><m:mrow><m:mtext>10</m:mtext></m:mrow></m:mstyle></m:msub><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>s</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{ - "20""log" rSub { size 8{"10"} } δ rSub { size 8{s} }  \) } {}</m:annotation></m:semantics></m:math> requirement. Table 5.2 includes the relation between transition width 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi fontstyle="italic">Δω</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{Δω} {}</m:annotation></m:semantics></m:math> and window order 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>M</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M} {}</m:annotation></m:semantics></m:math>:</para>
      <para id="id25446527"><m:math display="block">
          <m:semantics>
            <m:mrow>
              <m:mstyle fontsize="12pt">
                <m:mrow>
                  <m:mrow>
                    <m:mrow>
                      <m:mi fontstyle="italic">Δω</m:mi>
                      <m:mo stretchy="false">=</m:mo>
                      <m:mfrac>
                        <m:mrow>
                          <m:mn>6</m:mn>
                          <m:mtext>.</m:mtext>
                          <m:mn>6π</m:mn>
                        </m:mrow>
                        <m:mi>M</m:mi>
                      </m:mfrac>
                    </m:mrow>
                    <m:mtable>
                      <m:mtr>
                        <m:mtd>
                          <m:mrow/>
                        </m:mtd>
                        <m:mtd>
                          <m:mrow>
                            <m:mo stretchy="false">⇒</m:mo>
                            <m:mrow/>
                          </m:mrow>
                        </m:mtd>
                        <m:mtd>
                          <m:mrow/>
                        </m:mtd>
                      </m:mtr>
                    </m:mtable>
                    <m:mrow>
                      <m:mrow>
                        <m:mi>M</m:mi>
                        <m:mo stretchy="false">=</m:mo>
                        <m:mfrac>
                          <m:mrow>
                            <m:mn>6</m:mn>
                            <m:mtext>.</m:mtext>
                            <m:mn>6π</m:mn>
                          </m:mrow>
                          <m:mrow>
                            <m:mn>0</m:mn>
                            <m:mtext>.</m:mtext>
                            <m:mtext>33</m:mtext>
                            <m:mi>π</m:mi>
                          </m:mrow>
                        </m:mfrac>
                      </m:mrow>
                      <m:mo stretchy="false">=</m:mo>
                      <m:mtext>20</m:mtext>
                    </m:mrow>
                  </m:mrow>
                </m:mrow>
              </m:mstyle>
              <m:mrow/>
            </m:mrow>
            <m:annotation encoding="StarMath 5.0"> size 12{Δω= {  {6 "." 6π}  over  {M} }  matrix {
 {} #  drarrow  {} # {}
} M= {  {6 "." 6π}  over  {0 "." "33"π} } ="20"} {}</m:annotation>
          </m:semantics>
        </m:math>
      </para>
      <para id="id25446643">Now we compute the causal impulse response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>h</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mstyle fontstyle="italic"><m:mrow><m:mtext>LP</m:mtext></m:mrow></m:mstyle></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h rSub { size 8{ ital "LP"} }  \( n \) } {}</m:annotation></m:semantics></m:math>of ideal lowpass filter (Equation (5.32)) for 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mrow><m:mn>0</m:mn><m:mo stretchy="false">≤</m:mo><m:mi>n</m:mi></m:mrow><m:mo stretchy="false">≤</m:mo><m:mtext>20</m:mtext></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{0 &lt;= n &lt;= "20"} {}</m:annotation></m:semantics></m:math>. Notice that for 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>M</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{M} {}</m:annotation></m:semantics></m:math> even and 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>h</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h \( n \) } {}</m:annotation></m:semantics></m:math>symmetric we have linear phase FIR-1 (Fig.5.4a). The result is plotted in Fig.5.19a.</para>
      <para id="id25446903">Next we evaluate the Hamming window</para>
      <para id="id25446908"><m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mn>0.54</m:mn><m:mo>−</m:mo><m:mn>0.46</m:mn><m:mi>cos</m:mi><m:mo>⁡</m:mo><m:mfrac>
    <m:mrow>
     <m:mn>2</m:mn><m:mi>π</m:mi><m:mi>n</m:mi>
    </m:mrow>
    <m:mi>M</m:mi>
   </m:mfrac>
   <m:mtable>
    <m:mtr>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
    </m:mtr>
    
   </m:mtable><m:mo>,</m:mo><m:mtable>
    <m:mtr>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
    </m:mtr>
    
   </m:mtable><m:mn>0</m:mn><m:mo>≤</m:mo><m:mi>n</m:mi><m:mo>≤</m:mo><m:mi>M</m:mi><m:mo>=</m:mo><m:mn>20</m:mn>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadEhacaGGOaGaamOBaiaacMcacqGH9aqpcaaIWaGaaiOlaiaaiwdacaaI0aGaeyOeI0IaaGimaiaac6cacaaI0aGaaGOnaiGacogacaGGVbGaai4CamaalaaabaGaaGOmaiabec8aWjaad6gaaeaacaWGnbaaauaabeqabeaaaeaaaaGaaiilauaabeqabiaaaeaaaeaaaaGaaGimaiabgsMiJkaad6gacqGHKjYOcaWGnbGaeyypa0JaaGOmaiaaicdaaaa@515E@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</para>
      <para id="id25447047">The result is plotted in Fig.5.19b.</para>
      <para id="id25447051">The impulse response of the designed filter is the product</para>
      <para id="id25447058"><m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:mi>h</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:msub>
    <m:mi>h</m:mi>
    <m:mrow>
     <m:mi>L</m:mi><m:mi>P</m:mi>
    </m:mrow>
   </m:msub>
   <m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mi>w</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mtable>
    <m:mtr>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
    </m:mtr>
    
   </m:mtable><m:mo>,</m:mo><m:mtable>
    <m:mtr>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
    </m:mtr>
    
   </m:mtable><m:mn>0</m:mn><m:mo>≤</m:mo><m:mi>n</m:mi><m:mo>≤</m:mo><m:mi>M</m:mi><m:mo>=</m:mo><m:mn>20</m:mn>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqadeaabiGaaiaacaqaaeaadaqaaqaaaOqaaiaadIgacaGGOaGaamOBaiaacMcacqGH9aqpcaWGObWaaSbaaSqaaiaadYeacaWGqbaabeaakiaacIcacaWGUbGaaiykaiaadEhacaGGOaGaamOBaiaacMcafaqabeqabaaabaaaaiaacYcafaqabeqacaaabaaabaaaaiaaicdacqGHKjYOcaWGUbGaeyizImQaamytaiabg2da9iaaikdacaaIWaaaaa@4BCB@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</para>
      <para id="id25447093">We can evaluale w(n) and 
<m:math>
 <m:semantics>
  <m:mrow>
   <m:msub>
    <m:mi>h</m:mi>
    <m:mrow>
     <m:mi>L</m:mi><m:mi>P</m:mi>
    </m:mrow>
   </m:msub>
   <m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadIgadaWgaaWcbaGaamitaiaadcfaaeqaaOGaaiikaiaad6gacaGGPaaaaa@3AF8@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
 separately as above then take the product, or evaluate the product directly . The result is plotted in Fig.5.19c. We then take the inverse transform of 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>h</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h \( n \) } {}</m:annotation></m:semantics></m:math> to get the frequency response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H \( ω \) } {}</m:annotation></m:semantics></m:math>:</para>
      <para id="id25447256"><m:math display="block">
          <m:semantics>
            <m:mtable>
              <m:mtr>
                <m:mrow>
                  <m:mi>H</m:mi>
                  <m:mo stretchy="false">(</m:mo>
                  <m:mi>ω</m:mi>
                  <m:mrow>
                    <m:mo stretchy="false">)</m:mo>
                    <m:mo stretchy="false">=</m:mo>
                    <m:mrow>
                      <m:munderover>
                        <m:mo stretchy="false">∑</m:mo>
                        <m:mstyle fontsize="8pt">
                          <m:mrow>
                            <m:mrow>
                              <m:mi>n</m:mi>
                              <m:mo stretchy="false">=</m:mo>
                              <m:mrow>
                                <m:mo stretchy="false">−</m:mo>
                                <m:mo stretchy="false">∞</m:mo>
                              </m:mrow>
                            </m:mrow>
                          </m:mrow>
                        </m:mstyle>
                        <m:mstyle fontsize="8pt">
                          <m:mrow>
                            <m:mo stretchy="false">∞</m:mo>
                          </m:mrow>
                        </m:mstyle>
                      </m:munderover>
                      <m:mrow>
                        <m:mi>h</m:mi>
                        <m:mo stretchy="false">(</m:mo>
                        <m:mi>n</m:mi>
                        <m:mo stretchy="false">)</m:mo>
                      </m:mrow>
                    </m:mrow>
                  </m:mrow>
                  <m:mrow>
                    <m:msup>
                      <m:mi>e</m:mi>
                      <m:mstyle fontsize="8pt">
                        <m:mrow>
                          <m:mrow>
                            <m:mo stretchy="false">−</m:mo>
                            <m:mi fontstyle="italic">jωn</m:mi>
                          </m:mrow>
                        </m:mrow>
                      </m:mstyle>
                    </m:msup>
                    <m:mo stretchy="false">=</m:mo>
                    <m:mrow>
                      <m:munderover>
                        <m:mo stretchy="false">∑</m:mo>
                        <m:mstyle fontsize="8pt">
                          <m:mrow>
                            <m:mrow>
                              <m:mi>n</m:mi>
                              <m:mo stretchy="false">=</m:mo>
                              <m:mn>0</m:mn>
                            </m:mrow>
                          </m:mrow>
                        </m:mstyle>
                        <m:mstyle fontsize="8pt">
                          <m:mrow>
                            <m:mi>M</m:mi>
                          </m:mrow>
                        </m:mstyle>
                      </m:munderover>
                      <m:mrow>
                        <m:mi>h</m:mi>
                        <m:mo stretchy="false">(</m:mo>
                        <m:mi>n</m:mi>
                        <m:mo stretchy="false">)</m:mo>
                        <m:msup>
                          <m:mi>e</m:mi>
                          <m:mstyle fontsize="8pt">
                            <m:mrow>
                              <m:mrow>
                                <m:mo stretchy="false">−</m:mo>
                                <m:mi fontstyle="italic">jωn</m:mi>
                              </m:mrow>
                            </m:mrow>
                          </m:mstyle>
                        </m:msup>
                      </m:mrow>
                    </m:mrow>
                  </m:mrow>
                  <m:mtable>
                    <m:mtr>
                      <m:mtd>
                        <m:mrow>
                          <m:mrow/>
                          <m:mi>,</m:mi>
                          <m:mtable>
                            <m:mtr>
                              <m:mtd>
                                <m:mrow/>
                              </m:mtd>
                              <m:mtd>
                                <m:mrow/>
                              </m:mtd>
                            </m:mtr>
                          </m:mtable>
                          <m:mrow>
                            <m:mi>M</m:mi>
                            <m:mo stretchy="false">=</m:mo>
                            <m:mtext>20</m:mtext>
                          </m:mrow>
                        </m:mrow>
                      </m:mtd>
                    </m:mtr>
                  </m:mtable>
                  <m:mrow/>
                </m:mrow>
              </m:mtr>
              <m:mtr>
                <m:mstyle fontsize="12pt">
                  <m:mrow>
                    <m:mrow/>
                  </m:mrow>
                </m:mstyle>
              </m:mtr>
            </m:mtable>
            <m:annotation encoding="StarMath 5.0"> size 12{H \( ω \) = Sum cSub { size 8{n= -  infinity } }  cSup { size 8{ infinity } }  {h \( n \) } e rSup { size 8{ - jωn} } = Sum cSub { size 8{n=0} }  cSup { size 8{M} }  {h \( n \) e rSup { size 8{ - jωn} } }  matrix {

} , matrix {
 {} # {}
} M="20"} {}</m:annotation>
          </m:semantics>
        </m:math>
      </para>
      <para id="id25447494">Fig.5.19d shows 
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mo>|</m:mo><m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo><m:mo>|</m:mo>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaacYhacaWGibGaaiikaiabeM8a3jaacMcacaGG8baaaa@3BD6@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
, and Fig.5.19c shows 
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mo>|</m:mo><m:mi>H</m:mi><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo><m:msub>
    <m:mo>|</m:mo>
    <m:mrow>
     <m:mi>d</m:mi><m:mi>B</m:mi>
    </m:mrow>
   </m:msub>
   
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaacYhacaWGibGaaiikaiabeM8a3jaacMcacaGG8bWaaSbaaSqaaiaadsgacaWGcbaabeaaaaa@3DB2@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
.</para>
      <example id="element-718"><para id="element-537">We need ro extract a low frequency signal having bandwidth 200Hz and center frequency 300Hz from a blackground noise. Design a bandpass filter having transition width 100Hz, passband ripple 40dB, stopband ripple 60dB. The sampling frequency is 1200Hz.	</para>
</example>
      
      <para id="id25447581"><term> Solution </term></para>
      <para id="id25447585">The passband of the signal is from 300 – 200/2 to 300 + 200/2, i.e. from 200Hz to 400Hz. We are to design a bandpass FIR filter to meet the specifications</para>
      <list type="bulleted" id="id25447595">
        <item>Passband: 200Hz</item>
        <item>Transition width: 100Hz</item>
      </list>
      
      <figure id="element-892"><media type="image/jpeg" src="5.19.jpg">
    <param name="height" value="597"/>
    <param name="width" value="385"/>
  </media>
<caption> <cnxn target="element-954" strength="9"/>(linear phase lowpass filter with 
<m:math>
 <m:semantics>
  <m:mrow>
   <m:msub>
    <m:mi>ω</m:mi>
    <m:mi>c</m:mi>
   </m:msub>
   <m:mo>=</m:mo><m:mn>0.5</m:mn><m:mi>π</m:mi><m:mo>,</m:mo><m:mtext> </m:mtext><m:mi>Δ</m:mi><m:mi>ω</m:mi><m:mo>=</m:mo><m:mn>0.33</m:mn><m:mi>π</m:mi>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiabeM8a3naaBaaaleaacaWGJbaabeaakiabg2da9iaaicdacaGGUaGaaGynaiabec8aWjaacYcacaaMe8UaeuiLdqKaeqyYdCNaeyypa0JaaGimaiaac6cacaaIZaGaaG4maiabec8aWbaa@48D5@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
) using the Hamming window </caption></figure><figure id="element-28"><media type="image/jpeg" src="5.20.jpg">
    <param name="height" value="620"/>
    <param name="width" value="362"/>
  </media>
<caption> <cnxn target="element-718" strength="9"/>(linear phase bandpass filter using Blackman window </caption></figure><list type="bulleted" id="id25447661"><item>Passband ripple: 
<m:math><m:semantics><m:mtable><m:mtr><m:mrow><m:mrow><m:mo stretchy="false">(</m:mo><m:mo stretchy="false">−</m:mo><m:mtext>20</m:mtext></m:mrow><m:msub><m:mtext>log</m:mtext><m:mstyle fontsize="8pt"><m:mrow><m:mtext>10</m:mtext></m:mrow></m:mstyle></m:msub><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">=</m:mo><m:mtext>40</m:mtext></m:mrow><m:mtext>dB</m:mtext><m:mtable><m:mtr><m:mtd><m:mrow><m:mrow/><m:mo stretchy="false">(</m:mo><m:mrow><m:msub><m:mi>δ</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mi>p</m:mi></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow><m:mtext>.</m:mtext><m:mtext>01</m:mtext><m:mo stretchy="false">)</m:mo></m:mrow></m:mtd></m:mtr></m:mtable><m:mrow/></m:mrow></m:mtr><m:mtr><m:mstyle fontsize="12pt"><m:mrow><m:mrow/></m:mrow></m:mstyle></m:mtr></m:mtable><m:annotation encoding="StarMath 5.0"> size 12{ \(  - "20""log" rSub { size 8{"10"} } δ rSub { size 8{p} }  \) ="40""dB" matrix {

}  \( δ rSub { size 8{p} } =0 "." "01" \) } {}</m:annotation></m:semantics></m:math><!--Sorry, this media type is not supported.--></item>
        <item>Stopband ripple: 
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mo stretchy="false">(</m:mo><m:mo>−</m:mo><m:mn>20</m:mn><m:msub>
    <m:mrow>
     <m:mi>log</m:mi><m:mo>⁡</m:mo>
    </m:mrow>
    <m:mrow>
     <m:mn>10</m:mn>
    </m:mrow>
   </m:msub>
   <m:msub>
    <m:mi>δ</m:mi>
    <m:mi>p</m:mi>
   </m:msub>
   <m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mn>60</m:mn><m:mi>d</m:mi><m:mi>B</m:mi><m:mo>⇒</m:mo><m:mtext> </m:mtext><m:msub>
    <m:mi>δ</m:mi>
    <m:mi>s</m:mi>
   </m:msub>
   <m:mo>=</m:mo><m:mn>0.001</m:mn>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaacIcacqGHsislcaaIYaGaaGimaiGacYgacaGGVbGaai4zamaaBaaaleaacaaIXaGaaGimaaqabaGccqaH0oazdaWgaaWcbaGaamiCaaqabaGccaGGPaGaeyypa0JaaGOnaiaaicdacaGGKbGaaiOqaiabgkDiElaaysW7cqaH0oazdaWgaaWcbaGaam4CaaqabaGccqGH9aqpcaaIWaGaaiOlaiaaicdacaaIWaGaaGymaaaa@5075@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->



        
      </item>
        <item>Sampling frequency: 1200Hz</item>
      </list>
      <para id="id25448003">From Table 5.2 see that only the Blackman window can satisfy the stopband ripple (so can the Kaiser window, see next subsection). Since the passband and stopband attenuations are different, we take the smaller one in the design, i.e. 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mi>A</m:mi></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{A} {}</m:annotation></m:semantics></m:math>= 60dB. The transition width and the filter order are, respectively,</para>
      <para id="id25448064"><m:math display="block">
          <m:semantics>
            <m:mrow>
              <m:mstyle fontsize="12pt">
                <m:mrow>
                  <m:mrow>
                    <m:mrow>
                      <m:mi fontstyle="italic">Δω</m:mi>
                      <m:mo stretchy="false">=</m:mo>
                      <m:mn>2π</m:mn>
                    </m:mrow>
                    <m:mrow>
                      <m:mfrac>
                        <m:mtext>100</m:mtext>
                        <m:mtext>1200</m:mtext>
                      </m:mfrac>
                      <m:mo stretchy="false">=</m:mo>
                      <m:mfrac>
                        <m:mi>π</m:mi>
                        <m:mn>6</m:mn>
                      </m:mfrac>
                    </m:mrow>
                  </m:mrow>
                </m:mrow>
              </m:mstyle>
              <m:mrow/>
            </m:mrow>
            <m:annotation encoding="StarMath 5.0"> size 12{Δω=2π {  {"100"}  over  {"1200"} } = {  {π}  over  {6} } } {}</m:annotation>
          </m:semantics>
        </m:math>
      
<m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:mi>M</m:mi><m:mo>=</m:mo><m:mfrac>
    <m:mrow>
     <m:mn>11.1</m:mn><m:mi>π</m:mi>
    </m:mrow>
    <m:mrow>
     <m:mi>π</m:mi><m:mo>/</m:mo><m:mn>6</m:mn>
    </m:mrow>
   </m:mfrac>
   <m:mo>=</m:mo><m:mn>66.6</m:mn><m:mo>≈</m:mo><m:mn>67</m:mn>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaad2eacqGH9aqpdaWcaaqaaiaaigdacaaIXaGaaiOlaiaaigdacqaHapaCaeaacqaHapaCcaGGVaGaaGOnaaaacqGH9aqpcaaI2aGaaGOnaiaac6cacaaI2aGaeyisISRaaGOnaiaaiEdaaaa@46C4@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</para>
      
      <para id="id25448184">Thus the Blackman window is </para>
      <para id="id25448188"><m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:mi>W</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mn>0.42</m:mn><m:mo>−</m:mo><m:mn>0.5</m:mn><m:mi>cos</m:mi><m:mo>⁡</m:mo><m:mfrac>
    <m:mrow>
     <m:mn>2</m:mn><m:mi>π</m:mi><m:mi>n</m:mi>
    </m:mrow>
    <m:mi>M</m:mi>
   </m:mfrac>
   <m:mo>+</m:mo><m:mn>0.08</m:mn><m:mi>cos</m:mi><m:mo>⁡</m:mo><m:mfrac>
    <m:mrow>
     <m:mn>4</m:mn><m:mi>π</m:mi><m:mi>n</m:mi>
    </m:mrow>
    <m:mi>M</m:mi>
   </m:mfrac>
   <m:mtable>
    <m:mtr>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
    </m:mtr>
    
   </m:mtable><m:mo>,</m:mo><m:mtable>
    <m:mtr>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
     <m:mtd>
      <m:mrow/>
     </m:mtd>
    </m:mtr>
    
   </m:mtable><m:mn>0</m:mn><m:mo>≤</m:mo><m:mi>n</m:mi><m:mo>≤</m:mo><m:mi>M</m:mi><m:mo>=</m:mo><m:mn>67</m:mn>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipDI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeqabiGaciaacaqaaeaadaqaaqaaaOqaaiaadEfacaGGOaGaamOBaiaacMcacqGH9aqpcaaIWaGaaiOlaiaaisdacaaIYaGaeyOeI0IaaGimaiaac6cacaaI1aGaci4yaiaac+gacaGGZbWaaSaaaeaacaaIYaGaeqiWdaNaamOBaaqaaiaad2eaaaGaey4kaSIaaGimaiaac6cacaaIWaGaaGioaiGacogacaGGVbGaai4CamaalaaabaGaaGinaiabec8aWjaad6gaaeaacaWGnbaaauaabeqabeaaaeaaaaGaaiilauaabeqabiaaaeaaaeaaaaGaaGimaiabgsMiJkaad6gacqGHKjYOcaWGnbGaeyypa0JaaGOnaiaaiEdaaaa@5B75@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</para>
      <para id="id25448348">Ideal bandpass filter impulse response (Equation 5.10b)</para>
      <para id="id25448354"><m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:msub>
    <m:mi>h</m:mi>
    <m:mrow>
     <m:mi>B</m:mi><m:mi>P</m:mi>
    </m:mrow>
   </m:msub>
   <m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mfrac>
    <m:mrow>
     <m:mi>sin</m:mi><m:mo>⁡</m:mo><m:msub>
      <m:mi>ω</m:mi>
      <m:mi>u</m:mi>
     </m:msub>
     <m:mi>n</m:mi>
    </m:mrow>
    <m:mrow>
     <m:mi>π</m:mi><m:mi>n</m:mi>
    </m:mrow>
   </m:mfrac>
   <m:mo>−</m:mo><m:mfrac>
    <m:mrow>
     <m:mi>sin</m:mi><m:mo>⁡</m:mo><m:msub>
      <m:mi>ω</m:mi>
      <m:mi>l</m:mi>
     </m:msub>
     <m:mi>n</m:mi>
    </m:mrow>
    <m:mrow>
     <m:mi>π</m:mi><m:mi>n</m:mi>
    </m:mrow>
   </m:mfrac>
   
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiaadIgadaWgaaWcbaGaamOqaiaadcfaaeqaaOGaaiikaiaad6gacaGGPaGaeyypa0ZaaSaaaeaaciGGZbGaaiyAaiaac6gacqaHjpWDdaWgaaWcbaGaamyDaaqabaGccaWGUbaabaGaeqiWdaNaamOBaaaacqGHsisldaWcaaqaaiGacohacaGGPbGaaiOBaiabeM8a3naaBaaaleaacaWGSbaabeaakiaad6gaaeaacqaHapaCcaWGUbaaaaaa@4FE7@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</para>
      <para id="id25448389">where</para>
      <para id="id25448393"><m:math display="block">
          <m:semantics>
            <m:mrow>
              <m:mstyle fontsize="12pt">
                <m:mrow>
                  <m:mrow>
                    <m:mrow>
                      <m:msub>
                        <m:mi>ω</m:mi>
                        <m:mstyle fontsize="8pt">
                          <m:mrow>
                            <m:mi>u</m:mi>
                          </m:mrow>
                        </m:mstyle>
                      </m:msub>
                      <m:mo stretchy="false">=</m:mo>
                      <m:mn>2π</m:mn>
                    </m:mrow>
                    <m:mrow>
                      <m:mfrac>
                        <m:mtext>400</m:mtext>
                        <m:mtext>1200</m:mtext>
                      </m:mfrac>
                      <m:mo stretchy="false">=</m:mo>
                      <m:mfrac>
                        <m:mn>2π</m:mn>
                        <m:mn>3</m:mn>
                      </m:mfrac>
                    </m:mrow>
                  </m:mrow>
                </m:mrow>
              </m:mstyle>
              <m:mrow/>
            </m:mrow>
            <m:annotation encoding="StarMath 5.0"> size 12{ω rSub { size 8{u} } =2π {  {"400"}  over  {"1200"} } = {  {2π}  over  {3} } } {}</m:annotation>
          </m:semantics>
        </m:math>
      
<m:math display="block">
 <m:semantics>
  <m:mrow>
   <m:msub>
    <m:mi>ω</m:mi>
    <m:mi>l</m:mi>
   </m:msub>
   <m:mo>=</m:mo><m:mn>2</m:mn><m:mi>π</m:mi><m:mfrac>
    <m:mrow>
     <m:mn>200</m:mn>
    </m:mrow>
    <m:mrow>
     <m:mn>1200</m:mn>
    </m:mrow>
   </m:mfrac>
   <m:mo>=</m:mo><m:mfrac>
    <m:mi>π</m:mi>
    <m:mn>3</m:mn>
   </m:mfrac>
   
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeGabiGaciaacaqaaeaadaqaaqaaaOqaaiabeM8a3naaBaaaleaacaWGSbaabeaakiabg2da9iaaikdacqaHapaCdaWcaaqaaiaaikdacaaIWaGaaGimaaqaaiaaigdacaaIYaGaaGimaiaaicdaaaGaeyypa0ZaaSaaaeaacqaHapaCaeaacaaIZaaaaaaa@4512@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</para>
      
      <para id="id25448510">Since M is odd we have linear phase type 2 (FIR-2) . The designed impulse response is </para>
      <para id="id25448516"><m:math display="block">
          <m:semantics>
            <m:mrow>
              <m:mstyle fontsize="12pt">
                <m:mrow>
                  <m:mrow>
                    <m:mi>h</m:mi>
                    <m:mo stretchy="false">(</m:mo>
                    <m:mi>n</m:mi>
                    <m:mrow>
                      <m:mo stretchy="false">)</m:mo>
                      <m:mo stretchy="false">=</m:mo>
                      <m:msub>
                        <m:mi>h</m:mi>
                        <m:mstyle fontsize="8pt">
                          <m:mrow>
                            <m:mstyle fontstyle="italic">
                              <m:mrow>
                                <m:mtext>BP</m:mtext>
                              </m:mrow>
                            </m:mstyle>
                          </m:mrow>
                        </m:mstyle>
                      </m:msub>
                    </m:mrow>
                    <m:mo stretchy="false">(</m:mo>
                    <m:mi>n</m:mi>
                    <m:mo stretchy="false">)</m:mo>
                    <m:mi>w</m:mi>
                    <m:mo stretchy="false">(</m:mo>
                    <m:mi>n</m:mi>
                    <m:mo stretchy="false">)</m:mo>
                  </m:mrow>
                </m:mrow>
              </m:mstyle>
              <m:mrow/>
            </m:mrow>
            <m:annotation encoding="StarMath 5.0"> size 12{h \( n \) =h rSub { size 8{ ital "BP"} }  \( n \) w \( n \) } {}</m:annotation>
          </m:semantics>
        </m:math>
      </para>
      <para id="id25448625">We then take the inverse transform of h(n) to get or the frequency response of the designed filter (Fig.5.20).</para>
      <example id="element-113"><para id="element-905">Design a highpass FIR filter using Kaiser window to meet the specifications :</para><list id="element-475" type="bulleted"><item>Cutoff frequency 2,5 kHz</item>
        <item>Transition width 0.5 kHz</item>
        <item>Passband ripple 0.001</item>
        <item>Stopband attenuation 40dB</item>
        <item>Sampling frequency 10kHz</item>
      </list>
</example>
      
      
      <para id="id25448684"><term> Solution </term></para>
      <para id="id25448689">First let’s derive the expression of the impule response of ideal highpass filter (Fig.5.1b) with generalized linear phase (Fig.5.4) (Fig.5.1b) with generalized linear phase (Fig.5.4). The frequency response of the causal highpass filter in the interval 
<m:math>
 <m:semantics>
  <m:mrow>
   <m:mi>ω</m:mi><m:mo>=</m:mo><m:mo stretchy="false">[</m:mo><m:mn>0</m:mn><m:mo>,</m:mo><m:mi>π</m:mi><m:mo stretchy="false">]</m:mo>
  </m:mrow>
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOqaaiabeM8a3jabg2da9iaacUfacaaIWaGaaiilaiabec8aWjaac2faaaa@3D9D@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
is</para>
      
      <equation id="element-329"><m:math display="block">
 <m:semantics>
  <m:mtable columnalign="left">
   <m:mtr>
    <m:mtd>
     <m:msub>
      <m:mi>H</m:mi>
      <m:mrow>
       <m:mi>H</m:mi><m:mi>P</m:mi>
      </m:mrow>
     </m:msub>
     <m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mn>0</m:mn><m:mo>,</m:mo><m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow/>
       </m:mtd>
       <m:mtd>
        <m:mrow>
         <m:mtable>
          <m:mtr>
           <m:mtd>
            <m:mrow/>
           </m:mtd>
           <m:mtd>
            <m:mrow/>
           </m:mtd>
           <m:mtd>
            <m:mrow/>
           </m:mtd>
          </m:mtr>
          
         </m:mtable>
        </m:mrow>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mn>0</m:mn><m:mo>≤</m:mo><m:mi>ω</m:mi><m:mo>≤</m:mo><m:msub>
      <m:mi>ω</m:mi>
      <m:mi>c</m:mi>
     </m:msub>
     
    </m:mtd>
   </m:mtr>
   <m:mtr>
    <m:mtd>
     <m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow/>
       </m:mtd>
       <m:mtd>
        <m:mrow/>
       </m:mtd>
       <m:mtd>
        <m:mrow>
         <m:mtable>
          <m:mtr>
           <m:mtd>
            <m:mrow/>
           </m:mtd>
          </m:mtr>
          
         </m:mtable>
        </m:mrow>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mtable>
      <m:mtr>
       <m:mtd>
        <m:mrow/>
       </m:mtd>
      </m:mtr>
      
     </m:mtable><m:mtext> </m:mtext><m:mtext> </m:mtext><m:msup>
      <m:mi>e</m:mi>
      <m:mrow>
       <m:mo>−</m:mo><m:mi>j</m:mi><m:mfrac>
        <m:mi>M</m:mi>
        <m:mn>2</m:mn>
       </m:mfrac>
       <m:mi>ω</m:mi>
      </m:mrow>
     </m:msup>
     <m:mo>,</m:mo><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:mtext> </m:mtext><m:msub>
      <m:mi>ω</m:mi>
      <m:mi>c</m:mi>
     </m:msub>
     <m:mo>&lt;</m:mo><m:mi>ω</m:mi><m:mo>≤</m:mo><m:mi>π</m:mi>
    </m:mtd>
   </m:mtr>
  </m:mtable>
  
 <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqabeaabiGaciaacaqaaeaadaqaaqaaaOabaeqabaGaamisamaaBaaaleaacaWGibGaamiuaaqabaGccaGGOaGaeqyYdCNaaiykaiabg2da9iaaicdacaGGSaqbaeqabeGaaaqaaaqaauaabeqabmaaaeaaaeaaaeaaaaaaaiaaicdacqGHKjYOcqaHjpWDcqGHKjYOcqaHjpWDdaWgaaWcbaGaam4yaaqabaaakeaafaqabeqadaaabaaabaaabaqbaeqabeqaaaqaaaaaaaqbaeqabeqaaaqaaaaacaaMe8UaaGjbVlaadwgadaahaaWcbeqaaiabgkHiTiaadQgadaWcaaqaaiaad2eaaeaacaaIYaaaaiabeM8a3baakiaacYcacaaMf8UaaGzbVlaaysW7caaMe8UaeqyYdC3aaSbaaSqaaiaadogaaeqaaOGaeyipaWJaeqyYdCNaeyizImQaeqiWdahaaaa@60D7@</m:annotation>
 </m:semantics>
</m:math>
<!-- MathType@End@5@5@ -->
</equation><para id="id25448781">or related to the frequency response of the lowpass filter 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:msub><m:mi>H</m:mi><m:mstyle fontsize="8pt"><m:mrow><m:mstyle fontstyle="italic"><m:mrow><m:mtext>LP</m:mtext></m:mrow></m:mstyle></m:mrow></m:mstyle></m:msub><m:mo stretchy="false">(</m:mo><m:mi>ω</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{H rSub { size 8{ ital "LP"} }  \( ω \) } {}</m:annotation></m:semantics></m:math>(Equation (5.32)) as</para>
      <para id="id25448863"><m:math display="block">
          <m:semantics>
            <m:mrow>
              <m:mstyle fontsize="12pt">
                <m:mrow>
                  <m:mrow>
                    <m:msub>
                      <m:mi>H</m:mi>
                      <m:mstyle fontsize="8pt">
                        <m:mrow>
                          <m:mstyle fontstyle="italic">
                            <m:mrow>
                              <m:mtext>HP</m:mtext>
                            </m:mrow>
                          </m:mstyle>
                        </m:mrow>
                      </m:mstyle>
                    </m:msub>
                    <m:mo stretchy="false">(</m:mo>
                    <m:mi>ω</m:mi>
                    <m:mrow>
                      <m:mo stretchy="false">)</m:mo>
                      <m:mo stretchy="false">=</m:mo>
                      <m:mrow>
                        <m:msup>
                          <m:mi>e</m:mi>
                          <m:mstyle fontsize="8pt">
                            <m:mrow>
                              <m:mrow>
                                <m:mrow>
                                  <m:mo stretchy="false">−</m:mo>
                                  <m:mi>j</m:mi>
                                </m:mrow>
                                <m:mfrac>
                                  <m:mi>M</m:mi>
                                  <m:mn>2</m:mn>
                                </m:mfrac>
                                <m:mi>ω</m:mi>
                              </m:mrow>
                            </m:mrow>
                          </m:mstyle>
                        </m:msup>
                        <m:mo stretchy="false">−</m:mo>
                        <m:msub>
                          <m:mi>H</m:mi>
                          <m:mstyle fontsize="8pt">
                            <m:mrow>
                              <m:mstyle fontstyle="italic">
                                <m:mrow>
                                  <m:mtext>LP</m:mtext>
                                </m:mrow>
                              </m:mstyle>
                            </m:mrow>
                          </m:mstyle>
                        </m:msub>
                      </m:mrow>
                    </m:mrow>
                    <m:mo stretchy="false">(</m:mo>
                    <m:mi>ω</m:mi>
                    <m:mo stretchy="false">)</m:mo>
                  </m:mrow>
                </m:mrow>
              </m:mstyle>
              <m:mrow/>
            </m:mrow>
            <m:annotation encoding="StarMath 5.0"> size 12{H rSub { size 8{ ital "HP"} }  \( ω \) =e rSup { size 8{ - j {  {M}  o