EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 360+ Courses All in One Bundle
  • Login

Low Pass Filter Matlab

By Priya PedamkarPriya Pedamkar

Home » Data Science » Data Science Tutorials » Matlab Tutorial » Low Pass Filter Matlab

Low Pass Filter Matlab

Introduction to Low Pass Filter in Matlab

MATLAB is a programming environment that is interactive and is used in scientific computing. It is extensively used in a lot of technical fields where problem solving, data analysis, algorithm development, and experimentation is required. The software which is discipline specific is extensively written using MATLAB. In this article, we will study how to create a low pass filter in MATLAB. MATLAB provides us with ‘dp.LowpassFilter’ command for the purpose of using low pass filter.

Before we start learning how low pass filtering works in MATLAB, let us refresh our understanding of what low pass filter is and why we need it. We use low-pass filters to cut off high frequency signals. As the name suggests these filters provide easy passage to signals with a frequency lower than a threshold value but don’t allow frequencies higher than this cut-off. Low pass filters are mainly of 2 types:

Start Your Free Data Science Course

Hadoop, Data Science, Statistics & others

  • Inductive low-pass filters
  • Capacitive low-pass filters

Syntax of Low Pass Filter Matlab

Let us now understand the syntax of low pass filters in MATLAB:

Syntax:

LowPass = dsp.LowpassFilter

Description:

LowPass = dsp.LowpassFilter will return a low pass filter of minimum order and default filter properties. If dsp.LowpassFilter is called with default properties, the following are some default values by which the input signal will be filtered by the low pass filter:

  • passband frequency will be 8 kHz
  • stopband frequency will be 12 kHz
  • passband ripple will be 0.1 dB
  • stopband attenuation will be 80 dB.

Before we proceed, we need to understand 2 very important concepts related to low-pass filters:

  • IIR
  • FIR

IIR (Infinite impulse response): These filters provide an infinite impulse response. In simple words, the impulse response of IIR never becomes equal to zero, but only approaches it.

Popular Course in this category
Sale
MATLAB Training (3 Courses, 1 Project)3 Online Courses | 1 Hands-on Project | 8+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.5 (9,214 ratings)
Course Price

View Course

Related Courses
R Programming Training (13 Courses, 20+ Projects)All in One Data Science Bundle (360+ Courses, 50+ projects)

FIR (Finite impulse response): These filters have finite impulse response. In simple words, the response of impulse using FIR stays only for finite samples. The impulse response will never by greater or less than the set samples.

How Low Pass Filter is Implemented in Matlab?

Let us now understand how low pass filter is implemented in MATLAB. Let us first create an impulse response and use filter type as IIR filter and keep the main filter as low pass filter

Example #1

Syntax:

SR = 20.2e4
[Defining the Sample Rate]

FType = ‘IIR’;
[Defining the Filter Type as IIR]

Fp = 10e3;
[Defining the Pass band frequency]

Fs = 20e3;
[Defining the Stop band frequency]

PBRipple = 0.2;
[Defining the Pass band ripple]

SBAtten = 70;
[Defining the Stop band Attenuation]

LPFiir = dsp.LowpassFilter(‘SampleRate’, SR, …
‘FilterType’, FType, …
‘PassbandFrequency’,Fp, …
‘StopbandFrequency’,Fs, …
‘PassbandRipple’, PBRipple, …
‘StopbandAttenuation’, SBAtten);

[Creating the low pass filter using ‘dsp.LowpassFilter command and passing the required properties]

fvtool(LPFiir,’Analysis’,’impulse’)

[Using filter visualization tool to draw the output impulse]

Code:

SR = 20.2e4
FType = 'IIR';
Fp = 10e3;
Fs = 20e3;
PBRipple = 0.2;
SBAtten = 70;
LPFiir = dsp.LowpassFilter('SampleRate', SR, ...
'FilterType', FType, ...
'PassbandFrequency',Fp, ...
'StopbandFrequency',Fs, ...
'PassbandRipple', PBRipple, ...
'StopbandAttenuation', SBAtten);
fvtool(LPFiir,'Analysis','impulse')

Output:

Low Pass Filter Matlab-1.1

As we can see in the output, we have infinite impulse response which only approaches to zero but never actually becomes zero.

Next, we will learn how the code for low pass filter with filter type FIR (Fixed impulse response) looks like in MATLAB.

Example #2

Syntax:

SR = 20.2e4
[Defining the Sample Rate]

FType = ‘FIR’;
[Defining the Filter Type as FIR]

Fp = 10e3;
[Defining the Pass band frequency]

Fs = 20e3;
[Defining the Stop band frequency]

PBRipple = 0.2;
[Defining the Pass band ripple]

SBAtten = 70;
[Defining the Stop band Attenuation]

LPFfir = dsp.LowpassFilter(‘SampleRate’, SR, …
‘FilterType’, FType, …
‘PassbandFrequency’,Fp, …
‘StopbandFrequency’,Fs, …
‘PassbandRipple’, PBRipple, …
‘StopbandAttenuation’, SBAtten);

[Creating the low pass filter using ‘dsp.LowpassFilter command and passing the required properties]

fvtool(LPFfir, ‘Analysis’,’impulse’)

[Using filter visualization tool to draw the output impulse]

Code:

SR = 20.2e4
FType = 'FIR';
Fp = 10e3;
Fs = 20e3;
PBRipple = 0.2;
SBAtten = 70;
LPFfir = dsp.LowpassFilter('SampleRate', SR, ...
'FilterType', FType, ...
'PassbandFrequency',Fp, ...
'StopbandFrequency',Fs, ...
'PassbandRipple', PBRipple, ...
'StopbandAttenuation', SBAtten);
fvtool(LPFfir, 'Analysis','impulse')

Output:

Low Pass Filter Matlab-1.2

As we can see in the output, there are only a finite set of responses as expected by us.

In some cases, while using low pass filters, we might need magnitude responses related to the FIR and IIR filter types. Let us learn how to get these magnitude responses in MATLAB.

Example #3

Syntax:

The code for creating magnitude response is like what we have already learned, with small changes. Let us create a different impulse response for visualizing the magnitude response:

SR = 10.2e4
[Defining the Sample Rate]

FType = ‘FIR’;
[Defining the Filter Type as FIR]

Fp = 10e3;
[Defining the Pass band frequency]

Fs = 20e3;
[Defining the Stop band frequency]

PBRipple = 0.2;
[Defining the Pass band ripple]

SBAtten = 80;
[Defining the Stop band Attenuation]

LPFfir = dsp.LowpassFilter (‘SampleRate’, SR, …
‘FilterType’,FType, …
‘PassbandFrequency’, Fp, …
‘StopbandFrequency’, Fs, …
‘PassbandRipple’, PBRipple, …
‘StopbandAttenuation’, SBAtten);

[Creating the low pass filter using ‘dsp.LowpassFilter command and passing the required properties]

fvtool(LPFfir)

[Using filter visualization tool to draw the output impulse. Note that, we have only passed the LPFfir as an argument to get the magnitude]

Code:

SR = 10.2e4
FType = 'FIR';
Fp = 10e3;
Fs = 20e3;
PBRipple = 0.2;
SBAtten = 80;
LPFfir = dsp.LowpassFilter ('SampleRate', SR, ...
'FilterType',FType, ...
'PassbandFrequency', Fp, ...
'StopbandFrequency', Fs, ...
'PassbandRipple', PBRipple, ...
'StopbandAttenuation', SBAtten);
fvtool(LPFfir)

Output:

Low Pass Filter Matlab-1.3

Recommended Articles

This is a guide to Low Pass Filter Matlab. Here we also discuss the introduction and syntax of low pass filter Matlab along with how low pass filter is implemented in Matlab. You may also have a look at the following articles to learn more –

  1. Factorial in Matlab
  2. Matlab loglog()
  3. Matlab reef
  4. MATLAB cylinder()

MATLAB Training (3 Courses, 1 Project)

3 Online Courses

1 Hands-on Project

8+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
Matlab Tutorial
  • Functions
    • MATLAB Functions
    • MATLAB user defined function
    • Calling Functions in MATLAB
    • Transfer Functions in MATLAB
    • Anonymous Functions in MATLAB
    • Inline Functions in MATLAB
    • Bessel Functions in MATLAB
    • Mean Function in MATLAB
    • Find Function MATLAB
    • Filter Function in MATLAB
    • IIR Filter MATLAB
    • Piecewise Function in MATLAB
    • Sum Function in MATLAB
    • Simulink MATLAB Function
    • MATLAB Create Function
    • MATLAB Inverse Function
    • MATLAB Count
    • Step Function MATLAB
    • MATLAB limit
    • fminsearch in MATLAB
    • Covariance in MATLAB
    • Summation in MATLAB
    • Linear Fit MATLAB
    • MATLAB?linear regression
    • MATLAB Derivative
    • MATLAB Derivative of Function
    • MATLAB Comet()
    • Fzero MATLAB
    • xlabel MATLAB
    • Matplotlib Legend
    • Matplotlib Subplots
    • Plot graph MATLAB
    • MATLAB Format
    • MATLAB plot title
    • Multiple Plots in MATLAB
    • MATLAB Indexing
    • Ceil MATLAB
    • Curve Fitting MATLAB
    • MATLAB trapz()
    • MATLAB Normalize
    • MATLAB diff
    • MATLAB sym()
    • MATLAB Syms
    • Absolute Value MATLAB
    • MATLAB Exponential
    • Kalman Filter MATLAB
    • Low Pass Filter MATLAB
    • Bandpass Filter MATLAB
    • MATLAB Unique
    • Trapezoidal Rule MATLAB
    • MATLAB Root Finding
    • MATLAB stem()
    • MATLAB loglog()
    • MATLAB Autocorrelation
    • MATLAB Sort
    • Simplify MATLAB
    • Cumsum MATLAB
    • Eval Function MATLAB
    • Polyval MATLAB
    • MATLAB Colon
    • MATLAB Eigenvalues
    • MATLAB fit
    • Delta Function MATLAB
    • MATLAB Remainder
    • Differentiation in MATLAB
    • Permute MATLAB
    • isempty MATLAB
    • MATLAB text()
    • MATLAB Display Text
    • Varargin in MATLAB
    • MATLAB gca
    • MATLAB fill()
    • MATLAB pcolor()
    • MATLAB min
    • MATLAB xcorr
    • MATLAB? color codes
    • Semilogy MATLAB
    • MATLAB? eye
    • feval MATLAB
    • num2str in MATLAB
    • MATLAB Images
    • MATLAB Image? Segmentation
    • Imagesc MATLAB
    • MATLAB Image Processing
    • MATLAB Image Resize
    • MATLAB Flag
    • MATLAB fopen
    • Strcmp MATLAB
    • MATLAB fwrite
    • MATLAB fft()
    • MATLAB zeros()
    • MATLAB textread
    • Arctan MATLAB
    • MATLAB Scripts
    • Butterworth filter MATLAB
    • MATLAB Findpeaks
    • MATLAB find Index
    • MATLAB Cell
    • MATLAB Unit Step Function
    • MATLAB Backslash
    • MATLAB Mod
    • Size Function in MATLAB
    • Secant MATLAB
  • Basic
    • MATLAB Area Under Curve
    • MATLAB not equal
    • MATLAB max
    • MATLAB exist
    • MATLAB Table
    • MATLAB regression
    • MATLAB Lists
    • MATLAB quantile
    • MATLAB Round
    • MATLAB readtable
    • MATLAB disp
    • MATLAB Standard Deviation
    • MATLAB quadprog
    • MATLAB Transpose
    • Introduction to MATLAB
    • Advantages of MATLAB
    • MATLAB Features
    • Taylor Series MATLAB
    • MATLAB Z Transform
    • fsolve in MATLAB
    • Is MATLAB Free
    • MATLAB QR
    • Career in MATLAB
    • Uses Of MATLAB
    • Is MATLAB Free
    • How to Install MATLAB
    • How to Use MATLAB?
    • MATLAB Version
    • MATLAB Compiler
    • MATLAB Commands
    • MATLAB Block Comment
    • MATLAB? sprintf
    • MATLAB fprintf
    • Data Types in MATLAB
    • MATLAB Integral
    • MATLAB Double Integral
    • MATLAB boolean
    • MATLAB vpa
    • MATLAB Object
    • MATLAB Annotation
    • MATLAB Variables
    • MATLAB Global Variables
    • MATLAB Operators
    • MATLAB Logical Operators
    • MATLAB nan
    • MATLAB Patch
    • MATLAB AND Operator
    • MATLAB OR Operator
    • Vectors in MATLAB
    • What is Simulink in MATLAB
    • MATLAB Interpolation
    • MATLAB Imread
    • fscanf MATLAB
    • Euler Method MATLAB
    • Root Locus MATLAB
    • MATLAB return
    • Bode Plot MATLAB
    • Nargin MATLAB
    • MATLAB Matrix Inverse
    • MATLAB String to Number
    • MATLAB string
    • MATLAB ColorBar
    • MATLAB Surfc
    • MATLAB Concatenate
    • NUMEL MATLAB
    • MATLAB? File Extension
    • MATLAB File
    • MATLAB Smooth
    • MATLAB ones
    • Exponential in MATLAB
    • MATLAB ksdensity
    • MATLAB log
    • MATLAB Append
    • MATLAB hold on
    • MATLAB Magnitude of Vector
    • Heatmap in MATLAB
    • MATLAB xticks
    • MATLAB randn
  • Control Statements
    • IF-Else Statement in MATLAB
    • If Statement in MATLAB
    • Loops in MATLAB
    • For Loop in MATLAB
    • While Loop in MATLAB
    • do while loop in MATLAB
    • Nested Loop in MATLAB
    • Switch Statement in MATLAB
    • Break in MATLAB
  • Matrix
    • Matrix in MATLAB
    • 3D Matrix in MATLAB
    • Transpose Matrix MATLAB
    • Sparse Matrix in MATLAB
    • Matrix Multiplication in MATLAB
    • Identity Matrix in MATLAB
    • MATLAB?writematrix
  • Advanced
    • MATLAB Class
    • Arrays in MATLAB
    • Matlab find value in array
    • Power Spectral Density MATLAB
    • Matlab Textscan
    • String Array in MATLAB
    • MATLAB Random Numbers
    • Matlab Dot
    • MATLAB 2D Array
    • MATLAB? zero padding
    • MATLAB sort matrix
    • MATLAB Plot Function
    • 2D Plots in MATLAB
    • 3D Plots in MATLAB
    • MATLAB Fread
    • Spectrogram MATLAB
    • MATLAB Average
    • MATLAB exponent
    • MATLAB not enough input arguments
    • MATLAB comment
    • MATLAB zpk
    • Scatter Plots in MATLAB
    • MATLAB 3d scatter plot
    • Bar Graph in MATLAB
    • Bar Plot MATLAB
    • Log Plot MATLAB
    • Polar Plot in MATLAB
    • Surface Plot in MATLAB
    • MATLAB Plot Circle
    • Boxplot in MATLAB
    • MATLAB Plot Multiple Lines
    • Linspace MATLAB
    • Histogram in MATLAB
    • Plot Vector MATLAB
    • MATLAB Legend
    • MATLAB Plot Legend
    • MATLAB ezplots
    • Column Vector MATLAB
    • MATLAB Plot Marker
    • MATLAB LineWidth
    • MATLAB Line Style
    • Contour plot in MATLAB
    • MATLAB Sine Wave
    • Reshape in MATLAB
    • Natural Log in MATLAB
    • Random Number Generator in MATLAB
    • Complex Numbers in MATLAB
    • MATLAB Figure
    • Heatmap in MATLAB
    • MATLAB Technical Computing
    • Colors in MATLAB
    • Colormap in MATLAB
    • MATLAB Plot Colors
    • MATLAB fplot()
    • MATLAB Stacked Bar
    • MATLAB sphere()
    • MATLAB cylinder()
    • MATLAB mesh()
    • Pie Chart in MATLAB
    • MATLAB Gradient
    • Grid on MATLAB
    • Repmat in MATLAB
    • dlmread in MATLAB
    • Meshgrid in MATLAB
    • MATLAB Struct
    • MATLAB Cross Product
    • MATLAB colorbar Label
    • MATLAB Save Variable
    • MATLAB Saveas
    • MATLAB Cell Array
    • Polynomial in MATLAB
    • ismember MATLAB
    • Heaviside MATLAB
    • MATLAB rref
    • MATLAB polyfit()
    • MATLAB xlim
    • MATLAB Variance
    • Optimset MATLAB
    • Quiver MATLAB
    • Newton Raphson MATLAB
    • Mat2cell MATLAB
    • Magnitude MATLAB
    • format long MATLAB
    • Dot Product MATLAB
    • Jacobian MATLAB
    • What is Matlab?
    • Convolution MATLAB
    • Moving Average MATLAB
    • Fourier Series MATLAB
    • Gaussian Fit MATLAB
    • Bisection Method MATLAB
    • Laplace Transform MATLAB
    • Fourier Transform MATLAB
    • Signal Processing MATLAB
    • MATLAB Forms
    • Complex Conjugate MATLAB
    • MATLAB Write to File
    • uigetfile MATLAB
    • MATLAB Toolbox
    • MATLAB Errorbar
    • MATLAB Index Exceeds Matrix Dimensions
    • Nyquist MATLAB
    • Impulse Response MATLAB
    • xlsread MATLAB
    • MATLAB xlswrite
    • Matplotlib Scatter
    • MATLAB Import Data
    • MATLAB Export Data
    • MATLAB Read CSV
  • Programs
    • Square Root in MATLAB
    • Square Wave MATLAB
    • Squeeze MATLAB
    • Factorial in MATLAB
    • Cell to String MATLAB
  • Interview Questions
    • MATLAB Interview Questions

Related Courses

MATLAB Certification Course

R Programming Course

All in One Data Science Courses

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Database Management
  • Machine Learning
  • All Tutorials
Certification Courses
  • All Courses
  • Data Science Course - All in One Bundle
  • Machine Learning Course
  • Hadoop Certification Training
  • Cloud Computing Training Course
  • R Programming Course
  • AWS Training Course
  • SAS Training Course

© 2022 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

Independence Day Offer - MATLAB Training (3 Courses, 1 Project) Learn More