matlab中设计fir滤波器中fir1函数,那个增益怎么设置

matlab中设计fir滤波器中fir1函数,那个增益怎么设置,第1张

Matlab中,函数fir1和fir2利用加窗傅里叶级数法设计FIR滤波器

函数fir1用来设计传统的LP(低通)、HP(高通)、BP(带通)、BS(带阻)和多频带FIR滤波器;而函数fir2用来设计具有任意幅度响应的的FIR滤波器。

函数的各种形式如下:

b

=

fir1(N,Wn)

b

=

fir1(N,Wn,'ftype')

b

=

fir1(N,Wn,window)

b

=

fir1(N,Wn,'ftype',window)

b

=

fir1(,'normalization')

其中,1、N为滤波器节点个数;

2、Wn(0<Wn<1)为归一化截止频率;

3、ftype为滤波器类型(默认(缺省时)是low)。

区别在于:

在MATLAB中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。

y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度。

而y=conv(x,h)是用来实现卷级的,对x序列和h序列进行卷积,输出的结果个数等于x的长度与h的长度之和减去1。

y=impz(p,d,N)是用来实现冲击响应的,d和p的定义见filter,N表示冲击响应输出的序列个数。

matlab的作用:

用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

看楼主的意思主要是想实现差分方程

先从简单的说起:

filter([1,2],1,[1,2,3,4,5])

实现 y[k]=x[k]+2x[k-1]

y[1]=x[1]+20 %(x[1]之前状态都用0)

=1

y[2]=x[2]+2x[1]=2+21=4

然后说你感兴趣的filter(b,a,x)

这里a,b都是矢量

你提到输入[zeros(1,100),ones(1,101)]

差分方程 2y[k]-y[k-1]-3y[k-2]=2x[k]-x[k-1]

往里面代

[1]之前的状态都为0

y[1]=1/2(2x[1])=0

y[2]=1/2(2x[2]-x[1]+y[1])=0

显示的数为差分方程的输出y

这个函数和还有其它的用法,再次我就不说了

matlab的帮助中说的比较详细,你可以自己看一下

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12184964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存