Filtering and Analysis Functions

Filtering

Function Description

fftfilt

Filters a signal with a digitalFilter using an FFT-based overlap-add method

filter

Filters a signal using a digitalFilter

filtfilt

Performs zero-phase filtering of a signal with a digitalFilter

Filter Analysis

Function Description

double

Casts the coefficients of a digitalFilter to double precision

filt2block

Generates a Simulink® filter block corresponding to a digitalFilter

filtord

Returns the filter order of a digitalFilter

firtype

Returns the type (1, 2, 3, or 4) of an FIR digitalFilter

freqz

Returns or plots the frequency response of a digitalFilter

fvtool

Opens the Filter Visualization Tool and displays the magnitude response of a digitalFilter

grpdelay

Returns or plots the group delay response of a digitalFilter

impz

Returns or plots the impulse response of a digitalFilter

impzlength

Returns the length of the impulse response of a digitalFilter, whether actual (for FIR filters) or effective (for IIR filters)

info

Returns a character array with information about a digitalFilter

isallpass

Returns true if a digitalFilter is allpass

isdouble

Returns true if the coefficients of a digitalFilter are double precision

isfir

Returns true if a digitalFilter has a finite impulse response

islinphase

Returns true if a digitalFilter has linear phase

ismaxphase

Returns true if a digitalFilter is maximum phase

isminphase

Returns true if a digitalFilter is minimum phase

issingle

Returns true if the coefficients of a digitalFilter are single precision

isstable

Returns true if a digitalFilter is stable

phasedelay

Returns or plots the phase delay response of a digitalFilter

phasez

Returns or plots the (unwrapped) phase response of a digitalFilter

single

Casts the coefficients of a digitalFilter to single precision

ss

Returns the state-space representation of a digitalFilter

stepz

Returns or plots the step response of a digitalFilter

tf

Returns the transfer function representation of a digitalFilter

zerophase

Returns or plots the zero-phase response of a digitalFilter

zpk

Returns the zero-pole-gain representation of a digitalFilter

zplane

Displays the poles and zeros of the transfer function represented by a digitalFilter

1.zero,pole-->transfer function form

[b,a] = zp2tf(zer,pol,1);
fvtool(b,a)

2.transform function-->zero/polo

fvtool(b,a,'Analysis','polezero')

zplane(b,a)

3.Z-transform frequency response of a digital filter.

[h,w] = freqz(b,a,p)

returns the p-point complex frequency response, H(ejω), of the digital filter.

For example, a ninth-order Butterworth lowpass filter with a cutoff frequency of 400 Hz, based on a 2000 Hz sampling frequency, is

[b,a] = butter(9,400/1000);

To calculate the 256-point complex frequency response for this filter, and plot the magnitude and phase with freqz, use

freqz(b,a,256,2000)

4.filter

Use filter in the form y = filter(d,x) to filter an input signal, x, with a digitalFilterd, and obtain output data, y.

5.designfilt(https://ww2.mathworks.cn/help/signal/ref/designfilt.html)

Use designfilt in the form d = designfilt(resp,Name,Value) to design a digital filter, d, with response type resp. Specify the filter further using a set of Name,Value pairs.

Type d.Coefficients to obtain the coefficients of a digitalFilterd. For IIR filters, the coefficients are expressed as second-order sections.

Lowpass IIR Filter

Design a lowpass IIR filter with order 8, passband frequency 35 kHz, and passband ripple 0.2 dB. Specify a sample rate of 200 kHz. Visualize the magnitude response of the filter. Use it to filter a 1000-sample random signal.

lpFilt = designfilt('lowpassiir','FilterOrder',8, ...
'PassbandFrequency',35e3,'PassbandRipple',0.2, ...
'SampleRate',200e3);
fvtool(lpFilt)

dataIn = randn(1000,1);
dataOut = filter(lpFilt,dataIn);

Output the filter coefficients, expressed as second-order sections.

sos = lpFilt.Coefficients
sos = 4×6

    0.2666    0.5333    0.2666    1.0000   -0.8346    0.9073
0.1943 0.3886 0.1943 1.0000 -0.9586 0.7403
0.1012 0.2023 0.1012 1.0000 -1.1912 0.5983
0.0318 0.0636 0.0318 1.0000 -1.3810 0.5090

Bandpass FIR Filter

Design a 20th-order bandpass FIR filter with lower cutoff frequency 500 Hz and higher cutoff frequency 560 Hz. The sample rate is 1500 Hz. Visualize the magnitude response of the filter. Use it to filter a random signal containing 1000 samples.

bpFilt = designfilt('bandpassfir','FilterOrder',20, ...
'CutoffFrequency1',500,'CutoffFrequency2',560, ...
'SampleRate',1500);
fvtool(bpFilt)

dataIn = randn(1000,1);
dataOut = filter(bpFilt,dataIn);

Output the filter coefficients.

b = bpFilt.Coefficients
b = 1×21

   -0.0113    0.0067    0.0125   -0.0445    0.0504    0.0101   -0.1070    0.1407   -0.0464   -0.1127    0.1913   -0.1127   -0.0464    0.1407   -0.1070    0.0101    0.0504   -0.0445    0.0125    0.0067   -0.0113 ⋯

6.fvtool

fvtool(b,a)
fvtool(sos)
fvtool(d)
fvtool(b1,a1,b2,a2,...,bN,aN)
fvtool(sos1,sos2,...,sosN)
fvtool(Hd)
fvtool(Hd1,Hd2,...,HdN)
h = fvtool(...)

Use fvtool to visualize a digitalFilterd.

Matlab filter常用函数的更多相关文章

  1. MATLAB中常用函数及语法

    zeros() 1 zeros(n):n*n 全零矩阵 2 zeros(m,n):m*n全零矩阵 3 zeros(d1,d2,d3……dn):生成 d1*d2*d3*……*dn 全零矩阵或数组. 4 ...

  2. matlab 图像常用函数

    Canny function [ canny ] = canny( rgb ) temp=rgb2gray(rgb); canny=edge(temp,'canny'); end 灰度 temp=rg ...

  3. 【Matlab】常用函数

    1.取整函数 ceil(x)返回不小于x的最小整数值.floor(x)返回不大于x的最大整数值.round(x)返回x的四舍五入整数值.

  4. Matlab GUI设计中的一些常用函数

    Matlab GUI常用函数总结 % — 文件的打开.读取和关闭% — 文件的保存% — 创建一个进度条% — 在名为display的axes显示图像,然后关闭% — 把数字转化为时间格式% — ch ...

  5. matlab进阶:常用功能的实现,常用函数的说明

    常用功能的实现 获取当前脚本所在目录 current_script_dir = fileparts(mfilename('fullpath')); % 结尾不带'/' 常用函数的说明 bsxfun m ...

  6. matlab 常用函数

    Matlab常用函数 Matlab的内部常数  eps   浮点相对精度  pi  圆周率  exp  自然对数的底数e  i 或j  虚数单位  Inf或 inf  无穷大 Matlab概率密度函数 ...

  7. Matlab常用函数集锦

    ndims(A)返回A的维数size(A)返回A各个维的最大元素个数length(A)返回max(size(A))[m,n]=size(A)如果A是二维数组,返回行数和列数nnz(A)返回A中非0元素 ...

  8. MATLAB算术运算符和常用函数

    1 算术运算符 Matlab中的算术运算符按优先级由高到低为: (1) ^           幂 (2) *            乘      /            右除(正常除)       ...

  9. MATLAB常用函数

      Matlab的内部常数 pi                   圆周率 exp(1)             自然对数的底数e i 或j                虚数单位 Inf或 inf ...

随机推荐

  1. 小程序onShow事件获取options方法

    微信小程序 onShow() 事件 onShow() 事件不接受参数,因此无法获取页面 url 传递过来的参数,只有 onLoad() 事件可以. onShow(options){ console.l ...

  2. python3练习100题——049

    题目:使用lambda来创建匿名函数. sum=lambda x,y:x+y from functools import reduce reduce(sum,[1,2,3,4,5])

  3. 二分查找 python实现

    欢迎回来 [^first blood]. 要求A是升序数组 递归 只能查 数据存不存在,不能返回下标 def binary_find(A, m): if len(A) == 0: return -1 ...

  4. 用Java在excel单元格中设置超链接

    (一)问题引入 有时候我们在导入数据到excel中时可能要给某个文件或图片设置超链接,例如链接到外网或者是本地的某个目录.我们可以通过Java代码来实现,借助POI库. (二)解决方案 下面直接给出参 ...

  5. Visual Studio 问题汇总

    VS2019 16.3.6   1   JSON 文件没有进行格式化验证 开发时运行正常,部署在IIS中有错误提示. 2  .NET Core 3.0 没有提供中文包 所有注释都是英文的.

  6. LaTeX技巧012:LaTeX 插图加载宏包

    LaTeX 插图加载宏包.支持 LaTeX - DVIPDFMx; pdfLaTeX; XeLaTeX 三种编译方式,支持 eps/pdf/jpg/png 等图片格式. % Put this snip ...

  7. numpy学习(四)

    练习篇(Part 4) 41. How to sum a small array faster than np.sum? (★★☆) arr = np.arange(10) print(np.add. ...

  8. 安卓开发中遇到java.net.SocketException: Permission denied

    仅需在AndroidManifest.xml添加 <uses-permission android:name="android.permission.INTERNET" /& ...

  9. 理解 Oracle 多租户体系中(12c,18c,19c)创建角色作用域范围

    本篇探讨以下几个问题:你可提前猜测下面6个场景语句中,哪几个可以成功创建角色? 1. 在CDB级别中创建公共角色,不带 container 子句的效果: 2. 在CDB级别中创建公共角色,带 cont ...

  10. javaScript入门(函数)

    目录 JavaScript函数 函数是什么 函数返回值 return特点: 递归函数 匿名函数(anoymous) 自执行函数(通过匿名函数实现) 回调函数 闭包函数 构造函数 构造函数两大类 注意事 ...