MikroElektronika white logo
  • Products
    • Click Boards
      • Wireless Connectivity
        • GPS/GNSS
        • GSM/LTE
        • LTE IoT
        • BT/BLE
        • WiFi
        • RFID/NFC
        • GSM+GPS
        • 6LoWPAN
        • ZigBee
        • UWB
        • SigFox
        • Sub-1 GHz Transceievers
        • 2.4 GHz Trancevers
        • LoRa
        • WiFi+BLE
      • Sensors
        • Biometrics
        • Gas
        • Magnetic
        • Motion
        • Optical
        • Pressure
        • Proximity
        • Temperature & humidity
        • Current sensor
        • Miscellaneous
        • Environmental
        • Force
        • Inductance
        • RF meter
        • Click Shields
        • Click Bundles
      • Interface
        • Adapter
        • CAN
        • Port expander
        • RS485
        • USB
        • 1-Wire
        • RS232
        • Ethernet
        • LIN
        • PWM
        • Current
        • DALI
        • I2C
        • Fiber optics
        • SPI
        • DMX
        • CXPI
        • Click Shields
        • Click Bundles
      • Display & LED
        • LED Drivers
        • LED Matrix
        • LED Segment
        • OLED
        • LCD
        • TFT
        • Click Shields
        • Click Bundles
      • Miscellaneous
        • Relay
        • Optocoupler
        • ID
        • Proto
        • Encryption
        • Click Shields
        • Click Bundles
      • Mixed Signal
        • ADC
        • Measurements
        • DAC
        • Digital potentiometer
        • ADC-DAC
        • Click Shields
        • Click Bundles
      • Storage
        • EEPROM
        • FLASH
        • FRAM
        • microSD
        • MRAM
        • SRAM
        • EERAM
        • ReRAM
        • DRAM
        • Click Shields
        • Click Bundles
      • Motor Control
        • Brushed
        • Brushless
        • Servo
        • Stepper
        • Click Shields
        • Click Bundles
      • Audio & Voice
        • Amplifier
        • Microphone
        • Speakers
        • Signal Processing
        • Speech recognition
        • FM
        • MP3
        • Click Shields
        • Click Bundles
      • HMI
        • Capacitive
        • Pushbutton/Switches
        • Potentiometers
        • Rotary encoder
        • Haptic
        • Fingerprint
        • Click Shields
        • Click Bundles
      • Clock & Timing
        • RTC
        • Clock generator
        • Click Shields
        • Click Bundles
      • Power Management
        • Battery charger
        • Boost
        • Buck
        • Linear
        • Buck-Boost
        • Wireless Charging
        • Power Switch
        • USB-C PD
        • Click Shields
        • Click Bundles
      • Click Bundles
      • Click Shields
    • NECTO
      • NECTO Studio
    • Compilers
      • PIC
        • C
          • NECTO Studio
          • mikroC PRO for PIC
        • Basic
          • mikroBasic PRO for PIC
        • Pascal
          • mikroPascal PRO for PIC
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual TFT AI
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • dsPIC/PIC24
        • C
          • NECTO Studio
          • mikroC PRO for dsPIC
        • Basic
          • mikroBasic PRO for dsPIC
        • Pascal
          • mikroPascal PRO for dsPIC
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • PIC32
        • C
          • NECTO Studio
          • mikroC PRO for PIC32
        • Basic
          • mikroBasic PRO for PIC32
        • Pascal
          • mikroPascal PRO for PIC32
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • ARM
        • C
          • NECTO Studio
          • mikroC PRO for ARM
        • Basic
          • mikroBasic PRO for ARM
        • Pascal
          • mikroPascal PRO for ARM
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual TFT AI
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • AVR
        • C
          • NECTO Studio
          • mikroC PRO for AVR
        • Basic
          • mikroBasic PRO for AVR
        • Pascal
          • mikroPascal PRO for AVR
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • FT90x
        • C
          • mikroC PRO for FT90x
        • Basic
          • mikroBasic PRO for FT90x
        • Pascal
          • mikroPascal PRO for FT90x
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • 8051
        • C
          • mikroC PRO for 8051
        • Basic
          • mikroBasic PRO for 8051
        • Pascal
          • mikroPascal PRO for 8051
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
    • Dev Boards
      • PIC (8-bit)
        • 8th Generation
          • Fusion for PIC v8
          • EasyPIC PRO v8
          • EasyPIC PRO v8 over USB-C
          • EasyPIC v8
          • EasyPIC v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC PRO v7a
          • PICPLC16 v7a
          • EasyPIC v7a
          • EasyPIC PRO v7
          • EasyPIC v7
        • 6th Generation
          • PICPLC16 v6
      • dsPIC/PIC24 (16-bit)
        • 8th Generation
          • EasyPIC v8 PIC24/dsPIC33
          • EasyPIC v8 for dsPIC30
          • EasyPIC v8 for dsPIC30 over USB-C
          • Fusion for PIC v8
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC Fusion v7
          • EasyPIC v7 for dsPIC30
        • 6th Generation
          • Easy24-33 v6
      • PIC32 (32-bit)
        • 8th Generation
          • Fusion for PIC32
          • Fusion for PIC32 over USB-C
          • Fusion for PIC v8
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC Fusion v7
      • ARM (32-bit)
        • 8th Generation
          • Fusion for ARM v8
          • Fusion for ARM v8 over USB-C
          • Fusion for STM32 v8
          • Fusion for STM32 over USB-C
          • Fusion for KINETIS v8
          • Fusion for Kinetis v8 over USB-C
          • Fusion for TIVA v8
          • Fusion for TIVA v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyMx PRO v7a STM32
          • EasyMx PRO v7 STM32
          • EasyMx PRO v7 Tiva
      • AVR (8-bit)
        • 8th Generation
          • EasyAVR v8
          • EasyAVR PRO v8
          • EasyAVR PRO v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyAVR v7
        • 6th Generation
          • AVRPLC16 v6
      • 8051 (8-bit)
        • 7th generation
          • BIG8051
        • 6th Generation
          • Easy8051 v6
      • PSoC (8-bit)
        • 6th Generation
          • UNI-DS6 Development System
      • RISC-V (32bit)
        • 8th Generation
          • UNI-DS v8
          • UNI-DS v8 over USB-C
      • Universal Boards
        • 8th Generation
          • UNI-DS v8
          • UNI-DS v8 over USB-C
          • Fusion for PIC v8
          • Fusion for ARM v8
        • 7th Generation
          • EasyPIC Fusion v7
        • 6th Generation
          • UNI-DS6
          • mikroBoard for PIC 80-pin
          • mikroBoard for AVR
          • mikroBoard for dsPIC
          • mikroBoard for PSoC
          • mikroBoard for 8051
          • mikroBoard for PIC 40-pin
          • mikroBoard for ARM
          • mikroBoard for ARM 144-pin
      • IoT - Wearable
        • Hexiwear
          • Hexiwear
          • Hexiwear Power User Pack
          • Hexiwear Docking Station
          • Hexiwear Battery Pack
          • Hexiwear Color Pack
          • Hexiwear Workstation
      • Analog Boards
        • 7th Generation
          • Analog System Lab Kit PRO
    • Starter Boards
      • PIC (8-bit)
        • Clicker
          • PIC clicker
        • Clicker 2
          • Clicker 2 for PIC18FJ
          • Clicker 2 for PIC18FK
        • Clicker 4
          • Clicker 4 for PIC18F
          • UNI Clicker
        • Ready
          • Ready for PIC Board
          • Ready for PIC (DIP28)
          • PIC-Ready2 Board
          • MMC Ready Board
        • StartUSB
          • StartUSB for PIC
      • dsPIC/PIC24 (16-bit)
        • Clicker 2
          • Clicker 2 for PIC24
          • Clicker 2 for dsPIC33
        • Clicker 4
          • UNI Clicker
        • Ready
          • dsPIC-Ready1 Board
          • dsPIC-Ready2 Board
          • DsPIC-Ready3 Board
          • dsPIC-Ready4 Board
      • PIC32 (32-bit)
        • Clicker
          • PIC32MX clicker
          • 6LoWPAN Clicker
          • PIC32MZ clicker
        • Clicker 2
          • Clicker 2 for PIC32MX
          • Clicker 2 for PIC32MZ
        • Clicker 4
          • UNI Clicker
        • MINI
          • MINI-32 Board
          • MINI-32 for PIC32MZ
        • Flip&Click
          • Flip&Click PIC32MZ
      • ARM (32-bit)
        • Clicker
          • RA4M1 Clicker
          • Kinetis Clicker
          • MSP432 Clicker
          • CEC1702 clicker
          • CEC1302 Clicker
          • STM32 M4 clicker
        • Clicker 2
          • Clicker 2 for STM32
          • Clicker 2 for Kinetis
          • Clicker 2 for CEC1702
          • Clicker 2 for MSP432
          • Clicker 2 for CEC1302
          • Clicker 2 for PSoC 6
        • Clicker 4
          • Clicker 4 for STM32F745VG
          • Clicker 4 for STM32F4
          • Clicker 4 for TMPM3H
          • Clicker 4 for TMPM4K
          • Clicker 4 for STM32
          • UNI Clicker
        • MINI
          • MINI-M4 for STM32
          • MINI-M4 For Kinetis
          • MINI-M4 for Tiva
          • MINI-M4 for Stellaris
          • MINI-M4 for MSP432
          • MINI-M0 for STM32
        • Flip&Click
          • Flip&Click SAM3X
      • AVR (8-bit)
        • Clicker 4
          • UNI Clicker
        • MINI
          • MINI-AT Board - 3.3V
          • MINI-AT Board - 5V
        • Ready
          • Ready for AVR Board
          • Ready For XMEGA
          • mikroXMEGA Board
          • AVR-Ready2 Board
        • StartUSB
          • StartUSB for AVR
      • 8051 (8-bit)
        • Ready
          • 8051-Ready Board
      • FT90x (32-bit)
        • Clicker 2
          • Clicker 2 for FT90x
      • Miscellaneous
        • USB
          • USB Wizard
          • Quail
          • FlowPaw Kit
      • Universal Boards
        • Clicker 4
          • UNI Clicker
    • Prog-Debug
      • PIC (8-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
          • CODEGRIP for PIC USB-C
        • mikroProg
          • mikroProg for PIC
      • dsPIC/PIC24 (16-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
        • mikroProg
          • mikroProg for dsPIC
      • PIC32 (32-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
          • CODEGRIP for PIC USB-C
        • mikroProg
          • mikroProg for PIC32
      • ARM (32-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP USB-C
          • CODEGRIP for ARM
          • CODEGRIP for ARM USB-C
          • CODEGRIP for STM32
          • CODEGRIP for KINETIS
          • CODEGRIP for Tiva
          • CODEGRIP for Tiva USB-C
        • mikroProg
          • mikroProg for STM32
          • mikroProg for Tiva
          • mikroProg for Kinetis
          • mikroProg for CEC
          • mikroProg for MSP432
          • mikroProg for PSoC 5LP
      • AVR (8-bit)
        • CODEGRIP
          • CODEGRIP for AVR
          • CODEGRIP for AVR - USB-C
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
        • mikroProg
          • mikroProg for AVR
      • 8051 (8-bit)
        • mikroProg
          • mikroProg for 8051
      • FT90x (32-bit)
        • mikroProg
          • mikroProg for FT90x
    • Smart Displays
      • 2.8"
        • ARM (32-bit)
        • AVR (8-bit)
        • dsPIC/PIC24 (16-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 3.5"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 4.3"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 5"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC32 (32-bit)
      • 7"
        • ARM (32-bit)
        • FT90x (32-bit)
    • MCU Cards
      • PIC (8-bit)
        • 8th Generation
        • 7th Generation
        • 6th Generation
      • dsPIC/PIC24 (16-bit)
        • 8th Generation
        • 7th Generation
        • 6th Generation
      • PIC32 (32-bit)
        • 8th Generation
        • 7th Generation
      • ARM (32-bit)
        • 8th Generation
        • 7th Generation
      • AVR (8-bit)
        • 8th Generation
      • RISC-V (32bit)
        • 8th Generation
    • Accessories
      • TFT Displays
      • LCD Displays
      • LED Displays
      • E-Paper Displays
      • Sensors
      • Headers and Connectors
      • Wire Jumpers and Cables
      • Antennas
      • Batteries
      • RFID/NFC
      • Proto
      • Motors
      • Storage
      • Power
      • Adapters
      • Interface
      • Input/Output
      • Miscellaneous
      • FANware
      • MCUs
      • Books
    • Kits
      • PIC Kits
      • dsPIC/PIC24 Kits
      • PIC32 Kits
      • ARM Kits
      • AVR Kits
      • FT90x Kits
      • 8051 Kits
  • Shop
  • EmbeddedWiki
  • Support
    • Helpdesk
    • Contact us
    • Forum
    • LibStock
    • Learn
    • Let's make
    • Books
  • Services
    • Planet Debug
    • Design Service
    • Product Customization
    • Contract Manufacturing
    • Premium Technical Support
  • News
  • My profile
  • Privacy settings
  • Activity
  • Sign out

Your shoppingcart is empty.
Continue shopping.

MikroElektronika white logo
  • Products
    • click boards icon Click Boards
      • Wireless Connectivity
        • GPS/GNSS
        • GSM/LTE
        • LTE IoT
        • BT/BLE
        • WiFi
        • RFID/NFC
        • GSM+GPS
        • 6LoWPAN
        • ZigBee
        • UWB
        • SigFox
        • Sub-1 GHz Transceievers
        • 2.4 GHz Trancevers
        • LoRa
        • WiFi+BLE
      • Sensors
        • Biometrics
        • Gas
        • Magnetic
        • Motion
        • Optical
        • Pressure
        • Proximity
        • Temperature & humidity
        • Current sensor
        • Miscellaneous
        • Environmental
        • Force
        • Inductance
        • RF meter
        • Click Shields
        • Click Bundles
      • Interface
        • Adapter
        • CAN
        • Port expander
        • RS485
        • USB
        • 1-Wire
        • RS232
        • Ethernet
        • LIN
        • PWM
        • Current
        • DALI
        • I2C
        • Fiber optics
        • SPI
        • DMX
        • CXPI
        • Click Shields
        • Click Bundles
      • Display & LED
        • LED Drivers
        • LED Matrix
        • LED Segment
        • OLED
        • LCD
        • TFT
        • Click Shields
        • Click Bundles
      • Miscellaneous
        • Relay
        • Optocoupler
        • ID
        • Proto
        • Encryption
        • Click Shields
        • Click Bundles
      • Mixed Signal
        • ADC
        • Measurements
        • DAC
        • Digital potentiometer
        • ADC-DAC
        • Click Shields
        • Click Bundles
      • Storage
        • EEPROM
        • FLASH
        • FRAM
        • microSD
        • MRAM
        • SRAM
        • EERAM
        • ReRAM
        • DRAM
        • Click Shields
        • Click Bundles
      • Motor Control
        • Brushed
        • Brushless
        • Servo
        • Stepper
        • Click Shields
        • Click Bundles
      • Audio & Voice
        • Amplifier
        • Microphone
        • Speakers
        • Signal Processing
        • Speech recognition
        • FM
        • MP3
        • Click Shields
        • Click Bundles
      • HMI
        • Capacitive
        • Pushbutton/Switches
        • Potentiometers
        • Rotary encoder
        • Haptic
        • Fingerprint
        • Click Shields
        • Click Bundles
      • Clock & Timing
        • RTC
        • Clock generator
        • Click Shields
        • Click Bundles
      • Power Management
        • Battery charger
        • Boost
        • Buck
        • Linear
        • Buck-Boost
        • Wireless Charging
        • Power Switch
        • USB-C PD
        • Click Shields
        • Click Bundles
      • Click Bundles
      • Click Shields
    • necto icon NECTO
      • NECTO Studio
    • compilers icon Compilers
      • PIC
        • C
          • NECTO Studio
          • mikroC PRO for PIC
        • Basic
          • mikroBasic PRO for PIC
        • Pascal
          • mikroPascal PRO for PIC
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual TFT AI
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • dsPIC/PIC24
        • C
          • NECTO Studio
          • mikroC PRO for dsPIC
        • Basic
          • mikroBasic PRO for dsPIC
        • Pascal
          • mikroPascal PRO for dsPIC
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • PIC32
        • C
          • NECTO Studio
          • mikroC PRO for PIC32
        • Basic
          • mikroBasic PRO for PIC32
        • Pascal
          • mikroPascal PRO for PIC32
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • ARM
        • C
          • NECTO Studio
          • mikroC PRO for ARM
        • Basic
          • mikroBasic PRO for ARM
        • Pascal
          • mikroPascal PRO for ARM
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual TFT AI
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • AVR
        • C
          • NECTO Studio
          • mikroC PRO for AVR
        • Basic
          • mikroBasic PRO for AVR
        • Pascal
          • mikroPascal PRO for AVR
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • FT90x
        • C
          • mikroC PRO for FT90x
        • Basic
          • mikroBasic PRO for FT90x
        • Pascal
          • mikroPascal PRO for FT90x
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • 8051
        • C
          • mikroC PRO for 8051
        • Basic
          • mikroBasic PRO for 8051
        • Pascal
          • mikroPascal PRO for 8051
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
    • dev boards icon Dev Boards
      • PIC (8-bit)
        • 8th Generation
          • Fusion for PIC v8
          • EasyPIC PRO v8
          • EasyPIC PRO v8 over USB-C
          • EasyPIC v8
          • EasyPIC v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC PRO v7a
          • PICPLC16 v7a
          • EasyPIC v7a
          • EasyPIC PRO v7
          • EasyPIC v7
        • 6th Generation
          • PICPLC16 v6
      • dsPIC/PIC24 (16-bit)
        • 8th Generation
          • EasyPIC v8 PIC24/dsPIC33
          • EasyPIC v8 for dsPIC30
          • EasyPIC v8 for dsPIC30 over USB-C
          • Fusion for PIC v8
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC Fusion v7
          • EasyPIC v7 for dsPIC30
        • 6th Generation
          • Easy24-33 v6
      • PIC32 (32-bit)
        • 8th Generation
          • Fusion for PIC32
          • Fusion for PIC32 over USB-C
          • Fusion for PIC v8
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC Fusion v7
      • ARM (32-bit)
        • 8th Generation
          • Fusion for ARM v8
          • Fusion for ARM v8 over USB-C
          • Fusion for STM32 v8
          • Fusion for STM32 over USB-C
          • Fusion for KINETIS v8
          • Fusion for Kinetis v8 over USB-C
          • Fusion for TIVA v8
          • Fusion for TIVA v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyMx PRO v7a STM32
          • EasyMx PRO v7 STM32
          • EasyMx PRO v7 Tiva
      • AVR (8-bit)
        • 8th Generation
          • EasyAVR v8
          • EasyAVR PRO v8
          • EasyAVR PRO v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyAVR v7
        • 6th Generation
          • AVRPLC16 v6
      • 8051 (8-bit)
        • 7th generation
          • BIG8051
        • 6th Generation
          • Easy8051 v6
      • PSoC (8-bit)
        • 6th Generation
          • UNI-DS6 Development System
      • RISC-V (32bit)
        • 8th Generation
          • UNI-DS v8
          • UNI-DS v8 over USB-C
      • Universal Boards
        • 8th Generation
          • UNI-DS v8
          • UNI-DS v8 over USB-C
          • Fusion for PIC v8
          • Fusion for ARM v8
        • 7th Generation
          • EasyPIC Fusion v7
        • 6th Generation
          • UNI-DS6
          • mikroBoard for PIC 80-pin
          • mikroBoard for AVR
          • mikroBoard for dsPIC
          • mikroBoard for PSoC
          • mikroBoard for 8051
          • mikroBoard for PIC 40-pin
          • mikroBoard for ARM
          • mikroBoard for ARM 144-pin
      • IoT - Wearable
        • Hexiwear
          • Hexiwear
          • Hexiwear Power User Pack
          • Hexiwear Docking Station
          • Hexiwear Battery Pack
          • Hexiwear Color Pack
          • Hexiwear Workstation
      • Analog Boards
        • 7th Generation
          • Analog System Lab Kit PRO
    • starter boards icon Starter Boards
      • PIC (8-bit)
        • Clicker
          • PIC clicker
        • Clicker 2
          • Clicker 2 for PIC18FJ
          • Clicker 2 for PIC18FK
        • Clicker 4
          • Clicker 4 for PIC18F
          • UNI Clicker
        • Ready
          • Ready for PIC Board
          • Ready for PIC (DIP28)
          • PIC-Ready2 Board
          • MMC Ready Board
        • StartUSB
          • StartUSB for PIC
      • dsPIC/PIC24 (16-bit)
        • Clicker 2
          • Clicker 2 for PIC24
          • Clicker 2 for dsPIC33
        • Clicker 4
          • UNI Clicker
        • Ready
          • dsPIC-Ready1 Board
          • dsPIC-Ready2 Board
          • DsPIC-Ready3 Board
          • dsPIC-Ready4 Board
      • PIC32 (32-bit)
        • Clicker
          • PIC32MX clicker
          • 6LoWPAN Clicker
          • PIC32MZ clicker
        • Clicker 2
          • Clicker 2 for PIC32MX
          • Clicker 2 for PIC32MZ
        • Clicker 4
          • UNI Clicker
        • MINI
          • MINI-32 Board
          • MINI-32 for PIC32MZ
        • Flip&Click
          • Flip&Click PIC32MZ
      • ARM (32-bit)
        • Clicker
          • RA4M1 Clicker
          • Kinetis Clicker
          • MSP432 Clicker
          • CEC1702 clicker
          • CEC1302 Clicker
          • STM32 M4 clicker
        • Clicker 2
          • Clicker 2 for STM32
          • Clicker 2 for Kinetis
          • Clicker 2 for CEC1702
          • Clicker 2 for MSP432
          • Clicker 2 for CEC1302
          • Clicker 2 for PSoC 6
        • Clicker 4
          • Clicker 4 for STM32F745VG
          • Clicker 4 for STM32F4
          • Clicker 4 for TMPM3H
          • Clicker 4 for TMPM4K
          • Clicker 4 for STM32
          • UNI Clicker
        • MINI
          • MINI-M4 for STM32
          • MINI-M4 For Kinetis
          • MINI-M4 for Tiva
          • MINI-M4 for Stellaris
          • MINI-M4 for MSP432
          • MINI-M0 for STM32
        • Flip&Click
          • Flip&Click SAM3X
      • AVR (8-bit)
        • Clicker 4
          • UNI Clicker
        • MINI
          • MINI-AT Board - 3.3V
          • MINI-AT Board - 5V
        • Ready
          • Ready for AVR Board
          • Ready For XMEGA
          • mikroXMEGA Board
          • AVR-Ready2 Board
        • StartUSB
          • StartUSB for AVR
      • 8051 (8-bit)
        • Ready
          • 8051-Ready Board
      • FT90x (32-bit)
        • Clicker 2
          • Clicker 2 for FT90x
      • Miscellaneous
        • USB
          • USB Wizard
          • Quail
          • FlowPaw Kit
      • Universal Boards
        • Clicker 4
          • UNI Clicker
    • prog-debug icon Prog-Debug
      • PIC (8-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
          • CODEGRIP for PIC USB-C
        • mikroProg
          • mikroProg for PIC
      • dsPIC/PIC24 (16-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
        • mikroProg
          • mikroProg for dsPIC
      • PIC32 (32-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
          • CODEGRIP for PIC USB-C
        • mikroProg
          • mikroProg for PIC32
      • ARM (32-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP USB-C
          • CODEGRIP for ARM
          • CODEGRIP for ARM USB-C
          • CODEGRIP for STM32
          • CODEGRIP for KINETIS
          • CODEGRIP for Tiva
          • CODEGRIP for Tiva USB-C
        • mikroProg
          • mikroProg for STM32
          • mikroProg for Tiva
          • mikroProg for Kinetis
          • mikroProg for CEC
          • mikroProg for MSP432
          • mikroProg for PSoC 5LP
      • AVR (8-bit)
        • CODEGRIP
          • CODEGRIP for AVR
          • CODEGRIP for AVR - USB-C
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
        • mikroProg
          • mikroProg for AVR
      • 8051 (8-bit)
        • mikroProg
          • mikroProg for 8051
      • FT90x (32-bit)
        • mikroProg
          • mikroProg for FT90x
    • smart displays icon Smart Displays
      • 2.8"
        • ARM (32-bit)
        • AVR (8-bit)
        • dsPIC/PIC24 (16-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 3.5"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 4.3"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 5"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC32 (32-bit)
      • 7"
        • ARM (32-bit)
        • FT90x (32-bit)
    • mcu cards icon MCU Cards
      • PIC (8-bit)
        • 8th Generation
        • 7th Generation
        • 6th Generation
      • dsPIC/PIC24 (16-bit)
        • 8th Generation
        • 7th Generation
        • 6th Generation
      • PIC32 (32-bit)
        • 8th Generation
        • 7th Generation
      • ARM (32-bit)
        • 8th Generation
        • 7th Generation
      • AVR (8-bit)
        • 8th Generation
      • RISC-V (32bit)
        • 8th Generation
    • accessories icon Accessories
      • TFT Displays
      • LCD Displays
      • LED Displays
      • E-Paper Displays
      • Sensors
      • Headers and Connectors
      • Wire Jumpers and Cables
      • Antennas
      • Batteries
      • RFID/NFC
      • Proto
      • Motors
      • Storage
      • Power
      • Adapters
      • Interface
      • Input/Output
      • Miscellaneous
      • FANware
      • MCUs
      • Books
    • kits icon Kits
      • PIC Kits
      • dsPIC/PIC24 Kits
      • PIC32 Kits
      • ARM Kits
      • AVR Kits
      • FT90x Kits
      • 8051 Kits
  • Shop
  • EmbeddedWiki
  • Support
    • Helpdesk
    • Contact us
    • Forum
    • LibStock
    • Learn
    • Let's make
    • Books
  • Services
    • Planet Debug
    • Design Service
    • Product Customization
    • Contract Manufacturing
    • Premium Technical Support
  • News
  • Price :

    More info
Reset filter
  • 0
Authentication
Account

Create account

Forgot your password?

Your cart is empty !
View cart ( )
  1. Home
  2. ebooks
  3. Digital Filter Design
  4. window-functions
MikroElektronika books

2.3 Window functions

 

The window method is most commonly used method for designing FIR filters. The simplicity of design process makes this method very popular.


A window is a finite array consisting of coefficients selected to satisfy the desirable requirements. This chapter provides a few methods for estimating coefficients and basic characteristics of the window itself as well as the result filters designed using these coefficients. The point is to find these coefficients denoted by w[n].

When designing digital FIR filters using window functions it is necessary to specify:
 
    • A window function to be used; and
 
    • The filter order according to the required specifications (selectivity and stopband attenuation).


These two requirements are interrelated. Each function is a kind of compromise between the two following requirements:
 
    • The higher the selectivity, i.e. the narrower the transition region; and
 
    • The higher suppression of undesirable spectrum, i.e. the higher the stopband attenuation.


Table 2-3-1 below contains all window functions mentioned in this chapter and briefly compares their selectivity and stopband attenuation.
WINDOW FUNCTION NORMALIZED LENGTH OF THE MAIN LOBE FOR N=20 TRANSITION REGION FOR N=20 MINIMUM STOPBAND ATTENUATION OF WINDOW FUNCTION MINIMUM STOPBAND ATTENUATION OF DESIGNED FILTER
Rectangular 0.1π 0.041π 13 dB 21 dB
Triangular (Bartlett) 0.2π 0.11π 26 dB 26 dB
Hann 0.21π 0.12π 31 dB 44 dB
Bartlett-Hanning 0.21π 0.13π 36 dB 39 dB
Hamming 0.23π 0.14π 41 dB 53 dB
Bohman 0.31π 0.2π 46 dB 51 dB
Blackman 0.32π 0.2π 58 dB 75 dB
Blackman-Harris 0.43π 0.32π 91 dB 109 dB
 

Table 2-3-1. Comparison of window functions


Special attention should be paid to the fact that minimum attenuation of window function and that of the filter designed using that function are different in most cases. The difference, i.e. additional attenuation occurs under the process of designing a filter using window functions. This affects the stopband attenuation to become additionally higher, which is very desirable.

However, a drawback of this method is that the minimum stopband attenuation is fixed for each function. The exception is the Kaiser window described later in this chapter.

The following concepts such as the main lobe, main lobe width, side lobes, transition region, minimum stopband attenuation of window function and minimum stopband attenuation of designed filter are described in more detail in Figure 2-3-1.
digital-filter-design-chapter-02-image-3-1
 
Figure 2-3-1. Main lobe, main lobe width, side lobes, transition region

As can be seen in the table 2-3-1 above, the stopband attenuation of these windows is not adjustable. It is only possible to affect the transition region by increasing the filter order. For this reason it is preferable to start design process by specifying the appropriate window function on the basis of the stopband attenuation. It is most preferable to specify a window with the least stopband attenuation that satisfies the given requirements. This enables the designed filter to have the narrowest transition region.

Example:

Design a filter with the following characteristics:
 
    1. Minimum stopband attenuation is 40dB;
 
    1. Transition region between 2KHz and 3KHz; and
 
    1. Sampling frequency 10KHz.


Looking at the table 2-3-1 above (last column), it is obvious that required attenuation can be reached using the Hann window. Besides, such attenuation can be obtained using any other window following the Hann window (all the functions are sorted according to their stopband attenuation), thus the higher stopband attenuation would be at a cost of the wider transition region for the same filter order. Since the filter specification also includes transition region, this would further result in increasing the filter order and its complexity as well.

After specifying the suitable window function, it is necessary to compute the filter order. The cut-off frequencies of transition regions are normalized first.
 
    • The sampling frequency is fs=10KHz;
 
    • The lower cut-off frequency of transition region is f1=2KHz; and
 
    • The upper cut-off frequency of transition region is f2=3KHz.


Normalized frequencies are obtained in the following way:
for2-3-1

Transition region of the Hann window is 0.12π for a 20th order filter. To satisfy the given specifications, the required transition region is expressed as:

fn2 - fn1 = 0.2π


Since the required transition region is wider than that of a 20th order filter, the filter order needs to be less than 20. It is found via iteration. Roughly estimated, the initial solution in this case can be a 12th order filter. The required order is somewhat higher and is found after performing several iterations. The resulting filter order is 16.

Filter Designer Tool is used for obtaining a first-order filter. The table 2-3-2 provides performed iterations and other important information.
NUMBER OF ITERATION FILTER ORDER FILTER ATTENUATION AT 3KHZ
1 12 25 dB
2 14 33 dB
3 16 49 dB
4 15 38 dB

Table 2-3-2. Calculating filter order

After specifying the window function and filter order, it is necessary to compute window coefficients w[n] using expressions for the specified window.

2.3.1 Rectangular Window


The rectangular window is rarely used for its low stopband attenuation. The first lobe (refer to Figure 2-3-2) has attenuation of 13dB and the narrowest transition region, therefore. A filter designed using this window has minimum stopband attenuation of 21 dB.

Unlike other window functions being a kind of compromise between requirements for as narrow transition region as possible and as high stopband attenuation as possible, this window is characterized by extreme values. Namely, the minimum transition region is achieved, but at a cost of stopband attenuation.

It is easy to find rectangular window coefficients as all coefficients between 0 and N-1 (N-filter order) are equal to 1, which can be expressed in the following way:

w[n] = 1; 0 ≤ n ≤ N−1


Note that the rectangular window performs selection of N samples from a sequence of input samples, but it does not perform sample scaling.

Figure 2-3-2 illustrates coefficients in the time-domain.
digital-filter-design-chapter-02-image-3-2
 
Figure 2-3-2. Rectangular window in the time domain

Figure 2-3-3 illustrates the frequency domain of rectangular window
digital-filter-design-chapter-02-image-3-3
 
Figure 2-3-3. Rectangular window in the frequency domain (spectrum)

For its less stopband attenuation, the rectangular window is not preferable for digital filter design. Such a less attenuation is a result of cut-off samples within a window (a sequence of sampled frequencies). Up to a zero sample (from which sampling starts), all sampled frequencies are equal to zero. The first sample represents a sudden jump to some value (non-zero sample). Exactly these sudden jumps result in producing relatively sharp high-frequency components which lessen the stopband attenuation.

The attenuation gets higher by making cut-off samples less sharp, which results in reducing filter selectivity, i.e. wider transition region. Since initial requirements of a digital filter are predefined and due to less selectivity, it is necessary to increase the filter order to narrow the transition region. Note the fact that the transition region is inversely proportional to the filter order N. The transition region narrows as the filter order increases.

Increase in filter order affects the filter to become more complex and need more time for sample processing. This is why it is very important to be careful when specifying the window function and filter order as well.

2.3.2 Triangular (Bartlett) window


The triangular (Bartlett) window is one among many functions that lessens the effects of final samples. Due to it, the stopband attenuation of this window is higher than that of the rectangular window, whereas the selectivity is less. Namely, filters designed using this window have wider transition region than those designed using the rectangular window. As a result, it is necessary to have a higher order filter in order to keep the same tansition region as that of the filters designed with the rectangular window. This is the price to pay for producing the higher attenuation.

This function also represents a kind of compromise between requirements for as narrow transition region as possible and as higher stopband attenuation as possible, where the transition region is considered more important characteristic.

One of the advantages of designing filter using the triangular window is the simplicity of computing coefficients.

The triangular window coefficients can be expressed as:
for2-3-2

Figure 2-3-4 illustrates coefficients in the time-domain.
digital-filter-design-chapter-02-image-3-4
 
Figure 2-3-4. Triangular window coefficients in the time-domain

Figure 2-3-5. illustrates the coefficients spectrum of the triangular window shown in Figure 2-3-4.
digital-filter-design-chapter-02-image-3-5
 
Figure 2-3-5. Triangular (Bartlett) window in the frequency domain (spectrum)

The attenuation of triangular window is low for most digital filter applications, but it is considerably higher than that for rectangular window. In some cases, when high attenuations are not needed, this filter can be used because it provides an easy way of computing coefficients.

2.3.3 Hann Window


The Hann window is used to lessen bad effects on frequency characteristic produced by the final samples of a signal being filtered. Digital filters designed with this window have higher stopband attenuation than those designed with triangle function. The first side lobe in the frequency domain of this filter has 31dB attenuation, whereas it amounts to 44dB in the designed filter. The transition region is the same as for triangular window, which makes this function one of the most desirable for designing.

Another advantage of this window is the ability to realtively fast increase the stopband attenuation of the following lobes. Already the second lobe has 41dB attenuation, whereas it amounts to 54dB for the designed filter. Refer to Figure 2-3-7 illustrating the coefficients of the Hann window.

The Hann window belongs to a class of generalized cosine windows which will be discussed in more details at the end of this chapter.

The Hann window coefficients can be expressed as:
for2-3-3

Figure 2-3-6. illustrates the Hann window coefficients in the time domain.
digital-filter-design-chapter-02-image-3-6
 
Figure 2-3-6. The Hann window coefficients in the time domain
 
 
 
digital-filter-design-chapter-02-image-3-7
 
Figure 2-3-7. The Hann window coefficients in the frequency domain

As seen from the table 2-3-1, the transition region of Hann window is wider than that of triangular window. The difference is that the transition region of triangular window is computed in terms of -26dB attenuation, and in terms of -31dB attenuation for Hann window Accordingly, the conclusion is that Hann window has sharper fall than triangular one, which is considered as its advantage.

For the same requirements for minimum attenuation, the Hann window will have a narrower transition region.

2.3.4 Bartlett-Hanning Window


The Bartlett-Hannign window is another compromise between requirements for as narrow transition region as possible and as higher stopband attenuation as possible. The stopband attenuation of a filter designed with this window amounts to 39dB which is not at all a large value.

The Bartlett-Hanning window coefficients are expressed as:
for2-3-4

This window is in fact a combination of triangular (Bartlett) and Hann window and has higher minimum stopband attenuation than both of them. Considering that the transition region is almost the same as for triangular and Hann window, this function is one of most commonly used windows.

Figure 2-3-8. illustrates the Bartlett-Hanning window coefficients in the time domain.
digital-filter-design-chapter-02-image-3-8
 
Figure 2-3-8. The Bartlett-Hanning window coefficients in the time domain
 
 
 
digital-filter-design-chapter-02-image-3-9
 
Figure 2-3-9. The Bartlett-Hanning window coefficients in the frequency domain

When the stopband attenuation doesn’t need to be higher than 39dB, the Bartlett-Hanning window is one of the best solutions to use. As seen in Figure 2-3-9, the side lobes increase attenuation, which is one of very desirable characteristics of digital filters.

2.3.5 Hamming Window


The Hamming window is one of the most popular and most commonly used windows. A filter designed with the Hamming window has minimum stopband attenuation of 53dB, which is sufficient for most implementations of digital filters. The transition region is somewhat wider than that of the Hann and Bartlett-Hanning windows, whereas the stopband attenuation is considerably higher. Unlike minimum stopband attenuation, the transition region can be changed by changing the filter order. The transition region narrows, whereas the minimum stopband attenuation remains unchanged as the filter order increases.

The Hamming window coefficients are expressed as:
for2-3-5

The Hamming window belongs to a class of generalized cosine functions which are described in more details at the end of this chapter.

Figure 2-3-10 illustrates the Hamming window coefficients in the time domain.
digital-filter-design-chapter-02-image-3-10
 
Figure 2-3-10. The Hamming window coefficients in the time domain
 
 
 
digital-filter-design-chapter-02-image-3-11
 
Figure 2-3-11. The Hamming window coefficients in the frequency domain

Figure 2-3-11 illustrates the Hamming window in the frequency domain. As seen, the first side lobe is attenuated, so that the minimum stopband attenuation is defined in terms of the second side lobe and amounts to 41dB. All side lobes have almost the same maximum values (about -45dB).

2.3.6 Bohman Window


The Bohman window is a convolution of two semi-periods of a cosine function. The transition region and the main lobe are wider than those for Hamming window, but the stopband attenuation is higher, therefore. The attenuation of the first side lobe for Bohman window is 46dB, whereas the filters designed with Bohman window have the stopband attenuation of 51dB.

The Bohman window coefficients are expressed as:
for2-3-6

Figure 2-3-12 illustrates the Bohman window coefficients in the time domain, whereas Figure 2-3-13 illustrates its coefficients in the frequency domain.
digital-filter-design-chapter-02-image-3-12
 
Figure 2-3-12. The Bohman window coefficients in the time domain
 
 
 
digital-filter-design-chapter-02-image-3-13
 
Figure 2-3-13. The Bohman window coefficients in the frequency domain

Figure 2-3-13 illustrates the Bohman window coefficients in the frequency domain. As seen, the first side lobe has minimum attenuation of 46dB, whereas for designed filter it amounts to 51dB. The attenuation increases relatively fast. The second side lobe in the Bohman window frequency domain has the attenuation of 61dB, whereas for the filters designed with this window it amounts to 65dB. It should be noted that side lobes of such filters are different than shown in Figure 2-3-13.

With regard to minimum attenuation as well as to mid-wide transition region, it can be concluded that Bohman window is suitable for most applications.

2.3.7 Blackman Window


The Blackman window is, along with Kaiser, Hamming and Blackman-Harris windows, considered most commonly used and the most popular windows. Relatively high attenuation makes this window very convenient for almost all applications. The minimum stopband attenuation of a filter designed with this window amounts to 75dB.

The Blackman window coefficients are expressed as:
for2-3-7

Figure 2-3-14 illustrates the Blackman window coefficients in the time domain, whereas Figure 2-3-15. illustrates its coefficients in the frequency domain.
digital-filter-design-chapter-02-image-3-14
 
Figure 2-3-14. The Blackman window coefficients in the time domain
 
 
 
digital-filter-design-chapter-02-image-3-15
 
Figure 2-3-15. The Blackman window coefficients in the frequency domain

As seen from Figure 2-3-15, the Blackman window frequency domain reminds of the Hann window frequency domain. The difference is in attenuation of the first side lobe which amounts to 51dB, as well as in the main lobe which is somewhat wider. The side lobes, following the first one, cause additional stopband attenuation.

2.3.8 Blackman-Harris Window


The Blackman-Harris window is definately one of the most well-known and most commonly used windows. It is characterized by high stopband attenuation and the widest transition region comparing to all windows mentioned in this chapter. However, increase in filter order (more complex filter) cannot affect the minimum stopband attenuation, but affects the transition region.

The Blackman-Harris window has almost twice as wide transition region than, say, the Hamming window. Such a drawback (wide transition region) can be overcome by increasing the filter order. The result is a higher order filter (comparing to one designed with Hamming window) with twice as high stopband attenuation. It should be noted that the transition region of the Hamming window ranges between − 3dB and − 41dB (decrease of 38dB), whereas for Blackman-Harris window it is decreased by 88dB (from − 3dB to − 91dB ).

The Blackman-Harris window has minimum stopband attenuation of 91dB, whereas for the filters designed with this window it amounts to 109dB. Such an attenuation is sufficient for any digital filter application. If it is possible to support a filter order that will be required by this window, then the Blackman-Harris window is probably the best soultion.

The Blackman-Harris window coefficients are expressed as:
for2-3-8

Figure 2-3-16. illustrates the Blackman-Harris window coefficients in the time domain, whereas Figure 2-3-16. illustrates its coefficients in the frequency domain.
digital-filter-design-chapter-02-image-3-16
 
Figure 2-3-16. The Blackman-Harris window coefficients in the time domain
 
 
 
digital-filter-design-chapter-02-image-3-17
 
Figure 2-3-17. The Blackman-Harris window coefficients in the frequency domain

Figure 2-3-17. illustrates the main characteristics of the Blackman-Harris window in the frequency domain. As seen, the main lobe is wide and the first side lobe is suppressed. Minimum stopband attenuation is determined by the second side lobe having the minimum attenuation of 91dB. The attenuation of other side lobes gradually increases.

2.3.9 Blackman-Harris Window


The generalized cosine functions are a type of window functions whose coefficients can be obtained via expression:
for2-3-9

There are some window functions that also belong to this class. These are:
 
    • Rectangular window;
 
    • Hann window;
 
    • Hamming window; and
 
    • Blackman window.


Each of these window functions is only a variation of the expression above. Their coefficients a, b and c are given in the table 2-3-3 below.
WINDOW FUNCTION A B C
Rectangular 1 0 0
Hann 0.5 0.5 0
Hamming 0.54 0.46 0
Blackman 0.42 0.5 0.08
 

Table 2-3-3. The coefficients of generalized cosine window functions

 

2.3.10 Kaiser Window


As you know, each of the windows described above is a kind of compromise between requirements for as narrow transition region as possible (greater selectivity) and as higher stopband attenuation as possible.

Comparing Hann and Bartlett-Hanning windows, it is obvious that both of them have the same transition region, but the Bartlett-Hanning window has higher attenuation. There is one more thing of concern which says that the minimum stopband attenuation depends on the specified window, whereas an increase in filter order affects the transition region.

All this leads us to the conclusion that the windows described here are not optimal. An optimal window is a function that has maximum attenuation according to the given width of the main lobe. The optimal window is also known as Kaiser window.

Its coefficients are expressed as:
for2-3-10

where aa is the minimum stopband attenuation, and Δ ω is the width of (normalized) transition region. The order of band-pass and band-stop filters, obtained from the expression above, should be multiplied by 2.

The value of parameter β can be obtained from the table 2-3-4.
AA Β
less than 21 0
between 21 and 50 0.5842(aa - 21)^0.4 + 0.07886(aa - 21)
more than 50 0.1102(aa - 8.7)

Table 2-3-4. Values of parameter β

I0(*) is a modified zero order Bessel function of the first kind. It can be approximated via expression:
for2-3-11

In most practical cases it is sufficient to consider the first 20 elements of this order.

As can be seen from all mentioned above, in order to design an optimal Kaiser filter it is necessary to know normalized width of transition region as well as minimum desirable stopband attenuation.

Example:


What would a filter design with Kaiser window look like if we take into consideration the requirements given at the beginning of this chapter? The result of a filter designed with the Hann window is a 16th order filter.

Assuming that it is required to design a filter with the following characteristics:
 
    1. Minimum stopband attenuation is 40dB (aa);
 
    1. Transition region is between 2KHz and 3KHz (f1, f2); and
 
    1. Sampling frequency is 10KHz (fs).


Transition region:
for2-3-12

The specified filter order is N=12. It means that the needed filter order is less by 4 than that obtained with the Hann window.

It is important to say that all the expressions above are obtained in an empirical way, which means that there will be some exceptions and variations in practice. For example, the expression used to compute the filter order gives accurate results in approximately 98% cases. Otherwise, the resulting filter order should be changed. Fortunately, the changes to be made are slight, and the filter order is increased or decreased by 2 at most.

MIKROE

MIKROE is a development tools company dedicated to standardization and time-saving in the embedded industry.

  • About us
  • Success story
  • Contact
  • PressKit
  • Timeline
  • Partners
  • Legal
  • Distributors
  • Legacy Products

SOLUTIONS

  • Click boards™
  • Development boards
  • Mikromedia
  • CODEGRIP
  • NECTO Studio
  • Planet Debug
  • ClickID
  • Click Snap
  • EmbeddedWiki

SUPPORT

  • Helpdesk
  • Forum
  • Libstock
  • Learn
  • Let's Make
  • eBooks
  • Premium TS
  • Design service
  • Product Customization
  • Contract Manufacturing

STANDARD

  • mikroBUS™
  • mikroSDK
  • SiBRAIN
  • DISCON

Prodavnica za inostrano tržište

Nalazite se na prodavnici za inostrano tržište. Da li želite da Vas odvedemo na prodavnicu koja je namenjena za Srbiju?

Prodavnica za inostrano tržište

Nalazite se na prodavnici za inostrano tržište. Da li želite da Vas odvedemo na prodavnicu koja je namenjena za Srbiju?

Daily product releases, special offers, and more

  • FOLLOW US:

  • instagram
  • linkedin
  • facebook
  • github
  • newsletter
  • youtube
  • twitter twitter

Join us

Pridruži nam se

Careers
Internship
Posao
Napravi Click
Praksa
Copyright© 2025 MikroElektronika d.o.o.

Privacy