firgauss函数好像 返回的是一个高斯序列,而不是一个滤波器,我想要的是一个高斯滤波器,能够在matlab里实现一维滤波用的函数
----------------------
对,求出的滤波系数也是一个高斯序列,如果用
b=firgauss(k,n);
freqz(b,1);
可看到该组系数得到的是一个低通滤波器。它能对数据进行低通滤波。
----------------------
希望高手给我指点一下,我要处理的信号是一个一维数组,对信号进行高斯滤波,不知道该怎么进行?
-----------------------------
1,从firgauss可得滤波器系数b;
2,用filter或conv对信号进行滤波。
-------------------
Songzy41,你好!
我正面临与7楼一样的问题,因为是彻底的门外汉,以前从来没有接触过,因此无从下口。按照你的意见,我也看了matlab相关命令,但firgauss命令中K,N参数的含义和确定标准还不明白。同时,filter对一维数组进行高斯滤波时,其参数B,A表示滤波器,但由firgauss得到的只是一个滤波系数b(或者可以说是一个滤波器),不知道A和B又分别表示什么意思呢?
-------------------
数字滤波器的Z变换为下式:
-1 -m
B(z) b(1) + b(2)z + .... + b(m+1)z
H(z) = ---- = ---------------------------------------
-1 -n
A(z) a(1) + a(2)z + .... + a(n+1)z
所以B是Z变换的分子系数,A是Z变换的分母系数。当为FIR滤波器时,除a(1)=1,a(2)=...=a(n)=0,此时调用filter时可写为:
filter(b,1,x)
--------------------
用户377235 2015-5-6 09:33