Main Content

filterHairpin

Create hairpin filter in microstrip form

Since R2021b

Description

Use the filterHairpin object to create a hairpin filter in microstrip form.

Three part image from right to left: Default image of a hairpin filter. Current distribution on the hairpin filter. S-parameters plot of the hairpin filter.

Hairpin filters are easy to fabricate. Design these filters at different frequencies by changing the roll-offs and the ripple factors. You can control the bandwidth of the filter by varying the filter order, width, and the distance between the coupled lines. There are two types of hairpin filters based on the feed: tapped-line input hairpin filters and coupled-line input hairpin filters.

To analyze the behavioral model for the hair pin filter, set the Behavioral property in the sparameters to true or 1.

Creation

Description

example

filter = filterHairpin creates a default hairpin filter with default passband of the filter at 2 GHz.

example

filter = filterHairpin(Name=Value) sets Properties using one or more name-value arguments. For example, filterHairpin(Resonator=ubendMitered) creates a hairpin filter with a mitered u-bend element as the resonator. Properties not specified retain their default values

Properties

expand all

Shape of the hairpin element, specified as either uBendRightAngle, ubendMitered, or ubendCurved.

Example: filter = filterHairpin(Resonator=ubendCurved)

Data Types: char | string

Filter order, specified as a positive scalar.

Example: filter = filterHairpin(FilterOrder=5)

Data Types: double

Y-offset of each resonator in meters, specified as a vector.

Example: filter = filterHairpin(ResonatorOffset=[0.02 0.02 0.02])

Data Types: double

Distance between the hairpin bends in meters, specified as a vector of positive elements.

Example: filter = filterHairpin(Spacing=[0.02 0.02 0.02])

Data Types: double

Length of the input and output lines in meters, specified as a positive scalar.

Example: filter = filterHairpin(PortLineLength=0.0553)

Data Types: double

Width of the input and output lines in meters, specified as a positive scalar.

Example: filter = filterHairpin(PortLineWidth=0.0087)

Data Types: double

Y-offset for the input and the output lines, specified as a vector.

Example: filter = filterHairpin(FeedOffset=[-0.002 -0.002])

Data Types: double

Type of feed at the input and output ports, specified as either "Tapped" or "Coupled".

Example: filter = filterHairpin(FeedType="Coupled")

Data Types: char | string

Length of the coupled feed lines in meters, specified as a vector of positive elements.

Example: filter = filterHairpin(CoupledLineLength=[0.0553 0.0553 0.0553 0.0553])

Dependencies

To enable CoupledLineLength, set the FeedType property to "Coupled".

Data Types: double

Width of the coupled feed lines in meters, specified as a vector of positive elements.

Example: filter = filterHairpin(CoupledLineWidth=[0.0046 0.0059 0.0059 0.0046])

Dependencies

To enable CoupledLineLength, set the FeedType property to "Coupled".

Data Types: double

Distance between the feed line and the hairpin in meters, specified as a vector.

Example: filter = filterHairpin(CoupledLineSpacing=[2.8270e-04 0.0020 0.0020 2.8270e-04])

Dependencies

To enable CoupledLineLength, set the FeedType property to "Coupled".

Data Types: double

Height of the hairpin filter from the ground plane in meters, specified as a positive scalar. In the case of a multilayer substrate, you can use the Height property to create a hairpin filter where the two dielectrics interface.

Example: filter = filterHairpin(Height=0.020)

Data Types: double

Width of the ground plane in meters, specified as a positive scalar.

Example: filter = filterHairpin(GroundPlaneWidth=[0.0679)

Data Types: double

Type of dielectric material used as a substrate, specified as a dielectric object. The dielectric material in a filterHairpin object with default properties is Teflon.

Example: d = dielectric("FR4"); filter = filterHairpin(Substrate=d)

Data Types: string | char

Type of metal used in the conducting layers, specified as a metal object. The type of metal in a filterHairpin object with default properties is PEC.

Example: m = metal("Copper"); filter = filterHairpin(Conductor=m)

Data Types: string | char

Object Functions

chargeCalculate and plot charge distribution
currentCalculate and plot current distribution
designDesign hairpin filter around specified frequency
feedCurrentCalculate current at feed port
getZ0Calculate characteristic impedance of transmission line
layoutPlot all metal layers and board shape
meshChange and view mesh properties of metal or dielectric in PCB component
shapesExtract all metal layer shapes of PCB component
showDisplay PCB component structure or PCB shape
sparametersCalculate S-parameters for RF PCB objects

Examples

collapse all

Create and view a default hairpin filter.

hairpinfilter = filterHairpin
hairpinfilter = 
  filterHairpin with properties:

           Resonator: [1x1 ubendRightAngle]
         FilterOrder: 3
     ResonatorOffset: [0 0 0]
             Spacing: [4.0000e-04 4.0000e-04]
      PortLineLength: 0.0080
       PortLineWidth: 0.0050
          FeedOffset: [-0.0055 -0.0055]
            FeedType: 'Tapped'
              Height: 0.0016
    GroundPlaneWidth: 0.0567
           Substrate: [1x1 dielectric]
           Conductor: [1x1 metal]
          IsShielded: 0

show(hairpinfilter)

Create and view a fifth-order coupled hairpin filter.

hairpinfilter = filterHairpin(FeedType="Coupled")
hairpinfilter = 
  filterHairpin with properties:

             Resonator: [1x1 ubendRightAngle]
           FilterOrder: 3
       ResonatorOffset: [0 0 0]
               Spacing: [4.0000e-04 4.0000e-04]
            FeedOffset: [-0.0055 -0.0055]
        PortLineLength: 0.0080
         PortLineWidth: 0.0050
              FeedType: 'Coupled'
     CoupledLineLength: 0.0279
      CoupledLineWidth: 0.0029
    CoupledLineSpacing: [1.8270e-04 1.8270e-04]
                Height: 0.0016
      GroundPlaneWidth: 0.0567
             Substrate: [1x1 dielectric]
             Conductor: [1x1 metal]
            IsShielded: 0

hairpinfilter.FilterOrder = 5
hairpinfilter = 
  filterHairpin with properties:

             Resonator: [1x1 ubendRightAngle]
           FilterOrder: 5
       ResonatorOffset: [0 0 0 0 0]
               Spacing: [4.0000e-04 4.0000e-04 1.0000e-03 1.0000e-03]
            FeedOffset: [-0.0055 -0.0055]
        PortLineLength: 0.0080
         PortLineWidth: 0.0050
              FeedType: 'Coupled'
     CoupledLineLength: 0.0279
      CoupledLineWidth: 0.0029
    CoupledLineSpacing: [1.8270e-04 1.8270e-04]
                Height: 0.0016
      GroundPlaneWidth: 0.0567
             Substrate: [1x1 dielectric]
             Conductor: [1x1 metal]
            IsShielded: 0

show(hairpinfilter)

Plot the current and charge distribution of the filter at 2 GHZ.

figure
current(hairpinfilter,2e9)

figure
charge(hairpinfilter,2e9)

References

[1] Bankey, Kavita, and Abhinav Bhargava. “Design of Compact Microstrip Hairpin Multi Bandpass Filter.” International Journal of Scientific Progress and Research 34, no. 96 (2017): 66–69.

[2] Parikh, Nikunj, Pragya Katare, Ketan Kathal, Nandini Patel, and Gaurav Chaitanya. “Design and Analysis of Hairpin Micro-Strip Line Band Pass Filter.” International Journal of Innovative Research in Electrical, Electronics, Instrumentation, and Control Engineering 3 (April 2015). https://doi.org/10.17148/IJIREEICE.2015.3512.

Version History

Introduced in R2021b

expand all